]> git.notmuchmail.org Git - notmuch/blobdiff - NEWS
Increment notmuch version to 0.4.
[notmuch] / NEWS
diff --git a/NEWS b/NEWS
index 35d88b022938e78b69f26d055243df42917b06e7..db437d312bd634aa1ab86ffc9c8732f2fc9e1dba 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,258 @@
+Notmuch 0.4 (2010-11-01)
+========================
+New command-line features
+-------------------------
+notmuch search --output=(summary|threads|messages|tags|files)
+
+  This new option allows for particular items to be returned from
+  notmuch searches. The "summary" option is the default and behaves
+  just as "notmuch search" has historically behaved.
+
+  The new option values allow for thread IDs, message IDs, lists of
+  tags, and lists of filenames to be returned from searches. It is
+  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
+
+notmuch show --format=mbox <search-specification>
+
+  This new option allows for the messages matching a search
+  specification to be presented as an mbox. Specifically the "mboxrd"
+  format is used which allows for reversible quoting of lines
+  beginning with "From ". A reader should remove a single '>' from the
+  beginning of all lines beginning with one or more '>' characters
+  followed by the 5 characters "From ".
+
+notmuch config [get|set] <section>.<item> [value ...]
+
+  The new top-level "config" command allows for any value in the
+  notmuch configuration file to be queried or set to a new value. Both
+  single-valued and multi-valued items are supported, as our any
+  custom items stored in the configuration file.
+
+Avoid setting Bcc header in "notmuch reply"
+
+  We decided that this was a bit heavy-handed as the actual mail
+  user-agent should be responsible for setting any Bcc option. Also,
+  see below for the notmuch/emacs user-agent now setting an Fcc by
+  default rather than Bcc.
+
+New library features
+--------------------
+Add notmuch_query_get_query_string and notmuch_query_get_sort
+
+  These are simply functions for querying properties of a
+  notmuch_query_t object.
+
+New emacs features
+------------------
+Enable Fcc of all sent messages by default (to "sent" directory)
+
+  All messages sent from the emacs interface will now be saved to the
+  notmuch mail store where they will be incorporated to the database
+  by the next "notmuch new". By default, messages are saved to the
+  "sent" directory at the top-level of the mail store. This directory
+  can be customized by means of the "Notmuch Fcc Dirs" option in the
+  notmuch customize interface.
+
+Ability to all open messages in a thread to a pipe
+
+  Historically, the '|' keybinding allows for piping a single message
+  to an external command. Now, by prefixing this key with a prefix
+  argument, (for example, by pressing "Control-U |"), all open
+  messages in the current thread will be sent to the external command.
+
+Optional support for detecting inline patches
+
+  This hook is disabled by default but can be enabled with a checkbox
+  under "Notmuch Show Insert Text/Plain Hook" in the notmuch customize
+  interface. It allows for inline patches to be detected and treated
+  as if they were attachments, (with context-sensitive highlighting).
+
+Automatically tag messages as "replied" when sending a reply
+
+  Messages replied to within the emacs interface will now be tagged as
+  "replied". This feature can easily be customized to add or remove
+  other tags as well. For example, a user might use a tag of
+  "needs-reply" and can configure this feature to automatically remove
+  that tag when replying. See "Notmuch Message Mark Replied" in the
+  notmuch customize interface.
+
+Allow search-result color specifications to overlay each other
+
+  For example, one tag can specify the background color of matching
+  lines, while another can specify the foreground. With this change,
+  both settings will now be visible simultaneously, (which was not the
+  case in previous releases). See "Notmuch Search Line Faces" in the
+  notmuch customize interface.
+
+Make hidden author names still available for incremental search.
+
+  When there is insufficient space to display all authors of a thread
+  in search results, the names of hidden authors are now still made
+  available to emacs' incremental search commands. As the user
+  searches, matching lines will temporarily expand to show the hidden
+  names.
+
+New binding of Control-TAB (works like TAB in reverse)
+
+  Many notmuch nodes already use TAB to navigate forward through
+  various items allowing actions, (message headers, email attachments,
+  etc.). The new Control-TAB binding operates similarly but in the
+  opposite direction.
+
+New build-system features
+-------------------------
+Various portability fixes have been applied
+
+  These include fixes for build failures on at least Solaris, FreeBSD,
+  and Fedora systems. We're hopeful that the notmuch code base is now
+  more portable than ever before.
+
+Arrange for libnotmuch to be found automatically after make install
+
+  The notmuch build system is now careful to help the user avoid
+  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.
+
+       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
+  the notmuch library, and without having to manually set environment
+  variables such as LD_LIBRARY_PATH.
+
+Check compiler/linker options before using them
+
+  The configure script now carefully checks that any desired
+  compilation options, (whether for enabling compiler warnings, or for
+  embedding rpath, etc.), are supported. Only supported options are
+  used in the resulting Makefile.
+
+New test-suite features
+-----------------------
+New modularization of test suite.
+
+  Thanks to a gracious relicensing of the test-suite infrastructure
+  from the git project, notmuch now has a modular test suite. This
+  provides the ability to run individual sections of the test suite
+  rather than the whole things. It also provides better summary of
+  test results, with support for tests that are expected to fail
+  (BROKEN and FIXED) in addition to PASS and FAIL. Finally, it makes
+  it easy to run the test suite within valgrind (pass --valgrind to
+  notmuch-test or to any sub-script) which has been very useful.
+
+New testing of emacs interface.
+
+  The test suite has been augmented to allow automated testing of the
+  emacs interfaces. So far, this includes basic searches, display of
+  threads, and tag manipulation. This also includes a test that a new
+  message can successfully be sent out through a (dummy) SMTP server
+  and that said message is successfully integrated into the notmuch
+  database via the FCC setting.
+
+General bug fixes
+-----------------
+Fix potential corruption of database when "notmuch new " is interrupted.
+
+  Previously, an interruption of "notmuch new" would (rarely) result
+  in a corrupt database. The corruption would manifest itself by a
+  persistent error of the form:
+
+       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.
+
+Fix failure with extremely long message ID headers.
+
+  Previously, a message with an extremely long message ID, (say, more
+  than 300 characters), would fail to be added to notmuch, (triggering
+  Xapian exceptions). This has now been fixed.
+
+Fix for messages with "charset=unknown-8bit"
+
+  Previously, messages with this charset would cause notmuch to emit a
+  GMime warning, (which would then trip up emacs or other interfaces
+  parsing the notmuch results).
+
+Fix notmuch_query_search_threads function to return NULL on any exception
+
+Fix "notmuch search" to return non-zero if notmuch_query_search_threads fails
+
+  Previously, this command could confusingly report a Xapian
+  exception, yet still return an error code of 0. It now correctly
+  returns a failing error code of 1 in this case.
+
+Emacs bug fixes
+---------------
+Fix to handle a message with a subject containing, for example "[1234]"
+
+  Previously, a message subject containing a sequence of digits within
+  square brackets would cause the emacs interface to mis-parse the
+  output of "notmuch search". This would result in the message being
+  mis-displayed and prevent the user from manipulating the message in
+  the emacs interface.
+
+Fix to correctly handle message IDs containing ".."
+
+  The emacs interface now properly quotes message IDs to avoid a
+  Xapian bug in which the ".." within a message ID would be
+  misinterpreted as a numeric range specification.
+
+Python-binding fixes
+--------------------
+The python bindings for notmuch have been updated to work with python3.
+
+Debian-specific fixes
+---------------------
+Fix emacs initialization so "M-x notmuch" works for users by default.
+
+  Now, a new Debian user can immediately run "emacs -f notmuch" after
+  "apt-get install notmuch". Previously, the user would have had to
+  edit the ~/.emacs file to add "(require 'notmuch)" before this would
+  work.
+
+Notmuch 0.3.1 (2010-04-27)
+==========================
+General bug fixes
+-----------------
+Fix an infinite loop in "notmuch reply"
+
+  This bug could be triggered by replying to a message where the
+  user's primary email address did not appear in the To: header and
+  the user had not configured any secondary email addresses. The bug
+  was a simple re-use of the same iterator variable in nested loops.
+
+Fix a potential SEGV in "notmuch search"
+
+  This bug could be triggered by an author name ending in a ','.
+  Admittedly - that's almost certainly a spam email, but we never
+  want notmuch to crash.
+
+Emacs bug fixes
+---------------
+Fix calculations for line wrapping in the primary "notmuch" view.
+
+Fix Fcc support to prompt to create a directory if the specified Fcc
+directory does not exist.
+
+Build fix
+---------
+Fix build on OpenSolaris (at least) due to missing 'extern "C"' block.
+
+  Without this, the C++ sources could not find strcasestr and the
+  final linking of notmuch would fail.
+
 Notmuch 0.3 (2010-04-27)
 ========================
 New command-line features
