]> git.notmuchmail.org Git - notmuch/blobdiff - NEWS
Merge tag '0.12'
[notmuch] / NEWS
diff --git a/NEWS b/NEWS
index 01e6a7f16cbfc4d1e6c482be7fc3ade7242b9420..ed5e3c5a6e4af5e8fd70999a7e970b47f8b1bea0 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,450 @@
+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
+
+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
+---------------
+
+Reply to sender
+
+  The Emacs interface has, with the new CLI support, gained the
+  ability to reply to sender in addition to reply to all. In both show
+  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)
+=========================
+
+Command-Line Interface
+----------------------
+
+Hooks
+
+  Hooks have been introduced to notmuch. Hooks are scripts that notmuch
+  invokes before and after certain actions. Initially, "notmuch new"
+  supports "pre-new" and "post-new" hooks that are run before and after
+  importing new messages into the database.
+
+notmuch reply --decrypt bugfix
+
+  The "notmuch reply" command with --decrypt argument had a rarely
+  occurring bug that caused an encrypted message not to be decrypted
+  sometimes. This is now fixed.
+
+Performance
+-----------
+
+Automatic tag query optimization
+
+  "notmuch tag" now automatically optimizes the user's query to
+  exclude messages whose tags won't change.  In the past, we've
+  suggested that people do this by hand; this is no longer necessary.
+
+Don't sort messages when creating a dump file
+
+  This speeds up tag dumps considerably, without any loss of
+  information. To replicate the old behavior of sorted output (for
+  example to compare two dump files), one can use e.g. sort(1).
+
+Memory Management
+-----------------
+
+Reduction of memory leaks
+
+  Two memory leaks when searching and showing messages were identified
+  and fixed in this release.
+
+Emacs Interface
+---------------
+
+Bug fixes
+
+  notmuch-show-advance (bound to the spacebar in notmuch-show-mode) had
+  a bug that caused it to always jump to the next message, even if it
+  should have scrolled down to show more of the current message instead.
+  This is now fixed.
+
+Support "notmuch new" as a notmuch-poll-script
+
+  It's now possible to use "notmuch new" as a notmuch-poll-script
+  directly. This is also the new default. This allows taking better
+  advantage of the "notmuch new" hooks from emacs without intermediate
+  scripts.
+
+Improvements in saved search management
+
+  New saved searches are now appended to the list of saved searches,
+  not inserted in front. It's also possible to define a sort function
+  for displaying saved searches; alphabetical sort is provided.
+
+Hooks for notmuch-hello
+
+  Two new hooks have been added: "notmuch-hello-mode-hook" (called after
+  entering notmuch-hello-mode) and "notmuch-hello-refresh-hook" (called
+  after updating a notmuch-hello buffer).
+
+New face for crypto parts headers
+
+  Crypto parts used to be displayed with a hardcoded color. A new face
+  has been introduced to fix this: notmuch-crypto-part-header. It
+  defaults to the same value as before, but can be customized to match
+  other color themes.
+
+Use space as default thousands separator
+
+  Large numbers in notmuch-hello are now displayed using a space as
+  thousands separator (e.g. "123 456" instead of "123,456"). This can be
+  changed by customizing "notmuch-hello-thousands-separator".
+
+Call notmuch-show instead of notmuch-search when clicking on
+buttonized id: links.
+
+New function notmuch-show-advance
+
+  This new function advances through just the current thread, and is
+  less invasive than notmuch-show-advance-and-archive.  It can easily
+  be bound to SPC with:
+
+  (define-key notmuch-show-mode-map " " 'notmuch-show-advance)
+
+Various performance improvements.
+
+New add-on tool
+---------------
+
+The tool contrib/notmuch-deliver helps with initial delivery and
+tagging of mail (replacing running notmuch new).
+
+
+Notmuch 0.10.2 (2011-12-04)
+===========================
+
+Bug-fix release.
+----------------
+
+Fix crash in python bindings.
+
+  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)
+===========================
+
+Bug-fix release.
+----------------
+
+Fix --help argument
+
+  Argument processing changes in 0.10 introduced a bug where "notmuch
+  --help" crashed while "notmuch help" worked fine. This is fixed in
+  0.10.1.
+
+Notmuch 0.10 (2011-11-23)
+=========================
+
+New build and testing features
+------------------------------
+
+Emacs tests are now done in dtach. This means that dtach  is now
+needed to run the notmuch test suite, at least until the checking for
+prerequisites is improved.
+
+Full test coverage of the stashing feature in Emacs.
+
+New command-line features
+-------------------------
+
+Add "notmuch restore --accumulate" option
+
+  The --accumulate switch causes the union of the existing and new tags to be
+  applied, instead of replacing each message's tags as they are read in from
+  the dump file.
+
+Add search terms to  "notmuch dump"
+
+  The dump command now takes an optional search term much like notmuch
+  search/show/tag. The output file argument of dump is deprecated in
+  favour of using stdout.
+
+Add "notmuch search" --offset and --limit options
+
+  The search command now takes options --offset=[-]N and --limit=N to limit
+  the number of results shown.
+
+Add "notmuch count --output" option
+
+  The count command is now capable of counting threads in addition to
+  messages. This is selected using the new --output=(threads|messages) option.
+
+New emacs UI features
+---------------------
+
+Add tab-completion for notmuch-search and notmuch-search-filter
+
+  These functions now support completion tags for query parts
+  starting with "tag:".
+
+Turn "id:MSG-ID" links into buttons associated with notmuch searches
+
+  Text of the form "id:MSG-ID" in mails is now a clickable button that
+  opens a notmuch search for the given message id.
+
+Add keybinding ('c I') for stashing Message-ID's without an id: prefix
+
+  Reduces manual labour when stashing them for use outside notmuch.
+
+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.
+
+Performance
+-----------
+
+Emacs now constructs large search buffers more efficiently
+
+Search avoids opening and parsing message files
+
+  We now store more information in the database so search no longer
+  has to open every message file to get basic headers.  This can
+  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
+
+New collection of add-on tools
+------------------------------
+
+The source directory "contrib" contains tools built on notmuch.  These
+tools are not part of notmuch, and you should check their individual
+licenses.  Feel free to report problems with them to the notmuch
+mailing list.
+
+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.
+
 Notmuch 0.9 (2011-10-01)
 ========================
 
