github Stirling-Tools/Stirling-PDF v1.6.0
1.6.0 ebook, video, pdf/a-3 and various other, Last V1 release!

6 hours ago

This is the final major update of Version 1!
We are adding several new features and optimisations along with changing our docker image from alpine to debian to better support some of these new features.
Some highlight changes are:

  • SVG file support for saved signatures
  • advanced compression parameters and better optimization levels
  • PDF to Video Slideshow
  • eBook to PDF
  • linearize PDF
  • add support for PDF/A-3b, PDF/X formats improve current PDF/A conversion
  • add PDF to EPUB/AZW3

As always special thanks to all the contributors who helped with this release espicially @Ludy87 and @balazs-szucs

V2 news!

We are releasing V2.0 later today, it will initially be based off an older V1 release however, with huge changes and improvements of its own so please look forward to trying it out!

What's Changed

Breaking Changes

  • feat(docker-runtime): unified Debian-based images, dynamic path resolution & enhanced UNO/LibreOffice handling by @Ludy87 in #4880

Enhancements

  • feat(multitool): Add duplicate page action with undo/redo and harden command stack #4322 by @Ludy87 in #4333
  • feat(signature): add SVG file support for saved signatures by @Ludy87 in #4742
  • feat(compress): add advanced compression parameters and better optimization levels by @balazs-szucs in #4703
  • feat(convert): add PDF to Video converter (FFmpeg) with MP4/WebM support by @Ludy87 in #4704
  • feat(database): add email notifications for backups/imports & backup verification by @Ludy87 in #4253
  • feat(sort): enhance file sorting and order handling by @balazs-szucs in #4813
  • feat(conversion): add eBook to PDF via Calibre (EPUB/MOBI/AZW3/FB2/TXT/DOCX) by @Ludy87 in #4644
  • feat(compress): expose linearize PDF option on the UI by @balazs-szucs in #4843
  • feat(crop): add auto-crop functionality to detect and remove white space by @balazs-szucs in #4847
  • feat(config): enforce minimum qpdf version requirement by @balazs-szucs in #4907
  • feat(util): enhance logging behavior in ProcessExecutor by @balazs-szucs in #4908
  • feat(pdf-conversion): add support for PDF/A-3b, PDF/X formats improve current PDF/A conversion by @balazs-szucs in #4844
  • feat(pdf-EPUB): add PDF to EPUB/AZW3 conversion functionality via Calibre by @balazs-szucs in #4947