@@ -24,9 +279,9 @@ Even Better guessing of From: header for "notmuch reply"
 
   Notmuch now looks at a number of headers when trying to figure out
   the best From: header to use in a reply. This is helpful if you have
-  several configured email addreses, and you also subsribe to various
+  several configured email addresses, and you also subscribe to various
   mailing lists with different addresses, (so that mails you are
-  replying to won't always include your subsribed address in the To:
+  replying to won't always include your subscribed address in the To:
   header).
 
 Indication of author names that match a search
@@ -80,7 +335,7 @@ An entirely new initial view for notmuch, (friendly yet powerful)
 
        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 seach results in "newest first"
+       leave that off to have your search results in "newest first"
        order.
 
 Full-featured "customize" support for configuring notmuch
@@ -91,7 +346,7 @@ Full-featured "customize" support for configuring notmuch
 
   You can get to this mode by starting at the main "Customize" menu in
   emacs, then browsing through "Applications", "Mail", and
-  "Notmuch". Or you can go straignt to "M-x customize-group"
+  "Notmuch". Or you can go straight to "M-x customize-group"
   "notmuch".
 
   Once you're at the customize screen, you'll see a list of documented
@@ -116,13 +371,13 @@ Support for doing tab-completion of email addresses
 
   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:
-  line of an email messsage will provide matching completions.
+  line of an email message will provide matching completions.
 
 Support for file-based (Fcc) delivery of sent messages to mail store
 
   This isn't yet enabled by default. To enable this, one will have to
   set the "Notmuch Fcc Dirs" setting within the notmuch customize
