]> git.notmuchmail.org Git - notmuch/commitdiff
Merge tag '0.18_rc1'
authorDavid Bremner <david@tethera.net>
Sat, 3 May 2014 23:32:05 +0000 (08:32 +0900)
committerDavid Bremner <david@tethera.net>
Sat, 3 May 2014 23:32:05 +0000 (08:32 +0900)
notmuch 0.18~rc1 release

Makefile.local
NEWS
bindings/python/notmuch/version.py
debian/changelog
doc/doxygen.cfg
version
vim/notmuch.vim

index 6e78368c9febe828bbb264e24f8e4a114b56ca79..fa07d81bb097701f20122f9470cae3681d1b7339 100644 (file)
@@ -80,8 +80,8 @@ version.stamp: $(srcdir)/version
        echo $(VERSION) > $@
 
 $(TAR_FILE):
-       if git tag -v $(VERSION) >/dev/null 2>&1; then \
-           ref=$(VERSION); \
+       if git tag -v $(UPSTREAM_TAG) >/dev/null 2>&1; then \
+           ref=$(UPSTREAM_TAG); \
         else \
            ref="HEAD" ; \
           echo "Warning: No signed tag for $(VERSION)"; \
diff --git a/NEWS b/NEWS
index bcd311d4b11ba94c09421dfccfb4ae44ddf5a298..983db2b57ccf14d0703a1d566bae5984c798b25b 100644 (file)
--- a/NEWS
+++ b/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
 ----------------------
 
@@ -12,6 +86,25 @@ Command-Line Interface
 
   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
 ---------------
 
@@ -82,6 +175,12 @@ Version variable
   these differ from each other.
   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
 
   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
   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
 -----
 
index f15440d16319b42ec743fbcccaa90c13c31b7734..a10ecd93f1a858c68943cbf8073a18031b287b93 100644 (file)
@@ -1,2 +1,2 @@
 # this file should be kept in sync with ../../../version
-__VERSION__ = '0.18~rc0'
+__VERSION__ = '0.18~rc1'
index 72dbd45c46e4460bae09f22475149cbb9ca0f806..15fc994e8b9c37670241776221d7a16865c98825 100644 (file)
@@ -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
 
   * Upstream release candidate.
index 65d5fb505205a6994ac7999756957c51cdc6ee40..bfbfcab37c70f0c77c3f463d2b0d3df236e39251 100644 (file)
@@ -4,7 +4,7 @@
 # Project related configuration options
 #---------------------------------------------------------------------------
 DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = "Notmuch 0.17"
+PROJECT_NAME           = "Notmuch 0.18"
 PROJECT_NUMBER         =
 PROJECT_BRIEF          =
 PROJECT_LOGO           =
diff --git a/version b/version
index 065d0c867b00dfd48670a61f71084855e54b2132..9f565a42af31ef718f964b90f97063afa3bebee3 100644 (file)
--- a/version
+++ b/version
@@ -1 +1 @@
-0.18~rc0
+0.18~rc1
index d7b310c8a07cfa99afb284a8c8ee99d44d5d5028..331e9300842b1ef62f0cc62baacdaf64da7ffe46 100644 (file)
@@ -86,17 +86,22 @@ endfunction
 function! s:compose_send()
        let b:compose_done = 1
        let fname = expand('%')
+       let lines = getline(5, '$')
 
-       " remove headers
-       0,4d
-       write
+ruby << EOF
+       # Generate proper mail to send
+       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 out = system(cmdtxt)
        let err = v:shell_error
        if err
-               undo
-               write
                echohl Error
                echo 'Eeek! unable to send mail'
                echo out
@@ -572,9 +577,7 @@ ruby << EOF
                        end
                        m.cc = orig[:cc]
                        m.from = $email
-                       m.message_id = generate_message_id
                        m.charset = 'utf-8'
-                       m.content_transfer_encoding = '7bit'
                end
 
                lines = []
@@ -600,7 +603,7 @@ ruby << EOF
 
                reply.body = body_lines.join("\n")
 
-               lines += reply.to_s.lines.map { |e| e.chomp }
+               lines += reply.present.lines.map { |e| e.chomp }
                lines << ""
 
                cur = lines.count - 1
@@ -611,18 +614,13 @@ ruby << EOF
        def open_compose()
                lines = []
 
-               lines << "Date: #{Time.now().strftime('%a, %-d %b %Y %T %z')}"
                lines << "From: #{$email}"
                lines << "To: "
                cur = lines.count
 
                lines << "Cc: "
                lines << "Bcc: "
-               lines << "Message-Id: #{generate_message_id}"
                lines << "Subject: "
-               lines << "Mime-Version: 1.0"
-               lines << "Content-Type: text/plain; charset=utf-8"
-               lines << "Content-Transfer-Encoding: 7bit"
                lines << ""
                lines << ""
                lines << ""
@@ -633,7 +631,7 @@ ruby << EOF
        def folders_render()
                $curbuf.render do |b|
                        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
                        folders.each do |name, search|
                                q = $curbuf.query(search)
@@ -919,7 +917,8 @@ ruby << EOF
                                if mime_type != "text/html"
                                        text = decoded
                                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.close_write
                                                text = pipe.read
@@ -927,6 +926,16 @@ ruby << EOF
                                end
                                text
                        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