]> git.notmuchmail.org Git - notmuch/blobdiff - NEWS
NEWS: untabified and added file local variables block
[notmuch] / NEWS
diff --git a/NEWS b/NEWS
index 3c2cd8242d730f523257ba22626baee63d9b9a4a..500e7a71d1b990c338ee93ddb1cd81713579dc8c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,96 @@
-Notmuch 0.12 (2012-xx-xx)
+Notmuch 0.13 (2012-xx-xx)
+=========================
+
+Command-Line Interface
+----------------------
+
+Reply to sender
+
+  "notmuch reply" has gained the ability to create a reply template
+  for replying just to the sender of the message, in addition to reply
+  to all. The feature is available through the new command line option
+  --reply-to=(all|sender).
+
+JSON reply format
+
+  "notmuch reply" can now produce JSON output that contains the headers
+  for a reply message and full information about the original message
+  begin replied to. This allows MUAs to create replies intelligtently.
+  For example, an MUA that can parse HTML might quote HTML parts.
+
+  Calling notmuch reply with --format=json imposes the restriction that
+  only a single message is returned by the search, as replying to
+  multiple messages does not have a well-defined behavior. The default
+  retains its current behavior for multiple message replies.
+
+Tag exclusion
+
+  Tags can be automatically excluded from search results by adding them
+  to the new 'search.exclude_tags' option in the Notmuch config file.
+
+  This behaviour can be overridden by explicitly including an excluded
+  tag in your query, for example:
+
+    notmuch search $your_query and tag:$excluded_tag
+
+  Existing users will probably want to run "notmuch setup" again to add
+  the new well-commented [search] section to the configuration file.
+
+  For new configurations, accepting the default setting will cause the
+  tags "deleted" and "spam" to be excluded, equivalent to running:
+
+    notmuch config set search.exclude_tags deleted spam
+
+Raw show format changes
+
+  The output of show --format=raw has changed for multipart and
+  message parts.  Previously, the output was a mash of somewhat-parsed
+  headers and transfer-decoded bodies.  Now, such parts are reproduced
+  faithfully from the original source.  Message parts (which includes
+  part 0) output the full message, including the message headers (but
+  not the transfer headers).  Multipart parts output the part as
+  encoded in the original message, including the part's headers.  Leaf
+  parts, as before, output the part's transfer-decoded body.
+
+Listing configuration items
+
+  The new "config list" command prints out all configuration items and
+  their values.
+
+Emacs Interface
+---------------
+
+Reply improvement using the JSON format
+
+  Emacs now uses the JSON reply format to create replies. It obeys
+  the customization variables message-citation-line-format and
+  message-citation-line-function when creating the first line of the
+  reply body, and it will quote HTML parts if no text/plain parts are
+  available.
+
+New add-on tool: notmuch-mutt
+-----------------------------
+
+The new contrib/ tool "notmuch-mutt" provides Notmuch integration for
+the Mutt mail user agent. Using it, Mutt users can perform mail
+search, thread reconstruction, and mail tagging/untagging without
+leaving Mutt.  notmuch-mutt, formerly distributed under the name
+"mutt-notmuch" by Stefano Zacchiroli, will be maintained as a notmuch
+contrib/ from now on.
+
+Library changes
+---------------
+
+API changes
+
+  The function notmuch_database_close has been split into
+  notmuch_database_close and notmuch_database_destroy.
+
+  This makes it possible for long running programs to close the xapian
+  database and thus release the lock associated with it without
+  destroying the data structures obtained from it.
+
+Notmuch 0.12 (2012-03-20)
 =========================
 
 Command-Line Interface
@@ -13,12 +105,24 @@ Reply to sender
 
 Mail store folder/file ignore
 
-   A new configuration option, `new.ignore`, lets users specify a
-   ;-separated list of file and directory names that will not be
-   searched for messages by "notmuch new".
+  A new configuration option, `new.ignore`, lets users specify a
+  ;-separated list of file and directory names that will not be
+  searched for messages by "notmuch new".
+
+  NOTE: *Every* file/directory that goes by one of those names will
+  be ignored, independent of its depth/location in the mail store.
+
+Unified help and manual pages
+
+  The notmuch help command now runs man for the appropriate page.  If
+  you install notmuch somewhere "unusual", you may need to update
+  MANPATH.
 
