Hi all,
I’m happy to announce that JSignPdf 3.0.0 has been released, followed
shortly by 3.0.1 which fixes a broken Linux Flatpak build (the 3.0.0
release pipeline failed to publish the Flatpak bundle).
This is a major update — both for the application and the project itself.
There is also a brand-new website: https://jsignpdf.eu/
Highlights of 3.0.0
- New JavaFX desktop UI — document-centric experience with PDF
preview, drag-to-place visible signatures, zoom/page navigation,
drag-and-drop, and a collapsible options panel. The legacy Swing UI is
still available via -Djsignpdf.swing=true. - New Windows installers built with
jpackage (EXE, MSI, and a
portable ZIP with bundled JRE), replacing the old InnoSetup toolchain.
32-bit Windows is no longer supported; users
on 32-bit or on Linux/macOS can still use the cross-platform
jsignpdf-<VERSION>.zip with their own JRE. - New Linux Flatpak bundle — single-file
JSignPdf-<VERSION>-linux-x86_64.flatpak with a bundled OpenJDK 21,
desktop entry, and icon. - Java 21 is now the minimum runtime. The jpackage installers and
Flatpak ship their own runtime; users of the cross-platform ZIP need
a Java 21+ JRE on PATH. - Named signature-setting presets (#360) — save signing
configurations under custom names and switch between them from a
toolbar combo or the new Presets menu. Passwords are captured
(machine-local encrypted) only when Store passwords is enabled;
disable it before sharing a preset file. - Configuration moved to XDG-aware locations
($XDG_CONFIG_HOME/jsignpdf/, %APPDATA%\JSignPdf\,
~/Library/Application Support/JSignPdf/). Existing ~/.JSignPdf
settings migrate automatically. The install-dir conf/ is gone —
edit advanced settings via File > Preferences…; PKCS#11 config
is read from <config-dir>/pkcs11.cfg. Override the location with
JSIGNPDF_CONFIG_DIR.
Other notable changes
- Read passwords from stdin (#7). Pass
- for any of -ksp, -kp,
-opwd, -upwd, -tscp, -tsp (opt in with
--enable-stdin-passwords) to avoid leaking secrets via
/proc/<pid>/cmdline or shell history. - Append signature and Store passwords now default to checked on
fresh installs. - “Reset Settings” action added to the JavaFX UI.
- Translation bundles are now UTF-8; many language updates from Weblate
contributors. - PDF engine migrated to OpenPDF 3 (
org.openpdf.text.*), PDFBox
updated to 3.0.7, BouncyCastle to 1.84. - Improved symlink handling incl. macOS (#168); integration tests for
the signing pipeline (#293); publishing moved to Maven Central.
What’s in 3.0.1
- Fixed the Linux Flatpak build, which referenced the removed
conf/
directory and broke during the 3.0.0 release.
Links
Big thanks to everyone who contributed code, translations, testing, bug
reports, and feedback. Please report any issues you run into with the
new UI or installers.
Best regards,
Josef