]> git.notmuchmail.org Git - notmuch/blobdiff - NEWS
Merge tag '0.12'
[notmuch] / NEWS
diff --git a/NEWS b/NEWS
index 1161c226cfefb86320e2d2cceeada1c8a9dd7887..ed5e3c5a6e4af5e8fd70999a7e970b47f8b1bea0 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-Notmuch 0.12 (2012-xx-xx)
+Notmuch 0.13 (2012-xx-xx)
 =========================
 
 Command-Line Interface
 =========================
 
 Command-Line Interface
@@ -11,6 +11,81 @@ Reply to sender
   to all. The feature is available through the new command line option
   --reply-to=(all|sender).
 
   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
+
+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.
+
+Notmuch 0.12 (2012-03-20)
+=========================
+
+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).
+
+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".
+
+   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.
+
+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
 ---------------
 
 Emacs Interface
 ---------------
 
@@ -21,6 +96,138 @@ Reply to sender
   and search modes, 'r' has been bound to reply to sender, replacing
   reply to all, which now has key binding 'R'.
 
   and search modes, 'r' has been bound to reply to sender, replacing
   reply to all, which now has key binding 'R'.
 
+More flexible and consistent tagging operations
+
+  All tagging operations ("+", "-", "*") now accept multiple tags with
+  "+" or "-" prefix, like "*" operation in notmuch-search view before.
+
+  "*" operation (`notmuch-show-tag-all') is now available in
+  notmuch-show view.
+
+  `Notmuch-show-{add,remove}-tag' functions no longer accept tag
+  argument, `notmuch-show-tag-message' should be used instead.  Custom
+  bindings using these functions should be updated, e.g.:
+
+    (notmuch-show-remove-tag "unread")
+
+  should be changed to:
+
+    (notmuch-show-tag-message "-unread")
+
+Refreshing the show view ('=' by default) no longer opens or closes messages
+
+  To get the old behavior of putting messages back in their initial
+  opened/closed state, use a prefix argument, e.g., C-u =.
+
+Attachment buttons can be used to view or save attachments.
+
+  When the cursor is on an attachment button the key 's' can be used
+  to save the attachment, the key 'v' to view the attachment in the
+  default mailcap application, and the key 'o' prompts the user for an
+  application to use to open the attachment. By default Enter or mouse
+  button 1 saves the attachment but this is customisable (option
+  Notmuch Show Part Button Default Action).
+
+New functions
+
+  `notmuch-show-stash-mlarchive-link{,-and-go}' allow stashing and
+  optionally visiting a URI to the current message at one of a number
+  of Mailing List Archives.
+
+Fix MML tag quoting in replies
+
+  The MML tag quoting fix of 0.11.1 unintentionally quoted tags
+  inserted in `message-setup-hook'. Quoting is now limited to the
+  cited message.
+
+Show view archiving key binding changes
+
+  The show view archiving key bindings 'a' and 'x' now remove the
+  "inbox" tag from the current message only (instead of thread), and
+  move to the next message. At the last message, 'a' proceeds to the
+  next thread in search results, and 'x' returns to search
+  results. The thread archiving functions are now available in 'A' and
+  'X'.
+
+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
+---------------
+
+New functions
+
+  notmuch_query_add_tag_exclude supports the new tag exclusion
+  feature.
+
+Python bindings changes
+-----------------------
+
+Python 3.2 compatibility
+
+  The python bindings are now compatible with both python 2.5+ and 3.2.
+
+Added missing unicode conversions
+
+  Python strings have to be encoded to and decoded from utf-8 when
+  calling libnotmuch functions. Porting the bindings to python 3.2
+  revealed a few function calls that were missing these conversions.
+
+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 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)
+===========================
+
+Bug-fix release.
+----------------
+
+Fix error handling in python bindings.
+
+  The python bindings in 0.11 failed to detect NULL pointers being
+  returned from libnotmuch functions and thus failed to raise
+  exceptions to indicate the error condition. Any subsequent calls
+  into libnotmuch caused segmentation faults.
+
+Quote MML tags in replies
+
+  MML tags are text codes that Emacs uses to indicate attachments
+  (among other things) in messages being composed.  The Emacs
+  interface did not quote MML tags in the quoted text of a reply.
+  User could be tricked into replying to a maliciously formatted
+  message and not editing out the MML tags from the quoted text.  This
+  could lead to files from the user's machine being attached to the
+  outgoing message.  The Emacs interface now quotes these tags in
+  reply text, so that they do not effect outgoing messages.
+
 Notmuch 0.11 (2012-01-13)
 =========================
 
 Notmuch 0.11 (2012-01-13)
 =========================
 
@@ -133,8 +340,8 @@ Bug-fix release.
 
 Fix crash in python bindings.
 
 
 Fix crash in python bindings.
 
-    The python bindings did not call g_type_init, which caused crashes
-    for some, but not all users.
+  The python bindings did not call g_type_init, which caused crashes
+  for some, but not all users.
 
 Notmuch 0.10.1 (2011-11-25)
 ===========================
 
 Notmuch 0.10.1 (2011-11-25)
 ===========================
@@ -204,8 +411,8 @@ Add keybinding ('c I') for stashing Message-ID's without an id: prefix
 
 Do not query on notmuch-search exit
 
 
 Do not query on notmuch-search exit
 
-   It is harmless to kill the external notmuch process, so the user
-   is no longer interrogated when they interrupt a search.
+  It is harmless to kill the external notmuch process, so the user
+  is no longer interrogated when they interrupt a search.
 
 Performance
 -----------
 
 Performance
 -----------
@@ -234,9 +441,9 @@ mailing list.
 
 nmbug - share tags with a given prefix
 
 
 nmbug - share tags with a given prefix
 
-   nmbug helps maintain a git repo containing all tags with a given
-   prefix (by default "notmuch::"). Tags can be shared by commiting
-   them to git in one location and restoring in another.
+  nmbug helps maintain a git repo containing all tags with a given
+  prefix (by default "notmuch::"). Tags can be shared by commiting
+  them to git in one location and restoring in another.
 
 Notmuch 0.9 (2011-10-01)
 ========================
 
 Notmuch 0.9 (2011-10-01)
 ========================
@@ -621,7 +828,7 @@ Ruby bindings are now much more complete
        s1.union(s2)
        s2 -= s1
 
        s1.union(s2)
        s2 -= s1
 
-   Removed:
+  Removed:
      - len(Messages()) as it exhausted the iterator.
        Use len(list(Messages())) or
        Query.count_messages() to get the length.
      - len(Messages()) as it exhausted the iterator.
        Use len(list(Messages())) or
        Query.count_messages() to get the length.