-   NOTE: *Every* file/directory that goes by one of those names will
-   be ignored, independent of its depth/location in the mail store.
+Manual page for notmuch configuration options
+
+  The notmuch CLI configuration file options are now documented in the
+  notmuch-config(1) manual page in addition to the configuration file
+  itself.
 
 Emacs Interface
 ---------------
@@ -88,6 +192,24 @@ Support text/calendar MIME type
   The text/calendar MIME type is now supported in addition to
   text/x-vcalendar.
 
+Generate inline patch fake attachment file names from message subject
+
+  Use the message subject to generate file names for the inline patch
+  fake attachments. The names are now similar to the ones generated by
+  'git format-patch' instead of just "inline patch". See "Notmuch Show
+  Insert Text/Plain Hook" in the notmuch customize interface.
+
+Enable `notmuch-search-line-faces' by default
+
+  Make the `notmuch-search-line-faces' functionality more discoverable
+  for new users by showing "unread" messages bold and "flagged"
+  messages blue by default in the search view.
+
+Printing Support
+
+  notmuch-show mode now has simple printing support, bound to '#' by
+  default. You can customize the variable notmuch-print-mechanism.
+
 Library changes
 ---------------
 
@@ -115,8 +237,10 @@ Build fixes
 Compatibility with GMime 2.6
 
   It is now possible to build notmuch against both GMime 2.4 and 2.6.
-  However, a bug in current GMime 2.6 causes notmuch not to report
-  signatures where the signer key is unavailable (GNOME bug 668085).
+  However, a bug in GMime 2.6 before 2.6.5 causes notmuch not to
+  report signatures where the signer key is unavailable (GNOME bug
+  668085).  For compatibility with GMime 2.4's tolerance of "From "
+  headers we require GMime 2.6 >= 2.6.7.
 
 Notmuch 0.11.1 (2012-02-03)
 ===========================
@@ -340,10 +464,10 @@ Search avoids opening and parsing message files
   improve search speed by as much as 10X, but taking advantage of this
   requires a database rebuild:
 
-       notmuch dump > notmuch.dump
-       # Backup, then remove notmuch database ($MAIL/.notmuch)
-       notmuch new
-       notmuch restore notmuch.dump
+        notmuch dump > notmuch.dump
+        # Backup, then remove notmuch database ($MAIL/.notmuch)
+        notmuch new
+        notmuch restore notmuch.dump
 
 New collection of add-on tools
 ------------------------------
@@ -507,13 +631,13 @@ Folder-based searching
   directories in which mail files are stored (within the mail
   storage). The syntax is as follows:
 
-       folder:<path>
+        folder:<path>
 
   For example, one might use things such as:
 
-       folder:spam
-       folder:2011-*
-       folder:work/todo
+        folder:spam
+        folder:2011-*
+        folder:work/todo
 
   to match any path containing a directory "spam", "work/todo", or
   containing a directory starting with "2011-", respectively.
@@ -528,10 +652,10 @@ Folder-based searching
   this feature for all mail, the entire notmuch index will need to be
   rebuilt as follows:
 
-       notmuch dump > notmuch.dump
-       # Backup, then remove notmuch database ($MAIL/.notmuch)
-       notmuch new
-       notmuch restore notmuch.dump
+        notmuch dump > notmuch.dump
+        # Backup, then remove notmuch database ($MAIL/.notmuch)
+        notmuch new
+        notmuch restore notmuch.dump
 
 Support for PGP/MIME
 
@@ -663,7 +787,7 @@ Automatic detection and hiding of original message in top-posted message
 
   When a message contains a line looking something like:
 