@@ -22,6 +469,13 @@ New functions
 
   notmuch_database_find_message_by_filename does exactly what it says.
 
+API changes
+
+  notmuch_database_find_message (and n_d_f_m_by_filename) now return
+  a status indicator and uses an output parameter for the
+  message. This change required changing the SONAME of libnotmuch to
+  libnotmuch.so.2
+
 Python bindings changes
 -----------------------
 
@@ -29,15 +483,32 @@ Python bindings changes
     libnotmuch.
   - Support Database().begin_atomic()/end_atomic()
   - Support Database().find_message_by_filename()
+    NB! This needs a db opened in READ-WRITE mode currently, or it will crash
+    the python process. The is a limitation (=bug) of the underlying libnotmuch.
   - Fixes where we would not throw NotmuchErrors when we should (Justus Winter)
+  - Update for n_d_find_message* API changes (see above).
 
 Ruby bindings changes
 ---------------------
 
-  Wrap new library functions notmuch_database_{begin,end}_atomic, 
-  and add new exception Notmuch::UnbalancedAtomicError. Rename destroy 
-  to destroy! according to Ruby naming conventions.
-  
+  - Wrap new library functions notmuch_database_{begin,end}_atomic.
+  - Add new exception Notmuch::UnbalancedAtomicError.
+  - Rename destroy  to destroy! according to Ruby naming conventions.
+  - Update for n_d_find_message* API changes (see above).
+
+Emacs improvements
+------------------
+
+  * Add gpg callback to crypto sigstatus buttons to retrieve/refresh
+    signing key.
+  * Add notmuch-show-refresh-view function (and corresponding binding)
+    to refresh the view of a notmuch-show buffer.
+
+Reply formatting cleanup
+------------------------
+
+  "notmuch reply" no longer includes notification that non-leafnode
+  MIME parts are being suppressed.
 
 Notmuch 0.8 (2011-09-10)
 ========================
@@ -50,7 +521,7 @@ Improved handling of message/rfc822 parts
   headers, is unfortunately not yet supported (but hopefully will be
   soon).
 
-Improved Build system portability 
+Improved Build system portability
 
   Certain parts of the shell script generating notmuch.sym were
   specific to the GNU versions of sed and nm. The new version should
@@ -93,7 +564,7 @@ Sebastian Spaeth contributed two changes related to unicode and UTF8:
   * message tags are now explicitly unicode
   * query string is encoded as a UTF8 byte string
 
-Build-System improvments
+Build-System improvements
 ------------------------
 
 Generate notmuch.sym after the relevant object files
@@ -108,7 +579,7 @@ Bug-fix release.
 ----------------
 
 Re-export Xapian exception typeinfo symbols.
-  
+
   It turned out our aggressive symbol hiding caused problems for
   people running gcc 4.4.5.
 
@@ -127,8 +598,8 @@ Folder-based searching
   For example, one might use things such as:
 
        folder:spam
-        folder:2011-*
-        folder:work/todo
+       folder:2011-*
+       folder:work/todo
 
   to match any path containing a directory "spam", "work/todo", or
   containing a directory starting with "2011-", respectively.
@@ -273,7 +744,7 @@ Hiding of repeated subjects in collapsed thread view
 
   In notmuch-show mode, if a collapsed message has the same subject as
   its parent, the subject is not shown.
-  
+
 Automatic detection and hiding of original message in top-posted message
 
   When a message contains a line looking something like:
@@ -339,7 +810,7 @@ Ruby bindings are now much more complete
   Including QUERY.sort, QUERY.to_s, MESSAGE.maildir_flags_to_tags,
   MESSAGE.tags_to_maildir_flags, and MESSAGE.get_filenames
 
-* Python bindings have been upodated and extended
+* Python bindings have been updated and extended
   (docs online at http://packages.python.org/notmuch/)
 
   New bindings:
@@ -349,16 +820,16 @@ 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, s2= set(msgs1), set(msgs2)
        s1.union(s2)
        s2 -= s1
 
-   Removed:
-     - len(Messages()) as it exausted the iterator.
+  Removed:
+     - len(Messages()) as it exhausted the iterator.
        Use len(list(Messages())) or
        Query.count_messages() to get the length.
 
@@ -494,9 +965,9 @@ Maildir-flag synchronization
        ----     -----
        'D'      draft
        'F'      flagged
-        'P'      passed
-        'R'      replied
-        'S'      unread (added when 'S' flag is not present)
+       '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
@@ -1250,4 +1721,3 @@ 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.
-