Paperless-ngx logo

Paperless-ngx

Community-supported document management system to scan, index and archive all your documents

Alternative to: evernote, docuware, m-files

Paperless-ngx screenshot

About Versions (113)

v3.2.0

2026-09-19

paperless-ngx 3.2.0

Features / Enhancements

  • Enhancement (QoL): support deselecting single items from “select all” @shamoon (#14117)
  • Enhancement: Match fuzzy terms in place inside the parsed query @stumpylog (#14157)
  • Enhancement: Match CJK terms through their bigram fields in place @stumpylog (#14156)
  • Enhancement: centralized management of share links + bundles @shamoon (#14115)
  • Enhancement: parse advanced search with whoosh-compat and delete the handwritten translation @stumpylog (#14072)
  • Enhancement: allow regex timeout configuration @shamoon (#14085)
  • Enhancement: hide-able sidebar items @shamoon (#14052)
  • Enhancement: Improve matching for correspondents, storage path and labels by removing bias + adding minimum match threshold @dewey (#12164)
  • Enhancement: add Tantivy full-text fallback adapter for taxonomy candidates @stumpylog (#13820)
  • Enhancement (QoL): surface externally-set options in Config UI @shamoon (#13989)
  • Enhancement: allow disabling auto-suggestions for inbox documents @shamoon (#13946)
  • Change: skip documents with empty content in apply AI suggestions WF @shamoon (#13985)
  • Enhancement: duplicates filter @shamoon (#13994)
  • Tweak: note that apply AI suggestions runs async in WF editor @shamoon (#14004)
  • Enhancement (QoL): attempt to localize firstDayOfWeek for date picker @shamoon (#13999)

Bug Fixes

  • Fix: don’t redirect to signup on first install when regular login is disabled @cyberb (#14165)
  • Fix: better catch email workflow placeholder parsing errors @shamoon (#14129)
  • Fix: validate legacy bulk edit owner, rotate and split parameters @stumpylog (#14120)
  • Fix: validate set_permissions with a nested serializer @stumpylog (#14119)
  • Fix: Use prefetching to reduce query counts during classifier training @stumpylog (#14122)
  • Fix: reject non-dict user_args/barcode_tag_mapping in config API @stumpylog (#14118)
  • Fix: type edit_pdf operations via a nested serializer @stumpylog (#14116)
  • Fix: ensure django setup is run for management comments under 3.14 @shamoon (#14100)
  • Fix: validate PDF output doc indexes in bulk edit @shamoon (#14083)
  • Fix: avoid IntegrityError when a retried task republishes with the same ID @stumpylog (#14096)
  • Fix: update some api global perms inconsistencies @shamoon (#14086)
  • Fix: ignore nested action IDs on WF create @shamoon (#14084)
  • Fix: correct text/stream compression workaround @shamoon (#14064)
  • Fix: ui version content switching inconsistencies @shamoon (#14066)
  • Fix: prevent saving changes to stale cached document object @shamoon (#14065)
  • Fix: ensure remove inbox tag children on remove_inbox_tags @shamoon (#14050)
  • Fix: connect add_to_index handler after document_added @shamoon (#14058)
  • Fix: Drop empty files from tracking after the stability window has passed @stumpylog (#14047)
  • Fixhancement: better LLM errors @shamoon (#14031)
  • Fix: prevent orphaned versions from bulk delete @shamoon (#14030)
  • Fixhancement: prevent overlapping mail-account processing runs @stumpylog (#14046)
  • Fix: Use PAPERLESS_REDIS_PREFIX for Celery result backend keys @bdd (#14015)
  • Fix: correct setting ai_enabled to false via UI @shamoon (#13987)
  • Fix: catch some frontend failed object retrievals @shamoon (#14023)
  • Fix: more v3 icons cleanup @shamoon (#14017)
  • Fix: correct add version actor parity @shamoon (#14016)
  • Fix: fix v3 favicon file @shamoon (#14014)
  • Fix: change share link bundle dialog button to close after create, don’t toast on copied @shamoon (#14002)
  • Fix: truncate mail subjects to field max length @shamoon (#13991)
  • Fix: enforce the overflow hidden rule on pdf editor thumbnails @shamoon (#13976)
  • Fix: also correct unbroken long names on small cards @shamoon (#13974)
  • Fix: ensure parent + child tags change together in bulk editor @shamoon (#13972)

Dependencies

29 changes
  • Chore(deps): Bump the utilities-patch group across 1 directory with 15 updates @dependabot[bot] (#14167)
  • docker(deps): Bump astral-sh/uv from 0.12.9-python3.14-trixie-slim to 0.12.16-python3.14-trixie-slim @dependabot[bot] (#14134)
  • Chore(deps): Bump the utilities-minor group across 1 directory with 10 updates @dependabot[bot] (#14149)
  • Chore(deps): Bump the actions group across 1 directory with 8 updates @dependabot[bot] (#14162)
  • Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 19 updates @dependabot[bot] (#14141)
  • docker-compose(deps): bump gotenberg/gotenberg from 8.36 to 8.37 in /docker/compose @dependabot[bot] (#14137)
  • docker-compose(deps): Bump nginx from 1.31.5-alpine to 1.31.6-alpine in /docker/compose @dependabot[bot] (#14138)
  • Chore(deps): Bump pdfjs-dist from 6.2.108 to 6.3.289 in /src-ui @dependabot[bot] (#14144)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @dependabot[bot] (#14143)
  • Chore(deps-dev): Bump @types/node from 26.4.0 to 26.5.0 in /src-ui @dependabot[bot] (#14146)
  • Chore(deps-dev): Bump the frontend-jest-dependencies group across 1 directory with 2 updates @dependabot[bot] (#14142)
  • Chore(deps): Bump the utilities-minor group across 1 directory with 11 updates @dependabot[bot] (#13988)
  • Chore(deps): Bump sentence-transformers from 5.6.1 to 6.0.0 @dependabot[bot] (#13983)
  • Chore(deps-dev): Bump types-markdown from 3.10.2.20260518 to 3.10.2.20260712 @dependabot[bot] (#13982)
  • Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @dependabot[bot] (#13980)
  • Chore(deps): Update granian[uvloop] requirement from ~=2.7.0 to >=2.7,<2.9 @dependabot[bot] (#13984)
  • Chore: Updates our direct Redis pin @stumpylog (#13986)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @dependabot[bot] (#13918)
  • Chore(deps): Bump uuid from 14.0.1 to 14.0.2 in /src-ui @dependabot[bot] (#13921)
  • Chore(deps-dev): Bump @types/node from 26.2.0 to 26.4.0 in /src-ui @dependabot[bot] (#13919)
  • Chore: update ng-select to v24, handle breaking changes @shamoon (#13951)
  • Chore(deps): Bump djangorestframework from 3.17.2 to 3.18.0 in the django-ecosystem group across 1 directory @dependabot[bot] (#13912)
  • Chore(deps): Bump the pre-commit-dependencies group across 1 directory with 3 updates @dependabot[bot] (#13922)
  • Chore(deps): Bump the document-processing group across 1 directory with 4 updates @dependabot[bot] (#13916)
  • Chore(deps): Bump flower from 2.0.1 to 2.1.0 in the async-tasks group across 1 directory @dependabot[bot] (#13913)
  • Chore(deps): Bump the actions group across 1 directory with 15 updates @dependabot[bot] (#13920)
  • docker-compose(deps): Bump gotenberg/gotenberg from 8.34 to 8.36 in /docker/compose @dependabot[bot] (#13910)
  • Chore(deps-dev): Bump the development group across 1 directory with 2 updates @dependabot[bot] (#13911)
  • docker(deps): Bump astral-sh/uv from 0.12.5-python3.14-trixie-slim to 0.12.9-python3.14-trixie-slim @dependabot[bot] (#13914)

All App Changes

80 changes
  • Chore(deps): Bump the utilities-patch group across 1 directory with 15 updates @dependabot[bot] (#14167)
  • Fix: don’t redirect to signup on first install when regular login is disabled @cyberb (#14165)
  • Chore(deps): Bump the utilities-minor group across 1 directory with 10 updates @dependabot[bot] (#14149)
  • Enhancement (QoL): support deselecting single items from “select all” @shamoon (#14117)
  • Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 19 updates @dependabot[bot] (#14141)
  • Enhancement: Match fuzzy terms in place inside the parsed query @stumpylog (#14157)
  • Enhancement: Match CJK terms through their bigram fields in place @stumpylog (#14156)
  • Chore(deps): Bump pdfjs-dist from 6.2.108 to 6.3.289 in /src-ui @dependabot[bot] (#14144)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @dependabot[bot] (#14143)
  • Chore(deps-dev): Bump @types/node from 26.4.0 to 26.5.0 in /src-ui @dependabot[bot] (#14146)
  • Chore(deps-dev): Bump the frontend-jest-dependencies group across 1 directory with 2 updates @dependabot[bot] (#14142)
  • Enhancement: centralized management of share links + bundles @shamoon (#14115)
  • Performance: Preprocess classifier text with Tantivy instead of NLTK @stumpylog (#14127)
  • Performance: Drops fields from the classifier before pickling @stumpylog (#14114)
  • Fix: better catch email workflow placeholder parsing errors @shamoon (#14129)
  • Peformance: Improves the memory efficency of classifier training @stumpylog (#14124)
  • Performance: Streams the classifier pickle file during save as well @stumpylog (#14121)
  • Fix: validate legacy bulk edit owner, rotate and split parameters @stumpylog (#14120)
  • Fix: validate set_permissions with a nested serializer @stumpylog (#14119)
  • Fix: Use prefetching to reduce query counts during classifier training @stumpylog (#14122)
  • Fix: reject non-dict user_args/barcode_tag_mapping in config API @stumpylog (#14118)
  • Fix: type edit_pdf operations via a nested serializer @stumpylog (#14116)
  • Performance: Loads the classifier through a memory view to reduce memory usage @stumpylog (#14113)
  • Feature: parse advanced search with whoosh-compat and delete the handwritten translation @stumpylog (#14072)
  • Fix: ensure django setup is run for management comments under 3.14 @shamoon (#14100)
  • Fix: validate PDF output doc indexes in bulk edit @shamoon (#14083)
  • Enhancement: allow regex timeout configuration @shamoon (#14085)
  • Fix: avoid IntegrityError when a retried task republishes with the same ID @stumpylog (#14096)
  • Chore: include Apply AI Suggestions in the tasks UI filter dropdown @shamoon (#14093)
  • Fix: update some api global perms inconsistencies @shamoon (#14086)
  • Fix: ignore nested action IDs on WF create @shamoon (#14084)
  • Fix: correct text/stream compression workaround @shamoon (#14064)
  • Fix: ui version content switching inconsistencies @shamoon (#14066)
  • Fix: prevent saving changes to stale cached document object @shamoon (#14065)
  • Performance: batch permission assignment in bulk set_permissions @stumpylog (#13806)
  • Performance: skip effective_content annotation on document list unless required @stumpylog (#13789)
  • Fix: ensure remove inbox tag children on remove_inbox_tags @shamoon (#14050)
  • Fix: connect add_to_index handler after document_added @shamoon (#14058)
  • Enhancement: hide-able sidebar items @shamoon (#14052)
  • Performance: cut redundant per-document lookups in bulk modify_custom_fields @stumpylog (#13807)
  • Enhancement: Improve matching for correspondents, storage path and labels by removing bias + adding minimum match threshold @dewey (#12164)
  • Fix: Drop empty files from tracking after the stability window has passed @stumpylog (#14047)
  • Fixhancement: better LLM errors @shamoon (#14031)
  • Fix: prevent orphaned versions from bulk delete @shamoon (#14030)
  • Enhancement: add Tantivy full-text fallback adapter for taxonomy candidates @stumpylog (#13820)
  • Fixhancement: prevent overlapping mail-account processing runs @stumpylog (#14046)
  • Performance: ensure version-aware content filters on querysets @shamoon (#13792)
  • Performance: skip nested TagSerializer construction when a tag has no children @stumpylog (#14039)
  • Enhancement (QoL): surface externally-set options in Config UI @shamoon (#13989)
  • Enhancement: allow disabling auto-suggestions for inbox documents @shamoon (#13946)
  • Change: skip documents with empty content in apply AI suggestions WF @shamoon (#13985)
  • Performance: resolve index-write permissions and effective content in bulk @stumpylog (#13869)
  • Fix: Use PAPERLESS_REDIS_PREFIX for Celery result backend keys @bdd (#14015)
  • Enhancement: duplicates filter @shamoon (#13994)
  • Fix: correct setting ai_enabled to false via UI @shamoon (#13987)
  • Chore(deps): Bump the utilities-minor group across 1 directory with 11 updates @dependabot[bot] (#13988)
  • Fix: catch some frontend failed object retrievals @shamoon (#14023)
  • Fix: more v3 icons cleanup @shamoon (#14017)
  • Fix: correct add version actor parity @shamoon (#14016)
  • Fix: fix v3 favicon file @shamoon (#14014)
  • Tweak: note that apply AI suggestions runs async in WF editor @shamoon (#14004)
  • Fix: change share link bundle dialog button to close after create, don’t toast on copied @shamoon (#14002)
  • Enhancement (QoL): attempt to localize firstDayOfWeek for date picker @shamoon (#13999)
  • Fix: truncate mail subjects to field max length @shamoon (#13991)
  • Chore(deps): Bump sentence-transformers from 5.6.1 to 6.0.0 @dependabot[bot] (#13983)
  • Chore(deps-dev): Bump types-markdown from 3.10.2.20260518 to 3.10.2.20260712 @dependabot[bot] (#13982)
  • Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @dependabot[bot] (#13980)
  • Chore(deps): Update granian[uvloop] requirement from ~=2.7.0 to >=2.7,<2.9 @dependabot[bot] (#13984)
  • Chore: Updates our direct Redis pin @stumpylog (#13986)
  • Fix: enforce the overflow hidden rule on pdf editor thumbnails @shamoon (#13976)
  • Fix: also correct unbroken long names on small cards @shamoon (#13974)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @dependabot[bot] (#13918)
  • Chore(deps): Bump uuid from 14.0.1 to 14.0.2 in /src-ui @dependabot[bot] (#13921)
  • Chore(deps-dev): Bump @types/node from 26.2.0 to 26.4.0 in /src-ui @dependabot[bot] (#13919)
  • Chore: update ng-select to v24, handle breaking changes @shamoon (#13951)
  • Chore(deps): Bump djangorestframework from 3.17.2 to 3.18.0 in the django-ecosystem group across 1 directory @dependabot[bot] (#13912)
  • Chore(deps): Bump the document-processing group across 1 directory with 4 updates @dependabot[bot] (#13916)
  • Chore(deps): Bump flower from 2.0.1 to 2.1.0 in the async-tasks group across 1 directory @dependabot[bot] (#13913)
  • Chore(deps-dev): Bump the development group across 1 directory with 2 updates @dependabot[bot] (#13911)
  • Fix: ensure parent + child tags change together in bulk editor @shamoon (#13972)