-       ----- Original Message -----
+        ----- Original Message -----
 
   emacs hides this and all subsequent lines as an "original message",
   (allowing the user to click or press enter on the "original message"
@@ -678,8 +802,8 @@ New hooks for running code when tags are modified
   tool. To facilitate this, two new hooks are added which can be
   modified in the following settings of the notmuch customize group:
 
-       Notmuch Before Tag Hook
-       Notmuch After Tag Hook
+        Notmuch Before Tag Hook
+        Notmuch After Tag Hook
 
 New optional support for hiding some multipart/alternative parts
 
@@ -687,7 +811,7 @@ New optional support for hiding some multipart/alternative parts
   multipart/alternative group (such as a text/plain part as well as a
   text/html part). Users can configure the setting:
 
-       Notmuch Show All Multipart/Alternative Parts
+        Notmuch Show All Multipart/Alternative Parts
 
   to "off" in the notmuch customize group to have the interface
   automatically hide some part alternatives (such as text/html
@@ -734,13 +858,13 @@ Ruby bindings are now much more complete
 
   - Message().__cmp__() and __hash__()
   These allow, for example:
-       if msg1 == msg2: ...
+        if msg1 == msg2: ...
 
   As well as set arithmetic on Messages():
 
-       s1, s2= set(msgs1), set(msgs2)
-       s1.union(s2)
-       s2 -= s1
+        s1, s2= set(msgs1), set(msgs2)
+        s1.union(s2)
+        s2 -= s1
 
   Removed:
      - len(Messages()) as it exhausted the iterator.
@@ -756,10 +880,10 @@ Added support for building in a directory other than the source directory
   This can be used with the widely-supported idiom of simply running
   the configure script from some other directory:
 
-       mkdir build
-       cd build
-       ../configure
-       make
+        mkdir build
+        cd build
+        ../configure
+        make
 
 Fix to save configure options for future, implicit runs of configure
 
@@ -809,11 +933,11 @@ Fixed spurious search results from "overlapped" indexing of addresses
 
   This fixed a bug where a search for:
 
-       to:user@elsewhere.com
+        to:user@elsewhere.com
 
   would incorrectly match a message sent:
 
-       To: user@example,com, someone@elsewhere.com
+        To: user@example,com, someone@elsewhere.com
 
 Fix --output=json when search has no results
 
@@ -875,13 +999,13 @@ Maildir-flag synchronization
   tags in the notmuch database. The following flag/tag mappings are
   supported:
 
-       Flag <-> Tag
-       ----     -----
-       'D'      draft
-       'F'      flagged
-       'P'      passed
-       'R'      replied
-       'S'      unread (added when 'S' flag is not present)
+        Flag <-> Tag
+        ----     -----
+        'D'      draft
+        'F'      flagged
+        'P'      passed
+        'R'      replied
+        'S'      unread (added when 'S' flag is not present)
 
   The synchronization occurs in both directions, (for example, adding
   the 'S' flag to a file will cause the "unread" tag to be added, and
@@ -894,7 +1018,7 @@ Maildir-flag synchronization
   new maildir.synchronize_flags option in the configuration file. For
   example:
 
-       notmuch config set maildir.synchronize_flags false
+        notmuch config set maildir.synchronize_flags false
 
   Users upgrading may also want to run "notmuch setup" once (just
   accept the existing configuration) to get a new, nicely-commented
@@ -903,8 +1027,8 @@ Maildir-flag synchronization
   For users of the notmuch library, the new synchronization
   functionality is available with the following two new functions:
 
-       notmuch_message_maildir_flags_to_tags
-       notmuch_message_tags_to_maildir_flags
+        notmuch_message_maildir_flags_to_tags
+        notmuch_message_tags_to_maildir_flags
 
   It is anticipated that future improvements to this support will
   allow for safe synchronization of the 'T' flag with the "deleted"
@@ -922,7 +1046,7 @@ Support for querying multiple filenames for a single message
   With this release, library users can access all filenames for a
   message with the new function:
 
-       notmuch_message_get_filenames
+        notmuch_message_get_filenames
 
   Together with notmuch_filenames_valid, notmuch_filenames_get, and
   notmuch_filenames_move_to_next it is now possible to iterate over
@@ -941,7 +1065,7 @@ New "notmuch show --format=raw" for getting at original email contents
   do this, simply set the notmuch-command variable in emacs to the
   name of a script containing:
 
-       ssh user@host notmuch "$@"
+        ssh user@host notmuch "$@"
 
   If the ssh client has enabled connection sharing (ControlMaster
   option in OpenSSH), the emacs interface can be quite responsive this
@@ -953,7 +1077,7 @@ Fix "notmuch search" to print nothing when nothing matches
 
   The 0.4 release had a bug in which:
 
-       notmuch search <expression-with-no-matches>
+        notmuch search <expression-with-no-matches>
 
   would produce a single blank line of output, (where previous
   versions would produce no output. This fix also causes a change in
@@ -1009,9 +1133,9 @@ notmuch search --output=(summary|threads|messages|tags|files)
   expected that this new option will be very useful in shell
   scripts. For example:
 
-       for file in $(notmuch search --output=files <search-terms>); do
-               <operations-on> "$file"
-       done
+        for file in $(notmuch search --output=files <search-terms>); do
+                <operations-on> "$file"
+        done
 
 notmuch show --format=mbox <search-specification>
 
@@ -1114,13 +1238,13 @@ Arrange for libnotmuch to be found automatically after make install
   errors of the form "libnotmuch.so could not be found" immediately
   after installing. This support takes two forms:
 
-       1. If the library is installed to a system directory,
-          (configured in /etc/ld.so.conf), then "make install" will
-          automatically run ldconfig.
+        1. If the library is installed to a system directory,
+           (configured in /etc/ld.so.conf), then "make install" will
+           automatically run ldconfig.
 
-       2. If the library is installed to a non-system directory, the
-          build system adds a DR_RUNPATH entry to the final binary
-          pointing to the directory to which the library is installed.
+        2. If the library is installed to a non-system directory, the
+           build system adds a DR_RUNPATH entry to the final binary
+           pointing to the directory to which the library is installed.
 
   When this support works, the user should be able to run notmuch
   immediately after "make install", without any errors trying to find
@@ -1164,7 +1288,7 @@ Fix potential corruption of database when "notmuch new " is interrupted.
   in a corrupt database. The corruption would manifest itself by a
   persistent error of the form:
 
-       document ID of 1234 has no thread ID
+        document ID of 1234 has no thread ID
 
   The message-adding code has been carefully audited and reworked to
   avoid this sort of corruption regardless of when it is interrupted.
@@ -1324,15 +1448,15 @@ An entirely new initial view for notmuch, (friendly yet powerful)
   away.
 
   Note: For users that liked the original mode of "emacs -f notmuch"
-       immediately displaying a particular search result, we
-       recommend instead running something like:
+        immediately displaying a particular search result, we
+        recommend instead running something like:
 
-               emacs --eval '(notmuch search "tag:inbox" t)'
+                emacs --eval '(notmuch search "tag:inbox" t)'
 
-       The "t" means to sort the messages in an "oldest first" order,
-       (as notmuch would do previously by default). You can also
-       leave that off to have your search results in "newest first"
-       order.
+        The "t" means to sort the messages in an "oldest first" order,
+        (as notmuch would do previously by default). You can also
+        leave that off to have your search results in "newest first"
+        order.
 
 Full-featured "customize" support for configuring notmuch
 
@@ -1363,7 +1487,7 @@ Support for doing tab-completion of email addresses
   One such program (implemented in python with the python bindings to
   notmuch) is available via:
 
-       git clone  http://jkr.acm.jhu.edu/git/notmuch_addresses.git
+        git clone  http://jkr.acm.jhu.edu/git/notmuch_addresses.git
 
   Install that program as notmuch-addresses on your PATH, and then
   hitting TAB on a partial email address or name within the To: or Cc:
@@ -1554,11 +1678,11 @@ Fix headers to be properly decoded in "notmuch reply"
 
   Previously, the user might see:
 
-       Subject: Re: =?iso-8859-2?q?Rozlu=E8ka?=
+        Subject: Re: =?iso-8859-2?q?Rozlu=E8ka?=
 
   rather than:
 
-       Subject: Re: Rozlučka
+        Subject: Re: Rozlučka
 
   The former text is properly encoded to be RFC-compliant SMTP, will
   be sent correctly, and will be properly decoded by the
@@ -1603,12 +1727,12 @@ Add support to configure for many standard options.
 
   We include actual support for:
 
-       --includedir --mandir --sysconfdir
+        --includedir --mandir --sysconfdir
 
   And accept and silently ignore several more:
 
-       --build --infodir --libexecdir --localstatedir
-       --disable-maintainer-mode --disable-dependency-tracking
+        --build --infodir --libexecdir --localstatedir
+        --disable-maintainer-mode --disable-dependency-tracking
 
 Install emacs client in "make install" rather than requiring a
 separate "make install-emacs".
@@ -1635,3 +1759,13 @@ a performance bug that made notmuch very slow when modifying
 tags. This would cause distracting pauses when reading mail while
 notmuch would wait for Xapian when removing the "inbox" and "unread"
 tags from messages in a thread.
+
+
+<!--
+ Local variables:
+ mode: text
+ tab-width: 8
+ indent-tabs-mode: nil
+ End:
+ vi: sw=8 ts=8 et
+-->