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 #3623
- Update build.yml by @Frooodle in #3637
- Bump step-security/harden-runner from 2.12.0 to 2.12.1 by @dependabot in #3728
- Bump gradle/actions from 4.4.0 to 4.4.1 by @dependabot in #3727
- Bump docker/setup-buildx-action from 3.10.0 to 3.11.0 by @dependabot in #3726
- Bump sigstore/cosign-installer from 3.8.2 to 3.9.0 by @dependabot in #3792
- Bump docker/setup-buildx-action from 3.11.0 to 3.11.1 by @dependabot in #3790
- chore: update Docker Compose to v2.37.2 in GitHub Actions workflow by @Ludy87 in #3803
- chore: include additional problem reports folder in upload-artifact step by @Ludy87 in #3805
- chore(deps): bump step-security/harden-runner from 2.12.1 to 2.12.2 by @dependabot in #3849
- chore(deps): bump sigstore/cosign-installer from 3.9.0 to 3.9.1 by @dependabot in #3801
- Update push-docker.yml to change alpha to be fat by @Frooodle in #3872
Translation Changes
- Ukrainian translation by @riv-gh in #3567
- Russian translation by @riv-gh in #3572
- Update messages_de_DE.properties by @Ludy87 in #3575
- update messages_zh_CN.properties by @justeHe in #3597
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3600
- Update messages_it_IT.properties by @albanobattistella in #3602
- Update messages_it_IT.properties by @albanobattistella in #3612
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3617
- Update messages_it_IT.properties by @albanobattistella in #3634
- Update messages_de_DE.properties by @Ludy87 in #3618
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3639
- Update messages_it_IT.properties by @albanobattistella in #3641
- Updated Hungarian translation for new features: fake-scan, get-info, and for some misc front-end updates. by @balazs-szucs in #3646
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3657
- Bug/langauge encoding by @reecebrowne in #3681
- Update messages_pt_BR.properties by @thiagoor-cpu in #3676
- Update Hungarian translations for language names and EML to PDF functionality by @balazs-szucs in #3662
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3685
- Update Chinese translations in messages_zh_CN.properties by @ZhipengHe in #3653
- Update hungarian translation for teams, table of contents features, and new admin labels. by @balazs-szucs in #3701
- fix: update Malayalam translation to 81% and remove duplicate file by @Ludy87 in #3706
- Restore zh_TW locale to state before incorrect commit by @reecebrowne in #3712
- Update and improve zh_TW Traditional Chinese locale by @PeterDaveHello in #3649
- translate en-GB to de_DE by @KernelSailor in #3715
- Update Hungarian labels for the team feature by @balazs-szucs in #3710
- fix: restore original
messages_bo_CN.properties
file overwritten in PR #3659 by @Ludy87 in #3708 - Update messages_it_IT.properties by @albanobattistella in #3709
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3725
- Update messages_it_IT.properties by @albanobattistella in #3722
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3760
- Added Hungarian translations for audit dashboard and added the untranslatable items to .toml file by @balazs-szucs in #3765
- Update messages_it_IT.properties by @albanobattistella in #3763
- Improve Turkish translations for Fake Scan, TOC, and Cookie Banner by @dogukansahil in #3783
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3796
- Updated Serbian translation and ignore list by @dmiljk in #3844
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3807
- Updated Hungarian translations for add attachments feature by @balazs-szucs in #3853
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3851
- Update messages_it_IT.properties by @albanobattistella in #3857
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3862
- Updated the French translation file messages_fr_FR.properties by @GeistFighter in #3864
- Updated Hungarian translations for error messages, and other miscellaneous items by @balazs-szucs in #3863
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3869
- Update messages_it_IT.properties by @albanobattistella in #3871
- chore(i18n): update German translations for de_DE locale by @Ludy87 in #3884
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3890
Development Tools
- chore: Improve VSCode Java Project Configuration with Explicit Source Paths by @Ludy87 in #3699
- chore: improve editor configuration, pre-commit hooks, and VSCode settings by @Ludy87 in #3780
Other Changes
- Bump org.springframework.boot from 3.4.5 to 3.5.0 by @dependabot in #3594
- Bump org.mockito:mockito-core from 5.17.0 to 5.18.0 by @dependabot in #3593
- Bump springBootVersion from 3.4.5 to 3.5.0 by @dependabot in #3592
- Bump org.springframework.session:spring-session-core from 3.4.3 to 3.5.0 by @dependabot in #3591
- Bump Pre-commit Hooks and Java Formatter to Latest Versions by @Ludy87 in #3589
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3568
- Standardize GitHub App Bot Authentication Across Workflows by @Ludy87 in #3582
- Update README.md by @Frooodle in #3601
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3603
- Include
common
in Spotless formatting by @Ludy87 in #3605 - Use setup-bot token for GitHub Actions and fix GH_APP_ID secret reference by @Ludy87 in #3615
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3616
- Bump ossf/scorecard-action from 2.4.1 to 2.4.2 by @dependabot in #3625
- Bump com.diffplug.spotless from 7.0.3 to 7.0.4 by @dependabot in #3626
- Bump org.springframework.boot:spring-boot-dependencies from 3.4.5 to 3.5.0 by @dependabot in #3627
- Bump org.postgresql:postgresql from 42.7.5 to 42.7.6 by @dependabot in #3629
- Bump org.springdoc:springdoc-openapi-starter-webmvc-ui from 2.8.6 to 2.8.8 by @dependabot in #3628
- Bump jakarta.servlet:jakarta.servlet-api from 6.0.0 to 6.1.0 by @dependabot in #3631
- Bump me.friwi:jcefmaven from 132.3.1 to 135.0.20 by @dependabot in #3548
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3635
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3638
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3644
- updating path in script by @DarioGii in #3678
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3682
- Update check_properties.yml by @Frooodle in #3683
- Update check_language_properties.py by @Frooodle in #3684
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3703
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3705
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3713
- Bump requests from 2.32.3 to 2.32.4 in /testing/cucumber in the pip group across 1 directory by @dependabot in #3674
- Bump github/codeql-action from 3.28.18 to 3.28.19 by @dependabot in #3666
- Bump io.swagger.core.v3:swagger-core-jakarta from 2.2.30 to 2.2.32 by @dependabot in #3669
- Bump bouncycastleVersion from 1.80 to 1.81 by @dependabot in #3673
- Bump org.apache.xmlgraphics:batik-all from 1.18 to 1.19 by @dependabot in #3672
- Bump io.micrometer:micrometer-core from 1.14.6 to 1.15.1 by @dependabot in #3671
- Bump org.postgresql:postgresql from 42.7.5 to 42.7.6 by @dependabot in #3667
- chore: expand allowed license list with additional Eclipse Public License variants by @Ludy87 in #3724
- Bump com.opencsv:opencsv from 5.11 to 5.11.1 by @dependabot in #3630
- Bump org.springdoc:springdoc-openapi-starter-webmvc-ui from 2.8.8 to 2.8.9 by @dependabot in #3733
- Bump io.swagger.core.v3:swagger-core-jakarta from 2.2.32 to 2.2.33 by @dependabot in #3734
- Bump io.github.pixee:java-security-toolkit from 1.2.1 to 1.2.2 by @dependabot in #3731
- Bump softprops/action-gh-release from 2.1.0 to 2.3.2 by @dependabot in #3729
- Bump springSecuritySamlVersion from 6.5.0 to 6.5.1 by @dependabot in #3735
- HowToAddNewLanguage add linux command, fix md code type by @KernelSailor in #3717
- PR Deploy to deploy pro/enterprise for testing by @Frooodle in #3756
- Update PR-Demo-Comment-with-react.yml for security flags by @Frooodle in #3757
- Version prop fix + test by @Frooodle in #3764
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3766
- chore: expand GitHub label configuration with size, language, and workflow labels by @Ludy87 in #3778
- chore: improve label matching rules in labeler config by @Ludy87 in #3779
- Bump org.springframework.boot from 3.5.0 to 3.5.3 by @dependabot in #3788
- Bump org.springframework.boot:spring-boot-dependencies from 3.5.0 to 3.5.3 by @dependabot in #3787
- ci: add cleanup step to remove temporary files in workflow by @Ludy87 in #3782
- Added mockTempFileManager to tests in EML-to-PDF mockito to resolve errors by @balazs-szucs in #3826
- chore(deps): bump github/codeql-action from 3.29.0 to 3.29.2 by @dependabot in #3848
- chore: include ignore_translation.toml in README sync commit by @Ludy87 in #3845
- Bump org.panteleyev.jpackageplugin from 1.6.1 to 1.7.3 by @dependabot in #3740
- Bump io.swagger.core.v3:swagger-core-jakarta from 2.2.33 to 2.2.34 by @dependabot in #3791
- Bump commonmarkVersion from 0.24.0 to 0.25.0 by @dependabot in #3789
- Bump com.opencsv:opencsv from 5.11.1 to 5.11.2 by @dependabot in #3793
- Bump urllib3 from 2.3.0 to 2.5.0 in /testing/cucumber in the pip group across 1 directory by @dependabot in #3769
- 🌐 Sync Translations + Update README Progress Table by @stirlingbot in #3875
- docs: restructure documentation paths, update PR template links, and add exception handling guide by @Ludy87 in #3885
- deps: update Python requirements and add --strip-extras flag by @Ludy87 in #3887
New Contributors
- @justeHe made their first contribution in #3597
- @ZhipengHe made their first contribution in #3653
- @KernelSailor made their first contribution in #3715
- @tomasbernardino made their first contribution in #3695
- @adityaruplaha made their first contribution in #3776
- @dogukansahil made their first contribution in #3783
- @dmiljk made their first contribution in #3844
- @GeistFighter made their first contribution in #3864
Full Changelog: v0.46.2...v1.0.0