Releases: Stirling-Tools/Stirling-PDF
1.4.0 CBZ, numerous tool improvements and more
This latest release contains several improvements and new features most of which from @balazs-szucs, so a huge thanks goes out to them!
Main changes are:
- Crop to have option to correctly remove the text outside crop window
- CBZ to PDF and PDF to CBZ
- PDF to CBR (requires you to manually install rar due to license requirements)
- Extra colour options in both sign and also replace colours tools
Main bug fixes
- Get info correctly checks PDF compliancy
- Merge order by time fixed
Along with these changes were numerous other bug fixes, enhancements and clean-ups please check them out below! (Thanks again to @balazs-szucs!)
Also for those wondering about our V2 progress, The team recently released https://stirling.com/app which is a SaaS version of the soon to be released V2 for selfhosted users in coming weeks.
Please give feedback (Button is in bottom right of SaaS) on what you think and changes that you want before it goes live to you all.
We have some more big improvements coming soon to V2 particularly to the tool menu and multi tool in few days thanks to the feedback we already received (thankyou!)
What's Changed
Enhancements
- feat: custom error handling when calling renderImageWithDPI, controllers to respect global DPI by @balazs-szucs in #4407
- feat(multi-layout): implement form field copying and transformation for multi-page PDF to keep form data by @balazs-szucs in #4314
- feat(replace-and-invert-colour): Add CMYK color space conversion with prepress preset for PDF processing by @balazs-szucs in #4494
- feat: Add RegexPatternUtils for centralized regex management, file naming funcs, UtilityClass annotation by @balazs-szucs in #4218
- feat(cbz-to-pdf,pdf-to-cbz): Converter for CBZ format to and from PDF by @balazs-szucs in #4472
- feat(sign): Add signature color picker and custom signature colors by @balazs-szucs in #4441
- feat(get-info-on-pdf): use PDFBox preflight to validate PDF compliancy level, and parse in compliancy type by @balazs-szucs in #4595
- feat(merge): use metadata for sortByDate by @balazs-szucs in #4461
- feat(cbr-to-pdf,pdf-to-cbr): add PDF to/from CBR conversion with ebook optimization option by @balazs-szucs in #4581
- feat(i18n): add German translations for CBR/CBZ comic conversion tools by @Ludy87 in #4597
- feat(pdf-to-cbr): integrate RAR for CBR output generation by @balazs-szucs in #4626
- feat(crop): Crop remove outside text by @balazs-szucs in #4499
Minor Enhancements
- fix: try-with-resources for Streams interacting with Files to ensure proper resource management by @balazs-szucs in #4404
- performance: Use StringBuilder instead of string concatenation for building strings by @balazs-szucs in #4193
- fix: Update checkbox elements to use Bootstrap classes for consistent styling by @balazs-szucs in #4412
- refactor(core,common,proprietary): Replace Date with Instant/modern Date API alternative for improved time handling by @balazs-szucs in #4497
- refactor: replace size checks with isEmpty(), safely collapse redundant emptiness checking logic, minor code improvements by @balazs-szucs in #4132
- perf: Logging statements to use parameterized messages by @balazs-szucs in #4399
- refactor: replace switch statements with modern switch expressions for better readability by @balazs-szucs in #4095
- refactor: tooltips behavior and tooltips in bookmark editor by @lukasstorck in #4136
- Defaulting JWT settings to
false
by @DarioGii in #4416 - refactor: Replace manual resource handling with try-with-resources by @balazs-szucs in #4593
- fix(scanner-effect): lower default DPI in ScannerEffectRequest by @balazs-szucs in #4565
- fix(replace-and-invert-color): preserve original filename with '-inverted.pdf' suffix for output by @balazs-szucs in #4594
- fix(scale): Throw exceptions for invalid page size instead of returning null in getTargetSize method by @balazs-szucs in #4460
- fix(repair): suppress corrupted PDF error/warning banner on repair page by @balazs-szucs in #4434
- fix(sanitize): fix JavaScript handling, embedded file sanitization by @balazs-szucs in #4652
Docker Updates
- build(deps): bump actions/setup-python from 5.6.0 to 6.0.0 by @dependabot[bot] in #4379
- build(deps): bump step-security/harden-runner from 2.13.0 to 2.13.1 by @dependabot[bot] in #4538
- build(deps): bump docker/login-action from 3.5.0 to 3.6.0 by @dependabot[bot] in #4552
- build(deps): bump gradle/actions from 4.4.2 to 4.4.4 by @dependabot[bot] in #4548
- build(deps): bump sigstore/cosign-installer from 3.9.2 to 3.10.0 by @dependabot[bot] in #4547
- build(deps): bump gradle/actions from 4.4.4 to 5.0.0 by @dependabot[bot] in #4605
Translation Changes
- Update hungarian translation for editTableOfContents strings by @balazs-szucs in #4165
- Update and improve the zh-TW Traditional Chinese translation by @PeterDaveHello in #4400
- Update and improve Croatian (hrvatski) (hr_HR) locale by @PeterDaveHello in #4202
- Translate fr by @miniupnp in #4168
- Spanish translation by @txelu in #4290
- Update messages_it_IT.properties by @albanobattistella in #4398
- Update Hungarian translation by @balazs-szucs in #4401
- Update serbian translation by @dmiljk in #4411
- Update messages_ru_RU.properties by @TheShadowAngel in #4426
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4465
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4542
- Update messages_it_IT.properties by @albanobattistella in #4563
- 🌐 Update messages_ru_RU.properties by @TheShadowAngel in #4577
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4606
- Update Hungarian translations by @balazs-szucs in #4573
- Update Hungarian translations for improved consistency and clarity. by @balazs-szucs in #4623
Development Tools
- fix(ci): 🛡️ mitigate CVE-2025-8869 by enforcing wheels-only pip installs and upgrading pinned dependencies by @Ludy87 in #4598
Other Changes
- fix: normalize path in ApplicationPropertiesLogicTest by @msgilligan in #4477
- build(deps): bump actions/setup-node from 4.4.0 to 5.0.0 by @dependabot[bot] in #4381
- build(deps): bump actions/checkout from 4.2.2 to 5.0.0 by @dependabot[bot] in #4382
- build(deps): bump actions/stale from 9.1.0 to 10.0.0 by @dependabot[bot] in #4380
- build(deps): bump bouncycastleVersion from 1.81 to 1.82 by @dependabot[bot] in #4474
- build(deps): bump org.postgresql:postgresql from 42.7.7 to 42.7.8 by @dependabot[bot] in #4479
- build(deps): bump org.projectlombok:lombok from 1.18.38 to 1.18.42 by @dependabot[bot] in #4475
- build(deps): bump commonmarkVersion from 0.25.1 to 0.26.0 by @dependabot[bot] in #4447
- build(deps): bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0 by @dependabot[bot] in #4534
- build(deps): ...
1.3.2 Fix login bug introduced in 1.3.0
1.3.2 Fix login bug introduced in 1.3.0 for users with login accounts older than 14 months
What's Changed
Minor Enhancements
Full Changelog: v1.3.1...v1.3.2
1.3.1 Quick fixes and translations
Quick fixes for missing translations and minor build issues
For all major release changes, please check out 1.3.0
https://github.com/Stirling-Tools/Stirling-PDF/releases/tag/v1.3.0
What's Changed
Minor Enhancements
Translation Changes
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4386
Other Changes
Full Changelog: v1.3.0...v1.3.1
1.3.0 Advanced Redaction, Security enhancement and code improvements
Been a few weeks since our last release, we have been making amazing progress on our future UI refresh and will have a demo to show everyone soon.
Major changes:
- Auto redact to support text removal on PDFs without the need for image conversion (Huge thanks to @balazs-szucs)
- PDF to Image to support shwoing annotations, highlights etc
- Add font color option for page numbers
- PFX alias for PKCS12
- Split PDF enhanced with better file number padding
- Several settings/database enhancements
- Many optimisations and refactors to improve stability and performance
- Several dependency updates
As always, thanks to all the open source community and in particular @Ludy87 for a massive 28 of these PRs in this release
What's Changed
Enhancements
- feat: Auto-redact to support text removal on True PDFs/non-custom encoded PDFs, JUnit tests for RedactController, and TextFinder by @balazs-szucs in #3936
- feat(audit): introduce structured Audit API with export, stats, and cleanup endpoints by @Ludy87 in #4217
- feat(common,core,proprietary): remove unused injections, enhance type safety, and improve test mocks by @Ludy87 in #4213
- feat(ssrf): enhance private IP detection and IPv6 handling by @Ludy87 in #4191
- feat(database,Jwt): relocate backups and Jwt-keys to
config/backup
and add Enterprise cleanup endpoints by @Ludy87 in #4225 - feat: add annotation option to PDF to image by @Frooodle in #4365
- feat(misc): Add font color option for page numbers; improve alignment & robustness by @Ludy87 in #4334
- feat: Add Lombok @Getter and @Setter annotations to reduce boilerplate code in multiple classes by @balazs-szucs in #4321
- feat(convert): PDF conversion with unoconvert fallback soffice by @Ludy87 in #4316
- feat(database): make backup schedule configurable via system keys by @Ludy87 in #4251
- feat(security): add PFX alias for PKCS12; accept .crt/.cer/.der certs & .key keys; add certificate-signing tests by @Ludy87 in #4297
- feat(common): add
ChecksumUtils
for MD5/SHA*/CRC32/Adler32 with Base64 and multi-algorithm support by @Ludy87 in #4261
Minor Enhancements
- JWT Authentication by @DarioGii in #3921
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #4175
- Update 3rd Party Licenses by @stirlingbot[bot] in #4184
- fix(h2): refine SQL condition check for custom database flag by @Ludy87 in #4216
- refactor(tests): move & expand TextFinder/RedactController tests; fix TextFinder empty search-term handling; update token filtering API by @Ludy87 in #4264
- Update 3rd Party Licenses by @stirlingbot[bot] in #4247
- fix(downloader): reset progress bar after completion by @Ludy87 in #4192
- fix(config): recreate settings.yml if missing or below minimal size threshold by @Ludy87 in #4166
- PdfContainer: zero-pad numeric suffix in nameAndArchiveFiles by @adityaruplaha in #4265
- Update 3rd Party Licenses by @stirlingbot[bot] in #4278
- refactor(ssrf): default enum MEDIUM prevents OFF=false by @Ludy87 in #4280
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #4185
- fix(api): prevent
MultipartFile
binding errors inStampController
by @Ludy87 in #4331 - test(common): add dedicated unit tests for FileInfo and InputStreamTemplateResource by @Ludy87 in #4140
- Replace uses of
Arrays.asList()
with either List.of() or Collections.singletonList() by @balazs-szucs in #4219 - Update 3rd Party Licenses by @stirlingbot[bot] in #4385
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #4375
- fix(security): prevent NPE on logout when JWT service is unavailable by @Ludy87 in #4390
- refactor: standardize MIME handling via Spring
MediaType
by @Ludy87 in #4389 - perf(core): Stream responses and unify temp file lifecycle across controllers by @Ludy87 in #4330
Docker Updates
- build(deps): bump gradle/actions from 4.4.1 to 4.4.2 by @dependabot[bot] in #4177
- build(deps): bump actions/checkout from 4.2.2 to 4.3.0 by @dependabot[bot] in #4180
- build(gradle): include all subprojects in license report generation by @Ludy87 in #4170
- deps: Pin Python dev dependencies and lock hashes to remediate security alert 302 by @Ludy87 in #4173
- build(deps): bump actions/checkout from 4.3.0 to 5.0.0 by @dependabot[bot] in #4194
- build(deps): bump actions/setup-java from 4.7.1 to 5.0.0 by @dependabot[bot] in #4269
Translation Changes
- Update Hungarian translation for new update related strings by @balazs-szucs in #4152
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4174
- Update messages_it_IT.properties by @albanobattistella in #4183
- Update messages_tr_TR.properties by @turkaysoftware in #4274
- fix(i18n): standardize
{filename}
placeholder inaddPageNumbers.customNumberDesc
across all translations by @Ludy87 in #4204 - Update and improve the zh-TW Traditional Chinese translation by @PeterDaveHello in #4164
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4277
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4374
- Update messages_it_IT.properties by @albanobattistella in #4285
- Update messages_tr_TR.properties by @turkaysoftware in #4384
Other Changes
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4159
- chore(labeler): add new 'v2' label and expand matching rules by @Ludy87 in #4172
- build(deps): bump github/codeql-action from 3.29.7 to 3.29.8 by @dependabot[bot] in #4178
- build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0 by @dependabot[bot] in #4179
- build(deps): bump actions/ai-inference from 1.2.7 to 1.2.8 by @dependabot[bot] in #4181
- build(deps): bump edu.sc.seis.launch4j from 3.0.7 to 4.0.0 by @dependabot[bot] in #4182
- build(deps): bump actions/dependency-review-action from 4.7.1 to 4.7.2 by @dependabot[bot] in #4230
- build(deps): bump jwtVersion from 0.12.6 to 0.12.7 by @dependabot[bot] in #4229
- build(deps): bump github/codeql-action from 3.29.8 to 3.29.10 by @dependabot[bot] in #4231
- refactor(build): centralize security disable condition in shared Gradle property by @Ludy87 in #4209
- chore(ci): include
testing/**
in file change detection fordocker-compose-tests
workflow by @Ludy87 in #4206 - build(deps): bump org.springdoc:springdoc-openapi-starter-webmvc-ui from 2.8.9 to 2.8.11 by @dependabot[bot] in #4273
- build(deps): bump org.springframework.boot from 3.5.4 to 3.5.5 by @dependabot[bot] in #4272
- build(deps): bump github/codeql-action from 3.29.10 to 3.29.11 by @dependabot[bot] in #4271
- build(deps): bump org.springf...
1.2.0 PSD Support, bug fixes and extra features
This update contains various changes, enhancements and bug fixes
Some of the major changes are:
- Bug fix for pipeline operation
- Bug fix for Stamp operation
- Enhanced Table-Of-Contents feature to support import and exports
- Image to PDF to support Phtoshops PSD format
- Enhanced Update available logic to show degrees of urgency if future updates have security patches (Also correctly links the jar/exe etc to download the file for you)
Thanks to everyone's contributions!
What's Changed
Bug fices
- fix(pipeline): allow slashes in pipeline operation values by @Ludy87 in #4066
- fix(stamp): validate image filename only for image stamp type by @Ludy87 in #4099
- fix(saml): correct ClassPathResource handling for IdP metadata and add null-guard for privateKey by @Ludy87 in #4157
Enhancements
- feat(common): add configurable maxDPI limit for PDF-to-image conversion by @Ludy87 in #4129
- feature: import and export bookmarks to clipboard by @lukasstorck in #4093
- PSD support by @Frooodle in #4146
- get updates advanced by @Frooodle in #4124
Minor Enhancements
- fix: adjust margin of bookmark editor by @lukasstorck in #4068
- Update 3rd Party Licenses by @stirlingbot[bot] in #4073
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #4104
- chore(templates): remove redundant
fetch-utils.js
script includes by @Ludy87 in #4092 - refactor(eml-to-pdf): Improve readability, maintainability, and overall standards compliance by @balazs-szucs in #4065
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #4144
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #4150
- Update 3rd Party Licenses by @stirlingbot[bot] in #4122
- style(spotless): centralize and expand formatting config in root build.gradle by @Ludy87 in #4098
Docker Updates
- Optimize Dockerfiles by @PeterDaveHello in #4069
- ci(github-actions): improve concurrency grouping with PR number fallback by @Ludy87 in #4101
- build(deps): bump docker/metadata-action from 5.7.0 to 5.8.0 by @dependabot[bot] in #4116
- build(deps): bump docker/login-action from 3.4.0 to 3.5.0 by @dependabot[bot] in #4118
Translation Changes
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4041
- Update zh_TW Traditional Chinese translation by @PeterDaveHello in #4100
- Updated Hungarian translation by @balazs-szucs in #4094
- Add new keys to zh_TW Traditional Chinese ignore translation list by @PeterDaveHello in #4108
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4143
- Update messages_it_IT.properties by @albanobattistella in #4154
Development Tools
- chore(pre-commit): enable test source formatting and build validation on push to main by @Ludy87 in #4067
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #4075
- build(local): simplify writeVersion task with WriteProperties plugin and enable build caching by @Ludy87 in #4139
- chore: update development configs, formatting tools, and CI enhancements by @Ludy87 in #4130
Other Changes
- build(deps): bump actions/ai-inference from 1.1.0 to 1.2.3 by @dependabot[bot] in #4006
- build(deps): bump github/codeql-action from 3.29.3 to 3.29.5 by @dependabot[bot] in #4061
- build(deps): bump edu.sc.seis.launch4j from 3.0.6 to 3.0.7 by @dependabot[bot] in #4062
- build(deps): bump com.opencsv:opencsv from 5.11.2 to 5.12.0 by @dependabot[bot] in #4060
- build(deps): bump org.springframework.boot from 3.5.3 to 3.5.4 by @dependabot[bot] in #4059
- build(deps): bump org.springframework.boot:spring-boot-dependencies from 3.5.3 to 3.5.4 by @dependabot[bot] in #4058
- build(deps): bump org.eclipse.angus:angus-mail from 2.0.3 to 2.0.4 by @dependabot[bot] in #4114
- build(deps): bump commonmarkVersion from 0.25.0 to 0.25.1 by @dependabot[bot] in #4115
- build(deps): bump io.swagger.core.v3:swagger-core-jakarta from 2.2.34 to 2.2.35 by @dependabot[bot] in #4117
- Update CODEOWNERS by @Frooodle in #4142
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4135
- build(deps): bump actions/ai-inference from 1.2.3 to 1.2.4 by @dependabot[bot] in #4119
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #4155
- Update .files.yaml for V2 by @Frooodle in #4156
- Update CODEOWNERS by @Frooodle in #4158
New Contributors
- @lukasstorck made their first contribution in #4068
Full Changelog: v1.1.1...v1.2.0
1.1.1 Pipeline feature bug fixes
Various small bug fixes related to pipeline functionality and other issues causing unexpected errors
What's Changed
Minor Enhancements
- Update 3rd Party Licenses by @stirlingbot[bot] in #4012
- V2 settings api (Added to V1) by @Frooodle in #4015
- remove file locks plus formatting by @Frooodle in #4049
- fix(search): add null-check in dropdown hide handler by @Ludy87 in #3983
- fix(pipeline): correct paths for pipeline & support default WebUI pipeline config extraction by @Ludy87 in #4051
Docker Updates
- ci(workflows): add concurrency cancellation to CI workflows by @Ludy87 in #4034
- Version bump + docker ultra lite fix by @Frooodle in #4057
Translation Changes
- Translate language names for zh_TW Traditional Chinese by @PeterDaveHello in #4036
- Update and improve zh_TW Traditional Chinese translation by @PeterDaveHello in #4038
Other Changes
- legal: termsAndConditions has moved by @pheiduck in #4035
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #4040
Full Changelog: v1.1.0...v1.1.1
1.1.0 Lots of bug fixes, security updates and minor UI changes!
This update contains various changes:
- Bug fixes with UI scaling, Navbar and others ,
- Auth.log not generating correctly
- HTML sanitisation now further sanitises the
tag for security to avoid external GET calls, This is enabled by default but can be disabled (via settings.yml) should you need this HTML functionality
- Various extra security changes and patches
- Bug fix for cookie banner showing even when cookies are disabled
What's Changed
🚀 Major Enhancements
- (Future V2 feature) Support multi-file async job results and ZIP extraction by @Frooodle in #3922
- Fake scan renamed scanner effect by @Frooodle in #3954
- Refactor: move modules under app/ directory and update file paths by @Ludy87 in #3938
🐛 Bug Fixes
- ✨ (Snyk) Fixed finding: "java/PT" by @pixeebotstirling[bot] in #3972
- ✨ (Snyk) Fixed finding: "java/PT" by @pixeebotstirling[bot] in #3971
- ✨ (Snyk) Fixed finding: "java/Ssrf" by @pixeebotstirling[bot] in #3973
- ✨ (Snyk) Fixed finding: "java/PT" by @pixeebotstirling[bot] in #3974
- ✨ (Snyk) Fixed finding: "java/PT" by @pixeebotstirling[bot] in #3975
- ✨ (Snyk) Fixed finding: "java/PT" by @pixeebotstirling[bot] in #3976
- fix(css): correct selector for free text editor overlay in PDF viewer CSS by @Ludy87 in #3916
- fix: correct paths for python scripts and implement classpath extraction by @Ludy87 in #3984
- Fix endpoint mapping by @Frooodle in #3999
- url fixes for access issues by @Frooodle in #4013
- Fix search scroll bar issue on navbar by @ConnorYoh in #3998
- Fix for #3951 invalid auth.log by @Frooodle in #3952
✨ Minor Enhancements
- This PR makes the multi-tool usable when zoomed in or when the browser window is narrowed a lot. by @EthanHealy01 in #3897
- AOP Fixes for v2 async by @Frooodle in #3934
- Nav Bar Fixes for Mobile Devices by @EthanHealy01 in #3927
- Disable cookie banner when analytics disabled by @Frooodle in #3989
- Improved scaling of navbar for page-view and redact by @ConnorYoh in #3978
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #3995
🐳 Docker & CI/CD Updates
- build: update Dockerfile.fat by @Ludy87 in #3945
- ci: enhance GitHub Actions workflows with Gradle setup, caching improvements, and Docker image testing by @Ludy87 in #3956
- fix(ci): disable Gradle caching in GitHub workflows to resolve cache conflicts by @Ludy87 in #3986
- build(deps): bump alpine from 3.22.0 to 3.22.1 by @dependabot[bot] in #4011
- build(deps): bump step-security/harden-runner from 2.12.2 to 2.13.0 by @dependabot[bot] in #4007
- build(deps): bump actions/checkout from 2.4.2 to 4.2.2 by @dependabot[bot] in #4010
- build(deps): bump sigstore/cosign-installer from 3.9.1 to 3.9.2 by @dependabot[bot] in #4009
🌍 Translation Changes
- Update messages_ja_JP.properties by @tkymmm in #3906
- Update messages_zh_CN.properties by @Lvshujun0918 in #3912
- chore: update German translation add new keys to ignore list by @Ludy87 in #3917
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #3918
- Update messages_ru_RU.properties by @TheShadowAngel in #3959
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #3962
- Update messages_ru_RU.properties by @TheShadowAngel in #3967
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot[bot] in #3994
🛠 Development Tools & Build
- chore: add integrate Stylelint for CSS linting by @Ludy87 in #3909
- Update CODEOWNERS by @ConnorYoh in #3981
- ci: improve PR deployment workflow and labeling by @Ludy87 in #3842
- chore(deps): bump com.diffplug.spotless from 7.0.4 to 7.1.0 by @dependabot[bot] in #3904
- chore(license-report): add
projects = [project]
to licenseReport to avoid deprecation warnings by @Ludy87 in #3933 - ci: fix Swagger docs generation by targeting stirling-pdf module by @Ludy87 in #3935
- chore(deps): bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 by @dependabot[bot] in #3939
- chore(cucumber): add create_pdf_with_black_boxes and convert-pdf-to-image outline; remove duplicate split-pdf-by-sections by @Ludy87 in #3937
- Bump com.unboundid.product.scim2:scim2-sdk-client from 2.3.5 to 4.0.0 by @dependabot[bot] in #3736
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot[bot] in #3942
- fix(ci): correct variable name for deployment comment check in PR-Demo-cleanup workflow by @Ludy87 in #3946
- build(deps): bump io.micrometer:micrometer-core from 1.15.1 to 1.15.2 by @dependabot[bot] in #3947
- build(deps): bump org.snakeyaml:snakeyaml-engine from 2.9 to 2.10 by @dependabot[bot] in #3948
- build(deps): bump commons-io:commons-io from 2.19.0 to 2.20.0 by @dependabot[bot] in #4003
- build(deps): bump github/codeql-action from 3.29.2 to 3.29.3 by @dependabot[bot] in #4008
- build(deps): bump springSecuritySamlVersion from 6.5.1 to 6.5.2 by @dependabot[bot] in #4020
- build(deps): bump com.diffplug.spotless from 7.1.0 to 7.2.1 by @dependabot[bot] in #4019
🧑💻 New Contributors
- @Lvshujun0918 made their first contribution in #3912
- @TheShadowAngel made their first contribution in #3959
- @pixeebotstirling[bot] made their first contribution in #3971
Full Changelog: v1.0.2...v1.1.0
1.0.2 Minor bug fixes
Quick Bug fixes for
- Resource overrides
- The account button not being visible under certain circumstances
- API docs being correctly updated
What's Changed
Bug Fixes
Minor Enhancements
- fix for #3907 resource override by @Frooodle in #3910
- Survey change to reduce prompts to users by @Frooodle in #3913
Full Changelog: v1.0.1...v1.0.2
1.0.1 Quick fix for security jar download issue
For V1.0.0 Release notes please check here https://github.com/Stirling-Tools/Stirling-PDF/releases/tag/v1.0.0
Docker only:
This v1.0.1 contains a Quick fix for the flag changing from DOCKER_ENABLE_SECURITY=true
to DISABLE_ADDITIONAL_FEATURES=false
This fix allows both flags to work without issue to avoid config compatibility issues with older versions
Previously, users not using DISABLE_ADDITIONAL_FEATURES=false
And using latest
label not latest-fat
would face security jar download issues.
This is a good time to remind users, Anyone using the account system is recommended to use latest-fat tag to get the best experience!
What's Changed
Minor Enhancements
- Update 3rd Party Licenses by @stirlingbot in #3893
Docker Updates
Other Changes
- Update PR-Demo-Comment-with-react.yml by @Frooodle in #3894
- Fix release generation issues by @Frooodle in #3898
- [StepSecurity] ci: Harden GitHub Actions by @step-security-bot in #3901
Full Changelog: v1.0.0...v1.0.1
1.0.0 Release! lots of new features!
V1.0.0 Release is here!
This release is actually part of a stepping stone into V2.0.0 release coming in a few months with a branch new UI and feel!
This release includes lots of new features and changes the main changes of note are
- EML(email) to PDF Feature added
- Table of Contents editing feature added
- Fake Scan page feature added to convert a PDF to look like its been scanned (WIP, may be removed)
- OCR and Compression back to using OCRMyPDF and Ghostscript for advanced PDF operations
- Added tmp file manager to ensure all files are cleared even in event of crashes
- Add file attachments to PDF feature added
For pro users, we have some additional changes, suggest you backup your /configs folder before testing v1.0.0
- Audit logs
- Team support with team management
As part of this release, there is also a slight license change. The core package remains MIT and fully open source, but we have created a 'proprietary' folder to store our 'Pro' features, such as audit/team functionality and account creation etc, which will be under a different license. This is only for our paid features and account creations.
If you are not using accounts, you remain fully open source, and we have ensured these can be fully decoupled for users who do wish only to use OSS. If you are using accounts, don't worry, no negative changes to functionality are introduced in this PR you can continue using as you would expect
There are also a lot of minor fixes and changes throughout the UI and backend in this release, including future support for async operations, progress updates and other features coming to V2! Stay tuned!
What's Changed
Bug Fixes
- Fix Chinese localization split page numbering by @Ludy87 in #3574
- Fix error display for Split by Chapter by @Frooodle in #3621
- fix: correct fetch path for popularity.txt in homecard.js by @Ludy87 in #3700
- fix: ensure locale-safe formatting in GeneralUtils.formatBytes by @Ludy87 in #3762
Enhancements
- Enhance email error handling and expand test coverage by @Ludy87 in #3561
- New common module by @DarioGii in #3573
- Replace
any()
withanyList()
in Mockito tests for stronger type safety by @Ludy87 in #3583 - Added scan filter feature by @balazs-szucs in #3530
- Proprietary module by @DarioGii in #3619
- Add EML to PDF conversion functionality by @balazs-szucs in #3650
- Ensure Pixel gets disabled, PDF ToC support by @Frooodle in #3659
- Fix: Assign Internal API User to Internal Team and Eager-Load User’s Team Association by @Ludy87 in #3698
- feat: add i18n support for team management UI and role table header by @Ludy87 in #3702
- feat: Improve team management UX with message-based feedback and internal team protection by @Ludy87 in #3719
- PDF-A conversion removes highlight opacity fix (#3106) by @tomasbernardino in #3695
- Auditing support by @Frooodle in #3739
- chore: add advanced PR auto-labeling configuration and workflow by @Ludy87 in #3767
- ci: add matrix strategy for spring-security and improve test report check logic by @Ludy87 in #3768
- Eml-to-pdf bug fixes: removal of incompatible fonts, removal of emoji in favor of @, jakarta-mail dependency handling improvements by @balazs-szucs in #3770
- feat: add automated PR title review using GitHub Actions and AI by @Ludy87 in #3784
- feat:centralise temp-file management & cleanup across app/docker by @Frooodle in #3797
- feat: add JUnit tests for EML to PDF conversion by @balazs-szucs in #3806
- feat: add Thai language support and corresponding font for watermarking by @balazs-szucs in #3819
- feat: add Thai language option for stamp feature by @balazs-szucs in #3825
Minor Enhancements
- Update home.html by @Frooodle in #3560
- Enforce
Locale.US
for Consistent Decimal Formatting in Byte-Size Output by @Ludy87 in #3562 - 🤖 format everything with pre-commit by by @stirlingbot in #3588
- Update 3rd Party Licenses by @stirlingbot in #3598
- Reorder OCR menu based on language selected + display language in own language by @Frooodle in #3586
- Update 3rd Party Licenses by @stirlingbot in #3599
- Replace deprecated AntPathRequestMatcher with PathPatternRequestMatcher by @Ludy87 in #3606
- Fix Tibetan locale code to bo_CN and update translation ignore configurations by @Ludy87 in #3614
- Update 3rd Party Licenses by @stirlingbot in #3632
- GetInfo summary #2388 by @Frooodle in #3585
- Update 3rd Party Licenses by @stirlingbot in #3647
- Disabled auto capture for posthog by @ConnorYoh in #3661
- Multi module refactor by @DarioGii in #3640
- Update 3rd Party Licenses by @stirlingbot in #3664
- Set default encryption key length to 128 bit AES in add-password.html by @balazs-szucs in #3693
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot in #3697
- Fix: Correct Convert Button Visuals and Make Consistent Code for EML-to-PDF by @balazs-szucs in #3707
- chore: reformat Java codebase and centralize Spotless config by @Ludy87 in #3723
- Update 3rd Party Licenses by @stirlingbot in #3721
- formatting and versionNumber to always build by @Frooodle in #3759
- style: improve formatting and import order consistency across codebase by @Ludy87 in #3761
- Update multi-toolAdvert to respect SYSTEM_ROOTURIPATH. by @adityaruplaha in #3776
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot in #3786
- Async by @Frooodle in #3773
- Update 3rd Party Licenses by @stirlingbot in #3795
- Add Attachments Feature by @DarioGii in #3781
- refactor: replace deprecated
fields()
withpropertyStream()
in ApiDocService by @Ludy87 in #3838 - restore OCRMyPDF and ghostscript compression by @Frooodle in #3846
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot in #3804
- Update 3rd Party Licenses by @stirlingbot in #3852
- exception handling and exception improvements by @Frooodle in #3858
- remove footer gap by @reecebrowne in #3855
- exception handling error to warn etc by @Frooodle in #3866
- Scaling fixes by @reecebrowne in #3868
- dropdown fixes by @reecebrowne in #3879
- Exception cleanup, resource change and OCR Defaults by @Frooodle in #3876
- fix(spelling): correct
selectFilter
typo across templates and localization files by @Ludy87 in #3886 - fix(css): correct spelling of separator in navbar and theme CSS by @Ludy87 in #3888
- 🤖 format everything with pre-commit by stirlingbot by @stirlingbot in #3882
Docker Updates
- security fixes by @Frooodle in #3587
- Bump docker/build-push-action from 6.17.0 to 6.18.0 by @dependabot in #3624
- Bump alpine from 3.21.3 to 3.22.0 by @dependabot in https://github.com/Stirl...