The purpose of this page is to distribute releases of Alpine, as well as
to provide users with documentation on Alpine. All documentation needed to
configure Alpine can be found in the binary, and this page may provide
extra documentation. In any case, you are not required, nor encouraged to
access this site to run Alpine. You can run Alpine in your computer
without the need to ever visit this site. All documentation needed to
configure Alpine can be found in the binary, and can be read by either
pressing the "?" command or by pressing "^G" in Alpine.
Your privacy is important to me. When you access this site a log is kept
on the pages you visited. I have access to daily logs which are normally
erased, and if I do not see them, I miss them. I must login to this site
about twice a month, and I take a look at the site logs at that time. The
logs record yoour IP address, the date and time when you made a request to
the server, the exact request you made, the http status code received by
your server, and the browser you used. When I read the logs, I only look
at which pages people have accessed, and make a mental note about them,
and I do not make any concerted effort to associate an IP address with a
pattern of visits. This information is just for purposes of me knowing
what pages users visited, and nothing more. I have had access to this
information since March 2020, and no information previous to that time is
available to me.
I also find it amusing to read the 404 errors. It shows people looking for
newwer versions of Alpine, and other plugins that do not exist. I try not
to link to missing pages, but if I do, please report it to me so that I
can fix it.
While I do not do anything to link you with your visit to this site, I do
not know what my free web site provider does with this information.
Continuing that idea, I do not know what your ISP does with this data
either, and if you contact me, I do not know what my email service
provider or your email service does with that information either. However,
if you contact me, I will use that information to contact you back in case
I need to, and I will only contact you in reference to
the topic of your message. I will never ask you for passwords, or
sensitive information that is not needed to debug an issue you might have
found. I normally keep records of all messages that are sent to me and
those that I send. I sometimes need to access those records to remind me
of past issues and their solutions. If you would like me to delete records
of my conversation with you, I will do so, but you must initiate that
Finally, rest assured that I will never sell or share information about
your visit to this site, or the fact you contacted me, with anyone.
Latest Release Version 2.24
- Source Code
(GPG Signature: alpine-2.24.tar.xz.sig).
- For Windows 10 or any 64 bit version of WIndows: alpine-2.24.zip
- For an old version of Windows, such as XP, which is 32 bit: alpine-2.24_32bits.zip
In order to check the integrity of your download, you might need my
GPG public key.
This version is released under the Apache License Version 2.0.
Version 2.24 includes several new features and bug fixes.
- Implementation of XOAUTH2 for Yahoo! Mail.
- Expansion of the configuration screen for XOAUTH2 to include
username, authorization flow, and tenant.
- XOAUTH2: automatic renew of access token and connection to a server
within 60 seconds of expiration of the access token.
- If a user has more than one client-id for a service, Alpine
asks the user which client-id to use and associates that client-id to
the credentials in the XOAUTH2 configuration screen.
- Addition of Yandex.com to the list of services that Alpine can use XOAUTH2 to
authenticate for reading and sending email.
- Addition of a link to the Apache License 2.0 (see above). This is
available from the Release Notes as well as the welcome screen.
- Modifications to protect the privacy of users:
- Alpine does not generate Sender or X-X-Sender by default
by enabling [X] Disable Sender as the default.
- Alpine does not disclose User Agent by default by enabling
[X] Suppress User Agent by default.
- Alpine uses the domain in the From: header of a message
to generate a message-id and suppresses all information
about Alpine, version, revision, and time of generation
of the message-id from this header. This information is
replaced by a random string.
- Unix Alpine displays configure options and flags when
invoked as "alpine -v". Suggested by Matt Ackeret.
- Alpine will ding the terminal bell when asking about quitting
when new mail arrives. This is consistent with Alpine dinging the
bell when new mail arrives. The bell will not ding if it is disabled
for status messages. Suggested by Chime Hart.
- When messages are selected, pressing the ";" command to broaden or narrow
a search, now offers the possibility to completely replace the search, and
is almost equivalent to being a shortcut to "unselect all messages, and select
again". The difference is that cancelling this command will not unselect
all currently selected messages. Suggested by Holger Trapp.
- Alpine will not write debug files unless started with the option -d,
so for example "alpine -d 2" will generate a debug file at level 2,
but just issuing the alpine command will not write any debug to a file.
- Experimental: Attempt to implement the Encryption Range in Windows. It works
in Windows 10, and it should work in Windows 8.1. It needs testing in
Windows 7 and Windows Vista.
- Addition of variables user-certs-path and user-certs-file
which allow a user to specify locations for certificates that the user
- Ignore non-empty initial challenge in the GSSAPI authenticator. Based
on a patch written by Jarek Polok, but submitted by Ignacio Reguero.
- When a server expires a refresh token, Alpine needs to cancel it
internally. Alpine will attempt to get a new one when it reopens the
folder after it cancels it.
- Set up the IMAP ID at the moment of logging in to the server, rather than
as a one time option, in case we need to use a special IMAP ID.
Bugs that have been addressed include:
- When Alpine starts a PREAUTH connection, it might still ask the user
to login. Reported by Frank Tobin.
- Crash while resizing the screen when viewing a calendar event.
- When Alpine opens a folder in a server whose address is given numerically
it might crash due to an incorrect freeing of memory. Reported by Wang Kang.
- Crash when Alpine frees memory on a system where LC_CTYPE is not
configured, and the user calls the file browser to attach files to
a message. Reported by Luis Gerardo Tejero.
- Invalid signatures created by Alpine, when built with recent
releases of the Openssl-1.1.1 series (but not in the Openssl-1.0.1 series).
Fix contributed by Bernd Edlinger.
- After returning from the directory side of a dual-folder, sometimes
Alpine would return to the first folder in the parent directory or to
the dual-folder. The fix is to return to the original dual-folder as
intended. Reported by Holger Trapp.
- When an attachment is deleted and the original message is saved, Alpine
might write only a part of the name of the file deleted. Reported by Holger
- URLs that are surrounded by white space are not cleaned by Alpine before
passing them to the browser, resulting in no display of the URL when Alpine
tries to open it. Reported by Gregory Heytings.
- When Alpine is built without smime, password file functionality might
fail. Reported by Andres Fehr.
- Crash in PC-Alpine when using the eXternal command.
- Fix in Macs that made Alpine abort a ssh connection to an imap server.
Reported and assisted by Wang Kang.
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.24.tar.xz
This page Copyright 2020 © Eduardo Chappa