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
visibilitytypo; 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.ROOTusage 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
- feat(i18n): add German translations by @Ludy87 in #4786
- feat(localization): update Hungarian translations by @balazs-szucs in #4798
- feat(i18n): update Polish translations by @urbaned121 in #4659
- feat(i18n): add German translations by @Ludy87 in #4796
- Update and improve French translations in messages_fr_FR.properties by @FdaSilvaYY in #4755
- ๐ Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4764
- Fix French formatting and grammar by @OteJlo in #4775
- ๐ Update messages_ru_RU.properties by @TheShadowAngel in #4774
- feat(scripts): enhance translation progress tool with CLI flags, TOML management, and CI-friendly output by @Ludy87 in #4801
- feat: Update Brazilian Portuguese translation by @lspaulucio in #4198
- Improve French translations and update ignore_translation.toml by @FdaSilvaYY in #4780
- ๐ Sync Translations + Update README Progress Table by @Ludy87 in #4783
- Update Hungarian translations by @balazs-szucs in #4698
- Update messages_it_IT.properties by @albanobattistella in #4697
- Updated pt_PT translation by @RiCatarino in #4655
- Update messages_it_IT.properties by @albanobattistella in #4793
- Improve French translations and update ignore_translation.toml by @FdaSilvaYY in #4799
- Update messages_nl_NL.properties by @Stephan-P in #4519
- Update messages_ar_AR.properties : enhace arabic translation by @hamzakhalem in #4414
- Bulgarian lang update/optimizations by @nimdassdev in #4705
- Update messages_nl_NL.properties by @Stephan-P in #4811
- Fix French translations and formatting in properties file by @FdaSilvaYY in #4842
- [Fix] Spanish (es_ES) Translation Improvements and Fixes by @vvillarreal-cfee in #4838
- ๐ Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4878
- ๐ Update messages_ru_RU.properties by @TheShadowAngel in #4938
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.yamlby @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
- @FdaSilvaYY made their first contribution in #4755
- @OteJlo made their first contribution in #4775
- @RiCatarino made their first contribution in #4655
- @Luis-EncoraDev made their first contribution in #4431
- @urbaned121 made their first contribution in #4659
- @Stephan-P made their first contribution in #4519
- @lspaulucio made their first contribution in #4198
- @hamzakhalem made their first contribution in #4414
- @vvillarreal-cfee made their first contribution in #4838
Full Changelog: v1.5.0...v1.6.0