Pan Newsreader

Pan is a Usenet newsreader that's good at both text and binaries. It supports offline reading, scoring and killfiles, yEnc, NZB, binary uploading, PGP handling, multiple servers, and secure connections. It's also the only Unix newsreader to get a perfect score on the Good Net-Keeping Seal of Approval evaluations. It runs on Unix and Unix-like operating systems, Mac OS X, and Windows.

Hacking Pan

Everybody with a good understanding of GTK+, GLib or newsreaders and the Usenet in general is encouraged to participate. Feel free to drop in any time in either the channel or the mailing lists.

The following is a small collection of useful links for our aspiring developers:

Coding Style

Pan is a GTK+ application written in C++, so we would prefer if you adhered to the coding styles mentioned here: GTK+/BestPractices

Also, please try to embed your additions to the code as good as possible into the structure of the existing source.

Overview of the Pan latest enhancements

Some of these features need tweaking or bugfixing, most are reported to work flawlessly or without any issues.


Code Overview

Follow this link to get a brief overview of the appropriate sections in code belonging to the features mentioned above. Apps/Pan/CodeOverview

Making a Release

Follow the generic instructions on the MaintainersCorner/Releasing page. Instructions specific to Pan are as follows.

  1. Get updates for the NEWS file by running:
    • ./mknews PREVTAG

  2. Check that the README file is updated.
  3. Run a command similar to the following to make the release tarballs and a checksum file:
    • ./ && make && make distcheck && sha256sum pan-0.138.tar.bz2 pan-0.138.tar.gz > checksum.sha256

  4. Check the generated tarballs.
  5. git commit and git push the changes.
  6. git tag the release:
    • git tag -a PAN_0_138

  7. Upload the tarballs and the checksum file to the download/releases/<release_number>/source/ folder on

  8. Update the website.
  9. Compose the announcement email and send one copy to and, and another copy to and

  10. Increment the version number, VERSION_MINOR and VERSION_TITLE, and update the release name in
  11. Optionally, download the website content and sync it with

    • wget -m -nH -X /download/extras,/download/releases

  12. Get the release party started!

Apps/Pan (last edited 2017-07-23 19:38:13 by PetrKovar)