mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
notmuch 0.18~rc1 release
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQGcBAABCAAGBQJTZXg2AAoJEPIClx2kp54shMEL/jimQji1GYwhBMfQKldBkl52 FVbxOS4YiOc6zOcz7n8wjkjnHPEvTS/Q6mrZQTjJxtGDYkzaY27JKczXWB/ueqCJ /G9kEiXRbkVBLp2AQH7zHnKWRvqAQsaw9o+jyjzmW1UbJXX7dmZNmMQkWyN3bzy6 taCDiKPxNTlwePRJUbC6O51GC6m7fZOQHSvrmrqFZiNdeT1Gs7g/Adj8Mho6x9A+ q98Jtftk30Cyx0hXQKNXcJyTukdvVi69HZcmP+Rr9rCRZ4/L7WRbkX+iFQhvOm19 c6ldgiwBV6+3DW4sNDHcpwZm5ZFh4I+0xUZ/r8V9F8f4yaY0SzMYtvA2xeIqXSG6 FwkmPSGoW8A8cF8YqKkHOEZrM4ybd2XGvkDkibUncaAeAHQp4DCVG6etLG9kEtzr I4yqGhYTIjmjTuLXDOLEZ2mbhgayS5oAEnVqghapTNDYzzOK8h9Gr3Jvq6Kb2ckQ /VnEAOOvSv4bomil4NdgXaPrLZrTiq8lS6/pe2DZEg== =0A2e -----END PGP SIGNATURE----- Merge tag '0.18_rc1' notmuch 0.18~rc1 release
This commit is contained in:
commit
21cb851a22
7 changed files with 155 additions and 21 deletions
|
@ -80,8 +80,8 @@ version.stamp: $(srcdir)/version
|
||||||
echo $(VERSION) > $@
|
echo $(VERSION) > $@
|
||||||
|
|
||||||
$(TAR_FILE):
|
$(TAR_FILE):
|
||||||
if git tag -v $(VERSION) >/dev/null 2>&1; then \
|
if git tag -v $(UPSTREAM_TAG) >/dev/null 2>&1; then \
|
||||||
ref=$(VERSION); \
|
ref=$(UPSTREAM_TAG); \
|
||||||
else \
|
else \
|
||||||
ref="HEAD" ; \
|
ref="HEAD" ; \
|
||||||
echo "Warning: No signed tag for $(VERSION)"; \
|
echo "Warning: No signed tag for $(VERSION)"; \
|
||||||
|
|
120
NEWS
120
NEWS
|
@ -1,6 +1,80 @@
|
||||||
Notmuch 0.18~rc0 (2014-04-22)
|
Notmuch 0.18~rc1 (2014-05-04)
|
||||||
=============================
|
=============================
|
||||||
|
|
||||||
|
Overview
|
||||||
|
--------
|
||||||
|
|
||||||
|
This new release includes some enhancements to searching for messages
|
||||||
|
by filesystem location (`folder:` and `path:` prefixes under *General*
|
||||||
|
below). Saved searches in *Emacs* have also been enhanced to allow
|
||||||
|
distinct search orders for each one. Another enhancement to the
|
||||||
|
*Emacs* interface is that replies to encrypted messages are now
|
||||||
|
encrypted, reducing the risk of unintentional information disclosure.
|
||||||
|
The default dump output format has changed to the more robust
|
||||||
|
`batch-tag` format. The previously deprecated parsing of single
|
||||||
|
message mboxes has been removed. For detailed release notes, see
|
||||||
|
below.
|
||||||
|
|
||||||
|
General
|
||||||
|
-------
|
||||||
|
|
||||||
|
The `folder:` search prefix now requires an exact match
|
||||||
|
|
||||||
|
The `folder:` prefix has been changed to search for email messages
|
||||||
|
by the exact, case sensitive maildir or MH folder name. Wildcard
|
||||||
|
matching (`folder:foo*`) is no longer supported. The new behaviour
|
||||||
|
allows for more accurate mail folder based searches, makes it
|
||||||
|
possible to search for messages in the top-level folder, and should
|
||||||
|
lead to less surprising results than the old behaviour. Users are
|
||||||
|
advised to see the `notmuch-search-terms` manual page for details,
|
||||||
|
and review how the change affects their existing `folder:` searches.
|
||||||
|
|
||||||
|
There is a new `path:` search prefix.
|
||||||
|
|
||||||
|
The new `path:` search prefix complements the `folder:` prefix. The
|
||||||
|
`path:` prefix searches for email messages that are in particular
|
||||||
|
directories within the mail store, optionally recursively using a
|
||||||
|
special syntax. See the `notmuch-search-terms` manual page for
|
||||||
|
details.
|
||||||
|
|
||||||
|
Notmuch database upgrade due to `folder:` and `path:` changes
|
||||||
|
|
||||||
|
The above mentioned changes to the `folder:` prefix and the addition
|
||||||
|
of `path:` prefix require a Notmuch database upgrade. This will be
|
||||||
|
done automatically, without prompting on the next time `notmuch new`
|
||||||
|
is run after the upgrade. The upgrade is not reversible, and the
|
||||||
|
upgraded database will not be readable by older versions of
|
||||||
|
Notmuch. As a safeguard, a database dump will be created in the
|
||||||
|
`.notmuch` directory before upgrading.
|
||||||
|
|
||||||
|
Library changes
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Notmuch database upgrade
|
||||||
|
|
||||||
|
The libnotmuch consumers are reminded to handle database upgrades
|
||||||
|
properly, either by relying on running `notmuch new`, or checking
|
||||||
|
`notmuch_database_needs_upgrade()` and calling
|
||||||
|
`notmuch_database_upgrade()` as necessary. This has always been the
|
||||||
|
case, but in practise there have been no database upgrades in any
|
||||||
|
released version of Notmuch before now.
|
||||||
|
|
||||||
|
Support for indexing mbox files has been dropped
|
||||||
|
|
||||||
|
There has never been proper support for mbox files containing
|
||||||
|
multiple messages, and the support for single-message mbox files has
|
||||||
|
been deprecated since Notmuch 0.15. The support has now been
|
||||||
|
dropped, and all mbox files will be rejected during indexing.
|
||||||
|
|
||||||
|
Message header parsing changes
|
||||||
|
|
||||||
|
Notmuch previously had an internal parser for message headers. The
|
||||||
|
parser has now been dropped in favour of letting GMime parse both
|
||||||
|
the headers and the message MIME structure at the same pass. This is
|
||||||
|
mostly an internal change, but the GMime parser is stricter in its
|
||||||
|
interpretation of the headers. This may result in messages with
|
||||||
|
slightly malformed message headers being now rejected.
|
||||||
|
|
||||||
Command-Line Interface
|
Command-Line Interface
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
@ -12,6 +86,25 @@ Command-Line Interface
|
||||||
|
|
||||||
This option suppresses the progress and summary reports.
|
This option suppresses the progress and summary reports.
|
||||||
|
|
||||||
|
`notmuch insert` respects maildir.synchronize_flags config option
|
||||||
|
|
||||||
|
Do not synchronize tags to maildir flags in `notmuch insert` if the
|
||||||
|
user does not want it.
|
||||||
|
|
||||||
|
The commands set consistent exit status codes on failures
|
||||||
|
|
||||||
|
The cli commands now consistently set exit status of 1 on failures,
|
||||||
|
except where explicitly otherwise noted. The notable expections are
|
||||||
|
the status codes for format version mismatches for commands that
|
||||||
|
support formatted output.
|
||||||
|
|
||||||
|
Bug fix for checking configured new.tags for invalid tags
|
||||||
|
|
||||||
|
`notmuch new` and `notmuch insert` now check the user configured
|
||||||
|
new.tags for invalid tags, and refuse to apply them, similar to
|
||||||
|
`notmuch tag`. Invalid tags are currently the empty string and tags
|
||||||
|
starting with `-`.
|
||||||
|
|
||||||
Emacs Interface
|
Emacs Interface
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
@ -82,6 +175,12 @@ Version variable
|
||||||
these differ from each other.
|
these differ from each other.
|
||||||
This is especially useful when using notmuch remotely.
|
This is especially useful when using notmuch remotely.
|
||||||
|
|
||||||
|
Ido-completing-read initialization in Emacs 23
|
||||||
|
|
||||||
|
`ido-completing-read` in Emacs 23 versions 1 through 3 freezes unless
|
||||||
|
it is initialized. Defadvice-based *Ido* initialization is defined
|
||||||
|
for these Emacs versions.
|
||||||
|
|
||||||
Bug fix for saved searches with newlines in them
|
Bug fix for saved searches with newlines in them
|
||||||
|
|
||||||
Split lines confuse `notmuch count --batch`, so we remove embedded
|
Split lines confuse `notmuch count --batch`, so we remove embedded
|
||||||
|
@ -93,6 +192,25 @@ Bug fixes for sender identities
|
||||||
and undesirable ways. Now it will use identities exactly as
|
and undesirable ways. Now it will use identities exactly as
|
||||||
configured in `notmuch-identities`.
|
configured in `notmuch-identities`.
|
||||||
|
|
||||||
|
Replies to encrypted messages will be encrypted by default
|
||||||
|
|
||||||
|
In the interest of maintaining confidentiality of communications,
|
||||||
|
the Notmuch Emacs interface now automatically adds the mml tag to
|
||||||
|
encrypt replies to encrypted messages. This should make it less
|
||||||
|
likely to accidentally reply to encrypted messages in plain text.
|
||||||
|
|
||||||
|
Reply pushes mark before signature
|
||||||
|
|
||||||
|
We push mark and set point on reply so that the user can easily cut
|
||||||
|
the quoted text. The mark is now pushed before the signature, if
|
||||||
|
any, instead of end of buffer so the signature is preserved.
|
||||||
|
|
||||||
|
Message piping uses the originating buffer's working directory
|
||||||
|
|
||||||
|
`notmuch-show-pipe-message` now uses the originating buffer's
|
||||||
|
current default directory instead of that of the `*notmuch-pipe*`
|
||||||
|
buffer's.
|
||||||
|
|
||||||
nmbug
|
nmbug
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
# this file should be kept in sync with ../../../version
|
# this file should be kept in sync with ../../../version
|
||||||
__VERSION__ = '0.18~rc0'
|
__VERSION__ = '0.18~rc1'
|
||||||
|
|
7
debian/changelog
vendored
7
debian/changelog
vendored
|
@ -1,3 +1,10 @@
|
||||||
|
notmuch (0.18~rc1-1) experimental; urgency=low
|
||||||
|
|
||||||
|
* Upstream release candidate
|
||||||
|
- include encoding fix for vim client.
|
||||||
|
|
||||||
|
-- David Bremner <bremner@debian.org> Sun, 04 May 2014 07:29:51 +0900
|
||||||
|
|
||||||
notmuch (0.18~rc0-1) experimental; urgency=low
|
notmuch (0.18~rc0-1) experimental; urgency=low
|
||||||
|
|
||||||
* Upstream release candidate.
|
* Upstream release candidate.
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# Project related configuration options
|
# Project related configuration options
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
DOXYFILE_ENCODING = UTF-8
|
DOXYFILE_ENCODING = UTF-8
|
||||||
PROJECT_NAME = "Notmuch 0.17"
|
PROJECT_NAME = "Notmuch 0.18"
|
||||||
PROJECT_NUMBER =
|
PROJECT_NUMBER =
|
||||||
PROJECT_BRIEF =
|
PROJECT_BRIEF =
|
||||||
PROJECT_LOGO =
|
PROJECT_LOGO =
|
||||||
|
|
2
version
2
version
|
@ -1 +1 @@
|
||||||
0.18~rc0
|
0.18~rc1
|
||||||
|
|
|
@ -86,17 +86,22 @@ endfunction
|
||||||
function! s:compose_send()
|
function! s:compose_send()
|
||||||
let b:compose_done = 1
|
let b:compose_done = 1
|
||||||
let fname = expand('%')
|
let fname = expand('%')
|
||||||
|
let lines = getline(5, '$')
|
||||||
|
|
||||||
" remove headers
|
ruby << EOF
|
||||||
0,4d
|
# Generate proper mail to send
|
||||||
write
|
text = VIM::evaluate('lines').join("\n")
|
||||||
|
fname = VIM::evaluate('fname')
|
||||||
|
transport = Mail.new(text)
|
||||||
|
transport.message_id = generate_message_id
|
||||||
|
transport.charset = 'utf-8'
|
||||||
|
File.write(fname, transport.to_s)
|
||||||
|
EOF
|
||||||
|
|
||||||
let cmdtxt = g:notmuch_sendmail . ' -t -f ' . s:reply_from . ' < ' . fname
|
let cmdtxt = g:notmuch_sendmail . ' -t -f ' . s:reply_from . ' < ' . fname
|
||||||
let out = system(cmdtxt)
|
let out = system(cmdtxt)
|
||||||
let err = v:shell_error
|
let err = v:shell_error
|
||||||
if err
|
if err
|
||||||
undo
|
|
||||||
write
|
|
||||||
echohl Error
|
echohl Error
|
||||||
echo 'Eeek! unable to send mail'
|
echo 'Eeek! unable to send mail'
|
||||||
echo out
|
echo out
|
||||||
|
@ -572,9 +577,7 @@ ruby << EOF
|
||||||
end
|
end
|
||||||
m.cc = orig[:cc]
|
m.cc = orig[:cc]
|
||||||
m.from = $email
|
m.from = $email
|
||||||
m.message_id = generate_message_id
|
|
||||||
m.charset = 'utf-8'
|
m.charset = 'utf-8'
|
||||||
m.content_transfer_encoding = '7bit'
|
|
||||||
end
|
end
|
||||||
|
|
||||||
lines = []
|
lines = []
|
||||||
|
@ -600,7 +603,7 @@ ruby << EOF
|
||||||
|
|
||||||
reply.body = body_lines.join("\n")
|
reply.body = body_lines.join("\n")
|
||||||
|
|
||||||
lines += reply.to_s.lines.map { |e| e.chomp }
|
lines += reply.present.lines.map { |e| e.chomp }
|
||||||
lines << ""
|
lines << ""
|
||||||
|
|
||||||
cur = lines.count - 1
|
cur = lines.count - 1
|
||||||
|
@ -611,18 +614,13 @@ ruby << EOF
|
||||||
def open_compose()
|
def open_compose()
|
||||||
lines = []
|
lines = []
|
||||||
|
|
||||||
lines << "Date: #{Time.now().strftime('%a, %-d %b %Y %T %z')}"
|
|
||||||
lines << "From: #{$email}"
|
lines << "From: #{$email}"
|
||||||
lines << "To: "
|
lines << "To: "
|
||||||
cur = lines.count
|
cur = lines.count
|
||||||
|
|
||||||
lines << "Cc: "
|
lines << "Cc: "
|
||||||
lines << "Bcc: "
|
lines << "Bcc: "
|
||||||
lines << "Message-Id: #{generate_message_id}"
|
|
||||||
lines << "Subject: "
|
lines << "Subject: "
|
||||||
lines << "Mime-Version: 1.0"
|
|
||||||
lines << "Content-Type: text/plain; charset=utf-8"
|
|
||||||
lines << "Content-Transfer-Encoding: 7bit"
|
|
||||||
lines << ""
|
lines << ""
|
||||||
lines << ""
|
lines << ""
|
||||||
lines << ""
|
lines << ""
|
||||||
|
@ -633,7 +631,7 @@ ruby << EOF
|
||||||
def folders_render()
|
def folders_render()
|
||||||
$curbuf.render do |b|
|
$curbuf.render do |b|
|
||||||
folders = VIM::evaluate('g:notmuch_folders')
|
folders = VIM::evaluate('g:notmuch_folders')
|
||||||
count_threads = VIM::evaluate('g:notmuch_folders_count_threads')
|
count_threads = VIM::evaluate('g:notmuch_folders_count_threads') == 1
|
||||||
$searches.clear
|
$searches.clear
|
||||||
folders.each do |name, search|
|
folders.each do |name, search|
|
||||||
q = $curbuf.query(search)
|
q = $curbuf.query(search)
|
||||||
|
@ -919,7 +917,8 @@ ruby << EOF
|
||||||
if mime_type != "text/html"
|
if mime_type != "text/html"
|
||||||
text = decoded
|
text = decoded
|
||||||
else
|
else
|
||||||
IO.popen("elinks --dump", "w+") do |pipe|
|
IO.popen(VIM::evaluate('exists("g:notmuch_html_converter") ? ' +
|
||||||
|
'g:notmuch_html_converter : "elinks --dump"'), "w+") do |pipe|
|
||||||
pipe.write(decode_body)
|
pipe.write(decode_body)
|
||||||
pipe.close_write
|
pipe.close_write
|
||||||
text = pipe.read
|
text = pipe.read
|
||||||
|
@ -927,6 +926,16 @@ ruby << EOF
|
||||||
end
|
end
|
||||||
text
|
text
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def present
|
||||||
|
buffer = ''
|
||||||
|
header.fields.each do |f|
|
||||||
|
buffer << "%s: %s\r\n" % [f.name, f.to_s]
|
||||||
|
end
|
||||||
|
buffer << "\r\n"
|
||||||
|
buffer << body.to_s
|
||||||
|
buffer
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue