Big release and changes today, JDK 25 enforcement and the groundwork for some big changes going forward with automation in mind and some big tool speed and memory improvements to be rolled out over coming weeks Due to the size of this release we recommend organisations do a backup before upgrade
- New JPDFium repository enhancement for 'merge' and 'split' tools to allow up to 99% less memory consumption on merges and splits (Special thanks to PDFium and EmbedPDF for this, Please check out EmbedPDF and donate to them, great project for the future of PDF for OSS)
- Forced JDK 25 for improved memory efficiency and compatibility issues
- Introduced Stirling.com code into OSS repo to make it source viewable and allow us to return stirling.com to the old UI (Coming very soon!)
- New folder system for file storage with a "my files" UI. Customisable folders and storage for server! (must be enabled in settings)
- Desktop multi-window support
- Desktop auto updater (WIP)
- Performance/cache improvements for browser
- OAuth2 / OIDC diagnostic logging flag
- Landscape page-size options
Bug fixes
- Fixed font loss in Rearrange / Overlay / Auto-split / OCR
- Fix issue with SSO Auto-login setting not correctly setting
- Certain desktop login loop issues
- Username showing as guest not User/username
- Compare tool issues
- File selection issues
- Tab refresh issues
- Missing icons
- Stop logo being dragable
- Mobile QR code upload URL fixes
- Merge reliability issues fixed
- Fixed in-page drag-to-reorder in desktop
What's Changed
Bug Fixes
- fix(task): make
task dev/task dev:allwork on Windows by @ConnorYoh in https://github.com/Stirling-Tools/Stirling-PDF/pull/6392 - Various bug fixes found while testing SaaS build by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6459
- fix: Use frontend/editor for locales paths by @Ludy87 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6483
- fix(update-service): correct GitHub branch reference for version retrieval by @Ludy87 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6333
- fix(e2e): stop files-page tests racing the skeleton-grid render by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6533
- fix: harden multi-file response detection so merge can't fail silently by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6516
- Fix intermittently failing Playwright tests in main by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6541
- fix(i18n): wrap hard-coded English strings in t() across UI by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6566
- fix(desktop): enable in-page drag-drop in Tauri build by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6548
- fix(automate): flip AutomationEntry tooltip to position=left by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6550
- Fix desktop app not being able to load pdfium by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6575
Enhancements
- perf(frontend): stabilize hot-path context subscriptions to fix excessive rerenders by @ConnorYoh in https://github.com/Stirling-Tools/Stirling-PDF/pull/6373
- Snag/disable logo drag by @EthanHealy01 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6393
- migrate exportUpdatedPages from bytes to stream by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6201
- build(deps): bump rustls-webpki from 0.103.9 to 0.103.13 in /frontend/src-tauri by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6323
- build(deps): bump quinn-proto from 0.11.13 to 0.11.14 in /frontend/src-tauri by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6322
- build(deps): bump tokio from 1.49.0 to 1.50.0 in /frontend/src-tauri in the tokio group across 1 directory by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6296
- build(deps): bump devalue from 5.6.4 to 5.8.1 in /frontend by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6367
- Updated Spanish translation by @IberianSoldierPC in https://github.com/Stirling-Tools/Stirling-PDF/pull/6309
- SaaS Consolidation by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6384
- JDK25 - Integrate Stirling-Tools JPDFium for PDF operations by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6387
- build(deps): bump svelte from 5.55.0 to 5.55.9 in /frontend by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6409
- build(deps-dev): bump ip-address from 10.1.0 to 10.2.0 in /frontend by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6319
- build(deps): bump protobufjs from 7.5.6 to 7.6.0 in /frontend by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6401
- build(deps): bump ws from 8.20.0 to 8.20.1 in /frontend by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6400
- Fix unresolved Material Symbols icon names in frontend by @Ludy87 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6443
- chore: address restructure PR review feedback by @reecebrowne in https://github.com/Stirling-Tools/Stirling-PDF/pull/6423
- impl migration to pdfium for split by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6410
- Fix login loop by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6402
- test(frontend): cover MIME precedence in non-PDF type detection by @saul1310 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6438
- test(frontend): add URL-encoded filename parsing case by @saul1310 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6436
- chore: fix "Endoints" typo in health route comment by @mvanhorn in https://github.com/Stirling-Tools/Stirling-PDF/pull/6446
- Add cluster backplane abstraction and interfaces by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6449
- Add server-side folders and files page UI by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6383
- feat(oauth2): opt-in claim-dump diagnostics for OIDC login failures by @ConnorYoh in https://github.com/Stirling-Tools/Stirling-PDF/pull/6456
- Add S3 storage and cluster artifact backend by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6457
- folder and file fixes by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6461
- saas: harden CreditService Stripe ordering + lint @AutoJobPostMapping weights by @ConnorYoh in https://github.com/Stirling-Tools/Stirling-PDF/pull/6458
- Fix SSO auto-login and custom metadata settings not persisting on restart by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6468
- feat: add Agents UI to proprietary right sidebar by @EthanHealy01 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6454
- Fix username display issues by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6471
- Update indexeddb to v9 to unify SaaS and OSS users by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6474
- Add desktop multi-window support by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6463
- Disable Save-to-server when storage off, fix QR port 0 by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6473
- perf(api): optimize static asset caching, enable ETag support, and expand response compression mime types. by @balazs-szucs in https://github.com/Stirling-Tools/Stirling-PDF/pull/6273
- Add CI coverage summaries and aggregate JaCoCo report by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6451
- Add Valkey cluster backplane and sticky-410 ownership (clusters) by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6472
- UI changes to update and support auto updating by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6075
- PAYG: hash-lineage detection primitives (modular extractor / store / detector) by @ConnorYoh in https://github.com/Stirling-Tools/Stirling-PDF/pull/6464
- Make zoom key command behave the same regardless of mouse position by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6508
- Switch to use JPDFium v1.0.2, which signs the Mac binaries by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6521
- Update Backend 3rd Party Licenses by @stirlingbot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6407
- Fix mockServiceWorker.js reformatting by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6526
- sort comments sidebar in visual reading order (#6439) by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6514
- Fix settings: dark borders, update dropdown z-index, dead accessibility link by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6528
- Improvements to agent chat markdown rendering. by @EthanHealy01 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6507
- Fix z-index conflicts: Google Drive picker, automate dropdowns, tooltips by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6513
- chore: i18n time utils and use TFunction type (#6507) by @EthanHealy01 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6539
- Make any typing linting opt-out instead of opt-in by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6542
- Fix desktop updater latest.json generation for releases by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6540
- perf(compression): add vite-plugin-compression for gzip and Brotli support by @balazs-szucs in https://github.com/Stirling-Tools/Stirling-PDF/pull/6279
- Minor: sanitize SVG by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6572
- feat(settings): link ENTERPRISE badges to plan page by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6560
- exclude unused Redis auto-config by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6547
- Explicitly test for console warnings & errors by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6502
- Lazy-load Stripe SDK so it only loads on checkout by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6546
- Hide endpoints by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6586
- fix many UI issues by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6569
- PAYG: V14 + V15 — subscription_id, free-tier, RPCs, audit logs by @ConnorYoh in https://github.com/Stirling-Tools/Stirling-PDF/pull/6532
- SaaS-aware API landing page by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6585
- stop background flash on tab switches, unblock Audit/Usage demos by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6562
- fix folder causing 500 toast when deleted on another machine by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6551
- Fix font loss in rearrange/overlay/autosplit/OCR from PDFBox by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6545
- Minor: Office doc changes by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6571
Docker Updates
- build(deps): bump sigstore/cosign-installer from 4.1.1 to 4.1.2 by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6377
- test Depot runners for team commits by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6394
- build(deps): bump step-security/harden-runner from 2.19.1 to 2.19.3 by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6422
- ci: harden workflow runners and update checkout action pins by @Ludy87 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6445
- Add CI DB migration smoke test against v2.0/v2.5/v2.10 updates by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6453
Translation Changes
- Fix Tauri artifact copy path so installers upload (smoke + release) by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6466
- ci(github-actions): replace deprecated app-id input with client-id by @Ludy87 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6485
Development Tools
- build(deps): bump fast-uri from 3.0.6 to 3.1.2 in /devTools by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6332
Other Changes
- build(deps): bump urllib3 from 2.6.3 to 2.7.0 in /testing/cucumber in the pip group across 1 directory by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6352
- deps: align Bouncy Castle modules to shared version property by @Ludy87 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6362
- build(deps): bump step-security/harden-runner from 2.19.0 to 2.19.1 by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6380
- build(deps): bump github/codeql-action from 4.35.3 to 4.35.4 by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6379
- build(deps): bump actions/dependency-review-action from 4.9.0 to 5.0.0 by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6378
- build(deps): bump pypdf from 6.10.2 to 6.11.0 in /testing/cucumber by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6376
- build(deps): bump org.postgresql:postgresql from 42.7.10 to 42.7.11 by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6375
- build(deps): bump softprops/action-gh-release from 2.6.1 to 3.0.0 by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6346
- Restructure/frontend editor by @reecebrowne in https://github.com/Stirling-Tools/Stirling-PDF/pull/6404
- build(deps): bump github/codeql-action from 4.35.4 to 4.35.5 by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6421
- build(deps): bump actions/ai-inference from 2.0.7 to 2.1.0 by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6415
- build(deps): bump com.diffplug.spotless from 8.4.0 to 8.5.0 by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6417
- build(deps): bump requests from 2.33.1 to 2.34.2 in /testing/cucumber by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6416
- build(deps): bump reportlab from 4.5.0 to 4.5.1 in /testing/cucumber by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6414
- build(deps): bump idna from 3.12 to 3.15 in /testing/cucumber in the pip group across 1 directory by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6403
- Working local Saas by @ConnorYoh in https://github.com/Stirling-Tools/Stirling-PDF/pull/6450
- Fix Tauri testing by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6462
- Auto-delete CI linting comments on success by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6465
- saas: DocumentClassifier + PAYG data model by @ConnorYoh in https://github.com/Stirling-Tools/Stirling-PDF/pull/6460
- PAYG: PricingPolicyService + admin REST + 30s read cache by @ConnorYoh in https://github.com/Stirling-Tools/Stirling-PDF/pull/6469
- Portal by @reecebrowne in https://github.com/Stirling-Tools/Stirling-PDF/pull/6391
- PAYG: process tracking + shadow charging engine (PR B-1) by @ConnorYoh in https://github.com/Stirling-Tools/Stirling-PDF/pull/6477
- PAYG B-2: shadow-mode filter + interceptor (engine activation) by @ConnorYoh in https://github.com/Stirling-Tools/Stirling-PDF/pull/6519
- PAYG B-3 / S-3: cucumber suite for shadow-mode flows + CI workflow by @ConnorYoh in https://github.com/Stirling-Tools/Stirling-PDF/pull/6522
- Sync Translations + tauri fix for get info by @stirlingbot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6484
New Contributors
- @IberianSoldierPC made their first contribution in https://github.com/Stirling-Tools/Stirling-PDF/pull/6309
- @saul1310 made their first contribution in https://github.com/Stirling-Tools/Stirling-PDF/pull/6438
- @mvanhorn made their first contribution in https://github.com/Stirling-Tools/Stirling-PDF/pull/6446
Full Changelog: https://github.com/Stirling-Tools/Stirling-PDF/compare/v2.11.0...v2.12.0