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.springframework.boot:spring-boot-dependencies from 3.5.4 to 3.5.5 by @dependabot[bot] in #4268
- build(deps): bump springSecuritySamlVersion from 6.5.2 to 6.5.3 by @dependabot[bot] in #4227
- build(deps): bump io.swagger.core.v3:swagger-core-jakarta from 2.2.35 to 2.2.36 by @dependabot[bot] in #4226
- build(deps): bump io.micrometer:micrometer-core from 1.15.2 to 1.15.3 by @dependabot[bot] in #4190
- ci(workflow): simplify PR deployment by removing redundant repo/ref lookup by @Ludy87 in #4266
- build(gradle): replace deprecated
outputFile
withdestinationFile
inwriteVersion
task by @Ludy87 in #4167 - build(deps): bump jwtVersion from 0.12.7 to 0.13.0 by @dependabot[bot] in #4270
- build(deps): bump org.springdoc:springdoc-openapi-starter-webmvc-ui from 2.8.11 to 2.8.12 by @dependabot[bot] in #4356
- build(deps): bump github/codeql-action from 3.29.11 to 3.30.0 by @dependabot[bot] in #4355
- build(deps): bump actions/dependency-review-action from 4.7.2 to 4.7.3 by @dependabot[bot] in #4353
- build(deps): bump org.sonarqube from 6.2.0.5505 to 6.3.1.5724 by @dependabot[bot] in #4352
- build(deps): bump com.bucket4j:bucket4j_jdk17-core from 8.14.0 to 8.15.0 by @dependabot[bot] in #4279
- build(deps): bump org.panteleyev.jpackageplugin from 1.7.3 to 1.7.5 by @dependabot[bot] in #4347
- build(deps): bump jakarta.mail:jakarta.mail-api from 2.1.3 to 2.1.4 by @dependabot[bot] in #4351
- fix(ci:testdriver): conditionally run frontend tests based on file changes by @Ludy87 in #4064
- Bump project version from 1.2.0 to 1.3.0 by @Frooodle in #4383
New Contributors
- @turkaysoftware made their first contribution in #4274
Please note release artifacts also contain the commit
e5da635
Full Changelog: v1.2.0...v1.3.0