-  screen, (see its docuementation there for details). We anticipate
+  screen, (see its documentation there for details). We anticipate
   making this automatic in a future release.
 
 New 'G' key binding to trigger mail refresh (G == "Get new mail")
@@ -147,13 +402,13 @@ Better handling of HTML messages and MIME attachments (inline images!)
   inline. This includes inline viewing of image attachments, (provided
   the window is large enough to fit the image at its natural size).
 
-  Much more robust handling of HTML messages. Currently both text/plan
+  Much more robust handling of HTML messages. Currently both text/plain
   and text/html alternates will be rendered next to each other. In a
   future release, users will be able to decide to see only one or the
   other representation.
 
   Each attachment now has its own button so that attachments can be
-  saved indivisdually (the 'w' key is still available to save all
+  saved individually (the 'w' key is still available to save all
   attachments).
 
 Customizable support for tidying of text/plain message content
@@ -168,7 +423,7 @@ Customizable support for tidying of text/plain message content
 
 New support for searchable citations (even when hidden)
 
-  When portions of overly-long citations are hiddent, the contents of
+  When portions of overly-long citations are hidden, the contents of
   these citations will still be available for emacs' standard
   "incremental search" functions. When the search matches any portion
   of a hidden citation, the citation will become visible temporarily
@@ -185,7 +440,7 @@ More flexible handling of header visibility
 
   For users that don't want to see some subset of those headers, the
   new "Notmuch Message Headers" variable can be customized to list
-  only those headers that should be present in the disply of a message.
+  only those headers that should be present in the display of a message.
 
 The Return key now toggles message visibility anywhere
 
@@ -205,7 +460,7 @@ New keybinding (M-Ret) to open all collapsed messages in a thread.
 
 New library feature
 -------------------
-Provide a new NOTMUCH_SORT_UNSORTED value for queriesl
+Provide a new NOTMUCH_SORT_UNSORTED value for queries
 
   This can be somewhat faster when sorting simply isn't desired. For
   example when collecting a set of messages that will all be