pilot-link 0.15.0, "Back From The Future" release, 08-03-2026
The first release in nearly two decades. The handhelds outlived their vendor; pilot-link now builds and runs cleanly on modern systems.
Highlights:
- libpisock ABI unchanged (soname 9); no transition needed for dependent packages, change will come in 0.16.0
- Builds warning-free with current GCC and Clang on Linux and macOS (including Apple Silicon)
- New tool: pilot-contacts, vCard 3.0 import/export for the Palm OS 5 Contacts database, with iconv charset conversion
- Native USB verified against real hardware on modern macOS
Security and crash fixes:
- Bounds checking on records read from the device; malformed data can no longer overflow heap buffers
- Fixed stack overflow in debug hex dumps
- Fixed crash listing empty VFS directories (#9)
- Fixed out-of-bounds reads on USB devices returning bogus connection info, such as the Handspring Treo 90 (#13)
- Many NULL-dereference and format-string fixes throughout
Modernization:
- Python bindings ported to Python 3 and SWIG 4; Perl bindings updated for modern perls
- Autotools refresh: pkg-config libpng detection, working iconv on macOS, portable docbook-xsl detection, make distcheck works
- Split Debian/Ubuntu packages: libpisock9, libpisync1, libpisock-dev, pilot-link
- Builds cleanly on Linux (Debian) and macOS including Apple Silicon
Note: the command-line tools are not built unless you pass --enable-conduits to configure. Libraries only by default.
Thanks to Judd Montgomery (J-Pilot) and everyone who filed issues.
Verifying the tarballs
gpg --keyserver keys.openpgp.org \
--recv-keys B8DA84BBF961CE7E6CC34F60509D3B6E27ACE7AD
gpg --verify pilot-link-0.15.0.tar.xz.asc pilot-link-0.15.0.tar.xz
Signing key fingerprint:
B8DA 84BB F961 CE7E 6CC3 4F60 509D 3B6E 27AC E7AD
gpg will report "This key is not certified with a trusted signature". That is expected, it means gpg has no independent proof the key is mine, not that anything is wrong. What matters is "Good signature" and that the fingerprint above matches what gpg prints.
Checksums are in pilot-link-0.15.0.sha256:
sha256sum -c pilot-link-0.15.0.sha256 # Linux
shasum -a 256 -c pilot-link-0.15.0.sha256 # macOS/BSD
Please use the signed tarballs below rather than GitHub's auto-generated "Source code" archives — those are git exports without configure or the man pages, and require the full autotools chain to build.