Release - Paperless-ngx v3.1.0

Features / Enhancements

  • Enhancement: Apply AI suggestions workflow action @shamoon (#13639)

  • Enhancement: welcome widget visual tweaks @shamoon (#13794)

  • Enhancement: support using remote OCR engines selectively @shamoon (#13633)

  • Enhancement: websocket heartbeat @oktupol (#13739)

  • Enhancement: more v3 ui tweaks @shamoon (#13774)

  • Tweak: better support long list of views in documents list @shamoon (#13769)

  • QoL: add count badge to versions dropdown @shamoon (#13753)

  • Tweakhancement: add jitter to IMAP polling schedule @shamoon (#13734)

  • Enhancement: sync OIDC groups to superuser and staff roles @BeSovereign (#13060)

  • Enhancement: merge documents as versions @shamoon (#13515)

  • Tweak: adjust modal proportions for small screens @shamoon (#13728)

  • Refactor: render paperless_ai prompts via Jinja2 templates instead of f-strings @stumpylog (#13698)

  • Tweak: small visual tweaks / improvements & fixes @shamoon (#13700)

  • Enhancement: prefer existing tags, types, correspondents, and storage paths in AI suggestions @stumpylog (#13676)

  • Tweak: tweak permissions menu labels for shared user-dependent views @shamoon (#13685)

  • Feature: Allow selection of compression type and and level during export @stumpylog (#13661)

  • Enhancement: customizable icons for saved views @shamoon (#13388)

  • Enhancement: Add --url argument to document_fuzzy_match to improve output @lukyjay (#13123)

  • Feature: Updates remote OCR parser to respect the OCR mode setting @stumpylog (#13408)

  • Tweak: improve no ML suggestions UX @shamoon (#13621)

  • Performance: reduce memory and I/O overhead of the document exporter during zip exports @stumpylog (#13490)

  • QoL: make name button text on attribute pages selectable @shamoon (#13592)

  • Performance: More efficient mail fetching @stumpylog (#13432)

Bug Fixes

  • Fix: prevent config autocomplete craziness @shamoon (#13808)

  • Fix/performance: prevent token re-use in dropdown filtering, also a perf thing @shamoon (#13804)

  • Fix: exclude version documents from bulk edit „all“ @shamoon (#13791)

  • Fix: fix bottom mobile nav buttons on Android @shamoon (#13780)

  • Fix: lazy import guardian modules to fix search language setting @shamoon (#13768)

  • Fix: version indexing fixes @shamoon (#13737)

  • Fix: append charset to file response for text files @shamoon (#13759)

  • Chore: pin Apache Tika images to 3.3.1 @shamoon (#13758)

  • Fix: align bulk edit object perms with document model @shamoon (#13757)

  • Fix: use selected version for doc detail emailing @shamoon (#13738)

  • Fix: hide version delete button without global perms @shamoon (#13735)

  • Fix: dont re-render path template when checking collisions @shamoon (#13718)

  • Fix: DocumentClassifierSchema bounds @shamoon (#13707)

  • Fix: remove shadow around attribute pages @shamoon (#13696)

  • Zen: correct dropdown corner radius visual defect @shamoon (#13695)

  • Fix: handle Android keyboard popper overlay @shamoon (#13694)

  • Fix: only show create when there is text, hide set values if no fields in cf bulk edit dropdown @shamoon (#13688)

  • Fix: reopen a fresh Tantivy index per write to prevent orphaned segment files @stumpylog (#13682)

  • Fix: fix validation of workflow title assignment @maxtruxa (#13659)

  • Fix: dont clip search dropdown on mobile @shamoon (#13675)

  • Fix: include sharelink bundle perms in WebUI @shamoon (#13664)

  • Fix: add pagination to saved views management page @shamoon (#13646)

  • Fix: fixes for workflow assign custom field values @shamoon (#13630)

  • Fix: deny deactivated users in permission filtering and auto-login @stumpylog (#13623)

  • Fix: check bulk mail delete permissions for the whole batch up front @stumpylog (#13620)

  • Fix: Allow DRF to validate the maximum API key length @stumpylog (#13614)

  • Fix: render PDF form values in annotation layer @shamoon (#13607)

  • QoL: disable name button without perms @shamoon (#13606)

  • Fix: prevent debounce overwrites in advanced search field, also improve Esc behavior @shamoon (#13602)

  • Fix: raise ParseError on remote OCR failure instead of silently continuing @stumpylog (#13574)

  • Fix: use selected version when creating share links @shamoon (#13571)

  • Fix: reject bulk edit permissions requests without the correct key @shamoon (#13563)

  • Fix: correctly serve app logo specified in env @shamoon (#13561)

  • Fix: prevent workflow passwords field type error @shamoon (#13552)

  • Fix: correct Firefox print regression @shamoon (#13543)

  • Fix: hide some saved view operations on management page without permissions @shamoon (#13542)

  • Fix: disable pdfjs selection rendering @shamoon (#13538)

  • Fix: hide sidebar drag grips with insufficient permissions @shamoon (#13536)

  • Fix: don’t re-queue a consume-folder file that is already queued and awaiting consumption @stumpylog (#13526)

  • Fix: correct multi-search non-adjacent queries @shamoon (#13504)

  • Fix: Content-Disposition filename normalization @shamoon (#13514)

  • Fix: prevent duplicated text query with multiple date queries @shamoon (#13522)

  • Fix: crash filtering document link custom fields with an unset or unrelated field present @ggouzi (#13518)

  • Fix: parse unpadded yyyy-mm-dd date input regardless of locale @Se1foo (#13501)

Documentation

  • Documentation: clarify default OCR mode changes in v3 @shamoon (#13666)

  • Fix: fixes for workflow assign custom field values @shamoon (#13630)

  • Documentation: add wiki links for AI stuff and parser plugins @shamoon (#13626)

Maintenance

Dependencies

23 changes
  • Chore: Upgrade Docker image to Python 3.14 @stumpylog (#13721)

  • Chore(deps): Bump the uv group across 1 directory with 2 updates @dependabot[bot] (#13709)

  • Chore: update, reorg some npm deps @shamoon (#13716)

  • Chore: update fpdf2 to 2.8.8 @shamoon (#13629)

  • Chore: update pnpm, add blockExoticSubdeps @shamoon (#13628)

  • Chore(deps): Bump h2 from 4.3.0 to 4.4.1 in the uv group across 1 directory @dependabot[bot] (#13593)

  • Chore(deps): Bump pdfjs-dist from 6.1.200 to 6.2.108 in /src-ui in the npm_and_yarn group across 1 directory @dependabot[bot] (#13594)

  • Chore(deps): Bump cryptography from 48.0.1 to 50.0.0 in the uv group across 1 directory @dependabot[bot] (#13588)

  • Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @dependabot[bot] (#13539)

  • Chore(deps): Bump the utilities-minor group across 1 directory with 20 updates @dependabot[bot] (#13535)

  • Chore(deps): Bump aiohttp from 3.14.1 to 3.14.3 in the uv group across 1 directory @dependabot[bot] (#13537)

  • Chore(deps-dev): Bump zensical from 0.0.47 to 0.0.51 in the development group across 1 directory @dependabot[bot] (#13533)

  • Chore(deps-dev): Bump postcss from 8.5.22 to 8.5.25 in /src/paperless_mail/templates in the npm_and_yarn group across 1 directory @dependabot[bot] (#13534)

  • Chore(deps): Bump the pre-commit-dependencies group across 1 directory with 4 updates @dependabot[bot] (#13532)

  • Chore: ruff 0.16 upgrade @stumpylog (#13531)

  • Chore(deps): Bump the actions group across 1 directory with 20 updates @dependabot[bot] (#13481)

  • docker(deps): bump astral-sh/uv from 0.11.28-python3.12-trixie-slim to 0.11.32-python3.12-trixie-slim @dependabot[bot] (#13472)

  • docker-compose(deps): bump nginx from 1.31.2-alpine to 1.31.3-alpine in /docker/compose @dependabot[bot] (#13470)

  • docker-compose(deps): Bump greenmail/standalone from 2.1.9 to 2.1.11 in /docker/compose @dependabot[bot] (#13469)

  • Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 18 updates @dependabot[bot] (#13476)

  • Chore(deps-dev): Bump @playwright/test from 1.61.1 to 1.62.0 in /src-ui @dependabot[bot] (#13480)

  • Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @dependabot[bot] (#13477)

  • Chore(deps-dev): Bump @types/node from 26.1.0 to 26.1.1 in /src-ui @dependabot[bot] (#13479)

All App Changes

91 changes
  • Fix: prevent config autocomplete craziness @shamoon (#13808)

  • Fix/performance: prevent token re-use in dropdown filtering, also a perf thing @shamoon (#13804)

  • Enhancement: Apply AI suggestions workflow action @shamoon (#13639)

  • Fix: exclude version documents from bulk edit „all“ @shamoon (#13791)

  • Enhancement: welcome widget visual tweaks @shamoon (#13794)

  • Performance: fetch note authors with prefetch instead of one query each @shamoon (#13790)

  • Tweak: more misc UI tweaks @shamoon (#13783)

  • Enhancement: support using remote OCR engines selectively @shamoon (#13633)

  • Fix: fix bottom mobile nav buttons on Android @shamoon (#13780)

  • Enhancement: websocket heartbeat @oktupol (#13739)

  • Fix: lazy import guardian modules to fix search language setting @shamoon (#13768)

  • Enhancement: more v3 ui tweaks @shamoon (#13774)

  • Chore: add some missing UI accessibility labels @shamoon (#13772)

  • Chore: refactor permission checkbox live changes @shamoon (#13771)

  • Tweak: better support long list of views in documents list @shamoon (#13769)

  • Fix: version indexing fixes @shamoon (#13737)

  • Fix: append charset to file response for text files @shamoon (#13759)

  • Fix: align bulk edit object perms with document model @shamoon (#13757)

  • QoL: add count badge to versions dropdown @shamoon (#13753)

  • Tweakhancement: add jitter to IMAP polling schedule @shamoon (#13734)

  • Fix: use selected version for doc detail emailing @shamoon (#13738)

  • Fix: hide version delete button without global perms @shamoon (#13735)

  • Enhancement: sync OIDC groups to superuser and staff roles @BeSovereign (#13060)

  • Enhancement: merge documents as versions @shamoon (#13515)

  • Tweak: adjust modal proportions for small screens @shamoon (#13728)

  • Refactor: render paperless_ai prompts via Jinja2 templates instead of f-strings @stumpylog (#13698)

  • Chore(deps): Bump the uv group across 1 directory with 2 updates @dependabot[bot] (#13709)

  • Fix: dont re-render path template when checking collisions @shamoon (#13718)

  • Chore: update, reorg some npm deps @shamoon (#13716)

  • Fix: DocumentClassifierSchema bounds @shamoon (#13707)

  • Tweak: small visual tweaks / improvements & fixes @shamoon (#13700)

  • Fix: remove shadow around attribute pages @shamoon (#13696)

  • Zen: correct dropdown corner radius visual defect @shamoon (#13695)

  • Fix: handle Android keyboard popper overlay @shamoon (#13694)

  • Enhancement: prefer existing tags, types, correspondents, and storage paths in AI suggestions @stumpylog (#13676)

  • Fix: only show create when there is text, hide set values if no fields in cf bulk edit dropdown @shamoon (#13688)

  • Fix: reopen a fresh Tantivy index per write to prevent orphaned segment files @stumpylog (#13682)

  • Tweak: tweak permissions menu labels for shared user-dependent views @shamoon (#13685)

  • Fix: fix validation of workflow title assignment @maxtruxa (#13659)

  • Feature: Allow selection of compression type and and level during export @stumpylog (#13661)

  • Fix: dont clip search dropdown on mobile @shamoon (#13675)

  • Fix: include sharelink bundle perms in WebUI @shamoon (#13664)

  • Enhancement: customizable icons for saved views @shamoon (#13388)

  • Enhancement: Add --url argument to document_fuzzy_match to improve output @lukyjay (#13123)

  • Feature: Updates remote OCR parser to respect the OCR mode setting @stumpylog (#13408)

  • Performance: pass document chat queries as a QuerySet instead of a materialized.list @stumpylog (#13638)

  • Fix: add pagination to saved views management page @shamoon (#13646)

  • Fix: fixes for workflow assign custom field values @shamoon (#13630)

  • Fix: deny deactivated users in permission filtering and auto-login @stumpylog (#13623)

  • Chore: update fpdf2 to 2.8.8 @shamoon (#13629)

  • Chore: update pnpm, add blockExoticSubdeps @shamoon (#13628)

  • Fix: check bulk mail delete permissions for the whole batch up front @stumpylog (#13620)

  • Tweak: improve no ML suggestions UX @shamoon (#13621)

  • Fix: Allow DRF to validate the maximum API key length @stumpylog (#13614)

  • Performance: unify permission-filtering backends, fixes Correspondent/Tag list slowness @stumpylog (#13601)

  • Performance: generalize permitted_document_ids into permitted_object_ids for any model @stumpylog (#13578)

  • Fix: render PDF form values in annotation layer @shamoon (#13607)

  • QoL: disable name button without perms @shamoon (#13606)

  • Fix: prevent debounce overwrites in advanced search field, also improve Esc behavior @shamoon (#13602)

  • Performance: reduce memory and I/O overhead of the document exporter during zip exports @stumpylog (#13490)

  • Chore(deps): Bump h2 from 4.3.0 to 4.4.1 in the uv group across 1 directory @dependabot[bot] (#13593)

  • Chore(deps): Bump pdfjs-dist from 6.1.200 to 6.2.108 in /src-ui in the npm_and_yarn group across 1 directory @dependabot[bot] (#13594)

  • QoL: make name button text on attribute pages selectable @shamoon (#13592)

  • Fix: raise ParseError on remote OCR failure instead of silently continuing @stumpylog (#13574)

  • Fix: use selected version when creating share links @shamoon (#13571)

  • Chore: specify AI chat refine template @shamoon (#13564)

  • Fix: reject bulk edit permissions requests without the correct key @shamoon (#13563)

  • Fix: correctly serve app logo specified in env @shamoon (#13561)

  • Fix: prevent workflow passwords field type error @shamoon (#13552)

  • Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @dependabot[bot] (#13539)

  • Chore(deps): Bump the utilities-minor group across 1 directory with 20 updates @dependabot[bot] (#13535)

  • Performance: More efficient mail fetching @stumpylog (#13432)

  • Performance: eliminate per-document guardian permission-check causing high CPU on document lists @stumpylog (#13505)

  • Fix: correct Firefox print regression @shamoon (#13543)

  • Fix: hide some saved view operations on management page without permissions @shamoon (#13542)

  • Chore(deps): Bump aiohttp from 3.14.1 to 3.14.3 in the uv group across 1 directory @dependabot[bot] (#13537)

  • Chore(deps-dev): Bump zensical from 0.0.47 to 0.0.51 in the development group across 1 directory @dependabot[bot] (#13533)

  • Fix: disable pdfjs selection rendering @shamoon (#13538)

  • Fix: hide sidebar drag grips with insufficient permissions @shamoon (#13536)

  • Chore(deps-dev): Bump postcss from 8.5.22 to 8.5.25 in /src/paperless_mail/templates in the npm_and_yarn group across 1 directory @dependabot[bot] (#13534)

  • Chore: ruff 0.16 upgrade @stumpylog (#13531)

  • Fix: don’t re-queue a consume-folder file that is already queued and awaiting consumption @stumpylog (#13526)

  • Fix: correct multi-search non-adjacent queries @shamoon (#13504)

  • Fix: Content-Disposition filename normalization @shamoon (#13514)

  • Fix: prevent duplicated text query with multiple date queries @shamoon (#13522)

  • Fix: crash filtering document link custom fields with an unset or unrelated field present @ggouzi (#13518)

  • Fix: parse unpadded yyyy-mm-dd date input regardless of locale @Se1foo (#13501)

  • Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 18 updates @dependabot[bot] (#13476)

  • Chore(deps-dev): Bump @playwright/test from 1.61.1 to 1.62.0 in /src-ui @dependabot[bot] (#13480)

  • Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @dependabot[bot] (#13477)

  • Chore(deps-dev): Bump @types/node from 26.1.0 to 26.1.1 in /src-ui @dependabot[bot] (#13479)

–

View it on GitHub:

Hab jetzt mal mein DebianNAS neu aufgesetzt und den aktuellen Stand via export ans laufen gebracht auf die letzte 2er dann die migration auf PGSQL 18 gemacht und dann auf die latest 3er aber zuerst vergessen die dump.db zu löschen und hab mich noch gewundert wieso es nicht geht :smiley:

v3 hat sich ja ziemlich verändert vom UI… kleinigkeiten aber ich finde es nicht schlecht.

Werde mir jetzt die Tage nen zweiten container auf dem Produktiv System erstellen und beides mal Paralell testen.

Eine der Neuerungen betrifft die Versionierung: Ab sofort lassen sich Dokumente direkt als Versionen zusammenführen. Auch bei den KI-gestützten Workflows wurde nachgebessert. So gibt es neue Workflow-Aktionen für KI-Vorschläge, die bestehende Tags, Dokumenttypen, Korrespondenten und Speicherpfade nun gezielt bevorzugen. Wer auf externe OCR-Dienste setzt, kann Remote-OCR-Engines nun selektiv ansteuern.

Die KI Vorschläge sind jetzt zumindest per default deaktiviert ^^ und müssen aktiviert werden in der env.

Ich hab Aktiviert keine Verbesserung zur bisherigen Zuordnung feststellen können auf die schnelle.

Aber mal gucken ob ich mir mal Ubuntu mit LLM antue zum experimentieren mit meiner AMD 9070 XT oder im anderen Rechner die alte RTX 2080 Super quäle.