X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=news%2Frelease-0.6.mdwn;h=265ddf4e9fcc6b515043e2d684091b2a6f40525d;hb=b2b08233829ba5757e2e14ad4fd210801a29aa52;hp=2d16c5bb47a684c079f9c33f667d57aa82e48ef2;hpb=ef82988e1bbe4bf62c2471c519efa51a78267570;p=notmuch-wiki diff --git a/news/release-0.6.mdwn b/news/release-0.6.mdwn index 2d16c5b..265ddf4 100644 --- a/news/release-0.6.mdwn +++ b/news/release-0.6.mdwn @@ -6,19 +6,19 @@ Notmuch 0.6 (2011-07-01) New, general features --------------------- -* **_Folder-based searching_** +### Folder-based searching Notmuch queries can now include a search term to match the directories in which mail files are stored (within the mail storage). The syntax is as follows: - folder: + folder: 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. @@ -33,18 +33,18 @@ New, general features 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_** +### Support for PGP/MIME Both the command-line interface and the emacs-interface have new support for PGP/MIME, detailed below. Thanks to Daniel Kahn Gillmor and Jameson Graef Rollins for making this happen. -* **_New, automatic tags: "signed" and "encrypted"_** +### New, automatic tags: "signed" and "encrypted" These tags will automatically be applied to messages containing multipart/signed and multipart/encrypted parts. @@ -55,25 +55,25 @@ New, general features New command-line features ------------------------- -* **_Add new "notmuch show --verify" option for signature verification_** +### Add new "notmuch show --verify" option for signature verification This option instruct notmuch to verify the signature of PGP/MIME-signed parts. -* **_Add new "notmuch show --decrypt" and "notmuch reply --decrypt" options_** +### Add new "notmuch show --decrypt" and "notmuch reply --decrypt" options This option instructs notmuch to decrypt PGP/MIME-encrypted parts. Note that this feature currently requires gpg-agent and a passphrase entry tool (e.g. pinentry-gtk or pinentry-curses). -* **_Proper nesting of multipart parts in "notmuch show" output_** +### Proper nesting of multipart parts in "notmuch show" output MIME parts are now display with proper nesting to reflect original MIME hierarchy of a message. This allows clients to correctly analyze the MIME structure, (such as, for example, determining to which parts a signature part applies). -* **_Add new "notmuch show --part" option_** +### Add new "notmuch show --part" option This is a replacement for the older "notmuch part" command, (which is now deprecated—it should still work as always, but is no longer @@ -82,7 +82,7 @@ New command-line features part, (such as --format=json for extracting a message part with JSON formatting). -* **_Deprecate "notmuch search-tags" (in favor of "notmuch search --output=tags *")_** +### Deprecate "notmuch search-tags" (in favor of "notmuch search --output=tags *") The "notmuch search-tags" sub-command has been redundant since the addition of the --output=tags option to "notmuch search". We now @@ -93,7 +93,7 @@ New command-line features Performance improvements ------------------------ -* **_Faster searches (by doing fewer searches to construct threads)_** +### Faster searches (by doing fewer searches to construct threads) Whenever a user asks for search results as threads, notmuch first performs a search for messages matching the query, then performs @@ -102,7 +102,7 @@ Performance improvements Removing inefficiencies and redundancies in these secondary searches results in a measured speedups of 1.5x for a typical search. -* **_Faster searches (by doing fewer passes to gather message data)_** +### Faster searches (by doing fewer passes to gather message data) Optimizing Xapian data access patterns (using a single pass to get all message-document data rather than a pass for each data type) @@ -113,13 +113,13 @@ Performance improvements of 2.5x for a search of all messages in his inbox (was 4.5s, now 1.8s). Thanks, Austin! -* **_Faster initial indexing_** +### Faster initial indexing More efficient indexing of new messages results in a measured speedup of 1.4x for the initial indexing of 3 GB of mail (1h 14m rather than 1h 46m). Thanks to Austin Clements and Michal Sojka. -* **_Make "notmuch new" faster for unchanged directories_** +### Make "notmuch new" faster for unchanged directories Optimizing to not do any further examinations of sub-directories when the filesystem indicates that a directory is unchanged from the @@ -129,7 +129,7 @@ Performance improvements New emacs-interface features ---------------------------- -* **_Support for PGP/MIME (GnuPG)_** +### Support for PGP/MIME (GnuPG) Automatically indicate validity of signatures for multipart/signed messages. Automatically display decrypted content for @@ -138,14 +138,14 @@ New emacs-interface features needs gpg-agent and a pinentry tool just as the command-line tools. Also note there is no support SMIME yet. -* **_Output of pipe command is now displayed if pipe command fails_** +### Output of pipe command is now displayed if pipe command fails This is extremely useful in the common use case of piping a patch to "git am". If git fails to cleanly merge the patch the error messages from the failed merge are now clearly displayed to the user, (where previously they were silently hidden from the user). -* **_User-selectable From address_** +### User-selectable From address A user can choose which configured email addresses should be used as the From address whenever composing a new message. To do so, simply @@ -161,24 +161,23 @@ New emacs-interface features the "Notmuch Always Prompt For Sender" option in the notmuch customize group. -* **_Hiding of repeated subjects in collapsed thread view_** +### 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_** +### 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" button to display it again). This makes the handling of top-posted citations work much like conventional citations. -* **_New hooks for running code when tags are modified_** +### New hooks for running code when tags are modified Some users want to perform additional actions whenever a particular tag is added/removed from a message. This could be used to, for @@ -186,16 +185,16 @@ New emacs-interface features 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_** +### New optional support for hiding some multipart/alternative parts Many emails are sent with redundant content within a 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 @@ -203,23 +202,24 @@ New emacs-interface features because there's not yet a simple way to re-display such a hidden part if it is not actually redundant with a displayed part. -* **_Better rendering of text/x-vcalendar parts_** +### Better rendering of text/x-vcalendar parts These parts are now displayed in a format suitable for use with the emacs diary. -* **_Avoid getting confused by Subject and Author fields with newline - characters_** +### Avoid getting confused by Subject and Author fields with newline characters Replacing all characters with ASCII code less than 32 with a question mark. -Cleaner display of From line in email messages (remove double quotes, -and drop "name" if it's actually just a repeat of the email address). +### Cleaner display of From line in email messages + + Remove double quotes, and drop "name" if it's actually just a repeat of + the email address. Vim interface improvements -------------------------- -Felipe Contreras provided a number of updates for the vim interface: +### Felipe Contreras provided a number of updates for the vim interface: * Using sendmail directly rather than mailx, * Implementing archive in show view @@ -230,52 +230,55 @@ Felipe Contreras provided a number of updates for the vim interface: Bindings improvements --------------------- -* **_Ruby bindings are now much more complete_** +### 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 updated and extended_** +### Python bindings have been updated and extended (docs online at http://packages.python.org/notmuch/) - New bindings: +- New bindings: + - `Message().get_filenames()`, - `Message().tags_to_maildir_flags()`, `Message().maildir_flags_to_tags()` - `list(Threads())` and `list(Messages)` works now - `Message().__cmp__() and __hash__()` - These allow, for example: - if msg1 == msg2: ... + + These allow, for example: + + 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: - Removed: - len(Messages()) as it exhausted the iterator. - Use len(list(Messages())) or - `Query.count_messages()` to get the length. + Use len(list(Messages())) or + `Query.count_messages()` to get the length. -* **_Added initial Go bindings in bindings/go_** +### Added initial Go bindings in bindings/go New build-system features ------------------------- -* **_Added support for building in a directory other than the source - directory_** +### 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_** +### Fix to save configure options for future, implicit runs of configure When a user updates the source (such as with "git pull") calling "make" may cause an automatic re-run of the configure script. When @@ -286,7 +289,7 @@ New build-system features New test-suite feature ---------------------- -* **_Binary for bash for running test suite now located via PATH_** +### Binary for bash for running test suite now located via PATH The notmuch test suite requires a fairly recent version of bash (>= bash 4). As some systems supply an older version of bash at @@ -295,7 +298,7 @@ New test-suite feature simply install bash >= 4 somewhere on $PATH before /bin and then use the test suite. -* **_Support for testing output with a trailing newline_** +### Support for testing output with a trailing newline Previously, some tests would fail to notice a difference in the presence/absence of a trailing newline in a program output, (which @@ -304,7 +307,7 @@ New test-suite feature any change in the presence/absence of a trailing newline. Many tests are updated to take advantage of this. -* **_Avoiding accessing user's $HOME while running test suite_** +### Avoiding accessing user's $HOME while running test suite The test suite now carefully creates its own HOME directory. This allows the test suite to be run with no existing HOME directory, (as @@ -315,40 +318,38 @@ New test-suite feature General bug fixes ----------------- -* **_Output *all* files for "notmuch search --output=files"_** +### Output *all* files for "notmuch search --output=files" For the cases where multiple files have the same Message ID, previous versions of notmuch would output only one such file. This command is now fixed to correctly output all files. -* **_Fixed spurious search results from "overlapped" indexing of addresses_** +### 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_** +### Fix --output=json when search has no results A bug present since notmuch 0.4 had caused searches with no results to produce an invalid json object. This is now fixed to cleanly return a valid json object representing an empty array "[]" as expected. -* **_Fix the automatic detection of the From address for "notmuch reply" - from the Received headers in some cases._** +### Fix the automatic detection of the From address for "notmuch reply" from the Received headers in some cases -* **_Fix core dump on DragonFlyBSD due to -1 return value from - `sysconf(_SC_GETPW_R_SIZE_MAX)`._** +### Fix core dump on DragonFlyBSD due to -1 return value from `sysconf(_SC_GETPW_R_SIZE_MAX)` -* **_Cleaned up several memory leaks_** +### Cleaned up several memory leaks -* **_Eliminated a few, rare segmentation faults and a double-free_** +### Eliminated a few, rare segmentation faults and a double-free -* **_Fix libnotmuch library to only export notmuch API functions_** +### Fix libnotmuch library to only export notmuch API functions Previous release of the notmuch library also exported some Xapian C++ exception type symbols. These were never part of the library @@ -357,28 +358,27 @@ General bug fixes Emacs-interface bug fixes ------------------------- -* **_Display any unexpected output or errors from "notmuch search" -invocations_** +### Display any unexpected output or errors from "notmuch search" invocations Previously any misformatted output or trailing error messages were silently ignored. This output is now clearly displayed. This fix was very helpful in identifying and fixing the bug described below. -* **_Fix bug where some threads would be missing from large search results_** +### Fix bug where some threads would be missing from large search results When a search returned a "large" number of results, the emacs interface was incorrectly dropping one thread every time the output of the "notmuch search" process spanned the emacs read-buffer. This is now fixed. -* **_Avoid re-compression of .gz files (and similar) when saving attachment_** +### Avoid re-compression of .gz files (and similar) when saving attachment Emacs was being too clever for its own good and trying to re-compress pre-compressed .gz files when saving such attachments (potentially corrupting the attachment). The emacs interface is fixed to avoid this bug. -* **_Fix hiding of a message when a previously-hidden citation is visible_** +### Fix hiding of a message when a previously-hidden citation is visible Previously the citation would remain visible in this case. This is fixed so that hiding a message hides all parts.