Releases: djcb/mu
1.12.13
New stable release 1.12.13.
This contains improvements to the build process, the
Guile/Scheme binding ("SCM") and a new experimental "labels" sub-command. Let's
start with that last one.
Labels
There's a new, experimental feature: labels. Labels are similar to the
existing "tags", but better integrated with both mu and mu4e,
You can search for message with a given label using 'label:', e.g
$ mu find label:tupperware`
Or add/remove labels, e.g., remove the label "planet" and add the label
"dwarf-planet" to all messages that have "pluto" in their subject:
$ mu labels update "subject:pluto" --labels -planet,+dwarf-planet
Clear all labels from messages with the label "boring":
$ mu labels clear "label:boring"
Labels are only stored in mu's database, and do not write to the message file
themselves. I.e., when you remove your database, your labels are gone. However,
you can use the mu labels export
and mu labels import
to save/restore them;
see the mu-labels(1) man-page for details.
In mu4e, you can do the same using mu4e-headers-mark-for-label
(bound to l
)
and clearing with mu4e-headers-mark-for-unlabel
(bound to 'L').
I.e., mark some messages (or the current one by default), and in the
headers-buffer type
l -planet +dwarf-planet RET
This works similar to the other marks.
There's autocompletion as well, both for search (label:) and marking (after +/-)
It's experimental, but it seems quite useful so far. See the man-page for
further details.
SCM
The SCM/Guile bindings have been improved substantially; some common operations
are much faster (algorithmically). Also, the "glue" was added to interact with
Emacs and the "geiser" package, either with or without mu4e.
For the "plain Emacs" integraticon, see the Mu-SCM documentation, section
`Hooking up with GNU/Emacs and Geiser'.
For the mu4e integration, see the chapter Using mu's SCM/Guile integration' in the mu4e reference manual; or check the
mu4e-mu-scm-server' configuration
variable and the `mu4e-mu-scm-repl' command.
Future version will add more, and start answering questions like "Why would I
even want SCM bindings?!" :-)
Building
-
by default, tests are built 'lazily', i.e., only when running tests;
this speeds up the build considerably for people that don't want to run
tests (there's also -Btest=disabled of course) -
when available/found, mu now (by default) uses the system versions of CLI11
and libfmt, rather than mu's "vendored" versions.You can influence where the build system (i.e., meson) looks through the
PKG_CONFIG_PATH
environment variable (see the pkg-config/pkgconf man-pages),
and you can disable
Stable release v1.12.12
New stable version. Some small fixes and doc updates; big new thing are
the new SCM bindings (under scm/), which will replace the
long-deprecated old bindings (under guile/).
Overall:
- In 'mu init', --my-address has been renamed into --personal-address
for consistency. The old name still works.
Mu4e:
- Emacs bookmarks can be now also be created for mu4e queries; see
the mu4e-emacs-bookmark-policy defcustom
- Support dash when completing maildirs
- Add defcustom for mu4e-compose-jump-to-reasonable-place, so it can be
overridden, e.g. in compose hooks.
- In mu4e, make indexing snappier when there no new messages
SCM:
- Experimental new Guile bindings under scm/, including a reference
manual and unit tests.
Stable release v1.12.11
New stable update; mostly to fix #2847, but with some doc fixes as well.
Stable release v1.12.10
Some bugfixes, documentation improvements minor features; some internal rework.
- add --format=json2 for
mu find
, which produces a bit more 'idiomatic' json - close notifications once done
- more informative mu4e-analyze-last-query (include all parameters)
- Make mu4e-maildir-shortcut and mu4e-bookmarks understand a property
:hide-if-no-unread, which hides the maildir/bookmark from the main-view
if there are no unread messages which the corresponding query.
Stable release v1.12.9
New release v1.12.9, with a number of fixes, doc improvements
and some new features:
-
new command
mu4e-analyze-last-query
which shows information about
how the server interpreted the last query; this can be useful if you
don't get the result you expected. -
When you ask for bookmarks or maildirs through
mu4e-search-bookmark
or
mu4e-search-maildir
, unread counts are displayed in the (default)
completions UI next to the maildir or bookmark. If you don't want to
see these counts, setmu4e-hide-short-counts
to non-nil. -
experimental: a "transient" menu, which provides easy access to some
common (and some not so common) functions in mu4e. For now, you can
enable this with:
(require 'mu4e-transient)
(global-set-key (kbd "C-c m") #'mu4e-transient-menu)
This requires you to have the "transient" package, which means Emacs
28 or later or alternatively you can install it manually. As stated,
it's experimental and will be change / expanded over time, but already
I find it quite useful.
-
gnus mailing-list management commands such as
gnus-mailing-list-subscribe
,gnus-mailing-list-unsubscribe
now also
work in mu4e. Also available through the transient menu. -
The mu server uses PCRE-compatible regexps (for addresses), which are
not necessarily compatible with Emacs regular expressions. However,
mu4e can now automatically translate; this depends on thepcre2el
package which the user should install when using regular
expression-addresses. -
the cleanup phase after indexing has been sped up significantly
-
updated documentation; man-pages and mu4e reference manual
Stable release v1.12.8
Release 1.12.8
New stable release, with bug fixes and a few featurerettes:
- documentation improvements
- removal of the old threading option and cleanup
- 'lazy' indexing is even lazier (faster)
- make references (the References:/In-reply-to: headers) searchable
(with "references:" or "ref:" - add new combination-field "related:" to search by msgid: or
references:
In mu4e (see docstrings for details):
- new command 'mu4e-view-jump-to-mime-part', to jump to some mime part
by number. - new variable mu4e-trash-without-flag, if set to non-nil, "trashing" a
message will not add the "T" flag.
Stable release v1.12.7
stable release 1.12.7
- many documentation fixes
- mu4e: fix some mu4e-compose-captured-message corner case (#2745)
- mu4e: fix 'user-agent' field (#2750)
- few tiny tweaks
However biggest change is regarding mu's "threadiness" with respect to
Xapian. For a while, some people, ran into Xapian database
corruptions (I've seen it very occasionally, some people more often);
issue #2706.
I don't know the precise cause, but it seems to be related to using
threads with Xapian; the mu code in this area hasn't changed much, so
perhaps newer Xapian versions are less forgiving? Anyway, this is all
speculation. Database corruption with mu is not catastrophic, since you
can always rebuild it without data-loss; however, it's still annoying
and we'd obviously want to avoid that.
1.12.7 includes a change to make the database access single-threaded
again, which seems to help for this problem. We're really returning to
the behavior some older versions of mu, with the difference that now
you'll get a message in mu4e
Cannot handle command while indexing, please retry later.
Hope that doesn't inconvenience people too much. Might have a deeper
look into when I have some more time and not in the 1.12.x series.
(there's a meson flag to keep the existing behavior, see the commit
message).
Stable release v1.12.6
able release 1.12.6
- improved documentation: man-pages, mu4e reference manual, README
- new function
mu4e-save-message
, to save a copy of the message at
point - reduce logging a bit
- fix
mu4e-compose-pre-hook
which broke with the 1.12.5 changes - fix bookmark support (
bookmark-make-record-function
)
Stable release v1.12.5
New stable release, with a number of improvements:
- Rework message composition; split off parts into mu4e-draft.el
This tries harder to maintain the current buffer as expected - This fixes e.g. emacs-report-bug handling
- New hook mu4e-compose-post-hook for tweaking what mu4e does when
we're done with a message (after sending, cancelling, ...).
By default, it tries to close the frame if needed, and restore
the window configuration. See its docstring. - Better handle forwarding of encoded messages
- Don't remove non-mu4e completion in composer
- Integrate iCalendar support with message-composition
- Handle mu4e-sent-messages-behavior correctly when it's a function
- Better support NetBSD
- Support some file systems that don't put the file type in d_type
- Improve documentation
Release 1.10.9
Stable release; some small fixes backported from 1.12.x:
- fix bookmark function handling
- work around emacs rendering change
- fix some compiler wawrnings
- support macos notifications