Alpine 2.22 Released
- Source Code
- For Windows 10 or any 64 bit version of WIndows: alpine-2.22.zip
- For an old version of Windows, such as XP, which is 32 bit: alpine-2.22_32bits.zip
This version is released under the Apache License Version 2.0.
Version 2.22 includes several new features and bug fixes.
- Support for XOAUTH2 authentication method in Gmail.
- PC-Alpine builds with LibreSSL and supports S/MIME.
- NTLM authentication support with the ntlm library, in Unix systems.
Based on code provided by Maciej W. Rozycki.
- Add /tls1_3 flag for servers that support it. Read more information
in the secure protocols help.
- To increase user's privacy, remove phone-home code that would prompt
users to send an email message upon starting Alpine for the first time for
purposes of counting. Your use of Alpine does not disclose information about
you or your use of Alpine to the developers of Alpine.
- New variable
that allows users to configure versions of the SSL/TLS protocol that Alpine is
restricted to try when establishing a secure connection SSL/TLS to a remote
server. The default can be set at compilation time.
- Add -dict option to PC-Pico, which allows users to choose a dictionary
when spelling. Sample usage: -dict "en_US, de_DE, fr_FR".
- Improvements to the configure stage of compilation. Some of
these contributed by Helmut Grohne. See
Bug 876164 in Debian.
- Add "remove password" command to the management screen for the
password file encryption key. This allows users to use their password file
without entering a master password.
- Add the "g" option to the select command that works in IMAP
servers that implement the X-GM-EXT-1 capability (such as the one offered
by Gmail.) This allows users to do selection in Alpine as if they were
doing a search in the web interface for Gmail.
- New variable close-connection-timeout, which tells Alpine to close
a connection that is having problems being kept alive after the number
of seconds configured in this variable, if the connection has not
recovered. The default is 0, which means to keep the connection alive
and wait for the connection to recover.
- When a message is of type multipart/mixed, and its first part is
multipart/signed, Alpine will include the text of the original message
in a reply message, instead of including a multipart attachment.
Suggested by Barry Landy.
- S/MIME: Some clients do not transform messages to canonical form when
signing first and encrypting second, which makes Alpine fail to parse the
signed data after encryption. Reported by Holger Trapp.
- Add /auth=XYZ to the way to define a server. This allows users to
select the method to authenticate to an IMAP, SMTP or POP3 server.
Examples are /auth=plain, or /auth=gssapi, etc.
- Add backward search in the index screen. Based on patch by Astyanax Foo,
submitted in 2009, but resubmitted by Erich Eckner on 2019.
- SMIME: When Alpine is set to validate a message using the user's store, and
user agrees to save a certificate of another user, use the saved
certificate immediately to verify the smime message. Reported by
- Do not use a delay when printing messages to screen when the initial
keystroke sequence of commands is active. Based on a report from Holger
- In PC-Alpine, when the decoded name of an attachment does not agree
with its encoded name, Alpine will offer to save the file using the
UTF8 encoded name.
Bugs that have been addressed include:
- Width of characters is not always determined correctly when wcwidth
is used. Revert to using code for the Windows operating system.
Reported by Andrew Ho.
- The call realpath(..., NULL) gives an error in Solaris, which means that
we need to allocate memory for storing the resolved path. Reported by
- Crash when attempting to bounce a message due to lack of space in
allocated space for key menu array. Reported by David Sewell.
- Crash when a CA certificate failed to load, and user attempted to
view certificate information of other certificate authorities.
- Crash in the S/MIME configuration screen when a user turned off S/MIME, and
then re-enabled it. Also crash when attempting to enter the S/MIME
configuration screen if S/MIME was turned off.
- Deactivate some color code from Pico (as standalone editor in the
windows version) until I find a way to activate it again. This is
not critical and it is not something that PC-Pico must have (some
of it already exists in other ways, like color support, what does
not exist is the more complex code that Unix-Pico has with color
codes for specific colors.)
- When a message is multipart, and the first part is flowed text,
then forwarding the message will set the first part to be flowed,
and sent that way even when the option Do Not Send Flowed Text is
enabled. Reported by Holger Trapp.
- When a message/rfc822 part of a message is encoded with
Content-Transfer-Encoding: QUOTED-PRINTABLE, Alpine will stop
processing that message. Later this causes Alpine to crash because
when it displays messages, it assumes that both header and body
parts are processed. Reported by Mark Crispin in 2010, in the
Alpine-info list (message with subject "crash bug in
alpine/mailpart.c:format_msg_att()") with no example, and reported
now by Holger Trapp, with an example.
- In addition to the previous report, Alpine encodes message/rfc822
messages as QUOTED-PRINTABLE, in contradiction with RFC 2045,
when it receives a report that its encoding is 8bit. We preserve
the encoding reported by the IMAP server, and do not encode in
- Update build.bat file to add /DWINVER=0x0501 so that Alpine can
build when using Visual Studio 2017. Fix contributed by
- When the locale is not set up to UTF-8, alpine might determine the
width of a character incorrectly. Reported by Alexandre Fedotov.
- In some rare cases, when attachments are deleted before saving
emails, the filenames will be displayed in RFC1522 representation,
instead of in decoded form. Reported and patched by Wang Kang.
- When colors are edited from the main setup configuration screen, some
color settings are not updated until Alpine is restarted. Reported by
- If the first part of a message is multipart/alternative, and the
first part of this is also a multipart type, then Alpine might
fail to select the first text part when replying to a message.
Reported by Lucio Chiappetti.
- TLS 1.2 works does not work if Alpine is compiled with openssl >= 1.1.0.
Reported and patched by Kyle George.
- If the directory where Alpine saves the certificates is empty,
alpine would not create a self-signed certificate to encrypt the
- S/MIME: The list of public certificates is freed before it is
reused when a signature fails to verify. This causes Alpine to
crash. Patch submitted by Linus Torvalds.
- S/MIME: A message could fail to verify its signature even if the
certificate was saved when the message was open. Based on a report
by David Woodhouse to the RedHat bugzilla system.
- When there are time changes in the clock, Alpine might go to sleep
for big amounts of time while displaying messages in the screen.
Reset sleep time to 5 seconds in case it finds it needs to sleep
more than 5 seconds or a negative amount of time.
- Restore recognition of empty directories. It was deleted by mistake
when added support for internationalization in folders. Based on a
report by Michael Rutter.
- Alpine stops parsing the mailcap file when it finds an invalid entry.
Reported by Matt Roberds to the Debian bug system at
- Crash with error "Lock when already locked" when an attempt to check
for new mail on a locked stream that is being used for a save
operation. Reported by Carlos E.R.
- Alpine removes trailing spaces from passwords, making a longin attempt
fail. Reported by R. Lyons.
- Alpine crashes when opening a remote imap folder and computing scores.
Reported by Paul DeStefano.
- When more than one server was given in the server-name configuration
option of rldap servers, none of them worked. Reported by Robert Wolf.
In order to compile this source code you need OpenSSL version 1.0.0c or
later. In addition, Alpine can be compiled with recent versions of LibreSSL.
In order to decompress use the command
tar -Jxf alpine-2.22.tar.xz
This page Copyright 2020 © Eduardo Chappa