Created attachment 217880 [details]
Hi, the only real testing this has had is my personal use of mu4e in Emacs 27. Hopefully I didn't break too much. Someone with more experience should certainly look into this better.
1.4 (released, as of April 18 2020)
mu now defaults to the XDG Base Directory Specification for the default locations for various files. E.g. on Unix the mu database now lives under ~~/.cache/mu/~ rather than ~~/.mu~. You can still use the old location by passing --muhome=~/.mu to various mu commands, or setting (setq mu4e-mu-home "~/.mu") for mu4e.
If your ~~/.cache~ is volatile (e.g., is cleared on reboot), you may want use --muhome. Some mailing-list dicussion suggest that’s fairly rare though.
After upgrading, you may wish to delete the files in the old location to recover some diskspace.
There’s a new subcommand mu init to initialize the mu database, which takes the --maildir and --my-address parameters that index used to take. These parameters are persistent so index does not need (or accept) them anymore. mu4e now depends on those parameters.
init only needs to be run once or when changing these parameters. That implies that you need to re-index after changing these parameters. The .noupdate files are ignored when indexing the first time after mu init (or in general, when the database is empty).
There is another new subcommand mu info to get information about the mu database, the personal addresses etc.
The contacts cache (which is used by mu cfind and mu4e’s contact-completion) is now stored as part of the Xapian database rather than as a separate file.
The --xbatchsize and --autoupgrade options for indexing are gone; both are determined implicitly now.
mu4e no longer uses the mu4e-maildir and mu4e-user-mail-address-list variables; instead it uses the information it gets from mu (see the mu section above). If you have a non-default mu4e-mu-home, make sure to set it before mu4e starts.
It is strongly recommended that you run mu init with the appropriate parameters to (re)initialize the Xapian database, as mentioned in the mu-section above.
The main screen shows your address(es), and issues a warning if user-email-address is not part of that (and refer you to mu init). You can avoid the addresses in the main screen and the warning by setting mu4e-main-view-hide-addresses to non-nil.
In many cases, mu4e used to receive all contacts after each indexing operation; this was slow for some users, so we have updated this to only get the contacts that have changed since the last round.
We also moved sorting the contacts to the mu-side, which speeds things up further. However, as a side-effect of this, mu4e-contact-rewrite-function and mu4e-compose-complete-ignore-address-regexp have been obsoleted; users of those should migrate to mu4e-contact-process-function; see its docstring for details.
Christophe Troestler contributed support for Gnus’ calender-invitation handling in mu4e (i.e., you should be able to accept/reject invitations etc.). It’s very fresh code, and likely it’ll be tweaked in the future. But it’s available now for testing. Note that this requires the gnus-based viewer, as per (setq mu4e-view-use-gnus t)
In addition, he added support for custom headers, so the ones for for the non-gnus-view should work just as well.
org-mode support is enabled by default now. speedbar support is disabled by default. The support org functionality has been moved to mu4e-org.el, with org-mu4e.el remaining for older things.
mu4e now adds message-ids to messages when saving drafts, so we can find them even with mu4e-headers-skip-duplicates.
Bookmarks (as in mu4e-bookmarks) are now simple plists (instead of cl structs). make-mu4e-bookmark has been updated to produce such plists (for backward compatibility). A bookmark now looks like a list of e.g. (:name "My bookmark" :query "banana OR pear" :key ?f) this format is a bit easier extensible.
mu4e recognizes an attribute :hide t, which will hide the bookmark item from the main-screen (and speedbar), but keep it available through the completion UI.
mu4e-maildir-shortcuts have also become plists. The older format is still recognized for backward compatibility, but you are encouraged to upgrade.
Replying to mailing-lists has been improved, allowing for choosing for replying to all, sender, list-only.
A very visible change, mu4e now shows unread/all counts for bookmarks in the main screen that are strings. This is on by default, but can be disabled by setting :hide-unread in the bookmark plist to t. For speed-reasons, these counts do not filter out duplicates nor messages that have been removed from the filesystem.
mu4e-attachment-dir now also applies to composing messages; it determines the default directory for inclusion.
The mu4e <-> mu interaction has been rewritten to communicate using s-expressions, with a repl for testing.
Updated the mug toy UI to use Webkit2/GTK+. Note that this is just a toy which is not meant for distribution. msg2pdf is disabled for now.
How to upgrade mu4e
upgrade mu to the latest stable version (1.4.x)
shut down emacs
Run mu init in a terminal
Make sure mu init points to the right Maildir folder and add your email address(es) the following way:
mu init --maildir=~/Maildir --email@example.com --firstname.lastname@example.org
once this is done, run mu index
Don’t forget to delete your old mail cache location if necessary (see release notes for more detail).
Created attachment 217881 [details]
Forgot to remove the old files/ patches from mu4e when submitting.