chore(deps): update ghcr.io/paperless-ngx/paperless-ngx docker tag to v3 #111

Open
renovate-bot wants to merge 1 commit from renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x into main
Member

This PR contains the following updates:

Package Update Change
ghcr.io/paperless-ngx/paperless-ngx major 2.20.15 → 3.3.4

Release Notes

paperless-ngx/paperless-ngx (ghcr.io/paperless-ngx/paperless-ngx)

v3.3.4: Paperless-ngx v3.3.4

Compare Source

paperless-ngx 3.3.4

[!NOTE]
This security maintenance release updates dependencies to address the eMudhra / emSign CA certificate security incident and security vulnerabilities in Pillow and aiohttp. These issues affect third-party dependencies rather than Paperless-ngx’s own code. Updating is recommended for all users.

All App Changes

v3.3.3: Paperless-ngx v3.3.3

Compare Source

paperless-ngx 3.3.3

Bug Fixes
All App Changes
10 changes

v3.3.2: Paperless-ngx v3.3.2

Compare Source

paperless-ngx 3.3.2

[!NOTE]
This release addresses a security issue (GHSA-c8f3-pqr2-rr24) and is recommended for all users. Our sincere thank you to the community members for reporting this.

Bug Fixes
Dependencies
All App Changes
5 changes

v3.3.1: Paperless-ngx v3.3.1

Compare Source

paperless-ngx 3.3.1

Bug Fixes
Documentation
Maintenance
Dependencies
All App Changes
12 changes

v3.3.0: Paperless-ngx v3.3.0

Compare Source

paperless-ngx 3.3.0

Features / Enhancements
Bug Fixes
Documentation
Maintenance
Dependencies
27 changes
All App Changes
41 changes

v3.2.1: Paperless-ngx v3.2.1

Compare Source

paperless-ngx 3.2.1

Bug Fixes
Dependencies
All App Changes
4 changes

v3.2.0: Paperless-ngx v3.2.0

Compare Source

paperless-ngx 3.2.0

Features / Enhancements
Bug Fixes
Dependencies
29 changes
All App Changes
80 changes

v3.1.3: Paperless-ngx v3.1.3

Compare Source

paperless-ngx 3.1.3

Bug Fixes
Dependencies
7 changes
  • Chore(deps): Bump the uv group across 1 directory with 2 updates @​dependabot[bot] (#​13958)
  • docker-compose(deps): bump nginx from 1.31.3-alpine to 1.31.5-alpine in /docker/compose @​dependabot[bot] (#​13909)
  • docker-compose(deps): Bump greenmail/standalone from 2.1.11 to 2.1.13 in /docker/compose @​dependabot[bot] (#​13907)
  • Chore(deps-dev): Bump postcss-selector-parser from 6.1.2 to 6.1.4 in /src/paperless_mail/templates in the npm_and_yarn group across 1 directory @​dependabot[bot] (#​13905)
  • Chore(deps): Bump nltk from 3.10.0 to 3.10.3 in the data-nlp-search group across 1 directory @​dependabot[bot] (#​13917)
  • Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 14 updates @​dependabot[bot] (#​13915)
  • Chore(deps): Bump djangorestframework from 3.17.1 to 3.17.2 in the uv group across 1 directory @​dependabot[bot] (#​13904)
All App Changes
22 changes

v3.1.2: Paperless-ngx v3.1.2

Compare Source

paperless-ngx 3.1.2

[!NOTE]
This release addresses a security issue (GHSA-2jhj-xqrq-rmrq) and is recommended for all users. Our sincere thank you to the community members (and their LLMs) for reporting this.

Bug Fixes
Documentation
All App Changes
2 changes

v3.1.1: Paperless-ngx v3.1.1

Compare Source

paperless-ngx 3.1.1

Bug Fixes
All App Changes
12 changes

v3.1.0: Paperless-ngx v3.1.0

Compare Source

paperless-ngx 3.1.0

Features / Enhancements
Bug Fixes
Documentation
Maintenance
Dependencies
23 changes
All App Changes
91 changes

v3.0.5: Paperless-ngx v3.0.5

Compare Source

paperless-ngx 3.0.5

Bug Fixes
Documentation
Dependencies
  • Chore(deps): Bump pymdown-extensions from 10.21.3 to 11.0 in the uv group across 1 directory @​dependabot[bot] (#​13378)
All App Changes
21 changes

v3.0.4: Paperless-ngx v3.0.4

Compare Source

paperless-ngx 3.0.4

Bug Fixes
Documentation
Dependencies
All App Changes
14 changes

v3.0.3: Paperless-ngx v3.0.3

Compare Source

paperless-ngx 3.0.3

Bug Fixes
Documentation
Maintenance
All App Changes
6 changes

v3.0.2: Paperless-ngx v3.0.2

Compare Source

paperless-ngx 3.0.2

Bug Fixes
All App Changes

v3.0.1: Paperless-ngx v3.0.1

Compare Source

[!WARNING]
An issue with database migrations prevents v3.0.1 from running, users should upgrade to v3.0.2

paperless-ngx 3.0.1

Bug Fixes
Dependencies
  • Chore(deps-dev): Bump postcss from 8.5.6 to 8.5.22 in /src/paperless_mail/templates in the npm_and_yarn group across 1 directory @​dependabot[bot] (#​13236)
  • Chore(deps): Bump pyasn1 from 0.6.3 to 0.6.4 in the uv group across 1 directory @​dependabot[bot] (#​13237)
  • Chore(deps): Bump the uv group across 1 directory with 8 updates @​dependabot[bot] (#​13189)
All App Changes
17 changes

v3.0.0: Paperless-ngx v3.0.0

Compare Source

paperless-ngx 3.0.0

Breaking Changes
Notable Changes
Features / Enhancements
Bug Fixes
Documentation
Maintenance
Dependencies
162 changes

Removed for character

All App Changes
360 changes

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/paperless-ngx/paperless-ngx](https://github.com/paperless-ngx/paperless-ngx) | major | `2.20.15` → `3.3.4` | --- ### Release Notes <details> <summary>paperless-ngx/paperless-ngx (ghcr.io/paperless-ngx/paperless-ngx)</summary> ### [`v3.3.4`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.3.4): Paperless-ngx v3.3.4 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.3.3...v3.3.4) #### paperless-ngx 3.3.4 > \[!NOTE] > This security maintenance release updates dependencies to address the [eMudhra / emSign CA certificate security incident](https://discuss.python.org/t/information-for-python-users-regarding-emudhra-emsign-ca-certificate-security-incident/109576) and security vulnerabilities in Pillow and aiohttp. These issues affect third-party dependencies rather than Paperless-ngx’s own code. Updating is recommended for all users. ##### All App Changes - Chore: Update certifi for eMudhra CA incident [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14533](https://github.com/paperless-ngx/paperless-ngx/pull/14533)) - Chore: Update uv to 0.13 for the eMudhra CA fixes [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14532](https://github.com/paperless-ngx/paperless-ngx/pull/14532)) ### [`v3.3.3`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.3.3): Paperless-ngx v3.3.3 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.3.2...v3.3.3) #### paperless-ngx 3.3.3 ##### Bug Fixes - Fix: fix global search input layout shifting [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14491](https://github.com/paperless-ngx/paperless-ngx/pull/14491)) - Fix: dont include doc content on global search results [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14488](https://github.com/paperless-ngx/paperless-ngx/pull/14488)) - Fix: remove some redundant pagers [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14487](https://github.com/paperless-ngx/paperless-ngx/pull/14487)) - Fix: prevent weird wrapping of dashboard widget column titles [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14486](https://github.com/paperless-ngx/paperless-ngx/pull/14486)) - Fix: dont paginate 'all' tasks view across sections [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14484](https://github.com/paperless-ngx/paperless-ngx/pull/14484)) - Fix: use float parsing for importer manifest records with a passphrase [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14483](https://github.com/paperless-ngx/paperless-ngx/pull/14483)) - Fix: respect subpath in logout, share link and auto-login redirects [@&#8203;jaimevelaz](https://github.com/jaimevelaz) ([#&#8203;14476](https://github.com/paperless-ngx/paperless-ngx/pull/14476)) - Fix: dont tie suggestions button to ai enabled any more [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14478](https://github.com/paperless-ngx/paperless-ngx/pull/14478)) - Fix: handle single-class classifier in threshold prediction (#<!---->14471) [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14473](https://github.com/paperless-ngx/paperless-ngx/pull/14473)) - Fix: keep counter and extension when shortening long public filenames [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14472](https://github.com/paperless-ngx/paperless-ngx/pull/14472)) ##### All App Changes <details> <summary>10 changes</summary> - Fix: fix global search input layout shifting [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14491](https://github.com/paperless-ngx/paperless-ngx/pull/14491)) - Fix: dont include doc content on global search results [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14488](https://github.com/paperless-ngx/paperless-ngx/pull/14488)) - Fix: remove some redundant pagers [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14487](https://github.com/paperless-ngx/paperless-ngx/pull/14487)) - Fix: prevent weird wrapping of dashboard widget column titles [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14486](https://github.com/paperless-ngx/paperless-ngx/pull/14486)) - Fix: dont paginate 'all' tasks view across sections [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14484](https://github.com/paperless-ngx/paperless-ngx/pull/14484)) - Fix: use float parsing for importer manifest records with a passphrase [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14483](https://github.com/paperless-ngx/paperless-ngx/pull/14483)) - Fix: respect subpath in logout, share link and auto-login redirects [@&#8203;jaimevelaz](https://github.com/jaimevelaz) ([#&#8203;14476](https://github.com/paperless-ngx/paperless-ngx/pull/14476)) - Fix: dont tie suggestions button to ai enabled any more [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14478](https://github.com/paperless-ngx/paperless-ngx/pull/14478)) - Fix: handle single-class classifier in threshold prediction (#<!---->14471) [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14473](https://github.com/paperless-ngx/paperless-ngx/pull/14473)) - Fix: keep counter and extension when shortening long public filenames [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14472](https://github.com/paperless-ngx/paperless-ngx/pull/14472)) </details> ### [`v3.3.2`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.3.2): Paperless-ngx v3.3.2 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.3.1...v3.3.2) #### paperless-ngx 3.3.2 > \[!NOTE] > This release addresses a security issue (GHSA-c8f3-pqr2-rr24) and is recommended for all users. Our sincere thank you to the community members for reporting this. ##### Bug Fixes - Fix: copy only direct user grants in DocumentMetadataOverrides.from\_document [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14452](https://github.com/paperless-ngx/paperless-ngx/pull/14452)) - Fix: support combined text/query searches [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14443](https://github.com/paperless-ngx/paperless-ngx/pull/14443)) - Fix: make exporter derived file names unique when originals differ only by extension [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14429](https://github.com/paperless-ngx/paperless-ngx/pull/14429)) ##### Dependencies - Chore(deps): Bump filelock from 3.32.6 to 4.0.12 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14336](https://github.com/paperless-ngx/paperless-ngx/pull/14336)) - Chore(deps): Bump the uv group across 1 directory with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14418](https://github.com/paperless-ngx/paperless-ngx/pull/14418)) ##### All App Changes <details> <summary>5 changes</summary> - Fix: copy only direct user grants in DocumentMetadataOverrides.from\_document [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14452](https://github.com/paperless-ngx/paperless-ngx/pull/14452)) - Chore(deps): Bump filelock from 3.32.6 to 4.0.12 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14336](https://github.com/paperless-ngx/paperless-ngx/pull/14336)) - Fix: support combined text/query searches [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14443](https://github.com/paperless-ngx/paperless-ngx/pull/14443)) - Chore(deps): Bump the uv group across 1 directory with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14418](https://github.com/paperless-ngx/paperless-ngx/pull/14418)) - Fix: make exporter derived file names unique when originals differ only by extension [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14429](https://github.com/paperless-ngx/paperless-ngx/pull/14429)) </details> ### [`v3.3.1`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.3.1): Paperless-ngx v3.3.1 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.3.0...v3.3.1) #### paperless-ngx 3.3.1 ##### Bug Fixes - Fix: use a root document's effective content for the LLM index and pr… [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14423](https://github.com/paperless-ngx/paperless-ngx/pull/14423)) - Fix: index document versions as their root document [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14422](https://github.com/paperless-ngx/paperless-ngx/pull/14422)) - Fix: authorize document versions by their root in the single-object permission check [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14421](https://github.com/paperless-ngx/paperless-ngx/pull/14421)) - Fix: Provide better error messages to users for invalid JSON [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14419](https://github.com/paperless-ngx/paperless-ngx/pull/14419)) - Fix: authorize document versions by their root and speed up permission id sets [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14396](https://github.com/paperless-ngx/paperless-ngx/pull/14396)) - Chore: update the db options warning [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14398](https://github.com/paperless-ngx/paperless-ngx/pull/14398)) - Fix: bulk reprocess latest version for root documents [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14385](https://github.com/paperless-ngx/paperless-ngx/pull/14385)) - Fix: consistently use root doc for version action permissions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14384](https://github.com/paperless-ngx/paperless-ngx/pull/14384)) - Fix: Don't attempt to index created dates which are not representable in the FTS index [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14390](https://github.com/paperless-ngx/paperless-ngx/pull/14390)) - Fix: retry a search index rebuild that was interrupted [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14379](https://github.com/paperless-ngx/paperless-ngx/pull/14379)) ##### Documentation - Chore: silence gotenberg startup warning [@&#8203;slankes](https://github.com/slankes) ([#&#8203;14405](https://github.com/paperless-ngx/paperless-ngx/pull/14405)) - Documentation: remove MARIADB\_HOST from MariaDB compose files [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14378](https://github.com/paperless-ngx/paperless-ngx/pull/14378)) - Documentation: Updates the troubleshooting with 2 common database collation issues [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14370](https://github.com/paperless-ngx/paperless-ngx/pull/14370)) ##### Maintenance - Chore: Upgrade runners to Ubuntu 26.04 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14347](https://github.com/paperless-ngx/paperless-ngx/pull/14347)) ##### Dependencies - Chore(deps): Bump the npm\_and\_yarn group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14417](https://github.com/paperless-ngx/paperless-ngx/pull/14417)) ##### All App Changes <details> <summary>12 changes</summary> - Chore: share the authorizing owner rule between the id sets and the trash filter [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14425](https://github.com/paperless-ngx/paperless-ngx/pull/14425)) - Fix: use a root document's effective content for the LLM index and pr… [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14423](https://github.com/paperless-ngx/paperless-ngx/pull/14423)) - Fix: index document versions as their root document [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14422](https://github.com/paperless-ngx/paperless-ngx/pull/14422)) - Fix: authorize document versions by their root in the single-object permission check [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14421](https://github.com/paperless-ngx/paperless-ngx/pull/14421)) - Fix: Provide better error messages to users for invalid JSON [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14419](https://github.com/paperless-ngx/paperless-ngx/pull/14419)) - Chore(deps): Bump the npm\_and\_yarn group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14417](https://github.com/paperless-ngx/paperless-ngx/pull/14417)) - Fix: authorize document versions by their root and speed up permission id sets [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14396](https://github.com/paperless-ngx/paperless-ngx/pull/14396)) - Chore: update the db options warning [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14398](https://github.com/paperless-ngx/paperless-ngx/pull/14398)) - Fix: bulk reprocess latest version for root documents [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14385](https://github.com/paperless-ngx/paperless-ngx/pull/14385)) - Fix: consistently use root doc for version action permissions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14384](https://github.com/paperless-ngx/paperless-ngx/pull/14384)) - Fix: Don't attempt to index created dates which are not representable in the FTS index [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14390](https://github.com/paperless-ngx/paperless-ngx/pull/14390)) - Fix: retry a search index rebuild that was interrupted [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14379](https://github.com/paperless-ngx/paperless-ngx/pull/14379)) </details> ### [`v3.3.0`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.3.0): Paperless-ngx v3.3.0 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.2.1...v3.3.0) #### paperless-ngx 3.3.0 ##### Features / Enhancements - Enhancement: more control over suggestion requests [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14258](https://github.com/paperless-ngx/paperless-ngx/pull/14258)) - Chorehancement: set manifest CORS for credentials [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14307](https://github.com/paperless-ngx/paperless-ngx/pull/14307)) - Enhancement: include Django admin with 2FA [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14270](https://github.com/paperless-ngx/paperless-ngx/pull/14270)) - Feature: propagate resolved secrets to interactive container shells [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14254](https://github.com/paperless-ngx/paperless-ngx/pull/14254)) - Enhancement: support separate embedding API key [@&#8203;furkanural](https://github.com/furkanural) ([#&#8203;14067](https://github.com/paperless-ngx/paperless-ngx/pull/14067)) - Enhancement: support passthrough extra params for LLMs [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14202](https://github.com/paperless-ngx/paperless-ngx/pull/14202)) - Feature: store barcode contents, list and search them [@&#8203;jurassicparkicecream](https://github.com/jurassicparkicecream) ([#&#8203;14276](https://github.com/paperless-ngx/paperless-ngx/pull/14276)) ##### Bug Fixes - Fix: Set the ProcessedMail owner based on the rule owner in all cases [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14356](https://github.com/paperless-ngx/paperless-ngx/pull/14356)) - Fix: Ensure log rotation settings are converted to integers [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14343](https://github.com/paperless-ngx/paperless-ngx/pull/14343)) - Fix: Wrap apt calls into a retry so we can ideally jump a slow mirror [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14344](https://github.com/paperless-ngx/paperless-ngx/pull/14344)) - Fix: ship pdf.js CMaps so CJK documents render in the viewer [@&#8203;MrOggy85](https://github.com/MrOggy85) ([#&#8203;14318](https://github.com/paperless-ngx/paperless-ngx/pull/14318)) - Fix: use version page\_count for versioned document [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14280](https://github.com/paperless-ngx/paperless-ngx/pull/14280)) - Fix: allow pointer events for pdf links in pngx viewer [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14264](https://github.com/paperless-ngx/paperless-ngx/pull/14264)) - Fix: During a move to the trash directory, only attempt to copy metadata [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14250](https://github.com/paperless-ngx/paperless-ngx/pull/14250)) - Fix: convert file mtime to the configured time zone directly [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14249](https://github.com/paperless-ngx/paperless-ngx/pull/14249)) - Fix: ensure documentDeleted subscription is discarded [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14247](https://github.com/paperless-ngx/paperless-ngx/pull/14247)) - Chore: Fix bugs in the test suite [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14244](https://github.com/paperless-ngx/paperless-ngx/pull/14244)) - Fix: ensure bulk operations are checked against version root [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14246](https://github.com/paperless-ngx/paperless-ngx/pull/14246)) - Fix: indexing after document-added workflows signal [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14242](https://github.com/paperless-ngx/paperless-ngx/pull/14242)) - Fix: Record full tag and custom field lists in bulk edit audit log [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14236](https://github.com/paperless-ngx/paperless-ngx/pull/14236)) - Chore: update pikepdf for ocrmypdf requirement [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14235](https://github.com/paperless-ngx/paperless-ngx/pull/14235)) - Fix: handle legacy bulk edit split page range with missing page\_count [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14212](https://github.com/paperless-ngx/paperless-ngx/pull/14212)) - Fix: ignore invalid EXIF orientation when generating image archives [@&#8203;zhzy0077](https://github.com/zhzy0077) ([#&#8203;14203](https://github.com/paperless-ngx/paperless-ngx/pull/14203)) ##### Documentation - Documentation: correct duplicates info [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14243](https://github.com/paperless-ngx/paperless-ngx/pull/14243)) ##### Maintenance - Chore(deps): Bump the actions group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14332](https://github.com/paperless-ngx/paperless-ngx/pull/14332)) - Fix: Wrap apt calls into a retry so we can ideally jump a slow mirror [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14344](https://github.com/paperless-ngx/paperless-ngx/pull/14344)) - Chore(deps): Bump the actions group across 1 directory with 10 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14301](https://github.com/paperless-ngx/paperless-ngx/pull/14301)) ##### Dependencies <details> <summary>27 changes</summary> - Chore(deps): Bump django-filter from 25.2 to 26.1 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14337](https://github.com/paperless-ngx/paperless-ngx/pull/14337)) - Chore(deps): Bump the utilities-patch group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14338](https://github.com/paperless-ngx/paperless-ngx/pull/14338)) - Chore(deps): Bump the pre-commit-dependencies group across 1 directory with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14351](https://github.com/paperless-ngx/paperless-ngx/pull/14351)) - Chore(deps-dev): Bump types-channels from 4.3.0.20260408 to 4.3.0.20260518 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14335](https://github.com/paperless-ngx/paperless-ngx/pull/14335)) - docker(deps): Bump astral-sh/uv from 0.12.20-python3.14-trixie-slim to 0.12.23-python3.14-trixie-slim @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14327](https://github.com/paperless-ngx/paperless-ngx/pull/14327)) - Chore(deps): Bump the actions group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14332](https://github.com/paperless-ngx/paperless-ngx/pull/14332)) - Chore(deps): Bump the uv group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14325](https://github.com/paperless-ngx/paperless-ngx/pull/14325)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 13 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14329](https://github.com/paperless-ngx/paperless-ngx/pull/14329)) - Chore(deps-dev): Bump prettier from 3.9.8 to 3.9.9 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14331](https://github.com/paperless-ngx/paperless-ngx/pull/14331)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14330](https://github.com/paperless-ngx/paperless-ngx/pull/14330)) - Chore(deps-dev): Bump zensical from 0.0.64 to 0.0.65 in the development group @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14326](https://github.com/paperless-ngx/paperless-ngx/pull/14326)) - Chore(deps): Bump the uv group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14314](https://github.com/paperless-ngx/paperless-ngx/pull/14314)) - Chore(deps): Bump the utilities-minor group across 1 directory with 7 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14305](https://github.com/paperless-ngx/paperless-ngx/pull/14305)) - docker-compose(deps): bump greenmail/standalone from 2.1.13 to 2.1.14 in /docker/compose @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14281](https://github.com/paperless-ngx/paperless-ngx/pull/14281)) - docker(deps): Bump astral-sh/uv from 0.12.16-python3.14-trixie-slim to 0.12.20-python3.14-trixie-slim @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14282](https://github.com/paperless-ngx/paperless-ngx/pull/14282)) - Chore(deps): Bump the pre-commit-dependencies group across 1 directory with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14283](https://github.com/paperless-ngx/paperless-ngx/pull/14283)) - Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14297](https://github.com/paperless-ngx/paperless-ngx/pull/14297)) - Chore(deps): Bump the actions group across 1 directory with 10 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14301](https://github.com/paperless-ngx/paperless-ngx/pull/14301)) - Chore(deps-dev): Bump the frontend-jest-dependencies group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14286](https://github.com/paperless-ngx/paperless-ngx/pull/14286)) - Chore(deps-dev): Bump eslint from 10.10.0 to 10.11.0 in /src-ui in the frontend-eslint-dependencies group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14287](https://github.com/paperless-ngx/paperless-ngx/pull/14287)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 26.5.0 to 26.6.2 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14288](https://github.com/paperless-ngx/paperless-ngx/pull/14288)) - Chore(deps-dev): Bump prettier from 3.9.6 to 3.9.8 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14289](https://github.com/paperless-ngx/paperless-ngx/pull/14289)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 10 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14285](https://github.com/paperless-ngx/paperless-ngx/pull/14285)) - Chore: replace bleach with turbohtml [@&#8203;gaborbernat](https://github.com/gaborbernat) ([#&#8203;14269](https://github.com/paperless-ngx/paperless-ngx/pull/14269)) - Chore(deps): Bump autobahn from 25.12.2 to 26.7.1 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14231](https://github.com/paperless-ngx/paperless-ngx/pull/14231)) - Chore: update pikepdf for ocrmypdf requirement [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14235](https://github.com/paperless-ngx/paperless-ngx/pull/14235)) - Chore(deps): Bump the pre-commit-dependencies group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14133](https://github.com/paperless-ngx/paperless-ngx/pull/14133)) </details> ##### All App Changes <details> <summary>41 changes</summary> - Feature: store barcode contents, list and search them [@&#8203;jurassicparkicecream](https://github.com/jurassicparkicecream) ([#&#8203;14276](https://github.com/paperless-ngx/paperless-ngx/pull/14276)) - Fix: Set the ProcessedMail owner based on the rule owner in all cases [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14356](https://github.com/paperless-ngx/paperless-ngx/pull/14356)) - Chore(deps): Bump django-filter from 25.2 to 26.1 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14337](https://github.com/paperless-ngx/paperless-ngx/pull/14337)) - Chore(deps): Bump the utilities-patch group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14338](https://github.com/paperless-ngx/paperless-ngx/pull/14338)) - Chore(deps-dev): Bump types-channels from 4.3.0.20260408 to 4.3.0.20260518 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14335](https://github.com/paperless-ngx/paperless-ngx/pull/14335)) - Chore(deps): Bump the uv group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14325](https://github.com/paperless-ngx/paperless-ngx/pull/14325)) - Fix: Ensure log rotation settings are converted to integers [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14343](https://github.com/paperless-ngx/paperless-ngx/pull/14343)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 13 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14329](https://github.com/paperless-ngx/paperless-ngx/pull/14329)) - Chore(deps-dev): Bump prettier from 3.9.8 to 3.9.9 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14331](https://github.com/paperless-ngx/paperless-ngx/pull/14331)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14330](https://github.com/paperless-ngx/paperless-ngx/pull/14330)) - Fix: ship pdf.js CMaps so CJK documents render in the viewer [@&#8203;MrOggy85](https://github.com/MrOggy85) ([#&#8203;14318](https://github.com/paperless-ngx/paperless-ngx/pull/14318)) - Chore(deps-dev): Bump zensical from 0.0.64 to 0.0.65 in the development group @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14326](https://github.com/paperless-ngx/paperless-ngx/pull/14326)) - Enhancement: more control over suggestion requests [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14258](https://github.com/paperless-ngx/paperless-ngx/pull/14258)) - Chore(deps): Bump the uv group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14314](https://github.com/paperless-ngx/paperless-ngx/pull/14314)) - Chore: anchor admin url pattern [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14316](https://github.com/paperless-ngx/paperless-ngx/pull/14316)) - Chorehancement: set manifest CORS for credentials [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14307](https://github.com/paperless-ngx/paperless-ngx/pull/14307)) - Chore(deps): Bump the utilities-minor group across 1 directory with 7 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14305](https://github.com/paperless-ngx/paperless-ngx/pull/14305)) - Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14297](https://github.com/paperless-ngx/paperless-ngx/pull/14297)) - Chore(deps-dev): Bump the frontend-jest-dependencies group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14286](https://github.com/paperless-ngx/paperless-ngx/pull/14286)) - Chore(deps-dev): Bump eslint from 10.10.0 to 10.11.0 in /src-ui in the frontend-eslint-dependencies group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14287](https://github.com/paperless-ngx/paperless-ngx/pull/14287)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 26.5.0 to 26.6.2 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14288](https://github.com/paperless-ngx/paperless-ngx/pull/14288)) - Chore(deps-dev): Bump prettier from 3.9.6 to 3.9.8 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14289](https://github.com/paperless-ngx/paperless-ngx/pull/14289)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 10 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14285](https://github.com/paperless-ngx/paperless-ngx/pull/14285)) - Fix: use version page\_count for versioned document [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14280](https://github.com/paperless-ngx/paperless-ngx/pull/14280)) - Chore: replace bleach with turbohtml [@&#8203;gaborbernat](https://github.com/gaborbernat) ([#&#8203;14269](https://github.com/paperless-ngx/paperless-ngx/pull/14269)) - Enhancement: include Django admin with 2FA [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14270](https://github.com/paperless-ngx/paperless-ngx/pull/14270)) - Fix: allow pointer events for pdf links in pngx viewer [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14264](https://github.com/paperless-ngx/paperless-ngx/pull/14264)) - Feature: propagate resolved secrets to interactive container shells [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14254](https://github.com/paperless-ngx/paperless-ngx/pull/14254)) - Fix: During a move to the trash directory, only attempt to copy metadata [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14250](https://github.com/paperless-ngx/paperless-ngx/pull/14250)) - Fix: convert file mtime to the configured time zone directly [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14249](https://github.com/paperless-ngx/paperless-ngx/pull/14249)) - Fix: ensure documentDeleted subscription is discarded [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14247](https://github.com/paperless-ngx/paperless-ngx/pull/14247)) - Chore: Fix bugs in the test suite [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14244](https://github.com/paperless-ngx/paperless-ngx/pull/14244)) - Fix: ensure bulk operations are checked against version root [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14246](https://github.com/paperless-ngx/paperless-ngx/pull/14246)) - Enhancement: support separate embedding API key [@&#8203;furkanural](https://github.com/furkanural) ([#&#8203;14067](https://github.com/paperless-ngx/paperless-ngx/pull/14067)) - Enhancement: support passthrough extra params for LLMs [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14202](https://github.com/paperless-ngx/paperless-ngx/pull/14202)) - Chore(deps): Bump autobahn from 25.12.2 to 26.7.1 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14231](https://github.com/paperless-ngx/paperless-ngx/pull/14231)) - Fix: indexing after document-added workflows signal [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14242](https://github.com/paperless-ngx/paperless-ngx/pull/14242)) - Fix: Record full tag and custom field lists in bulk edit audit log [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14236](https://github.com/paperless-ngx/paperless-ngx/pull/14236)) - Chore: update pikepdf for ocrmypdf requirement [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14235](https://github.com/paperless-ngx/paperless-ngx/pull/14235)) - Fix: handle legacy bulk edit split page range with missing page\_count [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14212](https://github.com/paperless-ngx/paperless-ngx/pull/14212)) - Fix: ignore invalid EXIF orientation when generating image archives [@&#8203;zhzy0077](https://github.com/zhzy0077) ([#&#8203;14203](https://github.com/paperless-ngx/paperless-ngx/pull/14203)) </details> ### [`v3.2.1`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.2.1): Paperless-ngx v3.2.1 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.2.0...v3.2.1) #### paperless-ngx 3.2.1 ##### Bug Fixes - Fix: only pass --conf to flower when flowerconfig.py exists [@&#8203;bitfoo1](https://github.com/bitfoo1) ([#&#8203;14182](https://github.com/paperless-ngx/paperless-ngx/pull/14182)) - Fix: replace stale mail-fetch overlap check with a self-expiring lock [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14189](https://github.com/paperless-ngx/paperless-ngx/pull/14189)) - Fix: bump ocrmypdf to 17.12 to pick up the ligature text-layer fix [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14190](https://github.com/paperless-ngx/paperless-ngx/pull/14190)) - Fix: rebuild the search index automatically when it is missing Tantivy files [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14180](https://github.com/paperless-ngx/paperless-ngx/pull/14180)) ##### Dependencies - Chore(deps): Bump anyio from 4.12.1 to 4.14.2 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14175](https://github.com/paperless-ngx/paperless-ngx/pull/14175)) ##### All App Changes <details> <summary>4 changes</summary> - Chore(deps): Bump anyio from 4.12.1 to 4.14.2 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14175](https://github.com/paperless-ngx/paperless-ngx/pull/14175)) - Fix: replace stale mail-fetch overlap check with a self-expiring lock [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14189](https://github.com/paperless-ngx/paperless-ngx/pull/14189)) - Fix: bump ocrmypdf to 17.12 to pick up the ligature text-layer fix [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14190](https://github.com/paperless-ngx/paperless-ngx/pull/14190)) - Fix: rebuild the search index automatically when it is missing Tantivy files [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14180](https://github.com/paperless-ngx/paperless-ngx/pull/14180)) </details> ### [`v3.2.0`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.2.0): Paperless-ngx v3.2.0 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.1.3...v3.2.0) #### paperless-ngx 3.2.0 ##### Features / Enhancements - Enhancement (QoL): support deselecting single items from "select all" [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14117](https://github.com/paperless-ngx/paperless-ngx/pull/14117)) - Enhancement: Match fuzzy terms in place inside the parsed query [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14157](https://github.com/paperless-ngx/paperless-ngx/pull/14157)) - Enhancement: Match CJK terms through their bigram fields in place [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14156](https://github.com/paperless-ngx/paperless-ngx/pull/14156)) - Enhancement: centralized management of share links + bundles [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14115](https://github.com/paperless-ngx/paperless-ngx/pull/14115)) - Enhancement: parse advanced search with whoosh-compat and delete the handwritten translation [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14072](https://github.com/paperless-ngx/paperless-ngx/pull/14072)) - Enhancement: allow regex timeout configuration [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14085](https://github.com/paperless-ngx/paperless-ngx/pull/14085)) - Enhancement: hide-able sidebar items [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14052](https://github.com/paperless-ngx/paperless-ngx/pull/14052)) - Enhancement: Improve matching for correspondents, storage path and labels by removing bias + adding minimum match threshold [@&#8203;dewey](https://github.com/dewey) ([#&#8203;12164](https://github.com/paperless-ngx/paperless-ngx/pull/12164)) - Enhancement: add Tantivy full-text fallback adapter for taxonomy candidates [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13820](https://github.com/paperless-ngx/paperless-ngx/pull/13820)) - Enhancement (QoL): surface externally-set options in Config UI [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13989](https://github.com/paperless-ngx/paperless-ngx/pull/13989)) - Enhancement: allow disabling auto-suggestions for inbox documents [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13946](https://github.com/paperless-ngx/paperless-ngx/pull/13946)) - Change: skip documents with empty content in apply AI suggestions WF [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13985](https://github.com/paperless-ngx/paperless-ngx/pull/13985)) - Enhancement: duplicates filter [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13994](https://github.com/paperless-ngx/paperless-ngx/pull/13994)) - Tweak: note that apply AI suggestions runs async in WF editor [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14004](https://github.com/paperless-ngx/paperless-ngx/pull/14004)) - Enhancement (QoL): attempt to localize firstDayOfWeek for date picker [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13999](https://github.com/paperless-ngx/paperless-ngx/pull/13999)) ##### Bug Fixes - Fix: don't redirect to signup on first install when regular login is disabled [@&#8203;cyberb](https://github.com/cyberb) ([#&#8203;14165](https://github.com/paperless-ngx/paperless-ngx/pull/14165)) - Fix: better catch email workflow placeholder parsing errors [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14129](https://github.com/paperless-ngx/paperless-ngx/pull/14129)) - Fix: validate legacy bulk edit owner, rotate and split parameters [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14120](https://github.com/paperless-ngx/paperless-ngx/pull/14120)) - Fix: validate set\_permissions with a nested serializer [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14119](https://github.com/paperless-ngx/paperless-ngx/pull/14119)) - Fix: Use prefetching to reduce query counts during classifier training [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14122](https://github.com/paperless-ngx/paperless-ngx/pull/14122)) - Fix: reject non-dict user\_args/barcode\_tag\_mapping in config API [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14118](https://github.com/paperless-ngx/paperless-ngx/pull/14118)) - Fix: type edit\_pdf operations via a nested serializer [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14116](https://github.com/paperless-ngx/paperless-ngx/pull/14116)) - Fix: ensure django setup is run for management comments under 3.14 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14100](https://github.com/paperless-ngx/paperless-ngx/pull/14100)) - Fix: validate PDF output doc indexes in bulk edit [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14083](https://github.com/paperless-ngx/paperless-ngx/pull/14083)) - Fix: avoid IntegrityError when a retried task republishes with the same ID [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14096](https://github.com/paperless-ngx/paperless-ngx/pull/14096)) - Fix: update some api global perms inconsistencies [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14086](https://github.com/paperless-ngx/paperless-ngx/pull/14086)) - Fix: ignore nested action IDs on WF create [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14084](https://github.com/paperless-ngx/paperless-ngx/pull/14084)) - Fix: correct text/stream compression workaround [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14064](https://github.com/paperless-ngx/paperless-ngx/pull/14064)) - Fix: ui version content switching inconsistencies [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14066](https://github.com/paperless-ngx/paperless-ngx/pull/14066)) - Fix: prevent saving changes to stale cached document object [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14065](https://github.com/paperless-ngx/paperless-ngx/pull/14065)) - Fix: ensure remove inbox tag children on remove\_inbox\_tags [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14050](https://github.com/paperless-ngx/paperless-ngx/pull/14050)) - Fix: connect add\_to\_index handler after document\_added [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14058](https://github.com/paperless-ngx/paperless-ngx/pull/14058)) - Fix: Drop empty files from tracking after the stability window has passed [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14047](https://github.com/paperless-ngx/paperless-ngx/pull/14047)) - Fixhancement: better LLM errors [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14031](https://github.com/paperless-ngx/paperless-ngx/pull/14031)) - Fix: prevent orphaned versions from bulk delete [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14030](https://github.com/paperless-ngx/paperless-ngx/pull/14030)) - Fixhancement: prevent overlapping mail-account processing runs [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14046](https://github.com/paperless-ngx/paperless-ngx/pull/14046)) - Fix: Use PAPERLESS\_REDIS\_PREFIX for Celery result backend keys [@&#8203;bdd](https://github.com/bdd) ([#&#8203;14015](https://github.com/paperless-ngx/paperless-ngx/pull/14015)) - Fix: correct setting ai\_enabled to false via UI [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13987](https://github.com/paperless-ngx/paperless-ngx/pull/13987)) - Fix: catch some frontend failed object retrievals [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14023](https://github.com/paperless-ngx/paperless-ngx/pull/14023)) - Fix: more v3 icons cleanup [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14017](https://github.com/paperless-ngx/paperless-ngx/pull/14017)) - Fix: correct add version actor parity [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14016](https://github.com/paperless-ngx/paperless-ngx/pull/14016)) - Fix: fix v3 favicon file [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14014](https://github.com/paperless-ngx/paperless-ngx/pull/14014)) - Fix: change share link bundle dialog button to close after create, don't toast on copied [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14002](https://github.com/paperless-ngx/paperless-ngx/pull/14002)) - Fix: truncate mail subjects to field max length [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13991](https://github.com/paperless-ngx/paperless-ngx/pull/13991)) - Fix: enforce the overflow hidden rule on pdf editor thumbnails [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13976](https://github.com/paperless-ngx/paperless-ngx/pull/13976)) - Fix: also correct unbroken long names on small cards [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13974](https://github.com/paperless-ngx/paperless-ngx/pull/13974)) - Fix: ensure parent + child tags change together in bulk editor [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13972](https://github.com/paperless-ngx/paperless-ngx/pull/13972)) ##### Dependencies <details> <summary>29 changes</summary> - Chore(deps): Bump the utilities-patch group across 1 directory with 15 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14167](https://github.com/paperless-ngx/paperless-ngx/pull/14167)) - docker(deps): Bump astral-sh/uv from 0.12.9-python3.14-trixie-slim to 0.12.16-python3.14-trixie-slim @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14134](https://github.com/paperless-ngx/paperless-ngx/pull/14134)) - Chore(deps): Bump the utilities-minor group across 1 directory with 10 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14149](https://github.com/paperless-ngx/paperless-ngx/pull/14149)) - Chore(deps): Bump the actions group across 1 directory with 8 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14162](https://github.com/paperless-ngx/paperless-ngx/pull/14162)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 19 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14141](https://github.com/paperless-ngx/paperless-ngx/pull/14141)) - docker-compose(deps): bump gotenberg/gotenberg from 8.36 to 8.37 in /docker/compose @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14137](https://github.com/paperless-ngx/paperless-ngx/pull/14137)) - docker-compose(deps): Bump nginx from 1.31.5-alpine to 1.31.6-alpine in /docker/compose @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14138](https://github.com/paperless-ngx/paperless-ngx/pull/14138)) - Chore(deps): Bump pdfjs-dist from 6.2.108 to 6.3.289 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14144](https://github.com/paperless-ngx/paperless-ngx/pull/14144)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14143](https://github.com/paperless-ngx/paperless-ngx/pull/14143)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 26.4.0 to 26.5.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14146](https://github.com/paperless-ngx/paperless-ngx/pull/14146)) - Chore(deps-dev): Bump the frontend-jest-dependencies group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14142](https://github.com/paperless-ngx/paperless-ngx/pull/14142)) - Chore(deps): Bump the utilities-minor group across 1 directory with 11 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13988](https://github.com/paperless-ngx/paperless-ngx/pull/13988)) - Chore(deps): Bump sentence-transformers from 5.6.1 to 6.0.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13983](https://github.com/paperless-ngx/paperless-ngx/pull/13983)) - Chore(deps-dev): Bump types-markdown from 3.10.2.20260518 to 3.10.2.20260712 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13982](https://github.com/paperless-ngx/paperless-ngx/pull/13982)) - Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13980](https://github.com/paperless-ngx/paperless-ngx/pull/13980)) - Chore(deps): Update granian\[uvloop] requirement from \~=2.7.0 to >=2.7,<2.9 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13984](https://github.com/paperless-ngx/paperless-ngx/pull/13984)) - Chore: Updates our direct Redis pin [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13986](https://github.com/paperless-ngx/paperless-ngx/pull/13986)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13918](https://github.com/paperless-ngx/paperless-ngx/pull/13918)) - Chore(deps): Bump uuid from 14.0.1 to 14.0.2 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13921](https://github.com/paperless-ngx/paperless-ngx/pull/13921)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 26.2.0 to 26.4.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13919](https://github.com/paperless-ngx/paperless-ngx/pull/13919)) - Chore: update ng-select to v24, handle breaking changes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13951](https://github.com/paperless-ngx/paperless-ngx/pull/13951)) - Chore(deps): Bump djangorestframework from 3.17.2 to 3.18.0 in the django-ecosystem group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13912](https://github.com/paperless-ngx/paperless-ngx/pull/13912)) - Chore(deps): Bump the pre-commit-dependencies group across 1 directory with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13922](https://github.com/paperless-ngx/paperless-ngx/pull/13922)) - Chore(deps): Bump the document-processing group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13916](https://github.com/paperless-ngx/paperless-ngx/pull/13916)) - Chore(deps): Bump flower from 2.0.1 to 2.1.0 in the async-tasks group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13913](https://github.com/paperless-ngx/paperless-ngx/pull/13913)) - Chore(deps): Bump the actions group across 1 directory with 15 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13920](https://github.com/paperless-ngx/paperless-ngx/pull/13920)) - docker-compose(deps): Bump gotenberg/gotenberg from 8.34 to 8.36 in /docker/compose @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13910](https://github.com/paperless-ngx/paperless-ngx/pull/13910)) - Chore(deps-dev): Bump the development group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13911](https://github.com/paperless-ngx/paperless-ngx/pull/13911)) - docker(deps): Bump astral-sh/uv from 0.12.5-python3.14-trixie-slim to 0.12.9-python3.14-trixie-slim @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13914](https://github.com/paperless-ngx/paperless-ngx/pull/13914)) </details> ##### All App Changes <details> <summary>80 changes</summary> - Chore(deps): Bump the utilities-patch group across 1 directory with 15 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14167](https://github.com/paperless-ngx/paperless-ngx/pull/14167)) - Fix: don't redirect to signup on first install when regular login is disabled [@&#8203;cyberb](https://github.com/cyberb) ([#&#8203;14165](https://github.com/paperless-ngx/paperless-ngx/pull/14165)) - Chore(deps): Bump the utilities-minor group across 1 directory with 10 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14149](https://github.com/paperless-ngx/paperless-ngx/pull/14149)) - Enhancement (QoL): support deselecting single items from "select all" [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14117](https://github.com/paperless-ngx/paperless-ngx/pull/14117)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 19 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14141](https://github.com/paperless-ngx/paperless-ngx/pull/14141)) - Enhancement: Match fuzzy terms in place inside the parsed query [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14157](https://github.com/paperless-ngx/paperless-ngx/pull/14157)) - Enhancement: Match CJK terms through their bigram fields in place [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14156](https://github.com/paperless-ngx/paperless-ngx/pull/14156)) - Chore(deps): Bump pdfjs-dist from 6.2.108 to 6.3.289 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14144](https://github.com/paperless-ngx/paperless-ngx/pull/14144)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14143](https://github.com/paperless-ngx/paperless-ngx/pull/14143)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 26.4.0 to 26.5.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14146](https://github.com/paperless-ngx/paperless-ngx/pull/14146)) - Chore(deps-dev): Bump the frontend-jest-dependencies group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;14142](https://github.com/paperless-ngx/paperless-ngx/pull/14142)) - Enhancement: centralized management of share links + bundles [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14115](https://github.com/paperless-ngx/paperless-ngx/pull/14115)) - Performance: Preprocess classifier text with Tantivy instead of NLTK [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14127](https://github.com/paperless-ngx/paperless-ngx/pull/14127)) - Performance: Drops fields from the classifier before pickling [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14114](https://github.com/paperless-ngx/paperless-ngx/pull/14114)) - Fix: better catch email workflow placeholder parsing errors [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14129](https://github.com/paperless-ngx/paperless-ngx/pull/14129)) - Peformance: Improves the memory efficency of classifier training [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14124](https://github.com/paperless-ngx/paperless-ngx/pull/14124)) - Performance: Streams the classifier pickle file during save as well [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14121](https://github.com/paperless-ngx/paperless-ngx/pull/14121)) - Fix: validate legacy bulk edit owner, rotate and split parameters [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14120](https://github.com/paperless-ngx/paperless-ngx/pull/14120)) - Fix: validate set\_permissions with a nested serializer [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14119](https://github.com/paperless-ngx/paperless-ngx/pull/14119)) - Fix: Use prefetching to reduce query counts during classifier training [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14122](https://github.com/paperless-ngx/paperless-ngx/pull/14122)) - Fix: reject non-dict user\_args/barcode\_tag\_mapping in config API [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14118](https://github.com/paperless-ngx/paperless-ngx/pull/14118)) - Fix: type edit\_pdf operations via a nested serializer [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14116](https://github.com/paperless-ngx/paperless-ngx/pull/14116)) - Performance: Loads the classifier through a memory view to reduce memory usage [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14113](https://github.com/paperless-ngx/paperless-ngx/pull/14113)) - Feature: parse advanced search with whoosh-compat and delete the handwritten translation [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14072](https://github.com/paperless-ngx/paperless-ngx/pull/14072)) - Fix: ensure django setup is run for management comments under 3.14 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14100](https://github.com/paperless-ngx/paperless-ngx/pull/14100)) - Fix: validate PDF output doc indexes in bulk edit [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14083](https://github.com/paperless-ngx/paperless-ngx/pull/14083)) - Enhancement: allow regex timeout configuration [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14085](https://github.com/paperless-ngx/paperless-ngx/pull/14085)) - Fix: avoid IntegrityError when a retried task republishes with the same ID [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14096](https://github.com/paperless-ngx/paperless-ngx/pull/14096)) - Chore: include Apply AI Suggestions in the tasks UI filter dropdown [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14093](https://github.com/paperless-ngx/paperless-ngx/pull/14093)) - Fix: update some api global perms inconsistencies [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14086](https://github.com/paperless-ngx/paperless-ngx/pull/14086)) - Fix: ignore nested action IDs on WF create [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14084](https://github.com/paperless-ngx/paperless-ngx/pull/14084)) - Fix: correct text/stream compression workaround [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14064](https://github.com/paperless-ngx/paperless-ngx/pull/14064)) - Fix: ui version content switching inconsistencies [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14066](https://github.com/paperless-ngx/paperless-ngx/pull/14066)) - Fix: prevent saving changes to stale cached document object [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14065](https://github.com/paperless-ngx/paperless-ngx/pull/14065)) - Performance: batch permission assignment in bulk `set_permissions` [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13806](https://github.com/paperless-ngx/paperless-ngx/pull/13806)) - Performance: skip effective\_content annotation on document list unless required [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13789](https://github.com/paperless-ngx/paperless-ngx/pull/13789)) - Fix: ensure remove inbox tag children on remove\_inbox\_tags [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14050](https://github.com/paperless-ngx/paperless-ngx/pull/14050)) - Fix: connect add\_to\_index handler after document\_added [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14058](https://github.com/paperless-ngx/paperless-ngx/pull/14058)) - Enhancement: hide-able sidebar items [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14052](https://github.com/paperless-ngx/paperless-ngx/pull/14052)) - Performance: cut redundant per-document lookups in bulk `modify_custom_fields` [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13807](https://github.com/paperless-ngx/paperless-ngx/pull/13807)) - Enhancement: Improve matching for correspondents, storage path and labels by removing bias + adding minimum match threshold [@&#8203;dewey](https://github.com/dewey) ([#&#8203;12164](https://github.com/paperless-ngx/paperless-ngx/pull/12164)) - Fix: Drop empty files from tracking after the stability window has passed [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14047](https://github.com/paperless-ngx/paperless-ngx/pull/14047)) - Fixhancement: better LLM errors [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14031](https://github.com/paperless-ngx/paperless-ngx/pull/14031)) - Fix: prevent orphaned versions from bulk delete [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14030](https://github.com/paperless-ngx/paperless-ngx/pull/14030)) - Enhancement: add Tantivy full-text fallback adapter for taxonomy candidates [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13820](https://github.com/paperless-ngx/paperless-ngx/pull/13820)) - Fixhancement: prevent overlapping mail-account processing runs [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14046](https://github.com/paperless-ngx/paperless-ngx/pull/14046)) - Performance: ensure version-aware content filters on querysets [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13792](https://github.com/paperless-ngx/paperless-ngx/pull/13792)) - Performance: skip nested TagSerializer construction when a tag has no children [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;14039](https://github.com/paperless-ngx/paperless-ngx/pull/14039)) - Enhancement (QoL): surface externally-set options in Config UI [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13989](https://github.com/paperless-ngx/paperless-ngx/pull/13989)) - Enhancement: allow disabling auto-suggestions for inbox documents [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13946](https://github.com/paperless-ngx/paperless-ngx/pull/13946)) - Change: skip documents with empty content in apply AI suggestions WF [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13985](https://github.com/paperless-ngx/paperless-ngx/pull/13985)) - Performance: resolve index-write permissions and effective content in bulk [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13869](https://github.com/paperless-ngx/paperless-ngx/pull/13869)) - Fix: Use PAPERLESS\_REDIS\_PREFIX for Celery result backend keys [@&#8203;bdd](https://github.com/bdd) ([#&#8203;14015](https://github.com/paperless-ngx/paperless-ngx/pull/14015)) - Enhancement: duplicates filter [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13994](https://github.com/paperless-ngx/paperless-ngx/pull/13994)) - Fix: correct setting ai\_enabled to false via UI [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13987](https://github.com/paperless-ngx/paperless-ngx/pull/13987)) - Chore(deps): Bump the utilities-minor group across 1 directory with 11 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13988](https://github.com/paperless-ngx/paperless-ngx/pull/13988)) - Fix: catch some frontend failed object retrievals [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14023](https://github.com/paperless-ngx/paperless-ngx/pull/14023)) - Fix: more v3 icons cleanup [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14017](https://github.com/paperless-ngx/paperless-ngx/pull/14017)) - Fix: correct add version actor parity [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14016](https://github.com/paperless-ngx/paperless-ngx/pull/14016)) - Fix: fix v3 favicon file [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14014](https://github.com/paperless-ngx/paperless-ngx/pull/14014)) - Tweak: note that apply AI suggestions runs async in WF editor [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14004](https://github.com/paperless-ngx/paperless-ngx/pull/14004)) - Fix: change share link bundle dialog button to close after create, don't toast on copied [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;14002](https://github.com/paperless-ngx/paperless-ngx/pull/14002)) - Enhancement (QoL): attempt to localize firstDayOfWeek for date picker [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13999](https://github.com/paperless-ngx/paperless-ngx/pull/13999)) - Fix: truncate mail subjects to field max length [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13991](https://github.com/paperless-ngx/paperless-ngx/pull/13991)) - Chore(deps): Bump sentence-transformers from 5.6.1 to 6.0.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13983](https://github.com/paperless-ngx/paperless-ngx/pull/13983)) - Chore(deps-dev): Bump types-markdown from 3.10.2.20260518 to 3.10.2.20260712 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13982](https://github.com/paperless-ngx/paperless-ngx/pull/13982)) - Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13980](https://github.com/paperless-ngx/paperless-ngx/pull/13980)) - Chore(deps): Update granian\[uvloop] requirement from \~=2.7.0 to >=2.7,<2.9 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13984](https://github.com/paperless-ngx/paperless-ngx/pull/13984)) - Chore: Updates our direct Redis pin [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13986](https://github.com/paperless-ngx/paperless-ngx/pull/13986)) - Fix: enforce the overflow hidden rule on pdf editor thumbnails [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13976](https://github.com/paperless-ngx/paperless-ngx/pull/13976)) - Fix: also correct unbroken long names on small cards [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13974](https://github.com/paperless-ngx/paperless-ngx/pull/13974)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13918](https://github.com/paperless-ngx/paperless-ngx/pull/13918)) - Chore(deps): Bump uuid from 14.0.1 to 14.0.2 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13921](https://github.com/paperless-ngx/paperless-ngx/pull/13921)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 26.2.0 to 26.4.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13919](https://github.com/paperless-ngx/paperless-ngx/pull/13919)) - Chore: update ng-select to v24, handle breaking changes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13951](https://github.com/paperless-ngx/paperless-ngx/pull/13951)) - Chore(deps): Bump djangorestframework from 3.17.2 to 3.18.0 in the django-ecosystem group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13912](https://github.com/paperless-ngx/paperless-ngx/pull/13912)) - Chore(deps): Bump the document-processing group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13916](https://github.com/paperless-ngx/paperless-ngx/pull/13916)) - Chore(deps): Bump flower from 2.0.1 to 2.1.0 in the async-tasks group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13913](https://github.com/paperless-ngx/paperless-ngx/pull/13913)) - Chore(deps-dev): Bump the development group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13911](https://github.com/paperless-ngx/paperless-ngx/pull/13911)) - Fix: ensure parent + child tags change together in bulk editor [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13972](https://github.com/paperless-ngx/paperless-ngx/pull/13972)) </details> ### [`v3.1.3`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.1.3): Paperless-ngx v3.1.3 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.1.2...v3.1.3) #### paperless-ngx 3.1.3 ##### Bug Fixes - Fix: use the header loading indicator on tasks page [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13949](https://github.com/paperless-ngx/paperless-ngx/pull/13949)) - Fix: fix load sidebar size animating [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13947](https://github.com/paperless-ngx/paperless-ngx/pull/13947)) - Fix: wrap long words without spaces in dropdowns [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13945](https://github.com/paperless-ngx/paperless-ngx/pull/13945)) - Fix: tweak tool calling localzation prompt [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13943](https://github.com/paperless-ngx/paperless-ngx/pull/13943)) - Fix: skip vector store document id filter for unrestricted chat users [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13937](https://github.com/paperless-ngx/paperless-ngx/pull/13937)) - Fix: adopt the request stream when pinning an outbound host [@&#8203;ThomasSteinbach](https://github.com/ThomasSteinbach) ([#&#8203;13927](https://github.com/paperless-ngx/paperless-ngx/pull/13927)) - Fix: ensure apply ai suggestions always runs after document created [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13940](https://github.com/paperless-ngx/paperless-ngx/pull/13940)) - Fix: Handle failures when enqueuing files for consumption [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13935](https://github.com/paperless-ngx/paperless-ngx/pull/13935)) - Fix: Handle Celery mail task chord errors [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13936](https://github.com/paperless-ngx/paperless-ngx/pull/13936)) - Fix/chore: refactor some signal-backed conversion technical debt [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13902](https://github.com/paperless-ngx/paperless-ngx/pull/13902)) - Fix: fix slim sidebar saved view dragging appearance [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13906](https://github.com/paperless-ngx/paperless-ngx/pull/13906)) - Fix: use signal-backed queries input in CF dropdown to reflect changes immediately under zoneless [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13901](https://github.com/paperless-ngx/paperless-ngx/pull/13901)) - Fix: use root doc metadata for filename generation [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13893](https://github.com/paperless-ngx/paperless-ngx/pull/13893)) - Fix: some css cleanup [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13891](https://github.com/paperless-ngx/paperless-ngx/pull/13891)) ##### Dependencies <details> <summary>7 changes</summary> - Chore(deps): Bump the uv group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13958](https://github.com/paperless-ngx/paperless-ngx/pull/13958)) - docker-compose(deps): bump nginx from 1.31.3-alpine to 1.31.5-alpine in /docker/compose @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13909](https://github.com/paperless-ngx/paperless-ngx/pull/13909)) - docker-compose(deps): Bump greenmail/standalone from 2.1.11 to 2.1.13 in /docker/compose @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13907](https://github.com/paperless-ngx/paperless-ngx/pull/13907)) - Chore(deps-dev): Bump postcss-selector-parser from 6.1.2 to 6.1.4 in /src/paperless\_mail/templates in the npm\_and\_yarn group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13905](https://github.com/paperless-ngx/paperless-ngx/pull/13905)) - Chore(deps): Bump nltk from 3.10.0 to 3.10.3 in the data-nlp-search group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13917](https://github.com/paperless-ngx/paperless-ngx/pull/13917)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 14 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13915](https://github.com/paperless-ngx/paperless-ngx/pull/13915)) - Chore(deps): Bump djangorestframework from 3.17.1 to 3.17.2 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13904](https://github.com/paperless-ngx/paperless-ngx/pull/13904)) </details> ##### All App Changes <details> <summary>22 changes</summary> - Chore(deps): Bump the uv group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13958](https://github.com/paperless-ngx/paperless-ngx/pull/13958)) - Chore(deps-dev): Bump postcss-selector-parser from 6.1.2 to 6.1.4 in /src/paperless\_mail/templates in the npm\_and\_yarn group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13905](https://github.com/paperless-ngx/paperless-ngx/pull/13905)) - Chore(deps): Bump nltk from 3.10.0 to 3.10.3 in the data-nlp-search group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13917](https://github.com/paperless-ngx/paperless-ngx/pull/13917)) - Fix: use the header loading indicator on tasks page [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13949](https://github.com/paperless-ngx/paperless-ngx/pull/13949)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 14 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13915](https://github.com/paperless-ngx/paperless-ngx/pull/13915)) - Chore(deps): Bump djangorestframework from 3.17.1 to 3.17.2 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13904](https://github.com/paperless-ngx/paperless-ngx/pull/13904)) - Fix: fix load sidebar size animating [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13947](https://github.com/paperless-ngx/paperless-ngx/pull/13947)) - Fix: wrap long words without spaces in dropdowns [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13945](https://github.com/paperless-ngx/paperless-ngx/pull/13945)) - Fix: tweak tool calling localzation prompt [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13943](https://github.com/paperless-ngx/paperless-ngx/pull/13943)) - Fix: skip vector store document id filter for unrestricted chat users [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13937](https://github.com/paperless-ngx/paperless-ngx/pull/13937)) - Fix: adopt the request stream when pinning an outbound host [@&#8203;ThomasSteinbach](https://github.com/ThomasSteinbach) ([#&#8203;13927](https://github.com/paperless-ngx/paperless-ngx/pull/13927)) - Fix: ensure apply ai suggestions always runs after document created [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13940](https://github.com/paperless-ngx/paperless-ngx/pull/13940)) - Fix: Handle failures when enqueuing files for consumption [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13935](https://github.com/paperless-ngx/paperless-ngx/pull/13935)) - Fix: Handle Celery mail task chord errors [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13936](https://github.com/paperless-ngx/paperless-ngx/pull/13936)) - Fix/chore: refactor some signal-backed conversion technical debt [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13902](https://github.com/paperless-ngx/paperless-ngx/pull/13902)) - Security: validate remote OCR endpoint [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13897](https://github.com/paperless-ngx/paperless-ngx/pull/13897)) - Fix: fix slim sidebar saved view dragging appearance [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13906](https://github.com/paperless-ngx/paperless-ngx/pull/13906)) - Security: Minor additional hardening [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13898](https://github.com/paperless-ngx/paperless-ngx/pull/13898)) - Chore: consolidate pickle hmac signing [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13899](https://github.com/paperless-ngx/paperless-ngx/pull/13899)) - Fix: use signal-backed queries input in CF dropdown to reflect changes immediately under zoneless [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13901](https://github.com/paperless-ngx/paperless-ngx/pull/13901)) - Fix: use root doc metadata for filename generation [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13893](https://github.com/paperless-ngx/paperless-ngx/pull/13893)) - Fix: some css cleanup [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13891](https://github.com/paperless-ngx/paperless-ngx/pull/13891)) </details> ### [`v3.1.2`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.1.2): Paperless-ngx v3.1.2 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.1.1...v3.1.2) #### paperless-ngx 3.1.2 > \[!NOTE] > This release addresses a security issue (GHSA-2jhj-xqrq-rmrq) and is recommended for all users. Our sincere thank you to the community members (and their LLMs) for reporting this. ##### Bug Fixes - Fix: fix dark mode select disabled color, ensure disabled cursor on display mode dropdown [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13881](https://github.com/paperless-ngx/paperless-ngx/pull/13881)) - Fix: add disable to the drag-drop list component [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13880](https://github.com/paperless-ngx/paperless-ngx/pull/13880)) ##### Documentation - Chore: update screenshots for v3+ [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13883](https://github.com/paperless-ngx/paperless-ngx/pull/13883)) ##### All App Changes <details> <summary>2 changes</summary> - Fix: fix dark mode select disabled color, ensure disabled cursor on display mode dropdown [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13881](https://github.com/paperless-ngx/paperless-ngx/pull/13881)) - Fix: add disable to the drag-drop list component [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13880](https://github.com/paperless-ngx/paperless-ngx/pull/13880)) </details> ### [`v3.1.1`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.1.1): Paperless-ngx v3.1.1 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.1.0...v3.1.1) #### paperless-ngx 3.1.1 ##### Bug Fixes - Fix: 3.1.0 llm suggestions remove existing metadata from prompt, dont drop name suggestions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13866](https://github.com/paperless-ngx/paperless-ngx/pull/13866)) - Fix: set global search earlier to avoid awaiting debounce [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13865](https://github.com/paperless-ngx/paperless-ngx/pull/13865)) - Fix: responsive sidebar, centralize and make sizes saner [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13863](https://github.com/paperless-ngx/paperless-ngx/pull/13863)) - Tweak/fix: show existing count for ai suggestions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13861](https://github.com/paperless-ngx/paperless-ngx/pull/13861)) - Fix: 3.1.0 llm suggestions simplify schema, fix docstrings [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13850](https://github.com/paperless-ngx/paperless-ngx/pull/13850)) - Fix: ensure ui reset of suggestionsLoading when changing docs [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13840](https://github.com/paperless-ngx/paperless-ngx/pull/13840)) - Fix: always pass a non-empty api key for OpenAI-like servers [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13838](https://github.com/paperless-ngx/paperless-ngx/pull/13838)) - Fix: hide slim sidebar scrollbar in browsers with stupid scrollbars [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13837](https://github.com/paperless-ngx/paperless-ngx/pull/13837)) - Fix: correct sharelink bundle + document link permissions display bugs [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13827](https://github.com/paperless-ngx/paperless-ngx/pull/13827)) - Fix: immediately re-add doc to index after trash restore [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13818](https://github.com/paperless-ngx/paperless-ngx/pull/13818)) - Fix: navbar brand anchor size + Safari position jitter [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13810](https://github.com/paperless-ngx/paperless-ngx/pull/13810)) ##### All App Changes <details> <summary>12 changes</summary> - Fix: 3.1.0 llm suggestions remove existing metadata from prompt, dont drop name suggestions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13866](https://github.com/paperless-ngx/paperless-ngx/pull/13866)) - Fix: set global search earlier to avoid awaiting debounce [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13865](https://github.com/paperless-ngx/paperless-ngx/pull/13865)) - Fix: responsive sidebar, centralize and make sizes saner [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13863](https://github.com/paperless-ngx/paperless-ngx/pull/13863)) - Tweak/fix: show existing count for ai suggestions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13861](https://github.com/paperless-ngx/paperless-ngx/pull/13861)) - Fix: 3.1.0 llm suggestions simplify schema, fix docstrings [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13850](https://github.com/paperless-ngx/paperless-ngx/pull/13850)) - Fixhancement: make imap port required, better error display [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13845](https://github.com/paperless-ngx/paperless-ngx/pull/13845)) - Fix: ensure ui reset of suggestionsLoading when changing docs [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13840](https://github.com/paperless-ngx/paperless-ngx/pull/13840)) - Fix: always pass a non-empty api key for OpenAI-like servers [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13838](https://github.com/paperless-ngx/paperless-ngx/pull/13838)) - Fix: hide slim sidebar scrollbar in browsers with stupid scrollbars [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13837](https://github.com/paperless-ngx/paperless-ngx/pull/13837)) - Fix: correct sharelink bundle + document link permissions display bugs [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13827](https://github.com/paperless-ngx/paperless-ngx/pull/13827)) - Fix: immediately re-add doc to index after trash restore [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13818](https://github.com/paperless-ngx/paperless-ngx/pull/13818)) - Fix: navbar brand anchor size + Safari position jitter [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13810](https://github.com/paperless-ngx/paperless-ngx/pull/13810)) </details> ### [`v3.1.0`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.1.0): Paperless-ngx v3.1.0 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.0.5...v3.1.0) #### paperless-ngx 3.1.0 ##### Features / Enhancements - Enhancement: Apply AI suggestions workflow action [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13639](https://github.com/paperless-ngx/paperless-ngx/pull/13639)) - Enhancement: welcome widget visual tweaks [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13794](https://github.com/paperless-ngx/paperless-ngx/pull/13794)) - Enhancement: support using remote OCR engines selectively [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13633](https://github.com/paperless-ngx/paperless-ngx/pull/13633)) - Enhancement: websocket heartbeat [@&#8203;oktupol](https://github.com/oktupol) ([#&#8203;13739](https://github.com/paperless-ngx/paperless-ngx/pull/13739)) - Enhancement: more v3 ui tweaks [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13774](https://github.com/paperless-ngx/paperless-ngx/pull/13774)) - Tweak: better support long list of views in documents list [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13769](https://github.com/paperless-ngx/paperless-ngx/pull/13769)) - QoL: add count badge to versions dropdown [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13753](https://github.com/paperless-ngx/paperless-ngx/pull/13753)) - Tweakhancement: add jitter to IMAP polling schedule [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13734](https://github.com/paperless-ngx/paperless-ngx/pull/13734)) - Enhancement: sync OIDC groups to superuser and staff roles [@&#8203;BeSovereign](https://github.com/BeSovereign) ([#&#8203;13060](https://github.com/paperless-ngx/paperless-ngx/pull/13060)) - Enhancement: merge documents as versions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13515](https://github.com/paperless-ngx/paperless-ngx/pull/13515)) - Tweak: adjust modal proportions for small screens [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13728](https://github.com/paperless-ngx/paperless-ngx/pull/13728)) - Refactor: render paperless\_ai prompts via Jinja2 templates instead of f-strings [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13698](https://github.com/paperless-ngx/paperless-ngx/pull/13698)) - Tweak: small visual tweaks / improvements & fixes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13700](https://github.com/paperless-ngx/paperless-ngx/pull/13700)) - Enhancement: prefer existing tags, types, correspondents, and storage paths in AI suggestions [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13676](https://github.com/paperless-ngx/paperless-ngx/pull/13676)) - Tweak: tweak permissions menu labels for shared user-dependent views [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13685](https://github.com/paperless-ngx/paperless-ngx/pull/13685)) - Feature: Allow selection of compression type and and level during export [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13661](https://github.com/paperless-ngx/paperless-ngx/pull/13661)) - Enhancement: customizable icons for saved views [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13388](https://github.com/paperless-ngx/paperless-ngx/pull/13388)) - Enhancement: Add --url argument to document\_fuzzy\_match to improve output [@&#8203;lukyjay](https://github.com/lukyjay) ([#&#8203;13123](https://github.com/paperless-ngx/paperless-ngx/pull/13123)) - Feature: Updates remote OCR parser to respect the OCR mode setting [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13408](https://github.com/paperless-ngx/paperless-ngx/pull/13408)) - Tweak: improve no ML suggestions UX [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13621](https://github.com/paperless-ngx/paperless-ngx/pull/13621)) - Performance: reduce memory and I/O overhead of the document exporter during zip exports [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13490](https://github.com/paperless-ngx/paperless-ngx/pull/13490)) - QoL: make name button text on attribute pages selectable [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13592](https://github.com/paperless-ngx/paperless-ngx/pull/13592)) - Performance: More efficient mail fetching [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13432](https://github.com/paperless-ngx/paperless-ngx/pull/13432)) ##### Bug Fixes - Fix: prevent config autocomplete craziness [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13808](https://github.com/paperless-ngx/paperless-ngx/pull/13808)) - Fix/performance: prevent token re-use in dropdown filtering, also a perf thing [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13804](https://github.com/paperless-ngx/paperless-ngx/pull/13804)) - Fix: exclude version documents from bulk edit "all" [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13791](https://github.com/paperless-ngx/paperless-ngx/pull/13791)) - Fix: fix bottom mobile nav buttons on Android [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13780](https://github.com/paperless-ngx/paperless-ngx/pull/13780)) - Fix: lazy import guardian modules to fix search language setting [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13768](https://github.com/paperless-ngx/paperless-ngx/pull/13768)) - Fix: version indexing fixes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13737](https://github.com/paperless-ngx/paperless-ngx/pull/13737)) - Fix: append charset to file response for text files [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13759](https://github.com/paperless-ngx/paperless-ngx/pull/13759)) - Chore: pin Apache Tika images to 3.3.1 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13758](https://github.com/paperless-ngx/paperless-ngx/pull/13758)) - Fix: align bulk edit object perms with document model [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13757](https://github.com/paperless-ngx/paperless-ngx/pull/13757)) - Fix: use selected version for doc detail emailing [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13738](https://github.com/paperless-ngx/paperless-ngx/pull/13738)) - Fix: hide version delete button without global perms [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13735](https://github.com/paperless-ngx/paperless-ngx/pull/13735)) - Fix: dont re-render path template when checking collisions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13718](https://github.com/paperless-ngx/paperless-ngx/pull/13718)) - Fix: DocumentClassifierSchema bounds [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13707](https://github.com/paperless-ngx/paperless-ngx/pull/13707)) - Fix: remove shadow around attribute pages [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13696](https://github.com/paperless-ngx/paperless-ngx/pull/13696)) - Zen: correct dropdown corner radius visual defect [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13695](https://github.com/paperless-ngx/paperless-ngx/pull/13695)) - Fix: handle Android keyboard popper overlay [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;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 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13688](https://github.com/paperless-ngx/paperless-ngx/pull/13688)) - Fix: reopen a fresh Tantivy index per write to prevent orphaned segment files [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13682](https://github.com/paperless-ngx/paperless-ngx/pull/13682)) - Fix: fix validation of workflow title assignment [@&#8203;maxtruxa](https://github.com/maxtruxa) ([#&#8203;13659](https://github.com/paperless-ngx/paperless-ngx/pull/13659)) - Fix: dont clip search dropdown on mobile [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13675](https://github.com/paperless-ngx/paperless-ngx/pull/13675)) - Fix: include sharelink bundle perms in WebUI [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13664](https://github.com/paperless-ngx/paperless-ngx/pull/13664)) - Fix: add pagination to saved views management page [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13646](https://github.com/paperless-ngx/paperless-ngx/pull/13646)) - Fix: fixes for workflow assign custom field values [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13630](https://github.com/paperless-ngx/paperless-ngx/pull/13630)) - Fix: deny deactivated users in permission filtering and auto-login [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13623](https://github.com/paperless-ngx/paperless-ngx/pull/13623)) - Fix: check bulk mail delete permissions for the whole batch up front [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13620](https://github.com/paperless-ngx/paperless-ngx/pull/13620)) - Fix: Allow DRF to validate the maximum API key length [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13614](https://github.com/paperless-ngx/paperless-ngx/pull/13614)) - Fix: render PDF form values in annotation layer [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13607](https://github.com/paperless-ngx/paperless-ngx/pull/13607)) - QoL: disable name button without perms [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13606](https://github.com/paperless-ngx/paperless-ngx/pull/13606)) - Fix: prevent debounce overwrites in advanced search field, also improve Esc behavior [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13602](https://github.com/paperless-ngx/paperless-ngx/pull/13602)) - Fix: raise ParseError on remote OCR failure instead of silently continuing [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13574](https://github.com/paperless-ngx/paperless-ngx/pull/13574)) - Fix: use selected version when creating share links [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13571](https://github.com/paperless-ngx/paperless-ngx/pull/13571)) - Fix: reject bulk edit permissions requests without the correct key [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13563](https://github.com/paperless-ngx/paperless-ngx/pull/13563)) - Fix: correctly serve app logo specified in env [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13561](https://github.com/paperless-ngx/paperless-ngx/pull/13561)) - Fix: prevent workflow passwords field type error [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13552](https://github.com/paperless-ngx/paperless-ngx/pull/13552)) - Fix: correct Firefox print regression [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13543](https://github.com/paperless-ngx/paperless-ngx/pull/13543)) - Fix: hide some saved view operations on management page without permissions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13542](https://github.com/paperless-ngx/paperless-ngx/pull/13542)) - Fix: disable pdfjs selection rendering [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13538](https://github.com/paperless-ngx/paperless-ngx/pull/13538)) - Fix: hide sidebar drag grips with insufficient permissions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;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 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13526](https://github.com/paperless-ngx/paperless-ngx/pull/13526)) - Fix: correct multi-search non-adjacent queries [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13504](https://github.com/paperless-ngx/paperless-ngx/pull/13504)) - Fix: Content-Disposition filename normalization [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13514](https://github.com/paperless-ngx/paperless-ngx/pull/13514)) - Fix: prevent duplicated text query with multiple date queries [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13522](https://github.com/paperless-ngx/paperless-ngx/pull/13522)) - Fix: crash filtering document link custom fields with an unset or unrelated field present [@&#8203;ggouzi](https://github.com/ggouzi) ([#&#8203;13518](https://github.com/paperless-ngx/paperless-ngx/pull/13518)) - Fix: parse unpadded yyyy-mm-dd date input regardless of locale [@&#8203;Se1foo](https://github.com/Se1foo) ([#&#8203;13501](https://github.com/paperless-ngx/paperless-ngx/pull/13501)) ##### Documentation - Documentation: clarify default OCR mode changes in v3 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13666](https://github.com/paperless-ngx/paperless-ngx/pull/13666)) - Fix: fixes for workflow assign custom field values [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13630](https://github.com/paperless-ngx/paperless-ngx/pull/13630)) - Documentation: add wiki links for AI stuff and parser plugins [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13626](https://github.com/paperless-ngx/paperless-ngx/pull/13626)) ##### Maintenance - Chore(deps): Bump the actions group across 1 directory with 20 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13481](https://github.com/paperless-ngx/paperless-ngx/pull/13481)) ##### Dependencies <details> <summary>23 changes</summary> - Chore: Upgrade Docker image to Python 3.14 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13721](https://github.com/paperless-ngx/paperless-ngx/pull/13721)) - Chore(deps): Bump the uv group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13709](https://github.com/paperless-ngx/paperless-ngx/pull/13709)) - Chore: update, reorg some npm deps [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13716](https://github.com/paperless-ngx/paperless-ngx/pull/13716)) - Chore: update fpdf2 to 2.8.8 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13629](https://github.com/paperless-ngx/paperless-ngx/pull/13629)) - Chore: update pnpm, add blockExoticSubdeps [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13588](https://github.com/paperless-ngx/paperless-ngx/pull/13588)) - Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13539](https://github.com/paperless-ngx/paperless-ngx/pull/13539)) - Chore(deps): Bump the utilities-minor group across 1 directory with 20 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13534](https://github.com/paperless-ngx/paperless-ngx/pull/13534)) - Chore(deps): Bump the pre-commit-dependencies group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13532](https://github.com/paperless-ngx/paperless-ngx/pull/13532)) - Chore: ruff 0.16 upgrade [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13531](https://github.com/paperless-ngx/paperless-ngx/pull/13531)) - Chore(deps): Bump the actions group across 1 directory with 20 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13469](https://github.com/paperless-ngx/paperless-ngx/pull/13469)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 18 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13476](https://github.com/paperless-ngx/paperless-ngx/pull/13476)) - Chore(deps-dev): Bump @&#8203;<!---->playwright/test from 1.61.1 to 1.62.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13477](https://github.com/paperless-ngx/paperless-ngx/pull/13477)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 26.1.0 to 26.1.1 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13479](https://github.com/paperless-ngx/paperless-ngx/pull/13479)) </details> ##### All App Changes <details> <summary>91 changes</summary> - Fix: prevent config autocomplete craziness [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13808](https://github.com/paperless-ngx/paperless-ngx/pull/13808)) - Fix/performance: prevent token re-use in dropdown filtering, also a perf thing [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13804](https://github.com/paperless-ngx/paperless-ngx/pull/13804)) - Enhancement: Apply AI suggestions workflow action [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13639](https://github.com/paperless-ngx/paperless-ngx/pull/13639)) - Fix: exclude version documents from bulk edit "all" [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13791](https://github.com/paperless-ngx/paperless-ngx/pull/13791)) - Enhancement: welcome widget visual tweaks [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13794](https://github.com/paperless-ngx/paperless-ngx/pull/13794)) - Performance: fetch note authors with prefetch instead of one query each [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13790](https://github.com/paperless-ngx/paperless-ngx/pull/13790)) - Tweak: more misc UI tweaks [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13783](https://github.com/paperless-ngx/paperless-ngx/pull/13783)) - Enhancement: support using remote OCR engines selectively [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13633](https://github.com/paperless-ngx/paperless-ngx/pull/13633)) - Fix: fix bottom mobile nav buttons on Android [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13780](https://github.com/paperless-ngx/paperless-ngx/pull/13780)) - Enhancement: websocket heartbeat [@&#8203;oktupol](https://github.com/oktupol) ([#&#8203;13739](https://github.com/paperless-ngx/paperless-ngx/pull/13739)) - Fix: lazy import guardian modules to fix search language setting [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13768](https://github.com/paperless-ngx/paperless-ngx/pull/13768)) - Enhancement: more v3 ui tweaks [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13774](https://github.com/paperless-ngx/paperless-ngx/pull/13774)) - Chore: add some missing UI accessibility labels [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13772](https://github.com/paperless-ngx/paperless-ngx/pull/13772)) - Chore: refactor permission checkbox live changes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13771](https://github.com/paperless-ngx/paperless-ngx/pull/13771)) - Tweak: better support long list of views in documents list [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13769](https://github.com/paperless-ngx/paperless-ngx/pull/13769)) - Fix: version indexing fixes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13737](https://github.com/paperless-ngx/paperless-ngx/pull/13737)) - Fix: append charset to file response for text files [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13759](https://github.com/paperless-ngx/paperless-ngx/pull/13759)) - Fix: align bulk edit object perms with document model [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13757](https://github.com/paperless-ngx/paperless-ngx/pull/13757)) - QoL: add count badge to versions dropdown [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13753](https://github.com/paperless-ngx/paperless-ngx/pull/13753)) - Tweakhancement: add jitter to IMAP polling schedule [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13734](https://github.com/paperless-ngx/paperless-ngx/pull/13734)) - Fix: use selected version for doc detail emailing [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13738](https://github.com/paperless-ngx/paperless-ngx/pull/13738)) - Fix: hide version delete button without global perms [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13735](https://github.com/paperless-ngx/paperless-ngx/pull/13735)) - Enhancement: sync OIDC groups to superuser and staff roles [@&#8203;BeSovereign](https://github.com/BeSovereign) ([#&#8203;13060](https://github.com/paperless-ngx/paperless-ngx/pull/13060)) - Enhancement: merge documents as versions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13515](https://github.com/paperless-ngx/paperless-ngx/pull/13515)) - Tweak: adjust modal proportions for small screens [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13728](https://github.com/paperless-ngx/paperless-ngx/pull/13728)) - Refactor: render paperless\_ai prompts via Jinja2 templates instead of f-strings [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13698](https://github.com/paperless-ngx/paperless-ngx/pull/13698)) - Chore(deps): Bump the uv group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13709](https://github.com/paperless-ngx/paperless-ngx/pull/13709)) - Fix: dont re-render path template when checking collisions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13718](https://github.com/paperless-ngx/paperless-ngx/pull/13718)) - Chore: update, reorg some npm deps [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13716](https://github.com/paperless-ngx/paperless-ngx/pull/13716)) - Fix: DocumentClassifierSchema bounds [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13707](https://github.com/paperless-ngx/paperless-ngx/pull/13707)) - Tweak: small visual tweaks / improvements & fixes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13700](https://github.com/paperless-ngx/paperless-ngx/pull/13700)) - Fix: remove shadow around attribute pages [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13696](https://github.com/paperless-ngx/paperless-ngx/pull/13696)) - Zen: correct dropdown corner radius visual defect [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13695](https://github.com/paperless-ngx/paperless-ngx/pull/13695)) - Fix: handle Android keyboard popper overlay [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13694](https://github.com/paperless-ngx/paperless-ngx/pull/13694)) - Enhancement: prefer existing tags, types, correspondents, and storage paths in AI suggestions [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;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 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13688](https://github.com/paperless-ngx/paperless-ngx/pull/13688)) - Fix: reopen a fresh Tantivy index per write to prevent orphaned segment files [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13682](https://github.com/paperless-ngx/paperless-ngx/pull/13682)) - Tweak: tweak permissions menu labels for shared user-dependent views [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13685](https://github.com/paperless-ngx/paperless-ngx/pull/13685)) - Fix: fix validation of workflow title assignment [@&#8203;maxtruxa](https://github.com/maxtruxa) ([#&#8203;13659](https://github.com/paperless-ngx/paperless-ngx/pull/13659)) - Feature: Allow selection of compression type and and level during export [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13661](https://github.com/paperless-ngx/paperless-ngx/pull/13661)) - Fix: dont clip search dropdown on mobile [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13675](https://github.com/paperless-ngx/paperless-ngx/pull/13675)) - Fix: include sharelink bundle perms in WebUI [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13664](https://github.com/paperless-ngx/paperless-ngx/pull/13664)) - Enhancement: customizable icons for saved views [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13388](https://github.com/paperless-ngx/paperless-ngx/pull/13388)) - Enhancement: Add --url argument to document\_fuzzy\_match to improve output [@&#8203;lukyjay](https://github.com/lukyjay) ([#&#8203;13123](https://github.com/paperless-ngx/paperless-ngx/pull/13123)) - Feature: Updates remote OCR parser to respect the OCR mode setting [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13408](https://github.com/paperless-ngx/paperless-ngx/pull/13408)) - Performance: pass document chat queries as a QuerySet instead of a materialized.list [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13638](https://github.com/paperless-ngx/paperless-ngx/pull/13638)) - Fix: add pagination to saved views management page [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13646](https://github.com/paperless-ngx/paperless-ngx/pull/13646)) - Fix: fixes for workflow assign custom field values [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13630](https://github.com/paperless-ngx/paperless-ngx/pull/13630)) - Fix: deny deactivated users in permission filtering and auto-login [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13623](https://github.com/paperless-ngx/paperless-ngx/pull/13623)) - Chore: update fpdf2 to 2.8.8 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13629](https://github.com/paperless-ngx/paperless-ngx/pull/13629)) - Chore: update pnpm, add blockExoticSubdeps [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13628](https://github.com/paperless-ngx/paperless-ngx/pull/13628)) - Fix: check bulk mail delete permissions for the whole batch up front [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13620](https://github.com/paperless-ngx/paperless-ngx/pull/13620)) - Tweak: improve no ML suggestions UX [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13621](https://github.com/paperless-ngx/paperless-ngx/pull/13621)) - Fix: Allow DRF to validate the maximum API key length [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13614](https://github.com/paperless-ngx/paperless-ngx/pull/13614)) - Performance: unify permission-filtering backends, fixes Correspondent/Tag list slowness [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13601](https://github.com/paperless-ngx/paperless-ngx/pull/13601)) - Performance: generalize permitted\_document\_ids into permitted\_object\_ids for any model [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13578](https://github.com/paperless-ngx/paperless-ngx/pull/13578)) - Fix: render PDF form values in annotation layer [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13607](https://github.com/paperless-ngx/paperless-ngx/pull/13607)) - QoL: disable name button without perms [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13606](https://github.com/paperless-ngx/paperless-ngx/pull/13606)) - Fix: prevent debounce overwrites in advanced search field, also improve Esc behavior [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13602](https://github.com/paperless-ngx/paperless-ngx/pull/13602)) - Performance: reduce memory and I/O overhead of the document exporter during zip exports [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13594](https://github.com/paperless-ngx/paperless-ngx/pull/13594)) - QoL: make name button text on attribute pages selectable [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13592](https://github.com/paperless-ngx/paperless-ngx/pull/13592)) - Fix: raise ParseError on remote OCR failure instead of silently continuing [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13574](https://github.com/paperless-ngx/paperless-ngx/pull/13574)) - Fix: use selected version when creating share links [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13571](https://github.com/paperless-ngx/paperless-ngx/pull/13571)) - Chore: specify AI chat refine template [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13564](https://github.com/paperless-ngx/paperless-ngx/pull/13564)) - Fix: reject bulk edit permissions requests without the correct key [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13563](https://github.com/paperless-ngx/paperless-ngx/pull/13563)) - Fix: correctly serve app logo specified in env [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13561](https://github.com/paperless-ngx/paperless-ngx/pull/13561)) - Fix: prevent workflow passwords field type error [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13552](https://github.com/paperless-ngx/paperless-ngx/pull/13552)) - Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13539](https://github.com/paperless-ngx/paperless-ngx/pull/13539)) - Chore(deps): Bump the utilities-minor group across 1 directory with 20 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13535](https://github.com/paperless-ngx/paperless-ngx/pull/13535)) - Performance: More efficient mail fetching [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13432](https://github.com/paperless-ngx/paperless-ngx/pull/13432)) - Performance: eliminate per-document guardian permission-check causing high CPU on document lists [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13505](https://github.com/paperless-ngx/paperless-ngx/pull/13505)) - Fix: correct Firefox print regression [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13543](https://github.com/paperless-ngx/paperless-ngx/pull/13543)) - Fix: hide some saved view operations on management page without permissions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13533](https://github.com/paperless-ngx/paperless-ngx/pull/13533)) - Fix: disable pdfjs selection rendering [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13538](https://github.com/paperless-ngx/paperless-ngx/pull/13538)) - Fix: hide sidebar drag grips with insufficient permissions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13534](https://github.com/paperless-ngx/paperless-ngx/pull/13534)) - Chore: ruff 0.16 upgrade [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;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 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13526](https://github.com/paperless-ngx/paperless-ngx/pull/13526)) - Fix: correct multi-search non-adjacent queries [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13504](https://github.com/paperless-ngx/paperless-ngx/pull/13504)) - Fix: Content-Disposition filename normalization [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13514](https://github.com/paperless-ngx/paperless-ngx/pull/13514)) - Fix: prevent duplicated text query with multiple date queries [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13522](https://github.com/paperless-ngx/paperless-ngx/pull/13522)) - Fix: crash filtering document link custom fields with an unset or unrelated field present [@&#8203;ggouzi](https://github.com/ggouzi) ([#&#8203;13518](https://github.com/paperless-ngx/paperless-ngx/pull/13518)) - Fix: parse unpadded yyyy-mm-dd date input regardless of locale [@&#8203;Se1foo](https://github.com/Se1foo) ([#&#8203;13501](https://github.com/paperless-ngx/paperless-ngx/pull/13501)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 18 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13476](https://github.com/paperless-ngx/paperless-ngx/pull/13476)) - Chore(deps-dev): Bump @&#8203;<!---->playwright/test from 1.61.1 to 1.62.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;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 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13477](https://github.com/paperless-ngx/paperless-ngx/pull/13477)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 26.1.0 to 26.1.1 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13479](https://github.com/paperless-ngx/paperless-ngx/pull/13479)) </details> ### [`v3.0.5`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.0.5): Paperless-ngx v3.0.5 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.0.4...v3.0.5) #### paperless-ngx 3.0.5 ##### Bug Fixes - Fix: accept Whoosh-era abbreviated relative-date units (yrs, mos, wks, etc) in search queries [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13486](https://github.com/paperless-ngx/paperless-ngx/pull/13486)) - Fix: fix edit dialog error change detection [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13483](https://github.com/paperless-ngx/paperless-ngx/pull/13483)) - Fix: key the AI suggestion cache by model and endpoint [@&#8203;lunetics](https://github.com/lunetics) ([#&#8203;13449](https://github.com/paperless-ngx/paperless-ngx/pull/13449)) - Fix: validate custom field values in bulk operations [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13457](https://github.com/paperless-ngx/paperless-ngx/pull/13457)) - Fixhancement: better handle empty fields from AI suggestions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13454](https://github.com/paperless-ngx/paperless-ngx/pull/13454)) - Fix: normalize monetary decimal symbol by locale [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13427](https://github.com/paperless-ngx/paperless-ngx/pull/13427)) - Fix: fold overflowing path text in sanity checker [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13426](https://github.com/paperless-ngx/paperless-ngx/pull/13426)) - Fix: correct delayed add field button for custom fields [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13424](https://github.com/paperless-ngx/paperless-ngx/pull/13424)) - Fix: hide attributes collapse / show button without UI settings [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13425](https://github.com/paperless-ngx/paperless-ngx/pull/13425)) - Fix: consolidate born-digital PDF detection between archive decision and OCR [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13409](https://github.com/paperless-ngx/paperless-ngx/pull/13409)) - Fix: prevent scale vs page loop in pngx PDF viewer [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13406](https://github.com/paperless-ngx/paperless-ngx/pull/13406)) - Fix: handle hidden line breaks in email subjects when sending email [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13402](https://github.com/paperless-ngx/paperless-ngx/pull/13402)) - Fix: avoid NotSupportedError from document\_importer on MariaDB [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13400](https://github.com/paperless-ngx/paperless-ngx/pull/13400)) - Fix: exclude next-period start from relative date-range filters [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13381](https://github.com/paperless-ngx/paperless-ngx/pull/13381)) - Fix: close non-atomic db connections in before\_task\_publish [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13366](https://github.com/paperless-ngx/paperless-ngx/pull/13366)) - Chore/fix: refactor frontend task service [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13365](https://github.com/paperless-ngx/paperless-ngx/pull/13365)) - Fix: fix Enter selection in search autocomplete [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13361](https://github.com/paperless-ngx/paperless-ngx/pull/13361)) ##### Documentation - Documentation: PAPERLESS\_CONSUMER\_IGNORE\_PATTERNS clarifications [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13489](https://github.com/paperless-ngx/paperless-ngx/pull/13489)) - Documentation: Add Password Removal workflow action documentation [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13377](https://github.com/paperless-ngx/paperless-ngx/pull/13377)) ##### Dependencies - Chore(deps): Bump pymdown-extensions from 10.21.3 to 11.0 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13378](https://github.com/paperless-ngx/paperless-ngx/pull/13378)) ##### All App Changes <details> <summary>21 changes</summary> - Fix: accept Whoosh-era abbreviated relative-date units (yrs, mos, wks, etc) in search queries [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13486](https://github.com/paperless-ngx/paperless-ngx/pull/13486)) - Fix: fix edit dialog error change detection [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13483](https://github.com/paperless-ngx/paperless-ngx/pull/13483)) - Performance: sqlite-vec point-delete for document chunks [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13438](https://github.com/paperless-ngx/paperless-ngx/pull/13438)) - Fix: key the AI suggestion cache by model and endpoint [@&#8203;lunetics](https://github.com/lunetics) ([#&#8203;13449](https://github.com/paperless-ngx/paperless-ngx/pull/13449)) - Fix: validate custom field values in bulk operations [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13457](https://github.com/paperless-ngx/paperless-ngx/pull/13457)) - Fixhancement: better handle empty fields from AI suggestions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13454](https://github.com/paperless-ngx/paperless-ngx/pull/13454)) - Performance: Use server side iterators during LLM index updating [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13430](https://github.com/paperless-ngx/paperless-ngx/pull/13430)) - Fix: normalize monetary decimal symbol by locale [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13427](https://github.com/paperless-ngx/paperless-ngx/pull/13427)) - Fix: fold overflowing path text in sanity checker [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13426](https://github.com/paperless-ngx/paperless-ngx/pull/13426)) - Fix: correct delayed add field button for custom fields [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13424](https://github.com/paperless-ngx/paperless-ngx/pull/13424)) - Fix: hide attributes collapse / show button without UI settings [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13425](https://github.com/paperless-ngx/paperless-ngx/pull/13425)) - Fix: consolidate born-digital PDF detection between archive decision and OCR [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13409](https://github.com/paperless-ngx/paperless-ngx/pull/13409)) - Fix: prevent scale vs page loop in pngx PDF viewer [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13406](https://github.com/paperless-ngx/paperless-ngx/pull/13406)) - Fix: handle hidden line breaks in email subjects when sending email [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13402](https://github.com/paperless-ngx/paperless-ngx/pull/13402)) - Fix: avoid NotSupportedError from document\_importer on MariaDB [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13400](https://github.com/paperless-ngx/paperless-ngx/pull/13400)) - Tweak: adjust doc details button toolbar flow [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13382](https://github.com/paperless-ngx/paperless-ngx/pull/13382)) - Fix: exclude next-period start from relative date-range filters [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13381](https://github.com/paperless-ngx/paperless-ngx/pull/13381)) - Chore(deps): Bump pymdown-extensions from 10.21.3 to 11.0 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13378](https://github.com/paperless-ngx/paperless-ngx/pull/13378)) - Fix: close non-atomic db connections in before\_task\_publish [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13366](https://github.com/paperless-ngx/paperless-ngx/pull/13366)) - Chore/fix: refactor frontend task service [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13365](https://github.com/paperless-ngx/paperless-ngx/pull/13365)) - Fix: fix Enter selection in search autocomplete [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13361](https://github.com/paperless-ngx/paperless-ngx/pull/13361)) </details> ### [`v3.0.4`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.0.4): Paperless-ngx v3.0.4 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.0.3...v3.0.4) #### paperless-ngx 3.0.4 ##### Bug Fixes - Fix: prevent pdfjs highlight scrolling from affecting the entire page [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13355](https://github.com/paperless-ngx/paperless-ngx/pull/13355)) - Fix: don't skip OCR/archive for tagged PDFs with no actual text [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13351](https://github.com/paperless-ngx/paperless-ngx/pull/13351)) - Performance: more efficient diacritic normalization in dropdown filtering [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13347](https://github.com/paperless-ngx/paperless-ngx/pull/13347)) - Fix: dedupe permission-visible documents when combined with multi-tag filters [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13345](https://github.com/paperless-ngx/paperless-ngx/pull/13345)) - Fixhancement: pass LLM output language to chat if specified [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13340](https://github.com/paperless-ngx/paperless-ngx/pull/13340)) - Fix: ensure preview reload on live changes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13321](https://github.com/paperless-ngx/paperless-ngx/pull/13321)) - Fix: clamp all out out-of-range possible fields [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13316](https://github.com/paperless-ngx/paperless-ngx/pull/13316)) - Fix: add docstring to DocumentClassifierSchema for cleaner LLM tool description [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13315](https://github.com/paperless-ngx/paperless-ngx/pull/13315)) - Fix: guard build\_document\_node against stale FK on deleted correspondent/doc type [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13318](https://github.com/paperless-ngx/paperless-ngx/pull/13318)) - Fix: prevent search filter loss when closing document with Escape key [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13317](https://github.com/paperless-ngx/paperless-ngx/pull/13317)) - Fix: fix frontend permissions display for stats/system perms [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13305](https://github.com/paperless-ngx/paperless-ngx/pull/13305)) ##### Documentation - Documentation: fix PAPERLESS\_AI\_LLM\_OUTPUT\_LANGUAGE heading level [@&#8203;SuperSandro2000](https://github.com/SuperSandro2000) ([#&#8203;13341](https://github.com/paperless-ngx/paperless-ngx/pull/13341)) ##### Dependencies - Chore: resolve npm provenance issues with chokidar and semver [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13323](https://github.com/paperless-ngx/paperless-ngx/pull/13323)) ##### All App Changes <details> <summary>14 changes</summary> - Fix: prevent pdfjs highlight scrolling from affecting the entire page [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13355](https://github.com/paperless-ngx/paperless-ngx/pull/13355)) - Fix: don't skip OCR/archive for tagged PDFs with no actual text [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13351](https://github.com/paperless-ngx/paperless-ngx/pull/13351)) - Performance: more efficient diacritic normalization in dropdown filtering [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13347](https://github.com/paperless-ngx/paperless-ngx/pull/13347)) - Performance: prefetch notes and custom fields for LLM index text building [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13350](https://github.com/paperless-ngx/paperless-ngx/pull/13350)) - Fix: dedupe permission-visible documents when combined with multi-tag filters [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13345](https://github.com/paperless-ngx/paperless-ngx/pull/13345)) - Performance: Scope llm index updates to actually modified documents [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13322](https://github.com/paperless-ngx/paperless-ngx/pull/13322)) - Fixhancement: pass LLM output language to chat if specified [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13340](https://github.com/paperless-ngx/paperless-ngx/pull/13340)) - Chore: resolve npm provenance issues with chokidar and semver [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13323](https://github.com/paperless-ngx/paperless-ngx/pull/13323)) - Fix: ensure preview reload on live changes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13321](https://github.com/paperless-ngx/paperless-ngx/pull/13321)) - Fix: clamp all out out-of-range possible fields [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13316](https://github.com/paperless-ngx/paperless-ngx/pull/13316)) - Fix: add docstring to DocumentClassifierSchema for cleaner LLM tool description [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13315](https://github.com/paperless-ngx/paperless-ngx/pull/13315)) - Fix: guard build\_document\_node against stale FK on deleted correspondent/doc type [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13318](https://github.com/paperless-ngx/paperless-ngx/pull/13318)) - Fix: prevent search filter loss when closing document with Escape key [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13317](https://github.com/paperless-ngx/paperless-ngx/pull/13317)) - Fix: fix frontend permissions display for stats/system perms [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13305](https://github.com/paperless-ngx/paperless-ngx/pull/13305)) </details> ### [`v3.0.3`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.0.3): Paperless-ngx v3.0.3 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.0.2...v3.0.3) #### paperless-ngx 3.0.3 ##### Bug Fixes - Fixhancement: PAPERLESS\_ALLAUTH\_TRUSTED\_PROXY\_COUNT [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13281](https://github.com/paperless-ngx/paperless-ngx/pull/13281)) - Fix: preserve document fields during Gotenberg conversion to PDF [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13271](https://github.com/paperless-ngx/paperless-ngx/pull/13271)) - Fix: Makes the email date aware as soon as possible during parsing [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13266](https://github.com/paperless-ngx/paperless-ngx/pull/13266)) - Fix: Handle a plain string as Celery sometimes provides for the traceback [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13267](https://github.com/paperless-ngx/paperless-ngx/pull/13267)) - Fix: Emit the torch index into the requirements.txt for people still using it [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13265](https://github.com/paperless-ngx/paperless-ngx/pull/13265)) - Fix: handle notes without a user when building the search index [@&#8203;matthiasmast](https://github.com/matthiasmast) ([#&#8203;13260](https://github.com/paperless-ngx/paperless-ngx/pull/13260)) ##### Documentation - Docs: warn bare-metal users about stale files when upgrading [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13296](https://github.com/paperless-ngx/paperless-ngx/pull/13296)) - Documentation: Add the NumPy CPU baseline increase to the migration guide [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13269](https://github.com/paperless-ngx/paperless-ngx/pull/13269)) ##### Maintenance - Fix: Emit the torch index into the requirements.txt for people still using it [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13265](https://github.com/paperless-ngx/paperless-ngx/pull/13265)) ##### All App Changes <details> <summary>6 changes</summary> - Fixhancement: PAPERLESS\_ALLAUTH\_TRUSTED\_PROXY\_COUNT [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13281](https://github.com/paperless-ngx/paperless-ngx/pull/13281)) - Tweak: adjust top navbar wrapping when AI chat button visible [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13280](https://github.com/paperless-ngx/paperless-ngx/pull/13280)) - Fix: preserve document fields during Gotenberg conversion to PDF [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13271](https://github.com/paperless-ngx/paperless-ngx/pull/13271)) - Fix: Makes the email date aware as soon as possible during parsing [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13266](https://github.com/paperless-ngx/paperless-ngx/pull/13266)) - Fix: Handle a plain string as Celery sometimes provides for the traceback [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13267](https://github.com/paperless-ngx/paperless-ngx/pull/13267)) - Fix: handle notes without a user when building the search index [@&#8203;matthiasmast](https://github.com/matthiasmast) ([#&#8203;13260](https://github.com/paperless-ngx/paperless-ngx/pull/13260)) </details> ### [`v3.0.2`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.0.2): Paperless-ngx v3.0.2 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.0.1...v3.0.2) #### paperless-ngx 3.0.2 ##### Bug Fixes - Fix: fix broken migration in 3.0.1 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13242](https://github.com/paperless-ngx/paperless-ngx/pull/13242)) ##### All App Changes - Fix: fix broken migration in 3.0.1 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13242](https://github.com/paperless-ngx/paperless-ngx/pull/13242)) ### [`v3.0.1`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.0.1): Paperless-ngx v3.0.1 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v3.0.0...v3.0.1) > \[!WARNING] > An issue with database migrations prevents v3.0.1 from running, users should upgrade to v3.0.2 #### paperless-ngx 3.0.1 ##### Bug Fixes - Fix: selection\_data re-derives the filtered document set 5 times over [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13229](https://github.com/paperless-ngx/paperless-ngx/pull/13229)) - Fix: exclude source document from its own RAG similarity results [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13233](https://github.com/paperless-ngx/paperless-ngx/pull/13233)) - Fix: split mailrule maximum\_age clamp into its own migration [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13231](https://github.com/paperless-ngx/paperless-ngx/pull/13231)) - Chore: mark yes in confirm button for translation [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13225](https://github.com/paperless-ngx/paperless-ngx/pull/13225)) - Fix: correct URL for W001 check [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13220](https://github.com/paperless-ngx/paperless-ngx/pull/13220)) - Fix: ensure create dialog uses correct attribute type [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13221](https://github.com/paperless-ngx/paperless-ngx/pull/13221)) - Fix: correct database engine from postgres to postgresql [@&#8203;OberstVonGatow](https://github.com/OberstVonGatow) ([#&#8203;13213](https://github.com/paperless-ngx/paperless-ngx/pull/13213)) - Fix: remove unnecessary .distinct() dominating document list queries [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13205](https://github.com/paperless-ngx/paperless-ngx/pull/13205)) - Fix: also wrap non-breaking words in chat messages, handle whitespace [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13211](https://github.com/paperless-ngx/paperless-ngx/pull/13211)) - Fix: tag/custom-field document\_count scales badly with tag count [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13203](https://github.com/paperless-ngx/paperless-ngx/pull/13203)) - Fix: batch document user\_can\_change checks to avoid per-row N+1 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13204](https://github.com/paperless-ngx/paperless-ngx/pull/13204)) - Fix: fix app title restoration [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13208](https://github.com/paperless-ngx/paperless-ngx/pull/13208)) - Fix: handle long wrapping titles in AI chat document list [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13206](https://github.com/paperless-ngx/paperless-ngx/pull/13206)) ##### Dependencies - Chore(deps-dev): Bump postcss from 8.5.6 to 8.5.22 in /src/paperless\_mail/templates in the npm\_and\_yarn group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13236](https://github.com/paperless-ngx/paperless-ngx/pull/13236)) - Chore(deps): Bump pyasn1 from 0.6.3 to 0.6.4 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13237](https://github.com/paperless-ngx/paperless-ngx/pull/13237)) - Chore(deps): Bump the uv group across 1 directory with 8 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13189](https://github.com/paperless-ngx/paperless-ngx/pull/13189)) ##### All App Changes <details> <summary>17 changes</summary> - Chore(deps-dev): Bump postcss from 8.5.6 to 8.5.22 in /src/paperless\_mail/templates in the npm\_and\_yarn group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13236](https://github.com/paperless-ngx/paperless-ngx/pull/13236)) - Fix: selection\_data re-derives the filtered document set 5 times over [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13229](https://github.com/paperless-ngx/paperless-ngx/pull/13229)) - Chore: reword "Settings > Default permissions" description for clarity [@&#8203;NotaInutilis](https://github.com/NotaInutilis) ([#&#8203;13232](https://github.com/paperless-ngx/paperless-ngx/pull/13232)) - Chore(deps): Bump pyasn1 from 0.6.3 to 0.6.4 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13237](https://github.com/paperless-ngx/paperless-ngx/pull/13237)) - Chore(deps): Bump the uv group across 1 directory with 8 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13189](https://github.com/paperless-ngx/paperless-ngx/pull/13189)) - Fix: exclude source document from its own RAG similarity results [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13233](https://github.com/paperless-ngx/paperless-ngx/pull/13233)) - Fix: split mailrule maximum\_age clamp into its own migration [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13231](https://github.com/paperless-ngx/paperless-ngx/pull/13231)) - Chore: mark yes in confirm button for translation [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13225](https://github.com/paperless-ngx/paperless-ngx/pull/13225)) - Fix: correct URL for W001 check [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13220](https://github.com/paperless-ngx/paperless-ngx/pull/13220)) - Fix: ensure create dialog uses correct attribute type [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13221](https://github.com/paperless-ngx/paperless-ngx/pull/13221)) - Fix: correct database engine from postgres to postgresql [@&#8203;OberstVonGatow](https://github.com/OberstVonGatow) ([#&#8203;13213](https://github.com/paperless-ngx/paperless-ngx/pull/13213)) - Fix: remove unnecessary .distinct() dominating document list queries [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13205](https://github.com/paperless-ngx/paperless-ngx/pull/13205)) - Fix: also wrap non-breaking words in chat messages, handle whitespace [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13211](https://github.com/paperless-ngx/paperless-ngx/pull/13211)) - Fix: tag/custom-field document\_count scales badly with tag count [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13203](https://github.com/paperless-ngx/paperless-ngx/pull/13203)) - Fix: batch document user\_can\_change checks to avoid per-row N+1 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13204](https://github.com/paperless-ngx/paperless-ngx/pull/13204)) - Fix: fix app title restoration [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13208](https://github.com/paperless-ngx/paperless-ngx/pull/13208)) - Fix: handle long wrapping titles in AI chat document list [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13206](https://github.com/paperless-ngx/paperless-ngx/pull/13206)) </details> ### [`v3.0.0`](https://github.com/paperless-ngx/paperless-ngx/releases/tag/v3.0.0): Paperless-ngx v3.0.0 [Compare Source](https://github.com/paperless-ngx/paperless-ngx/compare/v2.20.15...v3.0.0) #### paperless-ngx 3.0.0 ##### Breaking Changes - \[BREAKING] Remove the positional arguments from the pre/post consume scripts [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12573](https://github.com/paperless-ngx/paperless-ngx/pull/12573)) - \[BREAKING] Decouple OCR control from archive file control [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12448](https://github.com/paperless-ngx/paperless-ngx/pull/12448)) - \[BREAKING] Chore: drop support for api versions < 9 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12284](https://github.com/paperless-ngx/paperless-ngx/pull/12284)) - \[BREAKING] Chore: Drop support for Python 3.10 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12234](https://github.com/paperless-ngx/paperless-ngx/pull/12234)) - \[BREAKING] Chore: Refactor advanced database settings to allow more user configuration [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12165](https://github.com/paperless-ngx/paperless-ngx/pull/12165)) - \[BREAKING] Remove API v1 compatability [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12166](https://github.com/paperless-ngx/paperless-ngx/pull/12166)) - \[BREAKING] Remove pybzar as a barcode reader [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12065](https://github.com/paperless-ngx/paperless-ngx/pull/12065)) - \[BREAKING] Remove support for document and thumbnail encryption [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;11850](https://github.com/paperless-ngx/paperless-ngx/pull/11850)) - \[BREAKING] Feature: Simplify and improve the consumer [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;11753](https://github.com/paperless-ngx/paperless-ngx/pull/11753)) ##### Notable Changes - Feature: Replace Whoosh with tantivy search backend [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12471](https://github.com/paperless-ngx/paperless-ngx/pull/12471)) - Feature: document parser plugin framework [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12294](https://github.com/paperless-ngx/paperless-ngx/pull/12294)) - Feature: document file versions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12061](https://github.com/paperless-ngx/paperless-ngx/pull/12061)) - Feature: sharelink bundles [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11682](https://github.com/paperless-ngx/paperless-ngx/pull/11682)) - Feature: Paperless AI [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;10319](https://github.com/paperless-ngx/paperless-ngx/pull/10319)) - Feature: Remote OCR (Azure AI) [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;10320](https://github.com/paperless-ngx/paperless-ngx/pull/10320)) ##### Features / Enhancements - \[Beta] Paperless-ngx v3.0.0 Beta [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12713](https://github.com/paperless-ngx/paperless-ngx/pull/12713)) - Tweakhancement (beta): allow some bulk operations with all [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13193](https://github.com/paperless-ngx/paperless-ngx/pull/13193)) - Security (beta): enforce current permissions in autocomplete [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13188](https://github.com/paperless-ngx/paperless-ngx/pull/13188)) - Security (beta): bound email linkification [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13187](https://github.com/paperless-ngx/paperless-ngx/pull/13187)) - Change: update root modified timestamp on version changes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13170](https://github.com/paperless-ngx/paperless-ngx/pull/13170)) - Performance: add DB indexes for common query/sort patterns [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13167](https://github.com/paperless-ngx/paperless-ngx/pull/13167)) - Performance: use NgOptimizedImage for thumbnail lazy loading [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13169](https://github.com/paperless-ngx/paperless-ngx/pull/13169)) - Performance: Tantivy indexing optimization [@&#8203;Merinorus](https://github.com/Merinorus) ([#&#8203;13053](https://github.com/paperless-ngx/paperless-ngx/pull/13053)) - Chorehancement: update to Angular v22, 'zoneless' / 'reactive' [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13114](https://github.com/paperless-ngx/paperless-ngx/pull/13114)) - Enhancement (beta): support LLM timeout config [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13002](https://github.com/paperless-ngx/paperless-ngx/pull/13002)) - Enhancement: ignore diacritics, support multiple substring matching for UI filtering [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13021](https://github.com/paperless-ngx/paperless-ngx/pull/13021)) - Enhancement(beta): replace LanceDB vector store with sqlite-vec [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12990](https://github.com/paperless-ngx/paperless-ngx/pull/12990)) - Enhancement (beta): Switch the AI vector store to LanceDB [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12944](https://github.com/paperless-ngx/paperless-ngx/pull/12944)) - Fixhancement (beta): tasks dismiss all [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12949](https://github.com/paperless-ngx/paperless-ngx/pull/12949)) - Enhancement (beta): add direct LLM language setting [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12906](https://github.com/paperless-ngx/paperless-ngx/pull/12906)) - Enhancement: try to respect language for AI suggestions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12894](https://github.com/paperless-ngx/paperless-ngx/pull/12894)) - Enhancement: AI LLM chunk size and context window config [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12891](https://github.com/paperless-ngx/paperless-ngx/pull/12891)) - Enhancement: support ollama embeddings [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12753](https://github.com/paperless-ngx/paperless-ngx/pull/12753)) - Tweakhancment: Include the last applied 'documents' migration in the log [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12757](https://github.com/paperless-ngx/paperless-ngx/pull/12757)) - Enhancement: version-aware thumbnail etag [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12754](https://github.com/paperless-ngx/paperless-ngx/pull/12754)) - Documentation: Update v3 migration docs [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12752](https://github.com/paperless-ngx/paperless-ngx/pull/12752)) - Feature: Further reduce document importer memory usage [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12707](https://github.com/paperless-ngx/paperless-ngx/pull/12707)) - Tweakhancement: use fixed position instead of display none for printing [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12706](https://github.com/paperless-ngx/paperless-ngx/pull/12706)) - Enhancement: Paperless-ngx v3 Logo [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12673](https://github.com/paperless-ngx/paperless-ngx/pull/12673)) - Tweakhancement: localize some more task result messages [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12672](https://github.com/paperless-ngx/paperless-ngx/pull/12672)) - Enhancement: chat message document links [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12670](https://github.com/paperless-ngx/paperless-ngx/pull/12670)) - Tweakhancement: make upload notification open an anchor link [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12659](https://github.com/paperless-ngx/paperless-ngx/pull/12659)) - Tweakhancement: tweak tasks UI, make open doc an anchor [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12658](https://github.com/paperless-ngx/paperless-ngx/pull/12658)) - Enhancement: show small task summary in system status [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12634](https://github.com/paperless-ngx/paperless-ngx/pull/12634)) - Enhancement: new Tasks UI [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12614](https://github.com/paperless-ngx/paperless-ngx/pull/12614)) - Feature: Allow monitoring access to tasks summary [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12624](https://github.com/paperless-ngx/paperless-ngx/pull/12624)) - Tweak: remove stale index warning [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12616](https://github.com/paperless-ngx/paperless-ngx/pull/12616)) - Enhancement: add highlighting to title + content searches [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12593](https://github.com/paperless-ngx/paperless-ngx/pull/12593)) - Feature: Redesign the task system [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12584](https://github.com/paperless-ngx/paperless-ngx/pull/12584)) - Feature: Tune SQLite default settings for increased speed [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12580](https://github.com/paperless-ngx/paperless-ngx/pull/12580)) - Feature: Document fuzzy match improvements [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12579](https://github.com/paperless-ngx/paperless-ngx/pull/12579)) - Enhancement: validate and sanitize uploaded logos [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12551](https://github.com/paperless-ngx/paperless-ngx/pull/12551)) - Enhancement: add view\_global\_statistics and view\_system\_status permissions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12530](https://github.com/paperless-ngx/paperless-ngx/pull/12530)) - Fixhancement: include sharelinks + bundles in export/import [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12479](https://github.com/paperless-ngx/paperless-ngx/pull/12479)) - Enhancement: unify text search to use tantivy [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12485](https://github.com/paperless-ngx/paperless-ngx/pull/12485)) - Feature: Consumer logging correlation [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12510](https://github.com/paperless-ngx/paperless-ngx/pull/12510)) - Security enhancement: allow opt-in blocking internal mail hosts [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12502](https://github.com/paperless-ngx/paperless-ngx/pull/12502)) - Feature: Replace Whoosh with tantivy search backend [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12471](https://github.com/paperless-ngx/paperless-ngx/pull/12471)) - Fixhancement: include trashed documents in document exporter/importer [@&#8203;JanKleine](https://github.com/JanKleine) ([#&#8203;12425](https://github.com/paperless-ngx/paperless-ngx/pull/12425)) - Tweakhancement: show file extension in StoragePath test [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12452](https://github.com/paperless-ngx/paperless-ngx/pull/12452)) - Feature: Transition all checksums to use SHA256 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12432](https://github.com/paperless-ngx/paperless-ngx/pull/12432)) - Enhancement: auto-hide the search bar on mobile [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12404](https://github.com/paperless-ngx/paperless-ngx/pull/12404)) - Change: sort custom fields alphabetically by default [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12358](https://github.com/paperless-ngx/paperless-ngx/pull/12358)) - Feature: Add progress information to the classifier training for a better ux [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12331](https://github.com/paperless-ngx/paperless-ngx/pull/12331)) - Feature: document parser plugin framework [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12294](https://github.com/paperless-ngx/paperless-ngx/pull/12294)) - Enhancement: Make the StatusConsumer truly async [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12298](https://github.com/paperless-ngx/paperless-ngx/pull/12298)) - Feature: Migrate import/export to rich progress [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12260](https://github.com/paperless-ngx/paperless-ngx/pull/12260)) - Enhancement: Show more document details in merge dialog [@&#8203;svenstaro](https://github.com/svenstaro) ([#&#8203;12271](https://github.com/paperless-ngx/paperless-ngx/pull/12271)) - Enhancement: saved view sharing [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12142](https://github.com/paperless-ngx/paperless-ngx/pull/12142)) - Enhancement: “live” document updates [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12141](https://github.com/paperless-ngx/paperless-ngx/pull/12141)) - Enhancement: Improve the retagger output using rich [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12194](https://github.com/paperless-ngx/paperless-ngx/pull/12194)) - Enhancement: Transition sanity check to rich and improve output [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12182](https://github.com/paperless-ngx/paperless-ngx/pull/12182)) - Enhancement: Switch all indexing to use rich [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12193](https://github.com/paperless-ngx/paperless-ngx/pull/12193)) - Feature: Switch progress bar library to rich [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12169](https://github.com/paperless-ngx/paperless-ngx/pull/12169)) - Enhancment: Formatted filename for single document downloads [@&#8203;JanKleine](https://github.com/JanKleine) ([#&#8203;12095](https://github.com/paperless-ngx/paperless-ngx/pull/12095)) - Feature: document file versions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12061](https://github.com/paperless-ngx/paperless-ngx/pull/12061)) - Enhancement: prevent duplicate mail processing across rules [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12159](https://github.com/paperless-ngx/paperless-ngx/pull/12159)) - Feature: move to trash action for workflows [@&#8203;JanKleine](https://github.com/JanKleine) ([#&#8203;11176](https://github.com/paperless-ngx/paperless-ngx/pull/11176)) - Tweakhancement: reset to page 1 on reset filters [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12143](https://github.com/paperless-ngx/paperless-ngx/pull/12143)) - Enhancement: consolidate management lists into document attributes section [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12045](https://github.com/paperless-ngx/paperless-ngx/pull/12045)) - Enhancement: option to stop processing further mail rules [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12053](https://github.com/paperless-ngx/paperless-ngx/pull/12053)) - Tweak: improve 2-digit year parsing [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12044](https://github.com/paperless-ngx/paperless-ngx/pull/12044)) - Enhancement: pngx pdf viewer [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12043](https://github.com/paperless-ngx/paperless-ngx/pull/12043)) - Fixhancement: improve ASN handling with PDF operations [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11689](https://github.com/paperless-ngx/paperless-ngx/pull/11689)) - Feature: Enable users to customize date parsing via plugins [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;11931](https://github.com/paperless-ngx/paperless-ngx/pull/11931)) - Feature: password removal workflow action [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11665](https://github.com/paperless-ngx/paperless-ngx/pull/11665)) - Enhancement: per-type object page sizing [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11977](https://github.com/paperless-ngx/paperless-ngx/pull/11977)) - Enhancement: improve filter drop-down performance with virtual scrolling [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11973](https://github.com/paperless-ngx/paperless-ngx/pull/11973)) - Tweakhancement: tweak bulk delete text [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11967](https://github.com/paperless-ngx/paperless-ngx/pull/11967)) - Feature: support split documents based on tag barcodes [@&#8203;schober-ch](https://github.com/schober-ch) ([#&#8203;11645](https://github.com/paperless-ngx/paperless-ngx/pull/11645)) - Enhancement: Add setting for default PDF Editor mode [@&#8203;JanKleine](https://github.com/JanKleine) ([#&#8203;11927](https://github.com/paperless-ngx/paperless-ngx/pull/11927)) - Fixhancement: auto-queue llm index if needed [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11891](https://github.com/paperless-ngx/paperless-ngx/pull/11891)) - Feature: sharelink bundles [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11682](https://github.com/paperless-ngx/paperless-ngx/pull/11682)) - Enhancement: user control of doc details fields [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11906](https://github.com/paperless-ngx/paperless-ngx/pull/11906)) - Enhancement: improve relative dates in date filter [@&#8203;JanKleine](https://github.com/JanKleine) ([#&#8203;11899](https://github.com/paperless-ngx/paperless-ngx/pull/11899)) - Enhancement: allow duplicates with warnings, UI for discovery [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11815](https://github.com/paperless-ngx/paperless-ngx/pull/11815)) - Enhancement: configurable SSO groups claim [@&#8203;Gabgobie](https://github.com/Gabgobie) ([#&#8203;11841](https://github.com/paperless-ngx/paperless-ngx/pull/11841)) - Enhancement: support select all for management lists [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11889](https://github.com/paperless-ngx/paperless-ngx/pull/11889)) - Tweakhancement: display document id, with copy [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11896](https://github.com/paperless-ngx/paperless-ngx/pull/11896)) - Enhancement: Add support for app oidc [@&#8203;paulgessinger](https://github.com/paulgessinger) ([#&#8203;11756](https://github.com/paperless-ngx/paperless-ngx/pull/11756)) - Enhancement: Add 'any of' workflow trigger filters [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11683](https://github.com/paperless-ngx/paperless-ngx/pull/11683)) - Enhancement: support doc\_id placeholder in workflow templates [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11847](https://github.com/paperless-ngx/paperless-ngx/pull/11847)) - Performance: improve treenode inefficiencies [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11606](https://github.com/paperless-ngx/paperless-ngx/pull/11606)) - Feature: Remote OCR (Azure AI) [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;10320](https://github.com/paperless-ngx/paperless-ngx/pull/10320)) - Feature: password removal action [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11656](https://github.com/paperless-ngx/paperless-ngx/pull/11656)) - Tweakhancement: use anchor element for management list quick filter buttons [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11692](https://github.com/paperless-ngx/paperless-ngx/pull/11692)) - Feature: Indonesian translation [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11641](https://github.com/paperless-ngx/paperless-ngx/pull/11641)) ##### Bug Fixes - Fix (beta): prevent pdfjs offsetParent warning [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13197](https://github.com/paperless-ngx/paperless-ngx/pull/13197)) - Fix (beta): dont include hidden buttons in virtual scroll container height [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13194](https://github.com/paperless-ngx/paperless-ngx/pull/13194)) - Fix (beta): fix custom field bulk editing for 'all' [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13191](https://github.com/paperless-ngx/paperless-ngx/pull/13191)) - Security (beta): two small permission check fixes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13186](https://github.com/paperless-ngx/paperless-ngx/pull/13186)) - Fix (beta): short-circuit ObjectOwnedOrGrantedPermissionsFilter for superusers [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13183](https://github.com/paperless-ngx/paperless-ngx/pull/13183)) - Fix (beta): compute num\_notes via a subquery instead of Count()+distinct [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13182](https://github.com/paperless-ngx/paperless-ngx/pull/13182)) - Fix: prevent tag assignment from reverting other pending workflow assignments [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13178](https://github.com/paperless-ngx/paperless-ngx/pull/13178)) - Fix(beta): cache per-request effective-document resolution for thumb/metadata/preview [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13166](https://github.com/paperless-ngx/paperless-ngx/pull/13166)) - Fix: fallback from archive version for share links [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13163](https://github.com/paperless-ngx/paperless-ngx/pull/13163)) - Fix: better handle saved view errors in dashboard widgets [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13164](https://github.com/paperless-ngx/paperless-ngx/pull/13164)) - Fix (beta): convert chat component to signal-backed Angular [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13152](https://github.com/paperless-ngx/paperless-ngx/pull/13152)) - Fix: HTTP 500 filtering documents by tags + custom field query on MariaDB [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13143](https://github.com/paperless-ngx/paperless-ngx/pull/13143)) - Fix: scope ProcessedMail UID deduplication by IMAP UIDVALIDITY [@&#8203;chouquette](https://github.com/chouquette) ([#&#8203;12839](https://github.com/paperless-ngx/paperless-ngx/pull/12839)) - Fix: allow setting any UID and GID when running rootless [@&#8203;Tahvok](https://github.com/Tahvok) ([#&#8203;13090](https://github.com/paperless-ngx/paperless-ngx/pull/13090)) - Fix (beta): fix sidebar document close button [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13136](https://github.com/paperless-ngx/paperless-ngx/pull/13136)) - Fix: include wasm assets in pdf.js-based viewer [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13122](https://github.com/paperless-ngx/paperless-ngx/pull/13122)) - Fix: fix ui labels from md5 to sha256 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13119](https://github.com/paperless-ngx/paperless-ngx/pull/13119)) - Fixhancement: dont assign empty title in workflow with broken template [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13112](https://github.com/paperless-ngx/paperless-ngx/pull/13112)) - Fix: clamp mailrule max age before migration [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13093](https://github.com/paperless-ngx/paperless-ngx/pull/13093)) - Fix: use latest document version for bulk download [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13103](https://github.com/paperless-ngx/paperless-ngx/pull/13103)) - Fix (beta): handle relative date with comma query [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13087](https://github.com/paperless-ngx/paperless-ngx/pull/13087)) - Fix (beta): fix sanity checker affected document counts [@&#8203;NgoQuocViet2001](https://github.com/NgoQuocViet2001) ([#&#8203;13052](https://github.com/paperless-ngx/paperless-ngx/pull/13052)) - Fix (beta): preserve Unicode in localization prompt [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13055](https://github.com/paperless-ngx/paperless-ngx/pull/13055)) - Fix: change tantivy token limit to title field max length [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13046](https://github.com/paperless-ngx/paperless-ngx/pull/13046)) - Fix: include last-modified in doc etag [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13044](https://github.com/paperless-ngx/paperless-ngx/pull/13044)) - Fix (beta): Stream chunks during compaction to prevent oom on smaller installs [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13014](https://github.com/paperless-ngx/paperless-ngx/pull/13014)) - Fixhancement (beta): truncate embedding queries for small chunk size [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13028](https://github.com/paperless-ngx/paperless-ngx/pull/13028)) - Fix(beta): Workaround a Tantivy panic in more like this searching [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13026](https://github.com/paperless-ngx/paperless-ngx/pull/13026)) - Fix (beta): Catch consumer files created during watcher re-creations [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13013](https://github.com/paperless-ngx/paperless-ngx/pull/13013)) - Fix (beta): restore v2 (Whoosh) advanced-search query compatibility [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13010](https://github.com/paperless-ngx/paperless-ngx/pull/13010)) - Fix (beta): retry celery ping and report warning on no response [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13012](https://github.com/paperless-ngx/paperless-ngx/pull/13012)) - Fix (beta): don't send chat message on Enter while composing with IME (CJK) [@&#8203;mzyy94](https://github.com/mzyy94) ([#&#8203;12999](https://github.com/paperless-ngx/paperless-ngx/pull/12999)) - Fix: Apply unicode normalization to all paths and path components [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12993](https://github.com/paperless-ngx/paperless-ngx/pull/12993)) - Fix: Handle the UTF 16 and BOM text files better [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12994](https://github.com/paperless-ngx/paperless-ngx/pull/12994)) - Fix (beta): avoid DRF update calling `save` on all fields [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12992](https://github.com/paperless-ngx/paperless-ngx/pull/12992)) - Fix: release pooled DB connection during AI LLM/embedding calls [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12983](https://github.com/paperless-ngx/paperless-ngx/pull/12983)) - Fix: health-check pooled DB connections and close the pool on worker shutdown [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12977](https://github.com/paperless-ngx/paperless-ngx/pull/12977)) - Fix: wrap long titles in delete confirm dialog [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12973](https://github.com/paperless-ngx/paperless-ngx/pull/12973)) - Fix (beta): fix re-ordering in merge dialog [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12967](https://github.com/paperless-ngx/paperless-ngx/pull/12967)) - Fix (beta): move task filtering to backend fully [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12956](https://github.com/paperless-ngx/paperless-ngx/pull/12956)) - Fix (beta): avoid unnecessary creating new PDF with pw removal workflow [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12948](https://github.com/paperless-ngx/paperless-ngx/pull/12948)) - Fixhancement (beta): tasks dismiss all [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12949](https://github.com/paperless-ngx/paperless-ngx/pull/12949)) - Fix (beta): correct chat message bg color [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12955](https://github.com/paperless-ngx/paperless-ngx/pull/12955)) - Fix (beta): respect disable state for suggest endpoint, require change perms [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12942](https://github.com/paperless-ngx/paperless-ngx/pull/12942)) - Fix: Ensure checksum comparision is using SHA256 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12939](https://github.com/paperless-ngx/paperless-ngx/pull/12939)) - Fix: Restrict the AI backend at settings configure time [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12903](https://github.com/paperless-ngx/paperless-ngx/pull/12903)) - Fix (beta): correctly apply i18n in suggestions dropdown [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12905](https://github.com/paperless-ngx/paperless-ngx/pull/12905)) - Fix: Lock AI index during reading and don't index documents many times during a bulk update [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12899](https://github.com/paperless-ngx/paperless-ngx/pull/12899)) - Fix: Minor fixes for the AI indexing [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12893](https://github.com/paperless-ngx/paperless-ngx/pull/12893)) - Fix (beta): dont use tool calling with ollama [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12896](https://github.com/paperless-ngx/paperless-ngx/pull/12896)) - Fix: Improvements for security around the AI [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12895](https://github.com/paperless-ngx/paperless-ngx/pull/12895)) - Fix: correctly show timestamp tooltip on history item [@&#8203;nathanaelhoun](https://github.com/nathanaelhoun) ([#&#8203;12879](https://github.com/paperless-ngx/paperless-ngx/pull/12879)) - Fix: Fold query and autocomplete terms with Tantivy's ascii\_fold so special letters match [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12868](https://github.com/paperless-ngx/paperless-ngx/pull/12868)) - Fix: Don't store autocomplete\_word, only index it [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12867](https://github.com/paperless-ngx/paperless-ngx/pull/12867)) - Fix: Preserve Whoosh date range swapping in Tantviy [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12866](https://github.com/paperless-ngx/paperless-ngx/pull/12866)) - Fix: Always release search index writer [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12865](https://github.com/paperless-ngx/paperless-ngx/pull/12865)) - Fix: Handle CJK title, content and metadata searching [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12862](https://github.com/paperless-ngx/paperless-ngx/pull/12862)) - Fix: Restrict date query rewrites to date or datetime fields only [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12864](https://github.com/paperless-ngx/paperless-ngx/pull/12864)) - Fix: Missing call to tanvity wait\_merging\_threads [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12863](https://github.com/paperless-ngx/paperless-ngx/pull/12863)) - Fix: Handle tanvity index lock contention [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12856](https://github.com/paperless-ngx/paperless-ngx/pull/12856)) - Fix (beta): better catch chat errors [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12854](https://github.com/paperless-ngx/paperless-ngx/pull/12854)) - Security (beta): fixes for v3 beta [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12838](https://github.com/paperless-ngx/paperless-ngx/pull/12838)) - Fix (beta): normalize long punctuation chunks to improve embedding [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12848](https://github.com/paperless-ngx/paperless-ngx/pull/12848)) - Fix: use chord.on\_error before apply\_async [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12842](https://github.com/paperless-ngx/paperless-ngx/pull/12842)) - Fix: Don't use smaller integer fields for some workflow fields [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12834](https://github.com/paperless-ngx/paperless-ngx/pull/12834)) - Fix: Password removal source file location [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12830](https://github.com/paperless-ngx/paperless-ngx/pull/12830)) - Fix (beta): use correct html button type for custom field buttons [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12819](https://github.com/paperless-ngx/paperless-ngx/pull/12819)) - Fix: Defer password removal workflow action until the file is in place [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12814](https://github.com/paperless-ngx/paperless-ngx/pull/12814)) - Fix: Allow setting allauth rate limit configuration settings [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12798](https://github.com/paperless-ngx/paperless-ngx/pull/12798)) - Fix: Don't embed the metadata which is already embedded into the context [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12795](https://github.com/paperless-ngx/paperless-ngx/pull/12795)) - Fix: Sanitize dash or plus from the text search path [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12789](https://github.com/paperless-ngx/paperless-ngx/pull/12789)) - Fix: improve new tasks ui layout across screen sizes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12784](https://github.com/paperless-ngx/paperless-ngx/pull/12784)) - Fix: Update parser contract to require empty strings, not None [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12775](https://github.com/paperless-ngx/paperless-ngx/pull/12775)) - Fix: Use a persistent, writeable location for hugging face models [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12771](https://github.com/paperless-ngx/paperless-ngx/pull/12771)) - Fix: create LLM\_INDEX\_DIR before writing meta.json on first run [@&#8203;pReya](https://github.com/pReya) ([#&#8203;12759](https://github.com/paperless-ngx/paperless-ngx/pull/12759)) - Tweakhancment: Include the last applied 'documents' migration in the log [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12757](https://github.com/paperless-ngx/paperless-ngx/pull/12757)) - Fix: use response synthesizer for RAG doc chat [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12751](https://github.com/paperless-ngx/paperless-ngx/pull/12751)) - Fix: only update modified field in notes actions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12750](https://github.com/paperless-ngx/paperless-ngx/pull/12750)) - Fix: Handle dash or plus operators in search queries [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12734](https://github.com/paperless-ngx/paperless-ngx/pull/12734)) - Fixes trash preview when a document has deleted versions [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12742](https://github.com/paperless-ngx/paperless-ngx/pull/12742)) - Fix: exclude versions from stats count [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12738](https://github.com/paperless-ngx/paperless-ngx/pull/12738)) - Fixes celery chords by using Redis as our result backend [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12741](https://github.com/paperless-ngx/paperless-ngx/pull/12741)) - Fix: bump version.py to 3.0.0 also [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12736](https://github.com/paperless-ngx/paperless-ngx/pull/12736)) - Fix: makes the font cache folder writeable to all users [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12726](https://github.com/paperless-ngx/paperless-ngx/pull/12726)) - Fixes Whoosh year only queries to be rewritten to Tantivy date syntax [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12725](https://github.com/paperless-ngx/paperless-ngx/pull/12725)) - Fix: pass allow parallel tool calls in LLM client [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12718](https://github.com/paperless-ngx/paperless-ngx/pull/12718)) - Fix: Handle passwords for removal action as lists [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12716](https://github.com/paperless-ngx/paperless-ngx/pull/12716)) - Bumps all our versions to 3.0.0 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12715](https://github.com/paperless-ngx/paperless-ngx/pull/12715)) - Fix: avoid unnecessary close\_old\_connections in Celery task dispatch [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12701](https://github.com/paperless-ngx/paperless-ngx/pull/12701)) - Fix: apply tag changes directly to document in db [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12664](https://github.com/paperless-ngx/paperless-ngx/pull/12664)) - Fix: Use FileResponse for file API responses [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12638](https://github.com/paperless-ngx/paperless-ngx/pull/12638)) - Fix: Changes bare metal webserver to use uvloop [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12626](https://github.com/paperless-ngx/paperless-ngx/pull/12626)) - Fixhancement: Exact custom field monetary exact searching [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12592](https://github.com/paperless-ngx/paperless-ngx/pull/12592)) - Fix: relative added date check visibility [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12600](https://github.com/paperless-ngx/paperless-ngx/pull/12600)) - Fix: prevent intermediate change event when CustomFieldQueryAtom operator changes type [@&#8203;ggouzi](https://github.com/ggouzi) ([#&#8203;12597](https://github.com/paperless-ngx/paperless-ngx/pull/12597)) - Fix: reject invalid requests to API notes endpoint [@&#8203;ggouzi](https://github.com/ggouzi) ([#&#8203;12582](https://github.com/paperless-ngx/paperless-ngx/pull/12582)) - Fixhancement: include sharelinks + bundles in export/import [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12479](https://github.com/paperless-ngx/paperless-ngx/pull/12479)) - Fix: Respect workflow change\_groups during consumption [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12431](https://github.com/paperless-ngx/paperless-ngx/pull/12431)) - Fix: Don't try to update the user when running as non-root [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12365](https://github.com/paperless-ngx/paperless-ngx/pull/12365)) - Fix: use maxsplit=1 in Redis URL parsing to handle URLs with multiple colons [@&#8203;cryptomilk](https://github.com/cryptomilk) ([#&#8203;12239](https://github.com/paperless-ngx/paperless-ngx/pull/12239)) - Fixhancement: show sequential + id version labels, fix padding [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12196](https://github.com/paperless-ngx/paperless-ngx/pull/12196)) - Fix: correct user dropdown button icon styling [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12092](https://github.com/paperless-ngx/paperless-ngx/pull/12092)) - Fix: Handle an OOM kill of celery workers in the task handler [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12040](https://github.com/paperless-ngx/paperless-ngx/pull/12040)) - Fix: re-run ASN check after barcode detection [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11681](https://github.com/paperless-ngx/paperless-ngx/pull/11681)) - Fix: prevent infinite loading crash in mail component [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11978](https://github.com/paperless-ngx/paperless-ngx/pull/11978)) - Fix: fix broken docker create\_classifier command in 2.20.6 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11965](https://github.com/paperless-ngx/paperless-ngx/pull/11965)) - Fix: ensure css color-scheme for dark mode [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11855](https://github.com/paperless-ngx/paperless-ngx/pull/11855)) - Fix: fix tag list horizontal scroll, again [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11839](https://github.com/paperless-ngx/paperless-ngx/pull/11839)) - Fix: ensure horizontal scroll for long tag names in list, wrap tags without parent [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11811](https://github.com/paperless-ngx/paperless-ngx/pull/11811)) - Fix: use explicit order field for workflow actions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11781](https://github.com/paperless-ngx/paperless-ngx/pull/11781)) - Fix: fix recurring workflow to respect latest run time [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11735](https://github.com/paperless-ngx/paperless-ngx/pull/11735)) - Fixhancement: add error handling and retry when opening index [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11731](https://github.com/paperless-ngx/paperless-ngx/pull/11731)) - Fix: validate cf integer values within PostgreSQL range [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11666](https://github.com/paperless-ngx/paperless-ngx/pull/11666)) - Fix: support ordering by storage path name [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11661](https://github.com/paperless-ngx/paperless-ngx/pull/11661)) - Fix: propagate metadata override created value [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11659](https://github.com/paperless-ngx/paperless-ngx/pull/11659)) - Fix: prevent ASN collisions for merge operations [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11634](https://github.com/paperless-ngx/paperless-ngx/pull/11634)) ##### Documentation - \[Beta] Paperless-ngx v3.0.0 Beta [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12713](https://github.com/paperless-ngx/paperless-ngx/pull/12713)) - Fix: clamp mailrule max age before migration [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13093](https://github.com/paperless-ngx/paperless-ngx/pull/13093)) - Documentation (beta): Updates documentation for new v3 features [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13033](https://github.com/paperless-ngx/paperless-ngx/pull/13033)) - Documentation: fix PAPERLESS\_DATE\_PARSER\_LANGUAGES formatting [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12997](https://github.com/paperless-ngx/paperless-ngx/pull/12997)) - Documentation: remove duplicate words in three files [@&#8203;mvanhorn](https://github.com/mvanhorn) ([#&#8203;12852](https://github.com/paperless-ngx/paperless-ngx/pull/12852)) - Fix: Allow setting allauth rate limit configuration settings [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12798](https://github.com/paperless-ngx/paperless-ngx/pull/12798)) - Documentation: Update v3 migration docs [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12752](https://github.com/paperless-ngx/paperless-ngx/pull/12752)) - Enhancement: Paperless-ngx v3 Logo [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12673](https://github.com/paperless-ngx/paperless-ngx/pull/12673)) - Chore: separate actions from bulk edit endpoint [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12286](https://github.com/paperless-ngx/paperless-ngx/pull/12286)) - Chore: Switches to use prek in place of pre-commit [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12002](https://github.com/paperless-ngx/paperless-ngx/pull/12002)) - Chore: upgrade to node v24 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11747](https://github.com/paperless-ngx/paperless-ngx/pull/11747)) ##### Maintenance - \[Beta] Paperless-ngx v3.0.0 Beta [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12713](https://github.com/paperless-ngx/paperless-ngx/pull/12713)) - Chore(deps): Bump the actions group across 1 directory with 14 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13079](https://github.com/paperless-ngx/paperless-ngx/pull/13079)) - Chore(deps): Bump the actions group across 1 directory with 12 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12909](https://github.com/paperless-ngx/paperless-ngx/pull/12909)) - Chore(deps): Bump the actions group across 1 directory with 17 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12686](https://github.com/paperless-ngx/paperless-ngx/pull/12686)) - Chore(deps): Bump the actions group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12538](https://github.com/paperless-ngx/paperless-ngx/pull/12538)) - Chore(deps-dev): Bump @&#8203;<!---->playwright/test from 1.58.2 to 1.59.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12537](https://github.com/paperless-ngx/paperless-ngx/pull/12537)) - Chore: address more zizmor flags [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12529](https://github.com/paperless-ngx/paperless-ngx/pull/12529)) - Chore: Resolves some zizmor reported code scan findings [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12516](https://github.com/paperless-ngx/paperless-ngx/pull/12516)) - Chore(deps): Bump the actions group across 1 directory with 9 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12490](https://github.com/paperless-ngx/paperless-ngx/pull/12490)) - Chore(deps): Bump the actions group with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12377](https://github.com/paperless-ngx/paperless-ngx/pull/12377)) - Chore(deps): Bump the actions group with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12322](https://github.com/paperless-ngx/paperless-ngx/pull/12322)) - Chore: Don't upload digets file as a zip [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12264](https://github.com/paperless-ngx/paperless-ngx/pull/12264)) - Chore(deps): Bump the actions group across 1 directory with 6 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12224](https://github.com/paperless-ngx/paperless-ngx/pull/12224)) - Chore(deps): Bump j178/prek-action from 1.1.0 to 1.1.1 in the actions group @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12033](https://github.com/paperless-ngx/paperless-ngx/pull/12033)) - Chore: Switches to use prek in place of pre-commit [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12002](https://github.com/paperless-ngx/paperless-ngx/pull/12002)) - Chore: Enable mypy checking in CI [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;11991](https://github.com/paperless-ngx/paperless-ngx/pull/11991)) - Chore(deps): Bump the actions group with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11966](https://github.com/paperless-ngx/paperless-ngx/pull/11966)) - Chore: upgrade to node v24 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11747](https://github.com/paperless-ngx/paperless-ngx/pull/11747)) - Performance: pre-compress static files on ARM64 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;11721](https://github.com/paperless-ngx/paperless-ngx/pull/11721)) - Chore(deps): Bump the actions group with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11695](https://github.com/paperless-ngx/paperless-ngx/pull/11695)) - Feature: Indonesian translation [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11641](https://github.com/paperless-ngx/paperless-ngx/pull/11641)) ##### Dependencies <details> <summary>162 changes</summary> Removed for character </details> ##### All App Changes <details> <summary>360 changes</summary> - \[Beta] Paperless-ngx v3.0.0 Beta [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12713](https://github.com/paperless-ngx/paperless-ngx/pull/12713)) - Chore (beta): mark first batch of thumbnails as priorty for LCP warning [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13196](https://github.com/paperless-ngx/paperless-ngx/pull/13196)) - Fix (beta): prevent pdfjs offsetParent warning [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13197](https://github.com/paperless-ngx/paperless-ngx/pull/13197)) - Fix (beta): dont include hidden buttons in virtual scroll container height [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13194](https://github.com/paperless-ngx/paperless-ngx/pull/13194)) - Tweakhancement (beta): allow some bulk operations with all [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13193](https://github.com/paperless-ngx/paperless-ngx/pull/13193)) - Fix (beta): fix custom field bulk editing for 'all' [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13191](https://github.com/paperless-ngx/paperless-ngx/pull/13191)) - Security (beta): enforce current permissions in autocomplete [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13188](https://github.com/paperless-ngx/paperless-ngx/pull/13188)) - Security (beta): bound email linkification [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13187](https://github.com/paperless-ngx/paperless-ngx/pull/13187)) - Security (beta): two small permission check fixes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13186](https://github.com/paperless-ngx/paperless-ngx/pull/13186)) - Fix (beta): short-circuit ObjectOwnedOrGrantedPermissionsFilter for superusers [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13183](https://github.com/paperless-ngx/paperless-ngx/pull/13183)) - Fix (beta): compute num\_notes via a subquery instead of Count()+distinct [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13182](https://github.com/paperless-ngx/paperless-ngx/pull/13182)) - Change: update root modified timestamp on version changes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13170](https://github.com/paperless-ngx/paperless-ngx/pull/13170)) - Fix: prevent tag assignment from reverting other pending workflow assignments [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13178](https://github.com/paperless-ngx/paperless-ngx/pull/13178)) - Performance: add DB indexes for common query/sort patterns [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13167](https://github.com/paperless-ngx/paperless-ngx/pull/13167)) - Performance: use NgOptimizedImage for thumbnail lazy loading [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13169](https://github.com/paperless-ngx/paperless-ngx/pull/13169)) - Fix(beta): cache per-request effective-document resolution for thumb/metadata/preview [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13166](https://github.com/paperless-ngx/paperless-ngx/pull/13166)) - Fix: fallback from archive version for share links [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13163](https://github.com/paperless-ngx/paperless-ngx/pull/13163)) - Fix: better handle saved view errors in dashboard widgets [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13164](https://github.com/paperless-ngx/paperless-ngx/pull/13164)) - Fix (beta): convert chat component to signal-backed Angular [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13152](https://github.com/paperless-ngx/paperless-ngx/pull/13152)) - Fix: HTTP 500 filtering documents by tags + custom field query on MariaDB [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13143](https://github.com/paperless-ngx/paperless-ngx/pull/13143)) - Performance: Tantivy indexing optimization [@&#8203;Merinorus](https://github.com/Merinorus) ([#&#8203;13053](https://github.com/paperless-ngx/paperless-ngx/pull/13053)) - Chore(deps-dev): Bump the development group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13068](https://github.com/paperless-ngx/paperless-ngx/pull/13068)) - Fix: scope ProcessedMail UID deduplication by IMAP UIDVALIDITY [@&#8203;chouquette](https://github.com/chouquette) ([#&#8203;12839](https://github.com/paperless-ngx/paperless-ngx/pull/12839)) - Fix (beta): fix sidebar document close button [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13136](https://github.com/paperless-ngx/paperless-ngx/pull/13136)) - Fix: include wasm assets in pdf.js-based viewer [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13122](https://github.com/paperless-ngx/paperless-ngx/pull/13122)) - Fix: fix ui labels from md5 to sha256 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13119](https://github.com/paperless-ngx/paperless-ngx/pull/13119)) - Chorehancement: update to Angular v22, 'zoneless' / 'reactive' [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13114](https://github.com/paperless-ngx/paperless-ngx/pull/13114)) - Fixhancement: dont assign empty title in workflow with broken template [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13112](https://github.com/paperless-ngx/paperless-ngx/pull/13112)) - Fix: clamp mailrule max age before migration [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13093](https://github.com/paperless-ngx/paperless-ngx/pull/13093)) - Fix: use latest document version for bulk download [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13103](https://github.com/paperless-ngx/paperless-ngx/pull/13103)) - Fix (beta): handle relative date with comma query [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13087](https://github.com/paperless-ngx/paperless-ngx/pull/13087)) - Chore(deps): Bump pdfjs-dist from 5.7.284 to 6.0.227 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13080](https://github.com/paperless-ngx/paperless-ngx/pull/13080)) - Chore(deps-dev): Bump @&#8203;<!---->playwright/test from 1.60.0 to 1.61.1 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13078](https://github.com/paperless-ngx/paperless-ngx/pull/13078)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13076](https://github.com/paperless-ngx/paperless-ngx/pull/13076)) - Chore(deps): Bump uuid from 14.0.0 to 14.0.1 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13077](https://github.com/paperless-ngx/paperless-ngx/pull/13077)) - Chore(deps-dev): Bump jest-preset-angular from 16.1.5 to 17.0.0 in /src-ui in the frontend-jest-dependencies group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13075](https://github.com/paperless-ngx/paperless-ngx/pull/13075)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 25.9.1 to 26.0.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13081](https://github.com/paperless-ngx/paperless-ngx/pull/13081)) - Fix (beta): fix sanity checker affected document counts [@&#8203;NgoQuocViet2001](https://github.com/NgoQuocViet2001) ([#&#8203;13052](https://github.com/paperless-ngx/paperless-ngx/pull/13052)) - Fix (beta): preserve Unicode in localization prompt [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13055](https://github.com/paperless-ngx/paperless-ngx/pull/13055)) - Fix: change tantivy token limit to title field max length [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13046](https://github.com/paperless-ngx/paperless-ngx/pull/13046)) - Fix: include last-modified in doc etag [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13044](https://github.com/paperless-ngx/paperless-ngx/pull/13044)) - Fix (beta): Stream chunks during compaction to prevent oom on smaller installs [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13014](https://github.com/paperless-ngx/paperless-ngx/pull/13014)) - Fixhancement (beta): truncate embedding queries for small chunk size [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13028](https://github.com/paperless-ngx/paperless-ngx/pull/13028)) - Enhancement (beta): support LLM timeout config [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13002](https://github.com/paperless-ngx/paperless-ngx/pull/13002)) - Fix(beta): Workaround a Tantivy panic in more like this searching [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13026](https://github.com/paperless-ngx/paperless-ngx/pull/13026)) - Chore (beta): set tool\_required to openai-like llm calls [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13025](https://github.com/paperless-ngx/paperless-ngx/pull/13025)) - Enhancement: ignore diacritics, support multiple substring matching for UI filtering [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13021](https://github.com/paperless-ngx/paperless-ngx/pull/13021)) - Fix (beta): Catch consumer files created during watcher re-creations [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13013](https://github.com/paperless-ngx/paperless-ngx/pull/13013)) - Chore(deps): Bump the npm\_and\_yarn group across 1 directory with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;13016](https://github.com/paperless-ngx/paperless-ngx/pull/13016)) - Fix (beta): restore v2 (Whoosh) advanced-search query compatibility [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;13010](https://github.com/paperless-ngx/paperless-ngx/pull/13010)) - Fix (beta): retry celery ping and report warning on no response [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;13012](https://github.com/paperless-ngx/paperless-ngx/pull/13012)) - Enhancement(beta): replace LanceDB vector store with sqlite-vec [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12990](https://github.com/paperless-ngx/paperless-ngx/pull/12990)) - Chore(deps): Bump the uv group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12995](https://github.com/paperless-ngx/paperless-ngx/pull/12995)) - Chore(deps): Bump the utilities-patch group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12931](https://github.com/paperless-ngx/paperless-ngx/pull/12931)) - Fix (beta): don't send chat message on Enter while composing with IME (CJK) [@&#8203;mzyy94](https://github.com/mzyy94) ([#&#8203;12999](https://github.com/paperless-ngx/paperless-ngx/pull/12999)) - Fix: Apply unicode normalization to all paths and path components [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12993](https://github.com/paperless-ngx/paperless-ngx/pull/12993)) - Fix: Handle the UTF 16 and BOM text files better [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12994](https://github.com/paperless-ngx/paperless-ngx/pull/12994)) - Fix (beta): avoid DRF update calling `save` on all fields [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12992](https://github.com/paperless-ngx/paperless-ngx/pull/12992)) - Fix: release pooled DB connection during AI LLM/embedding calls [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12983](https://github.com/paperless-ngx/paperless-ngx/pull/12983)) - Fix: health-check pooled DB connections and close the pool on worker shutdown [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12977](https://github.com/paperless-ngx/paperless-ngx/pull/12977)) - Fix: wrap long titles in delete confirm dialog [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12973](https://github.com/paperless-ngx/paperless-ngx/pull/12973)) - Fix (beta): fix re-ordering in merge dialog [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12967](https://github.com/paperless-ngx/paperless-ngx/pull/12967)) - Fix (beta): move task filtering to backend fully [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12956](https://github.com/paperless-ngx/paperless-ngx/pull/12956)) - Chore(deps-dev): Bump types-markdown from 3.10.2.20260211 to 3.10.2.20260518 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12927](https://github.com/paperless-ngx/paperless-ngx/pull/12927)) - Chore(deps): Bump aiohttp from 3.13.4 to 3.14.0 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12930](https://github.com/paperless-ngx/paperless-ngx/pull/12930)) - Fix (beta): avoid unnecessary creating new PDF with pw removal workflow [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12948](https://github.com/paperless-ngx/paperless-ngx/pull/12948)) - Enhancement (beta): Switch the AI vector store to LanceDB [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12944](https://github.com/paperless-ngx/paperless-ngx/pull/12944)) - Fixhancement (beta): tasks dismiss all [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12949](https://github.com/paperless-ngx/paperless-ngx/pull/12949)) - Fix (beta): correct chat message bg color [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12955](https://github.com/paperless-ngx/paperless-ngx/pull/12955)) - Fix (beta): respect disable state for suggest endpoint, require change perms [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12942](https://github.com/paperless-ngx/paperless-ngx/pull/12942)) - Fix: Ensure checksum comparision is using SHA256 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12939](https://github.com/paperless-ngx/paperless-ngx/pull/12939)) - Fix: Restrict the AI backend at settings configure time [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12903](https://github.com/paperless-ngx/paperless-ngx/pull/12903)) - Enhancement (beta): add direct LLM language setting [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12906](https://github.com/paperless-ngx/paperless-ngx/pull/12906)) - Chore(deps-dev): Bump @&#8203;<!---->playwright/test from 1.59.1 to 1.60.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12919](https://github.com/paperless-ngx/paperless-ngx/pull/12919)) - Fix (beta): correctly apply i18n in suggestions dropdown [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12905](https://github.com/paperless-ngx/paperless-ngx/pull/12905)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 25.6.0 to 25.9.1 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12915](https://github.com/paperless-ngx/paperless-ngx/pull/12915)) - Chore(deps): Bump pdfjs-dist from 5.6.205 to 5.7.284 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12918](https://github.com/paperless-ngx/paperless-ngx/pull/12918)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12913](https://github.com/paperless-ngx/paperless-ngx/pull/12913)) - Chore(deps-dev): Bump webpack from 5.106.2 to 5.107.2 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12917](https://github.com/paperless-ngx/paperless-ngx/pull/12917)) - Chore(deps): Bump zone.js from 0.16.1 to 0.16.2 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12916](https://github.com/paperless-ngx/paperless-ngx/pull/12916)) - Chore(deps-dev): Bump the frontend-jest-dependencies group across 1 directory with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12908](https://github.com/paperless-ngx/paperless-ngx/pull/12908)) - Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 20 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12907](https://github.com/paperless-ngx/paperless-ngx/pull/12907)) - Fix: Lock AI index during reading and don't index documents many times during a bulk update [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12899](https://github.com/paperless-ngx/paperless-ngx/pull/12899)) - Fix: Minor fixes for the AI indexing [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12893](https://github.com/paperless-ngx/paperless-ngx/pull/12893)) - Fix (beta): dont use tool calling with ollama [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12896](https://github.com/paperless-ngx/paperless-ngx/pull/12896)) - Enhancement: try to respect language for AI suggestions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12894](https://github.com/paperless-ngx/paperless-ngx/pull/12894)) - Enhancement: AI LLM chunk size and context window config [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12891](https://github.com/paperless-ngx/paperless-ngx/pull/12891)) - Fix: Improvements for security around the AI [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12895](https://github.com/paperless-ngx/paperless-ngx/pull/12895)) - Fix: correctly show timestamp tooltip on history item [@&#8203;nathanaelhoun](https://github.com/nathanaelhoun) ([#&#8203;12879](https://github.com/paperless-ngx/paperless-ngx/pull/12879)) - Fix: Fold query and autocomplete terms with Tantivy's ascii\_fold so special letters match [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12868](https://github.com/paperless-ngx/paperless-ngx/pull/12868)) - Fix: Don't store autocomplete\_word, only index it [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12867](https://github.com/paperless-ngx/paperless-ngx/pull/12867)) - Fix: Preserve Whoosh date range swapping in Tantviy [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12866](https://github.com/paperless-ngx/paperless-ngx/pull/12866)) - Fix: Always release search index writer [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12865](https://github.com/paperless-ngx/paperless-ngx/pull/12865)) - Fix: Handle CJK title, content and metadata searching [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12862](https://github.com/paperless-ngx/paperless-ngx/pull/12862)) - Fix: Restrict date query rewrites to date or datetime fields only [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12864](https://github.com/paperless-ngx/paperless-ngx/pull/12864)) - Fix: Missing call to tanvity wait\_merging\_threads [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12863](https://github.com/paperless-ngx/paperless-ngx/pull/12863)) - Fix: Handle tanvity index lock contention [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12856](https://github.com/paperless-ngx/paperless-ngx/pull/12856)) - Fix (beta): better catch chat errors [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12854](https://github.com/paperless-ngx/paperless-ngx/pull/12854)) - Performance (beta): dont re-build vector index with each chat [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12847](https://github.com/paperless-ngx/paperless-ngx/pull/12847)) - Security (beta): fixes for v3 beta [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12838](https://github.com/paperless-ngx/paperless-ngx/pull/12838)) - Fix (beta): normalize long punctuation chunks to improve embedding [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12848](https://github.com/paperless-ngx/paperless-ngx/pull/12848)) - Fix: use chord.on\_error before apply\_async [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12842](https://github.com/paperless-ngx/paperless-ngx/pull/12842)) - Fix: Don't use smaller integer fields for some workflow fields [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12834](https://github.com/paperless-ngx/paperless-ngx/pull/12834)) - Fix: Password removal source file location [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12830](https://github.com/paperless-ngx/paperless-ngx/pull/12830)) - Fix (beta): use correct html button type for custom field buttons [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12819](https://github.com/paperless-ngx/paperless-ngx/pull/12819)) - Fix: Defer password removal workflow action until the file is in place [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12814](https://github.com/paperless-ngx/paperless-ngx/pull/12814)) - Fix: Allow setting allauth rate limit configuration settings [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12798](https://github.com/paperless-ngx/paperless-ngx/pull/12798)) - Fix: Don't embed the metadata which is already embedded into the context [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12795](https://github.com/paperless-ngx/paperless-ngx/pull/12795)) - Fix: Sanitize dash or plus from the text search path [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12789](https://github.com/paperless-ngx/paperless-ngx/pull/12789)) - Fix: improve new tasks ui layout across screen sizes [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12784](https://github.com/paperless-ngx/paperless-ngx/pull/12784)) - Fix: Update parser contract to require empty strings, not None [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12775](https://github.com/paperless-ngx/paperless-ngx/pull/12775)) - Chore: Further dependency security updates [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12780](https://github.com/paperless-ngx/paperless-ngx/pull/12780)) - Fix: Use a persistent, writeable location for hugging face models [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12771](https://github.com/paperless-ngx/paperless-ngx/pull/12771)) - Chore(deps): Bump hono from 4.12.16 to 4.12.18 in /src-ui in the npm\_and\_yarn group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12767](https://github.com/paperless-ngx/paperless-ngx/pull/12767)) - Enhancement: support ollama embeddings [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12753](https://github.com/paperless-ngx/paperless-ngx/pull/12753)) - Fix: create LLM\_INDEX\_DIR before writing meta.json on first run [@&#8203;pReya](https://github.com/pReya) ([#&#8203;12759](https://github.com/paperless-ngx/paperless-ngx/pull/12759)) - Chore(deps): Bump @&#8203;<!---->babel/plugin-transform-modules-systemjs from 7.29.0 to 7.29.4 in /src-ui in the npm\_and\_yarn group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12764](https://github.com/paperless-ngx/paperless-ngx/pull/12764)) - Chore(deps): Bump fast-uri from 3.1.1 to 3.1.2 in /src-ui in the npm\_and\_yarn group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12763](https://github.com/paperless-ngx/paperless-ngx/pull/12763)) - Tweakhancment: Include the last applied 'documents' migration in the log [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12757](https://github.com/paperless-ngx/paperless-ngx/pull/12757)) - Fix: use response synthesizer for RAG doc chat [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12751](https://github.com/paperless-ngx/paperless-ngx/pull/12751)) - Fix: only update modified field in notes actions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12750](https://github.com/paperless-ngx/paperless-ngx/pull/12750)) - Enhancement: version-aware thumbnail etag [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12754](https://github.com/paperless-ngx/paperless-ngx/pull/12754)) - Documentation: Update v3 migration docs [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12752](https://github.com/paperless-ngx/paperless-ngx/pull/12752)) - Fix: Handle dash or plus operators in search queries [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12734](https://github.com/paperless-ngx/paperless-ngx/pull/12734)) - Fixes trash preview when a document has deleted versions [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12742](https://github.com/paperless-ngx/paperless-ngx/pull/12742)) - Fix: exclude versions from stats count [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12738](https://github.com/paperless-ngx/paperless-ngx/pull/12738)) - Fixes celery chords by using Redis as our result backend [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12741](https://github.com/paperless-ngx/paperless-ngx/pull/12741)) - Fix: bump version.py to 3.0.0 also [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12736](https://github.com/paperless-ngx/paperless-ngx/pull/12736)) - Chore: Targeted dependency upgrades [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12731](https://github.com/paperless-ngx/paperless-ngx/pull/12731)) - Fixes Whoosh year only queries to be rewritten to Tantivy date syntax [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12725](https://github.com/paperless-ngx/paperless-ngx/pull/12725)) - Fix: pass allow parallel tool calls in LLM client [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12718](https://github.com/paperless-ngx/paperless-ngx/pull/12718)) - Fix: Handle passwords for removal action as lists [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12716](https://github.com/paperless-ngx/paperless-ngx/pull/12716)) - Bumps all our versions to 3.0.0 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12715](https://github.com/paperless-ngx/paperless-ngx/pull/12715)) - Feature: Further reduce document importer memory usage [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12707](https://github.com/paperless-ngx/paperless-ngx/pull/12707)) - Chore(deps-dev): Bump @&#8203;<!---->playwright/test from 1.59.0 to 1.59.1 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12692](https://github.com/paperless-ngx/paperless-ngx/pull/12692)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12689](https://github.com/paperless-ngx/paperless-ngx/pull/12689)) - Chore(deps-dev): Bump @&#8203;<!---->codecov/webpack-plugin from 1.9.1 to 2.0.1 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12691](https://github.com/paperless-ngx/paperless-ngx/pull/12691)) - Chore(deps-dev): Bump the frontend-jest-dependencies group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12685](https://github.com/paperless-ngx/paperless-ngx/pull/12685)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 25.5.0 to 25.6.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12690](https://github.com/paperless-ngx/paperless-ngx/pull/12690)) - Chore(deps-dev): Bump webpack from 5.105.3 to 5.106.2 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12693](https://github.com/paperless-ngx/paperless-ngx/pull/12693)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 15 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12684](https://github.com/paperless-ngx/paperless-ngx/pull/12684)) - Tweakhancement: use fixed position instead of display none for printing [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12706](https://github.com/paperless-ngx/paperless-ngx/pull/12706)) - Fix: avoid unnecessary close\_old\_connections in Celery task dispatch [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12701](https://github.com/paperless-ngx/paperless-ngx/pull/12701)) - Chore(deps): Bump the utilities-patch group across 1 directory with 7 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12702](https://github.com/paperless-ngx/paperless-ngx/pull/12702)) - Chore(deps): Bump the utilities-minor group across 1 directory with 9 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12696](https://github.com/paperless-ngx/paperless-ngx/pull/12696)) - Chore(deps): Bump ocrmypdf from 17.4.0 to 17.4.2 in the document-processing group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12687](https://github.com/paperless-ngx/paperless-ngx/pull/12687)) - Chore(deps-dev): Bump the development group with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12683](https://github.com/paperless-ngx/paperless-ngx/pull/12683)) - Enhancement: Paperless-ngx v3 Logo [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12673](https://github.com/paperless-ngx/paperless-ngx/pull/12673)) - Tweakhancement: localize some more task result messages [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12672](https://github.com/paperless-ngx/paperless-ngx/pull/12672)) - Enhancement: chat message document links [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12670](https://github.com/paperless-ngx/paperless-ngx/pull/12670)) - Fix: apply tag changes directly to document in db [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12664](https://github.com/paperless-ngx/paperless-ngx/pull/12664)) - Tweakhancement: make upload notification open an anchor link [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12659](https://github.com/paperless-ngx/paperless-ngx/pull/12659)) - Tweakhancement: tweak tasks UI, make open doc an anchor [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12658](https://github.com/paperless-ngx/paperless-ngx/pull/12658)) - Fix: Use FileResponse for file API responses [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12638](https://github.com/paperless-ngx/paperless-ngx/pull/12638)) - Chore: Paginate the task listing [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12633](https://github.com/paperless-ngx/paperless-ngx/pull/12633)) - Enhancement: show small task summary in system status [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12634](https://github.com/paperless-ngx/paperless-ngx/pull/12634)) - Security: Don't allow the example secret key as a secret key [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12630](https://github.com/paperless-ngx/paperless-ngx/pull/12630)) - Chore(deps): Bump uuid from 13.0.0 to 14.0.0 in /src-ui in the npm\_and\_yarn group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12627](https://github.com/paperless-ngx/paperless-ngx/pull/12627)) - Enhancement: new Tasks UI [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12614](https://github.com/paperless-ngx/paperless-ngx/pull/12614)) - Feature: Allow monitoring access to tasks summary [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12624](https://github.com/paperless-ngx/paperless-ngx/pull/12624)) - Chore(deps): Bump lxml from 6.0.2 to 6.1.0 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12619](https://github.com/paperless-ngx/paperless-ngx/pull/12619)) - Performance: Increases workflow related M2M prefetching [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12618](https://github.com/paperless-ngx/paperless-ngx/pull/12618)) - Tweak: remove stale index warning [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12616](https://github.com/paperless-ngx/paperless-ngx/pull/12616)) - Fixhancement: Exact custom field monetary exact searching [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12592](https://github.com/paperless-ngx/paperless-ngx/pull/12592)) - Performance: Resolves another N+1 query related to custom fields [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12617](https://github.com/paperless-ngx/paperless-ngx/pull/12617)) - Enhancement: add highlighting to title + content searches [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12593](https://github.com/paperless-ngx/paperless-ngx/pull/12593)) - Feature: Redesign the task system [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12584](https://github.com/paperless-ngx/paperless-ngx/pull/12584)) - Fix: relative added date check visibility [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12600](https://github.com/paperless-ngx/paperless-ngx/pull/12600)) - Fix: prevent intermediate change event when CustomFieldQueryAtom operator changes type [@&#8203;ggouzi](https://github.com/ggouzi) ([#&#8203;12597](https://github.com/paperless-ngx/paperless-ngx/pull/12597)) - Chore(deps): Bump hono from 4.12.12 to 4.12.14 in /src-ui in the npm\_and\_yarn group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12585](https://github.com/paperless-ngx/paperless-ngx/pull/12585)) - Feature: Tune SQLite default settings for increased speed [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12580](https://github.com/paperless-ngx/paperless-ngx/pull/12580)) - Feature: Document fuzzy match improvements [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12579](https://github.com/paperless-ngx/paperless-ngx/pull/12579)) - Fix: reject invalid requests to API notes endpoint [@&#8203;ggouzi](https://github.com/ggouzi) ([#&#8203;12582](https://github.com/paperless-ngx/paperless-ngx/pull/12582)) - \[BREAKING] Remove the positional arguments from the pre/post consume scripts [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12573](https://github.com/paperless-ngx/paperless-ngx/pull/12573)) - Chore(deps): Bump follow-redirects from 1.15.11 to 1.16.0 in /src-ui in the npm\_and\_yarn group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12575](https://github.com/paperless-ngx/paperless-ngx/pull/12575)) - Chore(deps): Bump pillow from 12.1.1 to 12.2.0 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12574](https://github.com/paperless-ngx/paperless-ngx/pull/12574)) - Chore(deps-dev): Bump pytest from 9.0.2 to 9.0.3 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12568](https://github.com/paperless-ngx/paperless-ngx/pull/12568)) - Enhancement: validate and sanitize uploaded logos [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12551](https://github.com/paperless-ngx/paperless-ngx/pull/12551)) - Chore(deps): Bump the utilities-minor group across 1 directory with 19 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12540](https://github.com/paperless-ngx/paperless-ngx/pull/12540)) - Chore(deps): Bump cryptography from 46.0.6 to 46.0.7 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12546](https://github.com/paperless-ngx/paperless-ngx/pull/12546)) - Chore(deps-dev): Bump types-python-dateutil from 2.9.0.20260305 to 2.9.0.20260323 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12542](https://github.com/paperless-ngx/paperless-ngx/pull/12542)) - Chore(deps-dev): Bump types-pytz from 2025.2.0.20251108 to 2026.1.1.20260304 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12541](https://github.com/paperless-ngx/paperless-ngx/pull/12541)) - Chore(deps): Bump django-guardian from 3.3.0 to 3.3.1 in the utilities-patch group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12539](https://github.com/paperless-ngx/paperless-ngx/pull/12539)) - Chore(deps-dev): Bump zensical from 0.0.29 to 0.0.31 in the development group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12532](https://github.com/paperless-ngx/paperless-ngx/pull/12532)) - Chore(deps): Bump pdfjs-dist from 5.4.624 to 5.6.205 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12536](https://github.com/paperless-ngx/paperless-ngx/pull/12536)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12535](https://github.com/paperless-ngx/paperless-ngx/pull/12535)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 5 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12533](https://github.com/paperless-ngx/paperless-ngx/pull/12533)) - Chore(deps-dev): Bump jest-preset-angular from 16.1.1 to 16.1.2 in /src-ui in the frontend-jest-dependencies group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12534](https://github.com/paperless-ngx/paperless-ngx/pull/12534)) - Chore(deps-dev): Bump @&#8203;<!---->playwright/test from 1.58.2 to 1.59.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12537](https://github.com/paperless-ngx/paperless-ngx/pull/12537)) - Enhancement: add view\_global\_statistics and view\_system\_status permissions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12530](https://github.com/paperless-ngx/paperless-ngx/pull/12530)) - Chore(deps): Bump the npm\_and\_yarn group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12531](https://github.com/paperless-ngx/paperless-ngx/pull/12531)) - \[BREAKING] Decouple OCR control from archive file control [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12448](https://github.com/paperless-ngx/paperless-ngx/pull/12448)) - Fixhancement: include sharelinks + bundles in export/import [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12479](https://github.com/paperless-ngx/paperless-ngx/pull/12479)) - Chore: Better typed status manager messages [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12509](https://github.com/paperless-ngx/paperless-ngx/pull/12509)) - Enhancement: unify text search to use tantivy [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12485](https://github.com/paperless-ngx/paperless-ngx/pull/12485)) - Feature: Consumer logging correlation [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12510](https://github.com/paperless-ngx/paperless-ngx/pull/12510)) - Chore(deps): Bump djangorestframework from 3.16.1 to 3.17.1 in the django-ecosystem group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12488](https://github.com/paperless-ngx/paperless-ngx/pull/12488)) - Chore(deps): Bump the document-processing group across 1 directory with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12489](https://github.com/paperless-ngx/paperless-ngx/pull/12489)) - Chore(deps): Bump the utilities-patch group across 1 directory with 5 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12499](https://github.com/paperless-ngx/paperless-ngx/pull/12499)) - Security: Sign the Celery pickled tasks [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12504](https://github.com/paperless-ngx/paperless-ngx/pull/12504)) - Security enhancement: allow opt-in blocking internal mail hosts [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12502](https://github.com/paperless-ngx/paperless-ngx/pull/12502)) - Feature: Replace Whoosh with tantivy search backend [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12471](https://github.com/paperless-ngx/paperless-ngx/pull/12471)) - Chore(deps): Bump aiohttp from 3.13.3 to 3.13.4 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12486](https://github.com/paperless-ngx/paperless-ngx/pull/12486)) - Chore(deps): Bump lodash from 4.17.23 to 4.18.1 in /src-ui in the npm\_and\_yarn group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12498](https://github.com/paperless-ngx/paperless-ngx/pull/12498)) - Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 20 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12491](https://github.com/paperless-ngx/paperless-ngx/pull/12491)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 25.4.0 to 25.5.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12494](https://github.com/paperless-ngx/paperless-ngx/pull/12494)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12493](https://github.com/paperless-ngx/paperless-ngx/pull/12493)) - Performance: support bulk edit without id lists [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12355](https://github.com/paperless-ngx/paperless-ngx/pull/12355)) - Performance: deprecate and remove usage of `all` in API results [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12309](https://github.com/paperless-ngx/paperless-ngx/pull/12309)) - Performance: support passing selection data with filtered document requests [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12300](https://github.com/paperless-ngx/paperless-ngx/pull/12300)) - Chore(deps): Bump cryptography from 46.0.5 to 46.0.6 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12458](https://github.com/paperless-ngx/paperless-ngx/pull/12458)) - Tweakhancement: show file extension in StoragePath test [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12452](https://github.com/paperless-ngx/paperless-ngx/pull/12452)) - Feature: Transition all checksums to use SHA256 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12432](https://github.com/paperless-ngx/paperless-ngx/pull/12432)) - Chore(deps): Bump requests from 2.32.5 to 2.33.0 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12441](https://github.com/paperless-ngx/paperless-ngx/pull/12441)) - Enhancement: auto-hide the search bar on mobile [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12404](https://github.com/paperless-ngx/paperless-ngx/pull/12404)) - Chore: logger, response and template sanitization cleanup [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12439](https://github.com/paperless-ngx/paperless-ngx/pull/12439)) - Fix: Respect workflow change\_groups during consumption [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12431](https://github.com/paperless-ngx/paperless-ngx/pull/12431)) - Security: prevent prototype pollution in frontend settings and list view [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12438](https://github.com/paperless-ngx/paperless-ngx/pull/12438)) - Chore(deps): Bump cbor2 from 5.8.0 to 5.9.0 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12424](https://github.com/paperless-ngx/paperless-ngx/pull/12424)) - Chore(deps): Bump tinytag from 2.2.0 to 2.2.1 in the uv group across 1 directory @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12396](https://github.com/paperless-ngx/paperless-ngx/pull/12396)) - Chore(deps): Bump ujson from 5.11.0 to 5.12.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12387](https://github.com/paperless-ngx/paperless-ngx/pull/12387)) - Chore(deps): Bump pyasn1 from 0.6.2 to 0.6.3 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12370](https://github.com/paperless-ngx/paperless-ngx/pull/12370)) - Chore(deps): Bump the utilities-patch group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12382](https://github.com/paperless-ngx/paperless-ngx/pull/12382)) - Chore(deps): Bump openai from 2.24.0 to 2.26.0 in the utilities-minor group @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12379](https://github.com/paperless-ngx/paperless-ngx/pull/12379)) - Chore(deps-dev): Bump types-python-dateutil from 2.9.0.20260124 to 2.9.0.20260305 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12380](https://github.com/paperless-ngx/paperless-ngx/pull/12380)) - Chore(deps): Update django-allauth\[mfa,socialaccount] requirement from \~=65.14.0 to \~=65.15.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12381](https://github.com/paperless-ngx/paperless-ngx/pull/12381)) - Chore(deps-dev): Bump the frontend-jest-dependencies group in /src-ui with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12374](https://github.com/paperless-ngx/paperless-ngx/pull/12374)) - Chore(deps): Bump @&#8203;<!---->ng-select/ng-select from 21.4.1 to 21.5.2 in /src-ui in the frontend-angular-dependencies group @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12373](https://github.com/paperless-ngx/paperless-ngx/pull/12373)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 25.3.3 to 25.4.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12376](https://github.com/paperless-ngx/paperless-ngx/pull/12376)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12375](https://github.com/paperless-ngx/paperless-ngx/pull/12375)) - Chore: Reduce system status test times [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12354](https://github.com/paperless-ngx/paperless-ngx/pull/12354)) - Chore(deps): Bump pyopenssl from 25.3.0 to 26.0.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12363](https://github.com/paperless-ngx/paperless-ngx/pull/12363)) - Chore(deps): Bump pyjwt from 2.10.1 to 2.12.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12335](https://github.com/paperless-ngx/paperless-ngx/pull/12335)) - Change: sort custom fields alphabetically by default [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12358](https://github.com/paperless-ngx/paperless-ngx/pull/12358)) - Feature: Add progress information to the classifier training for a better ux [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12331](https://github.com/paperless-ngx/paperless-ngx/pull/12331)) - Chore: bump Angular dependencies to 21.2.x [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12338](https://github.com/paperless-ngx/paperless-ngx/pull/12338)) - Bump ocrmypdf from 16.13.0 to 17.3.0 in the document-processing group @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12267](https://github.com/paperless-ngx/paperless-ngx/pull/12267)) - Feature: document parser plugin framework [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12294](https://github.com/paperless-ngx/paperless-ngx/pull/12294)) - Chore(deps): Bump tornado from 6.5.4 to 6.5.5 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12327](https://github.com/paperless-ngx/paperless-ngx/pull/12327)) - Enhancement: Make the StatusConsumer truly async [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12298](https://github.com/paperless-ngx/paperless-ngx/pull/12298)) - Chore(deps): Bump the utilities-minor group across 1 directory with 5 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12324](https://github.com/paperless-ngx/paperless-ngx/pull/12324)) - Chore: mark document detail email action as deprecated [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12308](https://github.com/paperless-ngx/paperless-ngx/pull/12308)) - Chore: separate actions from bulk edit endpoint [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12286](https://github.com/paperless-ngx/paperless-ngx/pull/12286)) - \[BREAKING] Chore: drop support for api versions < 9 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12284](https://github.com/paperless-ngx/paperless-ngx/pull/12284)) - Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12291](https://github.com/paperless-ngx/paperless-ngx/pull/12291)) - Performance: Stream JSON during import for memory improvements [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12276](https://github.com/paperless-ngx/paperless-ngx/pull/12276)) - Feature: Migrate import/export to rich progress [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12260](https://github.com/paperless-ngx/paperless-ngx/pull/12260)) - Enhancement: Show more document details in merge dialog [@&#8203;svenstaro](https://github.com/svenstaro) ([#&#8203;12271](https://github.com/paperless-ngx/paperless-ngx/pull/12271)) - Performance: Further export memory improvements [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12273](https://github.com/paperless-ngx/paperless-ngx/pull/12273)) - Chore: pytest style paperless tests [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12254](https://github.com/paperless-ngx/paperless-ngx/pull/12254)) - Chore: update ESLint to v10 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12256](https://github.com/paperless-ngx/paperless-ngx/pull/12256)) - Bump django-allauth from 65.14.0 to 65.14.1 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12253](https://github.com/paperless-ngx/paperless-ngx/pull/12253)) - Bump django from 5.2.11 to 5.2.12 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12249](https://github.com/paperless-ngx/paperless-ngx/pull/12249)) - \[BREAKING] Chore: Drop support for Python 3.10 [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12234](https://github.com/paperless-ngx/paperless-ngx/pull/12234)) - Performance: Improve exporter memory efficiency [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12236](https://github.com/paperless-ngx/paperless-ngx/pull/12236)) - Enhancement: saved view sharing [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12142](https://github.com/paperless-ngx/paperless-ngx/pull/12142)) - Fix: use maxsplit=1 in Redis URL parsing to handle URLs with multiple colons [@&#8203;cryptomilk](https://github.com/cryptomilk) ([#&#8203;12239](https://github.com/paperless-ngx/paperless-ngx/pull/12239)) - Enhancement: “live” document updates [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12141](https://github.com/paperless-ngx/paperless-ngx/pull/12141)) - Enhancement: Improve the retagger output using rich [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12194](https://github.com/paperless-ngx/paperless-ngx/pull/12194)) - Enhancement: Transition sanity check to rich and improve output [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12182](https://github.com/paperless-ngx/paperless-ngx/pull/12182)) - Enhancement: Switch all indexing to use rich [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12193](https://github.com/paperless-ngx/paperless-ngx/pull/12193)) - Chore(deps): Bump whitenoise from 6.11.0 to 6.12.0 in the django-ecosystem group @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12192](https://github.com/paperless-ngx/paperless-ngx/pull/12192)) - Fixhancement: show sequential + id version labels, fix padding [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12196](https://github.com/paperless-ngx/paperless-ngx/pull/12196)) - \[BREAKING] Chore: Refactor advanced database settings to allow more user configuration [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12165](https://github.com/paperless-ngx/paperless-ngx/pull/12165)) - Chore(deps): Bump the utilities-patch group across 1 directory with 11 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12179](https://github.com/paperless-ngx/paperless-ngx/pull/12179)) - Feature: Switch progress bar library to rich [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12169](https://github.com/paperless-ngx/paperless-ngx/pull/12169)) - Chore(deps): Bump nltk from 3.9.2 to 3.9.3 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12177](https://github.com/paperless-ngx/paperless-ngx/pull/12177)) - Enhancment: Formatted filename for single document downloads [@&#8203;JanKleine](https://github.com/JanKleine) ([#&#8203;12095](https://github.com/paperless-ngx/paperless-ngx/pull/12095)) - Chore(deps): Bump the utilities-minor group across 1 directory with 7 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12174](https://github.com/paperless-ngx/paperless-ngx/pull/12174)) - Feature: document file versions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12061](https://github.com/paperless-ngx/paperless-ngx/pull/12061)) - \[BREAKING] Remove API v1 compatability [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12166](https://github.com/paperless-ngx/paperless-ngx/pull/12166)) - Enhancement: prevent duplicate mail processing across rules [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12159](https://github.com/paperless-ngx/paperless-ngx/pull/12159)) - Feature: move to trash action for workflows [@&#8203;JanKleine](https://github.com/JanKleine) ([#&#8203;11176](https://github.com/paperless-ngx/paperless-ngx/pull/11176)) - Tweakhancement: reset to page 1 on reset filters [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12143](https://github.com/paperless-ngx/paperless-ngx/pull/12143)) - Fix: correct user dropdown button icon styling [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12092](https://github.com/paperless-ngx/paperless-ngx/pull/12092)) - Enhancement: consolidate management lists into document attributes section [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12045](https://github.com/paperless-ngx/paperless-ngx/pull/12045)) - Enhancement: option to stop processing further mail rules [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12053](https://github.com/paperless-ngx/paperless-ngx/pull/12053)) - \[BREAKING] Remove pybzar as a barcode reader [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12065](https://github.com/paperless-ngx/paperless-ngx/pull/12065)) - Chore(deps): Bump pillow from 12.1.0 to 12.1.1 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12064](https://github.com/paperless-ngx/paperless-ngx/pull/12064)) - Chore(deps): Bump cryptography from 46.0.3 to 46.0.5 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12060](https://github.com/paperless-ngx/paperless-ngx/pull/12060)) - Chore: Optimizes the integer fields for choice types [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12057](https://github.com/paperless-ngx/paperless-ngx/pull/12057)) - Chore(deps): Bump the utilities-patch group across 1 directory with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12051](https://github.com/paperless-ngx/paperless-ngx/pull/12051)) - Tweak: improve 2-digit year parsing [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12044](https://github.com/paperless-ngx/paperless-ngx/pull/12044)) - Enhancement: pngx pdf viewer [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12043](https://github.com/paperless-ngx/paperless-ngx/pull/12043)) - Fix: Handle an OOM kill of celery workers in the task handler [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12040](https://github.com/paperless-ngx/paperless-ngx/pull/12040)) - Chore(deps-dev): Bump @&#8203;<!---->playwright/test from 1.58.1 to 1.58.2 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12032](https://github.com/paperless-ngx/paperless-ngx/pull/12032)) - Chore(deps): Bump the utilities-minor group across 1 directory with 2 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12020](https://github.com/paperless-ngx/paperless-ngx/pull/12020)) - Fixhancement: improve ASN handling with PDF operations [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11689](https://github.com/paperless-ngx/paperless-ngx/pull/11689)) - Upgrade: Bump @&#8203;<!---->types/node from 25.2.0 to 25.2.1 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12008](https://github.com/paperless-ngx/paperless-ngx/pull/12008)) - Upgrade: Bump webpack from 5.103.0 to 5.105.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;12007](https://github.com/paperless-ngx/paperless-ngx/pull/12007)) - Chore: bump Angular to 21.1.3, ngx-ui-tour-ng-bootstrap to v18 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;12015](https://github.com/paperless-ngx/paperless-ngx/pull/12015)) - Chore: Switches to use prek in place of pre-commit [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;12002](https://github.com/paperless-ngx/paperless-ngx/pull/12002)) - Chore(deps): Bump the utilities-patch group with 3 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11981](https://github.com/paperless-ngx/paperless-ngx/pull/11981)) - Chore(deps): Bump the utilities-minor group across 1 directory with 6 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11993](https://github.com/paperless-ngx/paperless-ngx/pull/11993)) - Chore(deps): Bump drf-spectacular-sidecar from 2025.10.1 to 2026.1.1 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11985](https://github.com/paperless-ngx/paperless-ngx/pull/11985)) - Chore(deps): Update django-allauth\[mfa,socialaccount] requirement from \~=65.13.1 to \~=65.14.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11984](https://github.com/paperless-ngx/paperless-ngx/pull/11984)) - Chore(deps): Update granian\[uvloop] requirement from \~=2.6.0 to \~=2.7.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11983](https://github.com/paperless-ngx/paperless-ngx/pull/11983)) - Chore(deps): Bump django from 5.2.10 to 5.2.11 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11988](https://github.com/paperless-ngx/paperless-ngx/pull/11988)) - Feature: Enable users to customize date parsing via plugins [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;11931](https://github.com/paperless-ngx/paperless-ngx/pull/11931)) - Chore: Fix further test flakiness [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;11987](https://github.com/paperless-ngx/paperless-ngx/pull/11987)) - Feature: password removal workflow action [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11665](https://github.com/paperless-ngx/paperless-ngx/pull/11665)) - Fix: re-run ASN check after barcode detection [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11681](https://github.com/paperless-ngx/paperless-ngx/pull/11681)) - Fix: prevent infinite loading crash in mail component [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11978](https://github.com/paperless-ngx/paperless-ngx/pull/11978)) - Enhancement: per-type object page sizing [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11977](https://github.com/paperless-ngx/paperless-ngx/pull/11977)) - Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 22 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11968](https://github.com/paperless-ngx/paperless-ngx/pull/11968)) - Chore(deps): Bump zone.js from 0.15.1 to 0.16.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11970](https://github.com/paperless-ngx/paperless-ngx/pull/11970)) - Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11969](https://github.com/paperless-ngx/paperless-ngx/pull/11969)) - Chore(deps-dev): Bump @&#8203;<!---->types/node from 24.10.1 to 25.2.0 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11972](https://github.com/paperless-ngx/paperless-ngx/pull/11972)) - Chore(deps-dev): Bump @&#8203;<!---->playwright/test from 1.57.0 to 1.58.1 in /src-ui @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11971](https://github.com/paperless-ngx/paperless-ngx/pull/11971)) - Enhancement: improve filter drop-down performance with virtual scrolling [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11973](https://github.com/paperless-ngx/paperless-ngx/pull/11973)) - Tweakhancement: tweak bulk delete text [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11967](https://github.com/paperless-ngx/paperless-ngx/pull/11967)) - Feature: support split documents based on tag barcodes [@&#8203;schober-ch](https://github.com/schober-ch) ([#&#8203;11645](https://github.com/paperless-ngx/paperless-ngx/pull/11645)) - Chore: Bulk backend updates [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;11543](https://github.com/paperless-ngx/paperless-ngx/pull/11543)) - Tweak: increase minimum screen width before inserting padding [@&#8203;JanKleine](https://github.com/JanKleine) ([#&#8203;11926](https://github.com/paperless-ngx/paperless-ngx/pull/11926)) - Enhancement: Add setting for default PDF Editor mode [@&#8203;JanKleine](https://github.com/JanKleine) ([#&#8203;11927](https://github.com/paperless-ngx/paperless-ngx/pull/11927)) - Fixhancement: auto-queue llm index if needed [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11891](https://github.com/paperless-ngx/paperless-ngx/pull/11891)) - Feature: sharelink bundles [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11682](https://github.com/paperless-ngx/paperless-ngx/pull/11682)) - Enhancement: user control of doc details fields [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11906](https://github.com/paperless-ngx/paperless-ngx/pull/11906)) - Enhancement: improve relative dates in date filter [@&#8203;JanKleine](https://github.com/JanKleine) ([#&#8203;11899](https://github.com/paperless-ngx/paperless-ngx/pull/11899)) - Performance: faster statistics panel on dashboard [@&#8203;Merinorus](https://github.com/Merinorus) ([#&#8203;11760](https://github.com/paperless-ngx/paperless-ngx/pull/11760)) - Enhancement: allow duplicates with warnings, UI for discovery [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11815](https://github.com/paperless-ngx/paperless-ngx/pull/11815)) - Enhancement: configurable SSO groups claim [@&#8203;Gabgobie](https://github.com/Gabgobie) ([#&#8203;11841](https://github.com/paperless-ngx/paperless-ngx/pull/11841)) - Enhancement: support select all for management lists [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11889](https://github.com/paperless-ngx/paperless-ngx/pull/11889)) - Tweakhancement: display document id, with copy [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11896](https://github.com/paperless-ngx/paperless-ngx/pull/11896)) - Enhancement: Add support for app oidc [@&#8203;paulgessinger](https://github.com/paulgessinger) ([#&#8203;11756](https://github.com/paperless-ngx/paperless-ngx/pull/11756)) - Enhancement: Add 'any of' workflow trigger filters [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11683](https://github.com/paperless-ngx/paperless-ngx/pull/11683)) - \[BREAKING] Remove support for document and thumbnail encryption [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;11850](https://github.com/paperless-ngx/paperless-ngx/pull/11850)) - Fix: ensure css color-scheme for dark mode [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11855](https://github.com/paperless-ngx/paperless-ngx/pull/11855)) - Enhancement: support doc\_id placeholder in workflow templates [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11847](https://github.com/paperless-ngx/paperless-ngx/pull/11847)) - \[BREAKING] Feature: Simplify and improve the consumer [@&#8203;stumpylog](https://github.com/stumpylog) ([#&#8203;11753](https://github.com/paperless-ngx/paperless-ngx/pull/11753)) - Fix: fix tag list horizontal scroll, again [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11839](https://github.com/paperless-ngx/paperless-ngx/pull/11839)) - Fix: ensure horizontal scroll for long tag names in list, wrap tags without parent [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11811](https://github.com/paperless-ngx/paperless-ngx/pull/11811)) - Chore(deps): Bump the utilities-patch group across 1 directory with 7 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11793](https://github.com/paperless-ngx/paperless-ngx/pull/11793)) - Chore(deps): Bump the utilities-minor group across 1 directory with 10 updates @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11799](https://github.com/paperless-ngx/paperless-ngx/pull/11799)) - Chore(deps): Bump pyasn1 from 0.6.1 to 0.6.2 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11801](https://github.com/paperless-ngx/paperless-ngx/pull/11801)) - Chore(deps): Bump torch from 2.7.1 to 2.8.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11800](https://github.com/paperless-ngx/paperless-ngx/pull/11800)) - Chore(deps): Bump brotli from 1.1.0 to 1.2.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11796](https://github.com/paperless-ngx/paperless-ngx/pull/11796)) - Chore(deps): Bump transformers from 4.51.3 to 4.53.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11797](https://github.com/paperless-ngx/paperless-ngx/pull/11797)) - Chore(deps): Bump django from 5.2.7 to 5.2.9 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11794](https://github.com/paperless-ngx/paperless-ngx/pull/11794)) - Chore(deps): Bump the llama-index group @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11798](https://github.com/paperless-ngx/paperless-ngx/pull/11798)) - Chore(deps): Bump marshmallow from 3.26.1 to 3.26.2 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11790](https://github.com/paperless-ngx/paperless-ngx/pull/11790)) - Chore(deps): Bump uv from 0.9.3 to 0.9.6 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11795](https://github.com/paperless-ngx/paperless-ngx/pull/11795)) - Chore(deps): Bump aiohttp from 3.11.18 to 3.13.3 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11789](https://github.com/paperless-ngx/paperless-ngx/pull/11789)) - Chore(deps): Bump urllib3 from 2.5.0 to 2.6.3 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11792](https://github.com/paperless-ngx/paperless-ngx/pull/11792)) - Chore(deps): Bump virtualenv from 20.34.0 to 20.36.1 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11774](https://github.com/paperless-ngx/paperless-ngx/pull/11774)) - Fix: use explicit order field for workflow actions [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11781](https://github.com/paperless-ngx/paperless-ngx/pull/11781)) - Chore(deps): Bump azure-core from 1.33.0 to 1.38.0 @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot) ([#&#8203;11776](https://github.com/paperless-ngx/paperless-ngx/pull/11776)) - Feature: Paperless AI [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;10319](https://github.com/paperless-ngx/paperless-ngx/pull/10319)) - Performance: improve treenode inefficiencies [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11606](https://github.com/paperless-ngx/paperless-ngx/pull/11606)) - Chore: upgrade to node v24 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11747](https://github.com/paperless-ngx/paperless-ngx/pull/11747)) - Chore: upgrade to Angular v21 [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11746](https://github.com/paperless-ngx/paperless-ngx/pull/11746)) - Feature: Remote OCR (Azure AI) [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;10320](https://github.com/paperless-ngx/paperless-ngx/pull/10320)) - Feature: password removal action [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11656](https://github.com/paperless-ngx/paperless-ngx/pull/11656)) - Fix: fix recurring workflow to respect latest run time [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11735](https://github.com/paperless-ngx/paperless-ngx/pull/11735)) - Fixhancement: add error handling and retry when opening index [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11731](https://github.com/paperless-ngx/paperless-ngx/pull/11731)) - Tweakhancement: use anchor element for management list quick filter buttons [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11692](https://github.com/paperless-ngx/paperless-ngx/pull/11692)) - Fix: validate cf integer values within PostgreSQL range [@&#8203;shamoon](https://github.com/shamoon) ([#&#8203;11666](https://github.com/paperless-ngx/paperless-ngx/pull/11666)) - Fix: support ordering by storage path name [@&#8203;shamoon](https://github.com/shamoon) (\[[#&#8203;116](https://github.com/paperless-ngx/paperless-ngx/issues/116) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTMuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI1My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
chore(deps): update ghcr.io/paperless-ngx/paperless-ngx docker tag to v3
Some checks failed
ci/crow/push/dns-test Pipeline failed
ci/crow/push/tanka-test Pipeline failed
ci/crow/pr/dns-test Pipeline failed
ci/crow/pr/tanka-diff Pipeline failed
ci/crow/pr/tanka-test Pipeline failed
103f616f80
renovate-bot force-pushed renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x from 2e29399e07 to 74b966bda5 2026-09-21 19:22:35 +00:00 Compare
renovate-bot force-pushed renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x from 74b966bda5 to 068ebfd871
Some checks failed
ci/crow/push/dns-test Pipeline was successful
ci/crow/pr/dns-test Pipeline was successful
ci/crow/pr/tanka-test Pipeline was successful
ci/crow/push/tanka-test Pipeline failed
ci/crow/pr/tanka-diff Pipeline was successful
2026-10-06 04:12:41 +00:00
Compare
Member

flate diff

metadata.labels  (v1/Service/apps-forgejo/forgejo-http)
  - one map entry removed:
    app.kubernetes.io/component: http

metadata.labels.version  (v1/Service/apps-forgejo/forgejo-http)
  ± value change
    - 15.0.9
    + 15.0.5

metadata.labels  (v1/Service/apps-forgejo/forgejo-ssh)
  - one map entry removed:
    app.kubernetes.io/component: ssh

metadata.labels.version  (v1/Service/apps-forgejo/forgejo-ssh)
  ± value change
    - 15.0.9
    + 15.0.5

metadata.labels.version  (apps/v1/Deployment/apps-forgejo/forgejo)
  ± value change
    - 15.0.9
    + 15.0.5

spec.template.metadata.labels.version  (apps/v1/Deployment/apps-forgejo/forgejo)
  ± value change
    - 15.0.9
    + 15.0.5

spec.template.spec.containers.forgejo.image  (apps/v1/Deployment/apps-forgejo/forgejo)
  ± value change
    - code.forgejo.org/forgejo/forgejo:15.0.9-rootless
    + code.forgejo.org/forgejo/forgejo:15.0.5-rootless

spec.template.spec.initContainers.init-directories.image  (apps/v1/Deployment/apps-forgejo/forgejo)
  ± value change
    - code.forgejo.org/forgejo/forgejo:15.0.9-rootless
    + code.forgejo.org/forgejo/forgejo:15.0.5-rootless

spec.template.spec.initContainers.init-app-ini.image  (apps/v1/Deployment/apps-forgejo/forgejo)
  ± value change
    - code.forgejo.org/forgejo/forgejo:15.0.9-rootless
    + code.forgejo.org/forgejo/forgejo:15.0.5-rootless

spec.template.spec.initContainers.configure-gitea.image  (apps/v1/Deployment/apps-forgejo/forgejo)
  ± value change
    - code.forgejo.org/forgejo/forgejo:15.0.9-rootless
    + code.forgejo.org/forgejo/forgejo:15.0.5-rootless

metadata.labels.version  (gateway.networking.k8s.io/v1/HTTPRoute/apps-forgejo/forgejo)
  ± value change
    - 15.0.9
    + 15.0.5

metadata.labels.version  (monitoring.coreos.com/v1/ServiceMonitor/apps-forgejo/forgejo)
  ± value change
    - 15.0.9
    + 15.0.5

Pipeline

## flate diff ``` metadata.labels (v1/Service/apps-forgejo/forgejo-http) - one map entry removed: app.kubernetes.io/component: http metadata.labels.version (v1/Service/apps-forgejo/forgejo-http) ± value change - 15.0.9 + 15.0.5 metadata.labels (v1/Service/apps-forgejo/forgejo-ssh) - one map entry removed: app.kubernetes.io/component: ssh metadata.labels.version (v1/Service/apps-forgejo/forgejo-ssh) ± value change - 15.0.9 + 15.0.5 metadata.labels.version (apps/v1/Deployment/apps-forgejo/forgejo) ± value change - 15.0.9 + 15.0.5 spec.template.metadata.labels.version (apps/v1/Deployment/apps-forgejo/forgejo) ± value change - 15.0.9 + 15.0.5 spec.template.spec.containers.forgejo.image (apps/v1/Deployment/apps-forgejo/forgejo) ± value change - code.forgejo.org/forgejo/forgejo:15.0.9-rootless + code.forgejo.org/forgejo/forgejo:15.0.5-rootless spec.template.spec.initContainers.init-directories.image (apps/v1/Deployment/apps-forgejo/forgejo) ± value change - code.forgejo.org/forgejo/forgejo:15.0.9-rootless + code.forgejo.org/forgejo/forgejo:15.0.5-rootless spec.template.spec.initContainers.init-app-ini.image (apps/v1/Deployment/apps-forgejo/forgejo) ± value change - code.forgejo.org/forgejo/forgejo:15.0.9-rootless + code.forgejo.org/forgejo/forgejo:15.0.5-rootless spec.template.spec.initContainers.configure-gitea.image (apps/v1/Deployment/apps-forgejo/forgejo) ± value change - code.forgejo.org/forgejo/forgejo:15.0.9-rootless + code.forgejo.org/forgejo/forgejo:15.0.5-rootless metadata.labels.version (gateway.networking.k8s.io/v1/HTTPRoute/apps-forgejo/forgejo) ± value change - 15.0.9 + 15.0.5 metadata.labels.version (monitoring.coreos.com/v1/ServiceMonitor/apps-forgejo/forgejo) ± value change - 15.0.9 + 15.0.5 ``` [Pipeline](https://ci.aether.earth/repos/4/pipeline/477)
renovate-bot force-pushed renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x from 068ebfd871
Some checks failed
ci/crow/push/dns-test Pipeline was successful
ci/crow/pr/dns-test Pipeline was successful
ci/crow/pr/tanka-test Pipeline was successful
ci/crow/push/tanka-test Pipeline failed
ci/crow/pr/tanka-diff Pipeline was successful
to bceab3fe58
All checks were successful
ci/crow/push/dns-test Pipeline was successful
ci/crow/pr/dns-test Pipeline was successful
ci/crow/pr/tanka-test Pipeline was successful
ci/crow/push/tanka-test Pipeline was successful
ci/crow/pr/tanka-diff Pipeline was successful
2026-10-12 21:14:36 +00:00
Compare
Member

flate diff

No differences detected.

Pipeline

## flate diff No differences detected. [Pipeline](https://ci.aether.earth/repos/4/pipeline/544)
renovate-bot force-pushed renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x from dee21161d2 to 80e14568cb
All checks were successful
ci/crow/push/dns-test Pipeline was successful
ci/crow/pr/dns-test Pipeline was successful
ci/crow/push/tanka-test Pipeline was successful
ci/crow/pr/tanka-test Pipeline was successful
ci/crow/pr/tanka-diff Pipeline was successful
2026-10-16 07:12:44 +00:00
Compare
Member

flate diff

No differences detected.

Pipeline

## flate diff No differences detected. [Pipeline](https://ci.aether.earth/repos/4/pipeline/606)
renovate-bot force-pushed renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x from 80e14568cb
All checks were successful
ci/crow/push/dns-test Pipeline was successful
ci/crow/pr/dns-test Pipeline was successful
ci/crow/push/tanka-test Pipeline was successful
ci/crow/pr/tanka-test Pipeline was successful
ci/crow/pr/tanka-diff Pipeline was successful
to 8ef251c3e6
All checks were successful
ci/crow/push/dns-test Pipeline was successful
ci/crow/pr/dns-test Pipeline was successful
ci/crow/push/tanka-test Pipeline was successful
ci/crow/pr/tanka-test Pipeline was successful
ci/crow/pr/tanka-diff Pipeline was successful
2026-10-19 20:15:53 +00:00
Compare
Member

flate diff

No differences detected.

Pipeline

## flate diff No differences detected. [Pipeline](https://ci.aether.earth/repos/4/pipeline/639)
renovate-bot force-pushed renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x from 8ef251c3e6
All checks were successful
ci/crow/push/dns-test Pipeline was successful
ci/crow/pr/dns-test Pipeline was successful
ci/crow/push/tanka-test Pipeline was successful
ci/crow/pr/tanka-test Pipeline was successful
ci/crow/pr/tanka-diff Pipeline was successful
to 3075e9e9fd
All checks were successful
ci/crow/pr/dns-test Pipeline was successful
ci/crow/push/dns-test Pipeline was successful
ci/crow/pr/tanka-test Pipeline was successful
ci/crow/push/tanka-test Pipeline was successful
ci/crow/pr/tanka-diff Pipeline was successful
2026-10-22 23:12:46 +00:00
Compare
Member

flate diff

No differences detected.

Pipeline

## flate diff No differences detected. [Pipeline](https://ci.aether.earth/repos/4/pipeline/708)
All checks were successful
ci/crow/pr/dns-test Pipeline was successful
ci/crow/push/dns-test Pipeline was successful
ci/crow/pr/tanka-test Pipeline was successful
ci/crow/push/tanka-test Pipeline was successful
ci/crow/pr/tanka-diff Pipeline was successful
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x:renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x
git switch renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x

Merge

Merge the changes and update on Forgejo.
git switch main
git merge --no-ff renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x
git switch renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x
git rebase main
git switch main
git merge --ff-only renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x
git switch renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x
git rebase main
git switch main
git merge --no-ff renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x
git switch main
git merge --squash renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x
git switch main
git merge --ff-only renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x
git switch main
git merge renovate/ghcr.io-paperless-ngx-paperless-ngx-3.x
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ops/homelab!111
No description provided.