Minor Enhancements

  • Split pdf by sections improvement by @PingLin8888 in #4111
  • ๐Ÿค– format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #4403
  • Update 3rd Party Licenses by @stirlingbot[bot] in #4719
  • perf(scanner-effect): Optimize fake-scanner effect with multithreading by @balazs-szucs in #4614
  • fix(api): return 204 No Content on failed PDF filters; add OpenAPI responses and safe resource handling by @Ludy87 in #4406
  • Update 3rd Party Licenses by @stirlingbot[bot] in #4770
  • fix(security): sanitize image handling to prevent DOM XSS in PdfContainer by @Ludy87 in #4267
  • refactor(core): centralize temp file handling in CompressController via TempFileManager by @Ludy87 in #4629
  • refactor(core): parallel, timeout-safe external dependency probes with version gating + tests by @Ludy87 in #4640
  • refactor(api): adjust default values and extend schema for stamp and watermark requests by @Ludy87 in #4632
  • fix(pipeline): Update isZip method to validate against filename extensions, and keep comic archives zipped by @balazs-szucs in #4741
  • ๐Ÿค– format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #4771
  • test(core): add comprehensive unit tests for controllers, services, models, and utilities by @Ludy87 in #4160
  • [#4262] Added date and time to a stamp by @Luis-EncoraDev in #4431
  • ๐Ÿค– format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #4807
  • fix(ui): correct CSS visibility typo; clean up spelling/grammar across codebase by @Ludy87 in #4661
  • fix(security): reset attempt counter when window elapsed (treat equality as elapsed) by @Ludy87 in #4820
  • refactor(common,core,proprietary): standardize Locale.ROOT usage for case/format & safer string handling by @Ludy87 in #4628
  • ๐Ÿค– format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #4839
  • refactor(common, core, proprietary): migrate boxed Booleans to primitive booleans and adopt is* accessors to reduce null checks/NPE risk by @Ludy87 in #4153
  • refactor(core): simplify resource management with try-with-resources by @balazs-szucs in #4873
  • refactor(exceptions): RFC 7807 Problem Details, ResourceBundle i18n, and error factory pattern by @balazs-szucs in #4791
  • fix(frontend/pdfjs): ensure CID character rendering via CMaps & stabilize PDF compare/preview by @Ludy87 in #4762
  • refactor(common): remove unused temp directory & HTML unzip helpers, prune imports by @Ludy87 in #4857

Docker Updates

  • build(deps): bump sigstore/cosign-installer from 3.10.0 to 4.0.0 by @dependabot[bot] in #4717
  • build(deps): bump actions/upload-artifact from 4.6.2 to 5.0.0 by @dependabot[bot] in #4745
  • build(deps): bump docker/metadata-action from 5.8.0 to 5.9.0 by @dependabot[bot] in #4851
  • build(deps): bump step-security/harden-runner from 2.13.1 to 2.13.2 by @dependabot[bot] in #4853
  • build(deps): bump docker/setup-qemu-action from 3.6.0 to 3.7.0 by @dependabot[bot] in #4854
  • ci(docker,workflow): install bash in images, keep /bin/sh POSIX, and simplify PR test-build deps by @Ludy87 in #4879
  • build(deps): bump actions/checkout from 5.0.0 to 5.0.1 by @dependabot[bot] in #4931
  • build(deps): bump actions/checkout from 5.0.1 to 6.0.0 by @dependabot[bot] in #4962
  • build(deps): bump docker/metadata-action from 5.8.0 to 5.9.0 by @dependabot[bot] in #4987

Translation Changes

Development Tools

  • build(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 by @dependabot[bot] in #4967

Other Changes

  • build(deps): bump github/codeql-action from 3.30.6 to 4.30.9 by @dependabot[bot] in #4718
  • build(deps): bump actions/setup-node from 5.0.0 to 6.0.0 by @dependabot[bot] in #4716
  • build(deps): bump com.github.junrar:junrar from 7.5.5 to 7.5.7 by @dependabot[bot] in #4715
  • build(deps): bump org.sonarqube from 6.3.1.5724 to 7.0.0.6105 by @dependabot[bot] in #4714
  • build(deps): bump pdfboxVersion from 3.0.5 to 3.0.6 by @dependabot[bot] in #4713
  • build(deps): bump ch.qos.logback:logback-core from 1.5.19 to 1.5.20 by @dependabot[bot] in #4748
  • build(deps): bump ch.qos.logback:logback-classic from 1.5.19 to 1.5.20 by @dependabot[bot] in #4747
  • build(deps): bump io.micrometer:micrometer-core from 1.15.4 to 1.15.5 by @dependabot[bot] in #4746
  • build(deps): bump github/codeql-action from 4.30.9 to 4.31.0 by @dependabot[bot] in #4743
  • build(deps): bump actions/download-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in #4744
  • build(deps): bump softprops/action-gh-release from 2.3.4 to 2.4.1 by @dependabot[bot] in #4676
  • build(deps): bump pypdf from 6.1.1 to 6.1.3 in /testing/cucumber in the pip group across 1 directory by @dependabot[bot] in #4725
  • build(deps): bump io.swagger.core.v3:swagger-core-jakarta from 2.2.38 to 2.2.39 by @dependabot[bot] in #4672
  • build(deps): bump springSecuritySamlVersion from 6.5.5 to 6.5.6 by @dependabot[bot] in #4712
  • build(deps): bump com.unboundid.product.scim2:scim2-sdk-client from 4.0.0 to 4.1.0 by @dependabot[bot] in #4621
  • build(deps): bump com.squareup.okhttp3:okhttp-bom from 5.1.0 to 5.2.1 by @dependabot[bot] in #4671
  • Delete .github/workflows/sonarqube.yml by @Frooodle in #4763
  • build(deps): bump org.springframework.boot:spring-boot-dependencies from 3.5.6 to 3.5.7 by @dependabot[bot] in #4767
  • build(deps): bump org.springframework.boot from 3.5.6 to 3.5.7 by @dependabot[bot] in #4769
  • ci(workflows): add PR commentโ€“driven label management with authorized users by @Ludy87 in #4650
  • test: Add comprehensive unit tests for GetInfoOnPDF, covering metadata extraction, encryption, permissions, compliance, validation, and error handling scenarios by @balazs-szucs in #4706
  • refactor(tests): replaced redundant setups, simplified exception handling, and optimized code readability. by @balazs-szucs in #4710
  • build(deps): bump actions/github-script from 7.0.1 to 8.0.0 by @dependabot[bot] in #4777
  • fix(ci): ๐Ÿ›ก๏ธmitigate CVE-2025-6176 by pinning brotli to patched commit and upgrading dev dependency pins by @Ludy87 in #4802
  • build(deps): bump actions/dependency-review-action from 4.8.0 to 4.8.1 by @dependabot[bot] in #4674
  • Add 'break-change' label and update release categories by @Ludy87 in #4806
  • chore(config): refine testing directory glob patterns in .files.yaml by @Ludy87 in #4600
  • build(deps): bump com.github.jk1.dependency-license-report from 2.9 to 3.0.1 by @dependabot[bot] in #4818
  • build(deps): bump github/codeql-action from 4.31.0 to 4.31.2 by @dependabot[bot] in #4819
  • build(deps): bump com.squareup.okhttp3:okhttp-bom from 5.2.1 to 5.3.0 by @dependabot[bot] in #4817
  • refactor(tests): Eliminate test flakiness through deterministic implementation by @balazs-szucs in #4708
  • chore(tests): add comprehensive web/controller and security service tests; stabilize AttemptCounter timing by @Ludy87 in #4822
  • build(deps): bump commons-io:commons-io from 2.20.0 to 2.21.0 by @dependabot[bot] in #4852
  • build(deps): bump softprops/action-gh-release from 2.4.1 to 2.4.2 by @dependabot[bot] in #4850
  • build(deps): bump org.springdoc:springdoc-openapi-starter-webmvc-ui from 2.8.13 to 2.8.14 by @dependabot[bot] in #4855
  • build(deps): bump io.micrometer:micrometer-core from 1.15.5 to 1.16.0 by @dependabot[bot] in #4856
  • build(deps): bump com.google.zxing:core from 3.5.3 to 3.5.4 by @dependabot[bot] in #4925
  • build(deps): bump org.apache.commons:commons-lang3 from 3.19.0 to 3.20.0 by @dependabot[bot] in #4927
  • build(deps): bump com.squareup.okhttp3:okhttp-bom from 5.3.0 to 5.3.1 by @dependabot[bot] in #4928
  • build(deps): bump github/codeql-action from 4.31.2 to 4.31.3 by @dependabot[bot] in #4930
  • build(deps): bump actions/dependency-review-action from 4.8.1 to 4.8.2 by @dependabot[bot] in #4932
  • Update project version from 1.5.0 to 1.6.0 by @Frooodle in #4923
  • build(deps): bump pypdf from 6.1.3 to 6.4.0 in /testing/cucumber in the pip group across 1 directory by @dependabot[bot] in #4983
  • build(deps): bump github/codeql-action from 4.31.3 to 4.31.5 by @dependabot[bot] in #4981
  • build(deps): bump io.swagger.core.v3:swagger-core-jakarta from 2.2.40 to 2.2.41 by @dependabot[bot] in #4979
  • build(deps): bump com.diffplug.spotless from 8.0.0 to 8.1.0 by @dependabot[bot] in #4966
  • build(deps): bump org.sonarqube from 7.0.0.6105 to 7.1.0.6387 by @dependabot[bot] in #4964
  • deps(build): centralize Logback version management and update to 1.5.21 by @Ludy87 in #4868
  • docs(README): add new tool descriptions and features overview by @Ludy87 in #4870

New Contributors

Full Changelog: v1.5.0...v1.6.0

Don't miss a new Stirling-PDF release

NewReleases is sending notifications on new releases.