Skip to content

JSignPdf_3_0_0

Choose a tag to compare

@github-actions github-actions released this 07 May 20:36
· 53 commits to master since this release

Version 3.0.0

Major release with a brand-new desktop UI and modernized packaging.

Highlights

  • New JavaFX GUI — document-centric desktop experience with PDF
    preview, drag-to-place visible signatures, zoom/page navigation,
    drag-and-drop loading, and a collapsible options panel. The legacy
    Swing UI remains available via -Djsignpdf.swing=true.
  • New Windows installers built with jpackage (EXE, MSI, and a
    portable ZIP with bundled JRE), replacing the old InnoSetup +
    Launch4j + Ant + Wine toolchain. 32-bit Windows is no longer
    supported; 32-bit and Linux/macOS users 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. Override with JSIGNPDF_CONFIG_DIR.
    The install-dir conf/ is gone — edit advanced settings via
    File > Preferences…; PKCS#11 config is read from a fixed
    <config-dir>/pkcs11.cfg.

Other 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.
  • Migrated the PDF engine to OpenPDF 3 (org.openpdf.text.*), updated
    PDFBox 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.

Thanks to everyone who contributed code, translations, bug reports,
and feedback!