v3.1.0
paperless-ngx/paperless-ngxv3.1.0Aug 27, 2026by github-actions[bot]
AI Summary
A significant feature update introducing AI workflow actions, remote OCR engine support, and OIDC group synchronization. It also includes improvements to document versions, saved views, and UI customization.
Key Highlights
- Apply AI suggestions directly as a workflow action
- Support for using remote OCR engines selectively
- Sync OIDC groups to superuser and staff roles
- Merge documents as versions with customizable icons for saved views
New Features
- Apply AI suggestions workflow action
- Support using remote OCR engines selectively
- Sync OIDC groups to superuser and staff roles
- Merge documents as versions
- Allow selection of compression type and level during export
- Customizable icons for saved views
- Add --url argument to document_fuzzy_match
- Updates remote OCR parser to respect the OCR mode setting
- Improve no ML suggestions UX
- Make name button text on attribute pages selectable
Full Release Notes
## paperless-ngx 3.1.0 ### Features / Enhancements - Enhancement: Apply AI suggestions workflow action @shamoon ([#13639](https://github.com/paperless-ngx/paperless-ngx/pull/13639)) - Enhancement: welcome widget visual tweaks @shamoon ([#13794](https://github.com/paperless-ngx/paperless-ngx/pull/13794)) - Enhancement: support using remote OCR engines selectively @shamoon ([#13633](https://github.com/paperless-ngx/paperless-ngx/pull/13633)) - Enhancement: websocket heartbeat @oktupol ([#13739](https://github.com/paperless-ngx/paperless-ngx/pull/13739)) - Enhancement: more v3 ui tweaks @shamoon ([#13774](https://github.com/paperless-ngx/paperless-ngx/pull/13774)) - Tweak: better support long list of views in documents list @shamoon ([#13769](https://github.com/paperless-ngx/paperless-ngx/pull/13769)) - QoL: add count badge to versions dropdown @shamoon ([#13753](https://github.com/paperless-ngx/paperless-ngx/pull/13753)) - Tweakhancement: add jitter to IMAP polling schedule @shamoon ([#13734](https://github.com/paperless-ngx/paperless-ngx/pull/13734)) - Enhancement: sync OIDC groups to superuser and staff roles @BeSovereign ([#13060](https://github.com/paperless-ngx/paperless-ngx/pull/13060)) - Enhancement: merge documents as versions @shamoon ([#13515](https://github.com/paperless-ngx/paperless-ngx/pull/13515)) - Tweak: adjust modal proportions for small screens @shamoon ([#13728](https://github.com/paperless-ngx/paperless-ngx/pull/13728)) - Refactor: render paperless\_ai prompts via Jinja2 templates instead of f-strings @stumpylog ([#13698](https://github.com/paperless-ngx/paperless-ngx/pull/13698)) - Tweak: small visual tweaks / improvements \& fixes @shamoon ([#13700](https://github.com/paperless-ngx/paperless-ngx/pull/13700)) - Enhancement: prefer existing tags, types, correspondents, and storage paths in AI suggestions @stumpylog ([#13676](https://github.com/paperless-ngx/paperless-ngx/pull/13676)) - Tweak: tweak permissions menu labels for shared user-dependent views @shamoon ([#13685](https://github.com/paperless-ngx/paperless-ngx/pull/13685)) - Feature: Allow selection of compression type and and level during export @stumpylog ([#13661](https://github.com/paperless-ngx/paperless-ngx/pull/13661)) - Enhancement: customizable icons for saved views @shamoon ([#13388](https://github.com/paperless-ngx/paperless-ngx/pull/13388)) - Enhancement: Add --url argument to document\_fuzzy\_match to improve output @lukyjay ([#13123](https://github.com/paperless-ngx/paperless-ngx/pull/13123)) - Feature: Updates remote OCR parser to respect the OCR mode setting @stumpylog ([#13408](https://github.com/paperless-ngx/paperless-ngx/pull/13408)) - Tweak: improve no ML suggestions UX @shamoon ([#13621](https://github.com/paperless-ngx/paperless-ngx/pull/13621)) - Performance: reduce memory and I/O overhead of the document exporter during zip exports @stumpylog ([#13490](https://github.com/paperless-ngx/paperless-ngx/pull/13490)) - QoL: make name button text on attribute pages selectable @shamoon ([#13592](https://github.com/paperless-ngx/paperless-ngx/pull/13592)) - Performance: More efficient mail fetching @stumpylog ([#13432](https://github.com/paperless-ngx/paperless-ngx/pull/13432)) ### Bug Fixes - Fix: prevent config autocomplete craziness @shamoon ([#13808](https://github.com/paperless-ngx/paperless-ngx/pull/13808)) - Fix/performance: prevent token re-use in dropdown filtering, also a perf thing @shamoon ([#13804](https://github.com/paperless-ngx/paperless-ngx/pull/13804)) - Fix: exclude version documents from bulk edit "all" @shamoon ([#13791](https://github.com/paperless-ngx/paperless-ngx/pull/13791)) - Fix: fix bottom mobile nav buttons on Android @shamoon ([#13780](https://github.com/paperless-ngx/paperless-ngx/pull/13780)) - Fix: lazy import guardian modules to fix search language setting @shamoon ([#13768](https://github.com/paperless-ngx/paperless-ngx/pull/13768)) - Fix: version indexing fixes @shamoon ([#13737](https://github.com/paperless-ngx/paperless-ngx/pull/13737)) - Fix: append charset to file response for text files @shamoon ([#13759](https://github.com/paperless-ngx/paperless-ngx/pull/13759)) - Chore: pin Apache Tika images to 3.3.1 @shamoon ([#13758](https://github.com/paperless-ngx/paperless-ngx/pull/13758)) - Fix: align bulk edit object perms with document model @shamoon ([#13757](https://github.com/paperless-ngx/paperless-ngx/pull/13757)) - Fix: use selected version for doc detail emailing @shamoon ([#13738](https://github.com/paperless-ngx/paperless-ngx/pull/13738)) - Fix: hide version delete button without global perms @shamoon ([#13735](https://github.com/paperless-ngx/paperless-ngx/pull/13735)) - Fix: dont re-render path template when checking collisions @shamoon ([#13718](https://github.com/paperless-ngx/paperless-ngx/pull/13718)) - Fix: DocumentClassifierSchema bounds @shamoon ([#13707](https://github.com/paperless-ngx/paperless-ngx/pull/13707)) - Fix: remove shadow around attribute pages @shamoon ([#13696](https://github.com/paperless-ngx/paperless-ngx/pull/13696)) - Zen: correct dropdown corner radius visual defect @shamoon ([#13695](https://github.com/paperless-ngx/paperless-ngx/pull/13695)) - Fix: handle Android keyboard popper overlay @shamoon ([#13694](https://github.com/paperless-ngx/paperless-ngx/pull/13694)) - Fix: only show create when there is text, hide set values if no fields in cf bulk edit dropdown @shamoon ([#13688](https://github.com/paperless-ngx/paperless-ngx/pull/13688)) - Fix: reopen a fresh Tantivy index per write to prevent orphaned segment files @stumpylog ([#13682](https://github.com/paperless-ngx/paperless-ngx/pull/13682)) - Fix: fix validation of workflow title assignment @maxtruxa ([#13659](https://github.com/paperless-ngx/paperless-ngx/pull/13659)) - Fix: dont clip search dropdown on mobile @shamoon ([#13675](https://github.com/paperless-ngx/paperless-ngx/pull/13675)) - Fix: include sharelink bundle perms in WebUI @shamoon ([#13664](https://github.com/paperless-ngx/paperless-ngx/pull/13664)) - Fix: add pagination to saved views management page @shamoon ([#13646](https://github.com/paperless-ngx/paperless-ngx/pull/13646)) - Fix: fixes for workflow assign custom field values @shamoon ([#13630](https://github.com/paperless-ngx/paperless-ngx/pull/13630)) - Fix: deny deactivated users in permission filtering and auto-login @stumpylog ([#13623](https://github.com/paperless-ngx/paperless-ngx/pull/13623)) - Fix: check bulk mail delete permissions for the whole batch up front @stumpylog ([#13620](https://github.com/paperless-ngx/paperless-ngx/pull/13620)) - Fix: Allow DRF to validate the maximum API key length @stumpylog ([#13614](https://github.com/paperless-ngx/paperless-ngx/pull/13614)) - Fix: render PDF form values in annotation layer @shamoon ([#13607](https://github.com/paperless-ngx/paperless-ngx/pull/13607)) - QoL: disable name button without perms @shamoon ([#13606](https://github.com/paperless-ngx/paperless-ngx/pull/13606)) - Fix: prevent debounce overwrites in advanced search field, also improve Esc behavior @shamoon ([#13602](https://github.com/paperless-ngx/paperless-ngx/pull/13602)) - Fix: raise ParseError on remote OCR failure instead of silently continuing @stumpylog ([#13574](https://github.com/paperless-ngx/paperless-ngx/pull/13574)) - Fix: use selected version when creating share links @shamoon ([#13571](https://github.com/paperless-ngx/paperless-ngx/pull/13571)) - Fix: reject bulk edit permissions requests without the correct key @shamoon ([#13563](https://github.com/paperless-ngx/paperless-ngx/pull/13563)) - Fix: correctly serve app logo specified in env @shamoon ([#13561](https://github.com/paperless-ngx/paperless-ngx/pull/13561)) - Fix: prevent workflow passwords field type error @shamoon ([#13552](https://github.com/paperless-ngx/paperless-ngx/pull/13552)) - Fix: correct Firefox print regression @shamoon ([#13543](https://github.com/paperless-ngx/paperless-ngx/pull/13543)) - Fix: hide some saved view operations on management page without permissions @shamoon ([#13542](https://github.com/paperless-ngx/paperless-ngx/pull/13542)) - Fix: disable pdfjs selection rendering @shamoon ([#13538](https://github.com/paperless-ngx/paperless-ngx/pull/13538)) - Fix: hide sidebar drag grips with insufficient permissions @shamoon ([#13536](https://github.com/paperless-ngx/paperless-ngx/pull/13536)) - Fix: don't re-queue a consume-folder file that is already queued and awaiting consumption @stumpylog ([#13526](https://github.com/paperless-ngx/paperless-ngx/pull/13526)) - Fix: correct multi-search non-adjacent queries @shamoon ([#13504](https://github.com/paperless-ngx/paperless-ngx/pull/13504)) - Fix: Content-Disposition filename normalization @shamoon ([#13514](https://github.com/paperless-ngx/paperless-ngx/pull/13514)) - Fix: prevent duplicated text query with multiple date queries @shamoon ([#13522](https://github.com/paperless-ngx/paperless-ngx/pull/13522)) - Fix: crash filtering document link custom fields with an unset or unrelated field present @ggouzi ([#13518](https://github.com/paperless-ngx/paperless-ngx/pull/13518)) - Fix: parse unpadded yyyy-mm-dd date input regardless of locale @Se1foo ([#13501](https://github.com/paperless-ngx/paperless-ngx/pull/13501)) ### Documentation - Documentation: clarify default OCR mode changes in v3 @shamoon ([#13666](https://github.com/paperless-ngx/paperless-ngx/pull/13666)) - Fix: fixes for workflow assign custom field values @shamoon ([#13630](https://github.com/paperless-ngx/paperless-ngx/pull/13630)) - Documentation: add wiki links for AI stuff and parser plugins @shamoon ([#13626](https://github.com/paperless-ngx/paperless-ngx/pull/13626)) ### Maintenance - Chore(deps): Bump the actions group across 1 directory with 20 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#13481](https://github.com/paperless-ngx/paperless-ngx/pull/13481)) ### Dependencies <details> <summary>23 changes</summary> - Chore: Upgrade Docker image to Python 3.14 @stumpylog ([#13721](https://github.com/paperless-ngx/paperless-ngx/pull/13721)) - Chore(deps): Bump the uv group across 1 directory with 2 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#13709](https://github.com/paperless-ngx/paperless-ngx/pull/13709)) - Chore: update, reorg some npm deps @shamoon ([#13716](https://github.com/paperless-ngx/paperless-ngx/pull/13716)) - Chore: update fpdf2 to 2.8.8 @shamoon ([#13629](https://github.com/paperless-ngx/paperless-ngx/pull/13629)) - Chore: update pnpm, add blockExoticSubdeps @shamoon ([#13628](https://github.com/paperless-ngx/paperless-ngx/pull/13628)) - Chore(deps): Bump h2 from 4.3.0 to 4.4.1 in the uv group across 1 directory @[dependabot[bot]](https://github.com/apps/dependabot) ([#13593](https://github.com/paperless-ngx/paperless-ngx/pull/13593)) - Chore(deps): Bump pdfjs-dist from 6.1.200 to 6.2.108 in /src-ui in the npm\_and\_yarn group across 1 directory @[dependabot[bot]](https://github.com/apps/dependabot) ([#13594](https://github.com/paperless-ngx/paperless-ngx/pull/13594)) - Chore(deps): Bump cryptography from 48.0.1 to 50.0.0 in the uv group across 1 directory @[dependabot[bot]](https://github.com/apps/dependabot) ([#13588](https://github.com/paperless-ngx/paperless-ngx/pull/13588)) - Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#13539](https://github.com/paperless-ngx/paperless-ngx/pull/13539)) - Chore(deps): Bump the utilities-minor group across 1 directory with 20 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#13535](https://github.com/paperless-ngx/paperless-ngx/pull/13535)) - Chore(deps): Bump aiohttp from 3.14.1 to 3.14.3 in the uv group across 1 directory @[dependabot[bot]](https://github.com/apps/dependabot) ([#13537](https://github.com/paperless-ngx/paperless-ngx/pull/13537)) - Chore(deps-dev): Bump zensical from 0.0.47 to 0.0.51 in the development group across 1 directory @[dependabot[bot]](https://github.com/apps/dependabot) ([#13533](https://github.com/paperless-ngx/paperless-ngx/pull/13533)) - Chore(deps-dev): Bump postcss from 8.5.22 to 8.5.25 in /src/paperless\_mail/templates in the npm\_and\_yarn group across 1 directory @[dependabot[bot]](https://github.com/apps/dependabot) ([#13534](https://github.com/paperless-ngx/paperless-ngx/pull/13534)) - Chore(deps): Bump the pre-commit-dependencies group across 1 directory with 4 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#13532](https://github.com/paperless-ngx/paperless-ngx/pull/13532)) - Chore: ruff 0.16 upgrade @stumpylog ([#13531](https://github.com/paperless-ngx/paperless-ngx/pull/13531)) - Chore(deps): Bump the actions group across 1 directory with 20 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#13481](https://github.com/paperless-ngx/paperless-ngx/pull/13481)) - docker(deps): bump astral-sh/uv from 0.11.28-python3.12-trixie-slim to 0.11.32-python3.12-trixie-slim @[dependabot[bot]](https://github.com/apps/dependabot) ([#13472](https://github.com/paperless-ngx/paperless-ngx/pull/13472)) - docker-compose(deps): bump nginx from 1.31.2-alpine to 1.31.3-alpine in /docker/compose @[dependabot[bot]](https://github.com/apps/dependabot) ([#13470](https://github.com/paperless-ngx/paperless-ngx/pull/13470)) - docker-compose(deps): Bump greenmail/standalone from 2.1.9 to 2.1.11 in /docker/compose @[dependabot[bot]](https://github.com/apps/dependabot) ([#13469](https://github.com/paperless-ngx/paperless-ngx/pull/13469)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 18 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#13476](https://github.com/paperless-ngx/paperless-ngx/pull/13476)) - Chore(deps-dev): Bump @<!---->playwright/test from 1.61.1 to 1.62.0 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#13480](https://github.com/paperless-ngx/paperless-ngx/pull/13480)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#13477](https://github.com/paperless-ngx/paperless-ngx/pull/13477)) - Chore(deps-dev): Bump @<!---->types/node from 26.1.0 to 26.1.1 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#13479](https://github.com/paperless-ngx/paperless-ngx/pull/13479)) </details> ### All App Changes <details> <summary>91 changes</summary> - Fix: prevent config autocomplete craziness @shamoon ([#13808](https://github.com/paperless-ngx/paperless-ngx/pull/13808)) - Fix/performance: prevent token re-use in dropdown filtering, also a perf thing @shamoon ([#13804](https://github.com/paperless-ngx/paperless-ngx/pull/13804)) - Enhancement: Apply AI suggestions workflow action @shamoon ([#13639](https://github.com/paperless-ngx/paperless-ngx/pull/13639)) - Fix: exclude version documents from bulk edit "all" @shamoon ([#13791](https://github.com/paperless-ngx/paperless-ngx/pull/13791)) - Enhancement: welcome widget visual tweaks @shamoon ([#13794](https://github.com/paperless-ngx/paperless-ngx/pull/13794)) - Performance: fetch note authors with prefetch instead of one query each @shamoon ([#13790](https://github.com/paperless-ngx/paperless-ngx/pull/13790)) - Tweak: more misc UI tweaks @shamoon ([#13783](https://github.com/paperless-ngx/paperless-ngx/pull/13783)) - Enhancement: support using remote OCR engines selectively @shamoon ([#13633](https://github.com/paperless-ngx/paperless-ngx/pull/13633)) - Fix: fix bottom mobile nav buttons on Android @shamoon ([#13780](https://github.com/paperless-ngx/paperless-ngx/pull/13780)) - Enhancement: websocket heartbeat @oktupol ([#13739](https://github.com/paperless-ngx/paperless-ngx/pull/13739)) - Fix: lazy import guardian modules to fix search language setting @shamoon ([#13768](https://github.com/paperless-ngx/paperless-ngx/pull/13768)) - Enhancement: more v3 ui tweaks @shamoon ([#13774](https://github.com/paperless-ngx/paperless-ngx/pull/13774)) - Chore: add some missing UI accessibility labels @shamoon ([#13772](https://github.com/paperless-ngx/paperless-ngx/pull/13772)) - Chore: refactor permission checkbox live changes @shamoon ([#13771](https://github.com/paperless-ngx/paperless-ngx/pull/13771)) - Tweak: better support long list of views in documents list @shamoon ([#13769](https://github.com/paperless-ngx/paperless-ngx/pull/13769)) - Fix: version indexing fixes @shamoon ([#13737](https://github.com/paperless-ngx/paperless-ngx/pull/13737)) - Fix: append charset to file response for text files @shamoon ([#13759](https://github.com/paperless-ngx/paperless-ngx/pull/13759)) - Fix: align bulk edit object perms with document model @shamoon ([#13757](https://github.com/paperless-ngx/paperless-ngx/pull/13757)) - QoL: add count badge to versions dropdown @shamoon ([#13753](https://github.com/paperless-ngx/paperless-ngx/pull/13753)) - Tweakhancement: add jitter to IMAP polling schedule @shamoon ([#13734](https://github.com/paperless-ngx/paperless-ngx/pull/13734)) - Fix: use selected version for doc detail emailing @shamoon ([#13738](https://github.com/paperless-ngx/paperless-ngx/pull/13738)) - Fix: hide version delete button without global perms @shamoon ([#13735](https://github.com/paperless-ngx/paperless-ngx/pull/13735)) - Enhancement: sync OIDC groups to superuser and staff roles @BeSovereign ([#13060](https://github.com/paperless-ngx/paperless-ngx/pull/13060)) - Enhancement: merge documents as versions @shamoon ([#13515](https://github.com/paperless-ngx/paperless-ngx/pull/13515)) - Tweak: adjust modal proportions for small screens @shamoon ([#13728](https://github.com/paperless-ngx/paperless-ngx/pull/13728)) - Refactor: render paperless\_ai prompts via Jinja2 templates instead of f-strings @stumpylog ([#13698](https://github.com/paperless-ngx/paperless-ngx/pull/13698)) - Chore(deps): Bump the uv group across 1 directory with 2 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#13709](https://github.com/paperless-ngx/paperless-ngx/pull/13709)) - Fix: dont re-render path template when checking collisions @shamoon ([#13718](https://github.com/paperless-ngx/paperless-ngx/pull/13718)) - Chore: update, reorg some npm deps @shamoon ([#13716](https://github.com/paperless-ngx/paperless-ngx/pull/13716)) - Fix: DocumentClassifierSchema bounds @shamoon ([#13707](https://github.com/paperless-ngx/paperless-ngx/pull/13707)) - Tweak: small visual tweaks / improvements \& fixes @shamoon ([#13700](https://github.com/paperless-ngx/paperless-ngx/pull/13700)) - Fix: remove shadow around attribute pages @shamoon ([#13696](https://github.com/paperless-ngx/paperless-ngx/pull/13696)) - Zen: correct dropdown corner radius visual defect @shamoon ([#13695](https://github.com/paperless-ngx/paperless-ngx/pull/13695)) - Fix: handle Android keyboard popper overlay @shamoon ([#13694](https://github.com/paperless-ngx/paperless-ngx/pull/13694)) - Enhancement: prefer existing tags, types, correspondents, and storage paths in AI suggestions @stumpylog ([#13676](https://github.com/paperless-ngx/paperless-ngx/pull/13676)) - Fix: only show create when there is text, hide set values if no fields in cf bulk edit dropdown @shamoon ([#13688](https://github.com/paperless-ngx/paperless-ngx/pull/13688)) - Fix: reopen a fresh Tantivy index per write to prevent orphaned segment files @stumpylog ([#13682](https://github.com/paperless-ngx/paperless-ngx/pull/13682)) - Tweak: tweak permissions menu labels for shared user-dependent views @shamoon ([#13685](https://github.com/paperless-ngx/paperless-ngx/pull/13685)) - Fix: fix validation of workflow title assignment @maxtruxa ([#13659](https://github.com/paperless-ngx/paperless-ngx/pull/13659)) - Feature: Allow selection of compression type and and level during export @stumpylog ([#13661](https://github.com/paperless-ngx/paperless-ngx/pull/13661)) - Fix: dont clip search dropdown on mobile @shamoon ([#13675](https://github.com/paperless-ngx/paperless-ngx/pull/13675)) - Fix: include sharelink bundle perms in WebUI @shamoon ([#13664](https://github.com/paperless-ngx/paperless-ngx/pull/13664)) - Enhancement: customizable icons for saved views @shamoon ([#13388](https://github.com/paperless-ngx/paperless-ngx/pull/13388)) - Enhancement: Add --url argument to document\_fuzzy\_match to improve output @lukyjay ([#13123](https://github.com/paperless-ngx/paperless-ngx/pull/13123)) - Feature: Updates remote OCR parser to respect the OCR mode setting @stumpylog ([#13408](https://github.com/paperless-ngx/paperless-ngx/pull/13408)) - Performance: pass document chat queries as a QuerySet instead of a materialized.list @stumpylog ([#13638](https://github.com/paperless-ngx/paperless-ngx/pull/13638)) - Fix: add pagination to saved views management page @shamoon ([#13646](https://github.com/paperless-ngx/paperless-ngx/pull/13646)) - Fix: fixes for workflow assign custom field values @shamoon ([#13630](https://github.com/paperless-ngx/paperless-ngx/pull/13630)) - Fix: deny deactivated users in permission filtering and auto-login @stumpylog ([#13623](https://github.com/paperless-ngx/paperless-ngx/pull/13623)) - Chore: update fpdf2 to 2.8.8 @shamoon ([#13629](https://github.com/paperless-ngx/paperless-ngx/pull/13629)) - Chore: update pnpm, add blockExoticSubdeps @shamoon ([#13628](https://github.com/paperless-ngx/paperless-ngx/pull/13628)) - Fix: check bulk mail delete permissions for the whole batch up front @stumpylog ([#13620](https://github.com/paperless-ngx/paperless-ngx/pull/13620)) - Tweak: improve no ML suggestions UX @shamoon ([#13621](https://github.com/paperless-ngx/paperless-ngx/pull/13621)) - Fix: Allow DRF to validate the maximum API key length @stumpylog ([#13614](https://github.com/paperless-ngx/paperless-ngx/pull/13614)) - Performance: unify permission-filtering backends, fixes Correspondent/Tag list slowness @stumpylog ([#13601](https://github.com/paperless-ngx/paperless-ngx/pull/13601)) - Performance: generalize permitted\_document\_ids into permitted\_object\_ids for any model @stumpylog ([#13578](https://github.com/paperless-ngx/paperless-ngx/pull/13578)) - Fix: render PDF form values in annotation layer @shamoon ([#13607](https://github.com/paperless-ngx/paperless-ngx/pull/13607)) - QoL: disable name button without perms @shamoon ([#13606](https://github.com/paperless-ngx/paperless-ngx/pull/13606)) - Fix: prevent debounce overwrites in advanced search field, also improve Esc behavior @shamoon ([#13602](https://github.com/paperless-ngx/paperless-ngx/pull/13602)) - Performance: reduce memory and I/O overhead of the document exporter during zip exports @stumpylog ([#13490](https://github.com/paperless-ngx/paperless-ngx/pull/13490)) - Chore(deps): Bump h2 from 4.3.0 to 4.4.1 in the uv group across 1 directory @[dependabot[bot]](https://github.com/apps/dependabot) ([#13593](https://github.com/paperless-ngx/paperless-ngx/pull/13593)) - Chore(deps): Bump pdfjs-dist from 6.1.200 to 6.2.108 in /src-ui in the npm\_and\_yarn group across 1 directory @[dependabot[bot]](https://github.com/apps/dependabot) ([#13594](https://github.com/paperless-ngx/paperless-ngx/pull/13594)) - QoL: make name button text on attribute pages selectable @shamoon ([#13592](https://github.com/paperless-ngx/paperless-ngx/pull/13592)) - Fix: raise ParseError on remote OCR failure instead of silently continuing @stumpylog ([#13574](https://github.com/paperless-ngx/paperless-ngx/pull/13574)) - Fix: use selected version when creating share links @shamoon ([#13571](https://github.com/paperless-ngx/paperless-ngx/pull/13571)) - Chore: specify AI chat refine template @shamoon ([#13564](https://github.com/paperless-ngx/paperless-ngx/pull/13564)) - Fix: reject bulk edit permissions requests without the correct key @shamoon ([#13563](https://github.com/paperless-ngx/paperless-ngx/pull/13563)) - Fix: correctly serve app logo specified in env @shamoon ([#13561](https://github.com/paperless-ngx/paperless-ngx/pull/13561)) - Fix: prevent workflow passwords field type error @shamoon ([#13552](https://github.com/paperless-ngx/paperless-ngx/pull/13552)) - Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#13539](https://github.com/paperless-ngx/paperless-ngx/pull/13539)) - Chore(deps): Bump the utilities-minor group across 1 directory with 20 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#13535](https://github.com/paperless-ngx/paperless-ngx/pull/13535)) - Performance: More efficient mail fetching @stumpylog ([#13432](https://github.com/paperless-ngx/paperless-ngx/pull/13432)) - Performance: eliminate per-document guardian permission-check causing high CPU on document lists @stumpylog ([#13505](https://github.com/paperless-ngx/paperless-ngx/pull/13505)) - Fix: correct Firefox print regression @shamoon ([#13543](https://github.com/paperless-ngx/paperless-ngx/pull/13543)) - Fix: hide some saved view operations on management page without permissions @shamoon ([#13542](https://github.com/paperless-ngx/paperless-ngx/pull/13542)) - Chore(deps): Bump aiohttp from 3.14.1 to 3.14.3 in the uv group across 1 directory @[dependabot[bot]](https://github.com/apps/dependabot) ([#13537](https://github.com/paperless-ngx/paperless-ngx/pull/13537)) - Chore(deps-dev): Bump zensical from 0.0.47 to 0.0.51 in the development group across 1 directory @[dependabot[bot]](https://github.com/apps/dependabot) ([#13533](https://github.com/paperless-ngx/paperless-ngx/pull/13533)) - Fix: disable pdfjs selection rendering @shamoon ([#13538](https://github.com/paperless-ngx/paperless-ngx/pull/13538)) - Fix: hide sidebar drag grips with insufficient permissions @shamoon ([#13536](https://github.com/paperless-ngx/paperless-ngx/pull/13536)) - Chore(deps-dev): Bump postcss from 8.5.22 to 8.5.25 in /src/paperless\_mail/templates in the npm\_and\_yarn group across 1 directory @[dependabot[bot]](https://github.com/apps/dependabot) ([#13534](https://github.com/paperless-ngx/paperless-ngx/pull/13534)) - Chore: ruff 0.16 upgrade @stumpylog ([#13531](https://github.com/paperless-ngx/paperless-ngx/pull/13531)) - Fix: don't re-queue a consume-folder file that is already queued and awaiting consumption @stumpylog ([#13526](https://github.com/paperless-ngx/paperless-ngx/pull/13526)) - Fix: correct multi-search non-adjacent queries @shamoon ([#13504](https://github.com/paperless-ngx/paperless-ngx/pull/13504)) - Fix: Content-Disposition filename normalization @shamoon ([#13514](https://github.com/paperless-ngx/paperless-ngx/pull/13514)) - Fix: prevent duplicated text query with multiple date queries @shamoon ([#13522](https://github.com/paperless-ngx/paperless-ngx/pull/13522)) - Fix: crash filtering document link custom fields with an unset or unrelated field present @ggouzi ([#13518](https://github.com/paperless-ngx/paperless-ngx/pull/13518)) - Fix: parse unpadded yyyy-mm-dd date input regardless of locale @Se1foo ([#13501](https://github.com/paperless-ngx/paperless-ngx/pull/13501)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 18 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#13476](https://github.com/paperless-ngx/paperless-ngx/pull/13476)) - Chore(deps-dev): Bump @<!---->playwright/test from 1.61.1 to 1.62.0 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#13480](https://github.com/paperless-ngx/paperless-ngx/pull/13480)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#13477](https://github.com/paperless-ngx/paperless-ngx/pull/13477)) - Chore(deps-dev): Bump @<!---->types/node from 26.1.0 to 26.1.1 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#13479](https://github.com/paperless-ngx/paperless-ngx/pull/13479)) </details>