I am delighted to announce the first stable release of GNU a2ps since 2007!
This release contains few user-visible changes. It does however contain a
lot of changes “under the hood”: code clean-up, etc. Therefore, it’s likely
that there are new bugs. Do report them to Savannah, or the mailing list
A big thank-you to all those who tested pre-releases, and especially to
Bruno Haible’s tireless work to promote portability: he both tested a2ps on
many systems and found lots of minor portability problems, and advised on
their solution (often, gnulib code that he wrote). Remaining problems are of
Here are the compressed sources and a GPG detached signature:
Use a mirror for higher download bandwidth:
Here are the SHA1 and SHA256 checksums:
The SHA256 checksum is base64 encoded, instead of the
hexadecimal encoding that most checksum tools default to.
Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig file
and the corresponding tarball. Then, run a command like this:
gpg –verify a2ps-4.15.tar.gz.sig
The signature should match the fingerprint of the following key:
pub rsa2048 2013-12-11 [SC]
2409 3F01 6FFE 8602 EF44 9BB8 4C8E F3DA 3FD3 7230
uid Reuben Thomas <firstname.lastname@example.org>
uid keybase.io/rrt <email@example.com>
If that command fails because you don’t have the required public key,
or that public key has expired, try the following commands to retrieve
or refresh it, and then rerun the ‘gpg –verify’ command.
gpg –locate-external-key firstname.lastname@example.org
gpg –recv-keys 4C8EF3DA3FD37230
wget -q -O- ‘https://savannah.gnu.org/project/release-gpgkeys.php?group=a2ps&download=1’ | gpg –import –
As a last resort to find the key, you can try the official GNU
wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg
gpg –keyring gnu-keyring.gpg –verify a2ps-4.15.tar.gz.sig
This release was bootstrapped with the following tools:
* Noteworthy changes in release 4.15 (2023-03-07) [stable]
* New maintainer, Reuben Thomas.
– Replace the ‘psmandup’ utility with simpler ‘lp2’ to directly print
documents to a simplex printer.
– Remove the outdated ‘psset’ and ‘fixnt’, and simplify ‘fixps’ to
always process its input with Ghostscript.
– Use libpaper’s paper sizes. This includes user-defined paper sizes
when using libpaper 2. It is still possible to define custom margins
using “Medium:” specifications in the configuration file, and the
one size defined by a2ps that libpaper does not know about, Quarto, is
retained for backwards compatiblity, and as an example.
– Remove some obsolete explanations.
– Reformat –help output consistently to 80 columns.
– Some English fixes.
* Bug fixes:
– Avoid a crash when a medium is not specified; instead, use the default
libpaper size (configured by the user or sysadmin, or the locale
– Fix some other potential crashes and compiler warnings.
– Fixes for security bugs CVE-2001-1593, CVE-2015-8107 and CVE-2014-0466.
– Minor bugs fixed.
* Predefined delegations:
– Remove support for defunct Netscape and proprietary Acrobat Reader.
– Add lpr wrapper for automatic detection of different printing systems,
including CUPS support.
– Use libre fonts for KOI-8.
– Composite fonts support.
– Update build system to more recent autotools and gettext versions.
– Build man pages in a simpler and more robust way.
– Document runtime dependencies.
– Minor code quality improvements.
– Minor tidy up and removal of obsolete code.
– Require libpaper.
– Remove OS/2 support.