MUTT vs ELM - a comparison
MUTT vs ELM - a comparison
Or: Why MUTT is better than ELM
To sum it up, there "feature score" of this comparison is:
If you don't want to read the whole document then you might want to see the
summary at the end of this document right away.
Or jump directly to these sections:
| Mail Composition
| Folder Management
If you find any bugs or if you just disagree with some of the statements
in this list then PLEASE let me know! Send me Email:
Features that MUTT has and ELM does not - probably even with the next version
(if there ever will be one at all).
ELM vs MUTT - Commands
- MUTT++: Command attach-message 
- MUTT's command "attach-message" (available from the Compose Menu)
allows you to select messages from a folder
(any folder, whether the current or other folder)
and attach them to the current mail
(whether you are sending a new mail, a reply,
or forwarding mail makes no difference)
- ELM does not have this.
- MUTT++: Commands for POP 
MUTT features commands to get and send mails via the Post Office Protocol (POP).
The commands are quite basic, but someone is working on a menu to
display remote folders and to allow getting tagged messages.
ELM does not have support for POP.
[But you can always use an external POP client, of course.]
- MUTT++: Command jump-new / jump-unread
MUTT can automatically jump to "undone" mail after opening a folder -
so you can start off with either the first "new" or the first "unread" mail.
ELM only jumps to the first *New* mail and only after opening a folder.
- MUTT+: Command reply - keeps comment in Reply-To 
MUTT keeps the comment field given with a Reply-To line.
ELM drops the comment field with replies. BUG!
- MUTT++: Command quit - Quit command can be aborted 
MUTT allows to abort the quit command.
And you can configure whether Mutt should give a prompt with it.
ELM does not allow to abort the quit command - you have to answer the questions
(if they are not auto-answered) and ELM *will* quit after that.
This is especially annoying when you accidentally hit the 'q' key.
- MUTT++: Command - prompt for foldername - Filename expansion
MUTT expands filenames (and directory names) in filename prompts (eg when
changing the folder or chosing a file for attachment) when you press TAB; for
ambiguous completion it will complete the unambiguous part.
It does not show a list of matching filename when you use '*' in the filename,
This should improve much with a builtin file selector.
ELM allows the use of the wildchar '*' in filenames
and will print a list of matching filenames.
You cannot select an item from the resulting list, though.
(The '*' is the only wildchar - you cannot enter a regular expression.)
- MUTT++: Command - sort method "threading" 
MUTT can sort the mails by its dependencies as given by the References: line.
and also propagates them.
ELM does not do threading and does not propagate the References: line
(but ELM2.5 will eventually).
- MUTT++: Command - mails - Detection of aborted edit sessions 
MUTT detects that the temporary file has not changed after the editor exited
and thus will automatically abort the mail command (mail/reply/forward).
Configurable via the variable "abort_unmodified".
ELM will always present the send-menu - even if the letter is empty.
There is not warning, either.
- MUTT++: Command - Reply and forward of selected mails
MUTT allows to "reply" and "forward" of all selected (tagged) mails.
ELM offers "reply" and "forward" only for the current mail.
- MUTT++: Command "enter-command" - internal command line
MUTT has a command line that allow to change the value of a variable.
Thus you can change values without having to leave the folder.
ELM does not have a command line.
You can only change the values that are given in the options menu. Changing an
internal value that is not in the options menu required you to exit ELM, change
*the* setup file (you cannot specify another) and start ELM again on the same
folder. This can take a lot of time - especially on large folders.
- MUTT++: Command "flag-message" ('F')
MUTT allows to flag messages permanently across invocations.
Thus you can give mails an extra status, eg "todo".
ELM does not have a command to give an extra mark to mails.
Once a mail is "read" it is kept that way.
This seems like a good idea but sometimes is a pain in the you-know.
- MUTT++: Command "search" - search string editing 
MUTT allows to edit the search string - ELM does not.
MUTT also gives error messages for invalid regular expressions
(eg for no closed parentheses and brackets).
You can also recall previous search strings and search backward.
ELM does not allow search string editing - unless you add something like GNU's
ELM vs MUTT - Display
- MUTT++: Display - Tree of nested attachments 
MUTT displays a dependency tree of nested attachments.
ELM does not display attachments at all.
- MUTT++: Display - Main Menu - always shows the status flags in all folders 
MUTT shows the mail status not only for the mailbox, but for all folders.
Not only does it show the stati New, Old, to-Delete and tagged (standard),
but also for replied mails (r),
mails containing a PGP key (K), PGP encrypted (P) or signed (S) data,
and multipart mails (M), and a '!' for "important" mails which you can set
yourself and which gets preserved on folder updates.
ELM shows the mail status only for the mailbox.
- MUTT++: Display - Send Menu - always show the most important header lines 
MUTT always shows the header lines To:, Cc:, Bcc:, and Subject:
for the outbound letter - no need to switch to a header menu.
ELM does not display the headers of the outbound mail.
To see or change these header lines you need to switch
from the send menu to the header menu first.
And you must switch back to the send menu when you are done.
- MUTT++: Display - Highly configurable
MUTT allows configuration of the display of the index menu to suit users' needs.
ELM does not allow you to change the display of the index.
- MUTT++: Display - Color support
MUTT allows assigning colors to parts of the mail.
(using suitable curses library).
ELM only has support for highlighting. ;-)
ELM vs MUTT - Configuration
- MUTT++: Configuration - list of inboxes, check for new mail 
MUTT allows to define a list of "inboxes", ie folders
which receive new mail automatically, eg from mailing lists.
This list [variable "mailboxes"] is checked for new mail when you use the
"change_folder" command and the first folder with new mail is automatically
ELM checks for new mail only if the current folder is the mailbox,
ie the folder pointed at with MAIL.
- MUTT++: Configuration - define default answers 
MUTT allows to define a default answer and prompt you for it.
ELM only allows to autoanswer a question but you cannot set have ELM prompt
you with a different default answer.
- MUTT++: Configuration - header weeding control 
MUTT allows to specify a list of header lines you want to see with the mails
in your pager.
You specify to "ignore *" (all lines) and then which lines to "unignore".
Thus you will always get to see the lines you really want - and no more!
ELM only allows you to specify the lines you don't want to see -
so as soon as you receive a mail that contains a line that is not
in your weedlist then you will see it.
You cannot define to hide lines unless you explicitly name them. :-(
- MUTT+: Command - urlview
MUTT is accompanied by the utility program "urlview" which extracts URLs
(configurable regexpr) from any text, esp emails, and offers to send an
"open URL" command to your favourite web browser.
The default value for the regexpr should suffice for most kinds of
http and ftp addresses, including mailtos.
ELM could use this utility, too, of course.
You just have to pipe the current mail to urlview.
But then you always have to *type* that command.
With MUTT you'd just bind a command to a key.
- MUTT+: Configuration - define alternate addresses for oneself 
MUTT allows to specify your alternate addresses with "alternates".
MUTT uses this to indicates whether a mail is from or to yourself.
The command "alternates" allows the star ('*') as a wildcard,
so you can leave out the hostname or even a part of the domain.
ELM allows to define alternate addresses, too.
But you cannot use a star as a wildcard - you must list *all* addresses.
This is bad when you have to do this for a lot of different hostnames.
- MUTT++: Configuration - define local sites 
MUTT allows to define a list of local sites,
so it for which addresses to append the localsignature.
Very convenient for companies with several domain names -
or simply for the heck of configurability. :-)
ELM does not allow to specify local sites in the setup file. The local site is
determined by the domain name of the local host - but that's it.
- MUTT++: Configuration - "source" other config files 
MUTT has a "source" command for the config files which allows
to read in other config files, such as another alias list.
This is nice for maintaining a group alias for a small group
without interfering with the setup of the MTA.
ELM does not have a source command.
- MUTT++: Configuration - One config file
MUTT has one config file ("muttrc") which contains variables and aliases.
[One setup file makes it easier to check on settings for both the user
the sysadmin and the folks helping on Usenet. :-]
ELM has four different setup files:
elmrc, elmheaders, aliases.text and filter-rules.
All of them must reside in the directory $HOME/.elm .
- MUTT++: Configuration - Key bindings
MUTT allows to bind keys to commands.
ELM only has a fixed setting that you cannot change. Period.
- MUTT++: Configuration - automatic change of variables for change of folder 
MUTT allows to change the values of variables when the folder is changed.
This allows to change the sort order or the style of the display for the
mail index automatically. Or colors. Whatever.
ELM does not have this.
- MUTT++: Configuration - automatic change of variable based on addressee 
MUTT allows to change the values of variables based on the recipient's address.
Allows for different settings for special addresses/people.
Like signatures, for example.
ELM does not have this.
- MUTT+: Mail Composition - address reply to mailing list instead of sender 
MUTT allows to define addresses as "mailing list addresses";
it can thus distinguish between "normal addresses" and "mailing list addresses".
Using the command list-reply will look for such an address in the header
and will direct the reply to it if it finds one.
Useful if you decide to reply to the mailing list instead of the sender -
even if a Reply-To is set.
Use sensibly! :-)
ELM makes no difference between "normal" addresses and "mailing list addresses".
- MUTT++: Mail Composition - Choice on Reply-To
MUTT prompts you when the mail you reply to has a Reply-To line.
It allows you to chose between the address in the Reply-To and
the address in the From: line.
ELM always takes the address from the Reply-To when it exists.
This is very bad with mails from a mailing list where the Reply-To
points back at the list. ELM then just does not allow you to reply
to the sender instead of the list.
You can change the address in the To: via the headers menu,
but this requires you to remember that address and type it in manually.
This is what newbies don't do and thus results in more noise on the list.
- MUTT++: Mail Composition - Attribution
MUTT allows many fields in the attribution with data from these header lines:
From:, Date:, and Subject:, as well as the message-ID
and even the number of characters (bytes) in the message.
ELM allows only the name of the sender in the attribution (%s).
- MUTT++: Mail Composition - header editing 
MUTT allows any amount of additional header lines with header editing
Thus you can adjust your editor to do all sorts of things with your editor,
eg change Subject: line, add addresses to Bcc: and Cc:,
or add a Reply-To: or some X-URL: on the fly.
ELM does not allow editing of header line with the editor at all.
ELM' header menu allows you to add one user defined header at most.
That's it. Just one. No more.
(I agree that this restriction might be seen as an advantage -
but it still is a restriction that MUTT doesn't have. ;-)
- MUTT++: Viewing - Builtin MIME Support
MUTT has MIME support built in while ELM requires to have a MIME package
installed. External MIME support can be an advantage - but it certainly
is not easy to install.
ELM only has external support for MIME (usually using "metamail").
- MUTT++: Viewing - Builtin PGP Support
MUTT recognizes mails with pgp signature and with pgp encrypted content.
ELM can handle PGP via scripts that work as pseudo-pager and pseudo-editor.
NOTE: PGP support won't be in ELM "until there is a standard for it".
And ELM2.5 certainly will NOT have PGP support.
- MUTT++: pager shows title line always 
MUTT shows a title line with information about the current mail.
The format can be chosen by a format string.
ELM prepends a title line which it hands to the pager -
but even the internal pager shows it only at the beginning.
As soon as you move down the title line will vanish.
- MUTT++: pager can hide/show quoted text 
MUTT can hide quoted text (using the command "toggle-quoted").
Very helpful when you have to read replies of people who
quote in full and do not edit their replies.
You can define quote text by a regular expression and
when using color you can define an extra color to it.
ELM's pager cannot hide quoted text.
- MUTT++: Internal Pager pages backwards
MUTT's internal pager has commands to go back in the mail (previous line,
ELM's internal pager cannot go backwards.
- MUTT++: Folder management 
MUTT understands the following folder styles:
mbox, MMDF, MH, and maildir.
When you enter a folder Mutt will automatically detect it's type. If you save
messages to a folder of another type it will make the conversion automatically.
To force a conversion you need only to create a folder of the type you need
and copy/save a mail to it.
ELM only supports the folder styles mbox and MMDF. The folder style is a
compile option and ELM can use only the one style that it was compiled with.
(I think. Further info on this matter is *very* welcome!)
- MUTT+: Temporary Filenames Convention 
- The filename format for temporary files with
mutt is "TMPDIR/mutt-HOSTNAME-PID-COUNTER", eg
The hostname within the filename makes sure that there
is no conflict when using a shared directory over NFS.
ELM does not inlcude a hostname so you might get into
trouble with this when using a shard tempdir over NFS.
- ELM--: Elm cuts Subject line 
- Elm cuts the Subject line on replies.
- So if a message contaisn a Subject line
which continues onto the next line ("continuation line")
then Elm-2.5.3 will use only the first line.
Subject: A short Subject line
broken onto the next line
The subject line of the reply will look like this:
Subject: A short Subject line
This is clearly a BUG!
- MUTT++: Installation - GNU autoconf
MUTT is configurable via GNU autoconf, and should be easier to port
to all autoconf supported systems.
ELM does not have support for GNU autoconf.
- MUTT++: Binary Size
The size of the binary usually is much less than elm's binary.
I had some examples here, but they were sometimes questioned by readers.
Funny enough, this was usually the *only* part of this comparison
that readers couldn't agree with. hehe
- MUTT++: Distribution sizes
- The source to ELM2.4PL25 and to same sample versions of MUTT:
ELM : 629799 Feb 18 1994 elm-2.4pl23.tar.gz
16670 Sep 23 1994 elm2.4.p24a.gz
15678 Sep 23 1994 elm2.4.p24b.gz
15412 Sep 23 1994 elm2.4.p24c.gz
2379 Dec 4 1995 elm2.4.p25.gz
MUTT: 320197 Mar 9 02:09 mutt-0.65e.tar.gz
506951 Apr 11 18:11 mutt-0.91i.tar.gz
- MUTT++: Development - Speed [961002,970329]
MUTT's updates are (almost) weekly.
Bugs get reported via the "muttusers" mailing list *very* quickly and
are fixed almost instantly after that by some very dedicated developers.
There is a site that keeps an up-to-date list of submitted patches and
there are a few sites with "experimental" patches for future features.
ELM development has a mailing list. And they also produced a beta for ELM2.5.
[ELM2.5b1 was released on 961016.]
However, ELM2.5 will *NOT* have support for PGP or color - that's for sure.
ELM testers: Please test it and send reports!
There is almost NO talk about this beta on comp.mail.elm. :-(
- MUTT++: Documentation - SGML Format
MUTT has documentation in SGML which allows to produce output in HTML
(for web pages), in LaTeX (for really good quality), and other formats
like *roff and GNU info.
ELM has seven (some very large) guides but they haven't been updated since
the latest official release, even though errors and omissions have been noted.
- MUTT+: Silent Sending 
MUTT sends mails from the command line silently
when it succeeds (or rather: when there are no errors).
ELM always confirms sending with a message:
$ echo foo | elm root
Now, that's a nice feature iff you could only turn it OFF. But you can't.
ELM vs MUTT - MUTT+
MUTT features which soon could be in the next release of ELM.
- MUTT+: Folder locking [961006,980715]
MUTT always creates a lockfile for every folding it is writing to.
If on startup there is a lockfile, MUTT will test several times
whether it goes away, and if it still exists MUTT will offer to
remove the lockfile.
ELM only locks the mailbox. (ELM2.5 will have folder locking.)
A lockfile prevents ELM from starting up.
You have to locate and remove the lockfile yourself.
- MUTT+: Mail Composition - Attachment Menu
MUTT sports an attachment menu while ELM users still have to put include lines
into their buffer to attach a file.
ELM does not have that feature, but ELM2.5 probably will.
It definitely is one of top wishes!!
- MUTT+: Display - "replied" flag
MUTT adds a flag to mails that you have replied to ('r');
ELM does not have that feature, but ELM2.5 will.
- MUTT+: Command "pipe" 
MUTT allows piping not only for the current mail,
but also of all tagged mails or selected attachments of the current mail.
The headers of the mails can be weeded (removal from unwanted header lines)
and attachments decoded before piping.
Both is optional and can also be set to be done automatically.
ELM allows piping of the current mail only.
Encoded attachments are not decoded by ELM,
as it does not have built-in MIME support.
You must pipe them to a script for that.
- MUTT+: Command "mark-as-new"
MUTT allows to mark "read" messages as "new".
This allows to keep mails in the "todo" status.
ELM does not have such a command, but ELM2.5 will.
- MUTT+: Command "change"/"save" - filename completion
MUTT has filename completion on (unique) filenames
with various filename-related operations, eg
when switching folders (with "change"), saving mail
(with "save-message") or including attachments.
There is a patch that will show possible completions, too.
ELM does not have filename completion -
but ELM2.5 will *probably* have a built-in file browser.
Sounds cool. Let's see.
- MUTT+: Command "mail"/"reply" - Postponing
MUTT allows you to "postpone" a message, ie it keeps a copy of a composed mail
so you can send it later. (-> options "askpostpone" and "postponed")
When there are more than one postponed mails then you are presented with a menu
to chose from.
ELM will put mails that were not sent but that you "f)orget" into
"~/Canceled.mail". But that's it.
I hope this will be improved in ELM2.5...
- MUTT+: Command "limit" - select subset of mails from index 
MUTT allows to limit the index of mails to a subset using the limit command.
You can define the limit criteria from one of the headers lines
Cc:, From, Date:, Message-ID, Subject:, To:
and combine them with boolean operators (and, or, not) and even group them with
The Date criteria can also take a date range as value.
Example limit string:
~d 1/4/97-6/4 ~i Mutt (~f Elkins|~f Guckes|~f Daia)
This limits to all mails within the date range of 970401-970406,
sent by MUTT (mails from MUTT have "Mutt" in the message id),
sent by Michael Elkins (author of MUTT) or Sven Guckes (author of this
comparison) or Liviu Daia (author of many good patches)
which were also copied to Felix von Leitner (the keeper of the MUTT FAQ).
This finds additions to the MUTT FAQ pretty fast. :-)
You can also limit mails by keywords according to set flags,
eg all, flagged, new, old, replied, tagged, and unread,
as well selecting a range of mails by the index number,
say mails "123-456".
Strings used for each criterion are case sensitive.
ELM allows to limit by From:, Subject:, and To: *only*.
Although you can limit step-by-step using each in turn,
you cannot combine them right away.
All strings are used case insensitive.
ELM vs MUTT - ELM+
Features that ELM has and MUTT does not or where ELM is better.
- ELM+: Calendar Scan 
ELM can extract "calendar entries" from emails and append them to the
"calendar file", so a call to "calendar" will notify you on events.
MUTT does not have a command for this.
But it's probably easy to add a script that extracts these entries
from emails using the "pipe" command.
- ELM+: Options Menu [980624,000705]
ELM has a nice Options Menu which allow to change the values of some
options/variables of the running Elm.
Elm also offers a command to save the current setup to the setup file;
However, Elm allows to change just 22 given options/variables -
and they need to be specified with "configoptions" *before* Elm starts.
You cannot change configoptions from the Options Menu itself, though.
And the command that writes the new setup file
will actually overwrite your setup file,
so you will lose all the info you added
and a different structure.
MUTT neither has an Options Menu nor a command to save the current state.
MUTT however allows to change all variables from within
(via the command line), also also allows to "source" a setup file.
MUTT shall soon will have a command to write
the current configuration to a file, too.
- ELM+: Alias submenu
ELM has a full menu that allows editing aliases.
It allows to change the address, name, and comment.
(However, you cannot change the alias name itself or add an address/alias to a
group alias - you must have to use 'e' to call the editor on the alias file and
do this yourself.)
MUTT only allows to add aliases from the current mail and
to select aliases from the list of aliases (tagging) -
which means that you cannot add an alias
if there is no current mail (in empty folders).
Actually, I wouldn't include code for this in mutt.
I'd rather have an external utility for this which everyone can use -
elm users, pine users, mutt users.
- ELM+: Utilities 
ELM is distributed with some utilities,
eg "readmsg" which extracts mails from folders,
"elmalias" which allows to expand aliases and print them in various formats,
and "filter", a mail filter.
But "filter" has been dropped long ago by the ELM Development Group
and will certainly not be distributed again with ELM2.5.
MUTT does not have such utilities - yet.
There are experimental patches available for an equivalent of the "readmsg"
And everyone uses procmail as the filter, anyway. ;-)
- ELM+: Command 'c' - changing folders by alias name
ELM allows "@alias" to change to the folder "=username"
when the first address of the alias is "username@domain".
MUTT can show you a complete list of folders as a menu -
but it does not evaluate "@alias". Yet.
There has been a patch for MUTT which adds this feature;
it also evaluates the save-hooks associated with the alias.
(Looks like this ELM+ will go pretty soon.)
- ELM+: Online Documentation
ELM gives more information about commands with the menus.
This is a plus for novice users.
MUTT now gives a full listing of commands and their (current) bindings.
It's pretty good, but the documentation still isn't as big as ELM's guides.
But we are getting there - take a look at
as well as Sven's
index.html and manual.html.
Switching from ELM to MUTT
Those familiar with ELM should have minimal trouble with Mutt. The default
bindings for the pager and main-menu are the same as ELM. The only real
difference is the send-menu interface, because it is organized differently.
MUTT can certainly do everything ELM can.
And those who have used ELMME+ should feel at home with Mutt a lot faster.
MUTT has the same concept on modularity as ELM -
it makes use of external programs like editor, pager, print program
and you can spawn a shell and pipe mails to a program.
MUTT does not have a mini menu to save space on the screen.
Instead you get a help command (bound to '?' by default)
which lists all keys and their bound commands
as well as all unbound unbound commands.
MUTT has free key binding allowing you to bind any key to any available command.
You can even bind sequences of keys (macros) which allows to prefix keys, eg
while TAB jumps onto the next new mail, you can define that "ESC TAB" jumps
to the previous new mail.
MUTT has built-in support for MIME, PGP, and POP -
something you always wanted with ELM.
Furthermore, there is color and threading
which is invaluable for dealing with lots of mail.
MUTT users who filter incoming mail into folders
(usually from mailing lists and automated messages)
can switch between these "inboxes" easily.
This makes it an ideal tool for sysadmins.
MUTT cannot use the aliases of ELM directly from ELM's alias database.
However, conversion is absolutely trivial with ELM "elmalias" program:
elmalias -u -f "alias %a\t%n\t<%v>"
MUTT development is fast. Very fast. Changes can come very quickly.
I must admit that this can also be a downside of MUTT
as you need to adjust your setup to the new features.
Then again, that's what the "alpha stage" is for - experimenting.
But now (2000) there is also a user release which aims to be stable.
If you are an admin or just a casual user
then you should install the user version.
However, if you want to see new and exiting features then you can try
the developer releases and even the development patches which
are available on various mutt user sites linked by the
mutt user page.
The experimental features are not for the faint-of-heart.
You must be willing to install patches yourself and try them.
Therefore the developers will test new features in a developer version.
But remember that there is always the mutt-users mailing list
for questions. And this list sure has quite a lot of people
who respond very quickly to your questions.
As for stability, please remember two things:
ELM has been around for some ten years and
thus has had a lot more time to develop its stability.
MUTT has a lot more features, some of them are not
even considered to be added to ELM at all.
MUTT features support for COLORS, IMAP, MIME, PGP, and POP -
all of which ELM does not have (although there are patches for IMAP and POP).
(OK, ELM can use metamail to deal with MIME, but
I do not consider this a built-in interface.)
ELM on the other hand has a command that takes calendar entries from messages,
offers an options menu, and an alias menu which allows to change existing aliases.
However, there are simple workarounds for mutt users:
Extracting calendar entries can be done withby piping the
message(s) to an external script.
And editing aliases can be done by editing the setup file
and the update can be done by reading them into
the running mutt with ":source filename".
These workarounds require some basic knowledge about
writing or at least installing a script
and, of course, using an editor.
(But then you'll have to know about using an editor, anyway, right? ;-)
ELM comes with utilies such as elmalias and reasdmsg;
I'm sure that someone can write scripts for mutt which can do the same.
Alas, noone has done this yet.
The amount of docs for ELM is bigger than the documentation for MUTT.
However, there are some projects for documenting MUTT already.
Anyway, ELM2.5 will certainly *not* have support for PGP, neither for colors.
If you want these now then this alone should be worth installing MUTT.
So - get Mutt now!
See the page about distribution sites:
ELM vs MUTT - Links
For further info on MUTT take a look at these pages:
- MUTT Pages
- All about MUTT.
- MUTT in Pictures
- See MUTT in COLOR!
- MUTT Manuals
- A alternative manual for MUTT which I had written long ago.
The basic ideas are there, but I did not have the time to keep it
- MUTT FAQ
Frequently Asked Questions about MUTT.
ELM vs MUTT - Credits
Thanks to all who have sent comments and everybody
who helped keeping this comparison alive with new info! :-)
ELM vs MUTT - About this Comparison
Most info for this comparison was compiled around April 1997
when the current version of mutt was mutt-0.67 [released 970321].
It still compares the current MUTT to ELM2.5PL25, though,
as there hasn't been *any* official release for ELM since then
(ok, not counting two betas for ELM2.5 which nobody seems to use).
Since April 1997 only a few things were added, mostly features
that ELM never had at all. but there are so many of these that
I might just add some of them here that seem important to me.
Some of these might not yet be proper features of mutt yet (ie patches),
but if I am sure enough they will get in, I'll add them, anyway.
Since April 1998 there is the newsgroup comp.mail.mutt -
and the traffic on comp.mail.elm seems to be descreasing.
There is no talk about development of elm any more.
Just some requests for special features patches
and the usual answers about bugs and patches.
020108: I just added a note on the filename convention
for elm and mutt. Again, mutt takes the point.
Still - MUTT keeps evolving!
There is support for both pgp and gpg -
and mutt-1.3.25  supports
some 26 languages now.
For recent changes please take a look at the
mutt history which has links
to the latest ChangeLogs describing new and changed features.
I have talked to many Elm users by now who said that they have no need
for the many extensions of MUTT but would rather stay with Elm.
Well, MUTT *is* the result of extending Elm.
I have tried for years to help the development of Elm by collecting bug reports,
patches, and scripts - but none of that ever went into the development of Elm
itself. And the patches of Michael Elkins that made Elm into ELMME+ still are
not approved of by the Elm Development Group.
I rest my case. Mutt is the mailer of my choice.