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 (100)

v2.15.0

2025-04-08

paperless-ngx 2.15.0

[!NOTE]
Paperless-ngx v2.15.0 introduces a new webserver to Paperless-ngx, which should be completely seamless for most users but may require updating systemd services (updated versions included in the release archive) in bare-metal installations or if you have customized the no-longer used gunicorn configuration file.

Features

  • Enhancement: allow webUI first account signup @shamoon (#9500)
  • Enhancement: support more ‘not assigned’ filtering, refactor @shamoon (#9429)
  • Enhancement: reorganize dates dropdown, add more relative options @shamoon (#9307)
  • Enhancement: add switch to allow merging non-PDFs with archive version @shamoon (#9305)
  • Enhancement: support assigning custom field values in workflows @shamoon (#9272)
  • Enhancement: Add slugify filter in templating @hwaterke (#9269)
  • Feature: Switch webserver to granian @stumpylog (#9218)
  • Enhancement: relocate and smaller upload widget, dont limit upload list @shamoon (#9244)
  • Enhancement: run tasks from system status, report sanity check, simpler classifier check, styling updates @shamoon (#9106)
  • Enhancement: include celery log in logs view @shamoon (#9214)
  • Enhancement: support default groups for regular and social account signup, syncing on login @shamoon (#9039)
  • Enhancement: allow disabling the filesystem consumer @shamoon (#9199)
  • Feature: email document @shamoon (#8950)
  • Enhancement: webui workflowtrigger source option @shamoon (#9170)
  • Enhancement: use charfield for webhook url, custom validation @shamoon (#9128)
  • Feature: Chinese Traditional translation @LokiHung (#9076)
  • Enhancement: Use cached sessions for a minor performance improvement @stumpylog (#9074)
  • Feature: openapi spec, full api browser @shamoon (#8948)
  • Enhancement: filter by file type @shamoon (#8946)
  • Feature: Transition Docker to use s6 overlay @stumpylog (#8886)
  • Feature: better toast notifications management @shamoon (#8980)
  • Enhancement: date picker and date filter dropdown improvements @shamoon (#9033)
  • Tweak: more accurate classifier last trained time @shamoon (#9004)
  • Enhancement: allow setting default pdf zoom @shamoon (#9017)

Bug Fixes

  • Fix: ensure only matched scheduled workflows are applied @shamoon (#9580)
  • Fix: fix large doc thumb hidden at unexpected screen sizes @shamoon (#9559)
  • Fix: fix potential race condition when creating new cf from doc details @shamoon (#9542)
  • Fix: fix doc link input @shamoon (#9533)
  • Fix: only overwrite existing cf values in workflow if set @shamoon (#9459)
  • Fix: fix auto-close when doc update no longer has permissions @shamoon (#9453)
  • Change: better handle permissions in patch requests @shamoon (#9393)
  • Fix: use correct filename with webhook @shamoon (#9392)
  • Change: sync OIDC groups on first login too @shamoon (#9387)
  • Fix: only parse custom field queries when valid @shamoon (#9384)
  • Fix: Allow setting of other Granian options @stumpylog (#9360)
  • Fix: Always clean up INotify @stumpylog (#9359)
  • Fix typo in inactive account template @ocean90 (#9356)
  • Fix: fix notes serializing in API document response @shamoon (#9336)
  • Fix: correct all results with whoosh queries @shamoon (#9331)
  • Fix: fix typo in altered migration @gothicVI (#9321)
  • Fix: add account_inactive template / url @shamoon (#9322)
  • Fix: Switches data to content to upload raw bytes/text content @stumpylog (#9293)
  • Fix: handle null workflow body and email subject @shamoon (#9271)
  • Fix: cleanup saved view references on custom field deletion, auto-refresh views, show error on saved view save @shamoon (#9225)
  • Fix: revert thumbnail CSS workaround in favor of GPU workaround @shamoon (#9219)
  • Fix: correct split confirm removal @shamoon (#9195)
  • Fix: saved views do not return to default display fields after setting and then removing @shamoon (#9168)
  • Fix: correct logged number of deleted documents on trash empty @shamoon (#9148)
  • Fix: include account confirm email allauth URL @shamoon (#9147)
  • Fix: remove additional scrollbar from popup preview @shamoon (#9140)
  • Fix: wrap selected display fields @shamoon (#9139)
  • Fix: reset documents sort field if user deletes the custom field @shamoon (#9127)
  • Fix: limit document title length in workflows @shamoon (#9085)
  • Fix: include doc link input import in custom fields query dropdown @shamoon (#9058)
  • Fix: deselect and trigger refresh for deleted documents from bulk operations with “delete originals” @shamoon (#8996)
  • Fix: allow empty email in profile @shamoon (#9012)

Maintenance

  • docker(deps): Bump astral-sh/uv from 0.6.5-python3.12-bookworm-slim to 0.6.9-python3.12-bookworm-slim @dependabot[bot] (#9488)
  • Chore: Enables dependabot for Dockerfile and our Compose files @stumpylog (#9342)
  • Chore: ensure codecov upload gets attempted @shamoon (#9308)
  • Chore: Split out some items into extras @stumpylog (#9297)
  • Chore: Enables Codecov test reporting for the backend @stumpylog (#9295)
  • Chore: Combine Python settings files @stumpylog (#9292)

Dependencies

43 changes
  • Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 20 updates @dependabot[bot] (#9536)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @dependabot[bot] (#9538)
  • Chore(deps-dev): Bump @types/node from 22.13.9 to 22.13.17 in /src-ui @dependabot[bot] (#9539)
  • Chore(deps-dev): Bump jest-preset-angular from 14.5.3 to 14.5.4 in /src-ui in the frontend-jest-dependencies group @dependabot[bot] (#9537)
  • Chore(deps-dev): Bump @playwright/test from 1.50.1 to 1.51.1 in /src-ui @dependabot[bot] (#9540)
  • Chore(deps): Bump django from 5.1.6 to 5.1.7 in the django group @dependabot[bot] (#9486)
  • docker(deps): Bump astral-sh/uv from 0.6.5-python3.12-bookworm-slim to 0.6.9-python3.12-bookworm-slim @dependabot[bot] (#9488)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @dependabot[bot] (#9372)
  • Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 20 updates @dependabot[bot] (#9371)
  • Chore(deps): Update ocrmypdf requirement from ~=16.9.0 to ~=16.10.0 @dependabot[bot] (#9348)
  • Chore(deps): Update drf-spectacular-sidecar requirement from ~=2025.2.1 to ~=2025.3.1 @dependabot[bot] (#9347)
  • Chore(deps): Bump the small-changes group with 2 updates @dependabot[bot] (#9345)
  • docker-compose(deps): Bump library/postgres from 16 to 17 in /docker/compose @dependabot[bot] (#9353)
  • docker(deps): Bump astral-sh/uv from 0.6.3-python3.12-bookworm-slim to 0.6.5-python3.12-bookworm-slim @dependabot[bot] (#9344)
  • Chore(deps-dev): Bump the frontend-angular-dependencies group in /src-ui with 5 updates @dependabot[bot] (#9288)
  • Chore(deps-dev): Bump @types/node from 22.13.8 to 22.13.9 in /src-ui @dependabot[bot] (#9290)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 3 updates @dependabot[bot] (#9289)
  • Chore(deps-dev): Bump @types/node from 22.13.5 to 22.13.8 in /src-ui @dependabot[bot] (#9267)
  • Chore(deps): Bump stumpylog/image-cleaner-action from 0.9.0 to 0.10.0 in the actions group @dependabot[bot] (#9252)
  • Chore(deps-dev): Bump the development group with 2 updates @dependabot[bot] (#9253)
  • Chore(deps-dev): Bump @codecov/webpack-plugin from 1.8.0 to 1.9.0 in /src-ui @dependabot[bot] (#9260)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @dependabot[bot] (#9256)
  • Chore(deps): Bump uuid from 11.0.5 to 11.1.0 in /src-ui @dependabot[bot] (#9259)
  • Chore(deps-dev): Bump jest-preset-angular from 14.5.1 to 14.5.3 in /src-ui in the frontend-jest-dependencies group @dependabot[bot] (#9255)
  • Chore(deps): Bump rxjs from 7.8.1 to 7.8.2 in /src-ui @dependabot[bot] (#9258)
  • Chore(deps-dev): Bump @types/node from 22.13.0 to 22.13.5 in /src-ui @dependabot[bot] (#9257)
  • Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 22 updates @dependabot[bot] (#9254)
  • Chore(deps): Bump django-filter from 24.3 to 25.1 in the django group @dependabot[bot] (#9143)
  • Chore(deps-dev): Bump mkdocs-material from 9.6.3 to 9.6.4 in the development group @dependabot[bot] (#9142)
  • Dependencies: Updates to jbig2enc 0.30 @stumpylog (#9092)
  • Chore(deps): Bump cryptography from 44.0.0 to 44.0.1 @dependabot[bot] (#9080)
  • Chore(deps): Bump the small-changes group with 7 updates @dependabot[bot] (#9064)
  • Chore(deps-dev): Bump the development group with 3 updates @dependabot[bot] (#9061)
  • Chore(deps): Bump the django group across 1 directory with 2 updates @dependabot[bot] (#9065)
  • Chore(deps): Bump drf-spectacular-sidecar from 2024.11.1 to 2025.2.1 in the major-versions group @dependabot[bot] (#9063)
  • Chore(deps-dev): Bump the development group with 2 updates @dependabot[bot] (#9013)
  • Chore(deps): Bump django-soft-delete from 1.0.16 to 1.0.18 in the django group @dependabot[bot] (#9014)
  • Chore(deps): Bump uuid from 11.0.2 to 11.0.5 in /src-ui @dependabot[bot] (#8992)
  • Chore(deps-dev): Bump @codecov/webpack-plugin from 1.2.1 to 1.8.0 in /src-ui @dependabot[bot] (#8991)
  • Chore(deps-dev): Bump @playwright/test from 1.48.2 to 1.50.1 in /src-ui @dependabot[bot] (#8993)
  • Chore(deps-dev): Bump @types/node from 22.8.6 to 22.13.0 in /src-ui @dependabot[bot] (#8989)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @dependabot[bot] (#8988)
  • Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 23 updates @dependabot[bot] (#8986)

All App Changes

109 changes
  • Fix: ensure only matched scheduled workflows are applied @shamoon (#9580)
  • Fix: fix large doc thumb hidden at unexpected screen sizes @shamoon (#9559)
  • Fix: fix potential race condition when creating new cf from doc details @shamoon (#9542)
  • Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 20 updates @dependabot[bot] (#9536)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @dependabot[bot] (#9538)
  • Chore(deps-dev): Bump @types/node from 22.13.9 to 22.13.17 in /src-ui @dependabot[bot] (#9539)
  • Chore(deps-dev): Bump jest-preset-angular from 14.5.3 to 14.5.4 in /src-ui in the frontend-jest-dependencies group @dependabot[bot] (#9537)
  • Chore(deps-dev): Bump @playwright/test from 1.50.1 to 1.51.1 in /src-ui @dependabot[bot] (#9540)
  • Fix: fix doc link input @shamoon (#9533)
  • Enhancement: allow webUI first account signup @shamoon (#9500)
  • Fix: fix cf dropdown placement on mobile @shamoon (#9508)
  • Chore(deps): Bump django from 5.1.6 to 5.1.7 in the django group @dependabot[bot] (#9486)
  • Fix: only overwrite existing cf values in workflow if set @shamoon (#9459)
  • Fix: fix auto-close when doc update no longer has permissions @shamoon (#9453)
  • Enhancement: support more ‘not assigned’ filtering, refactor @shamoon (#9429)
  • Change: better handle permissions in patch requests @shamoon (#9393)
  • Fix: use correct filename with webhook @shamoon (#9392)
  • Change: sync OIDC groups on first login too @shamoon (#9387)
  • Fix: only parse custom field queries when valid @shamoon (#9384)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @dependabot[bot] (#9372)
  • Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 20 updates @dependabot[bot] (#9371)
  • Development: change frontend package manager to pnpm @shamoon (#9363)
  • Fix: Allow setting of other Granian options @stumpylog (#9360)
  • Fix: Always clean up INotify @stumpylog (#9359)
  • Tweak: add saved views hint to dashboard @shamoon (#9362)
  • Chore(deps): Update ocrmypdf requirement from ~=16.9.0 to ~=16.10.0 @dependabot[bot] (#9348)
  • Chore(deps): Update drf-spectacular-sidecar requirement from ~=2025.2.1 to ~=2025.3.1 @dependabot[bot] (#9347)
  • Chore(deps): Bump the small-changes group with 2 updates @dependabot[bot] (#9345)
  • Ensure the directories have been overridden and created for this test @stumpylog (#9354)
  • Fix typo in inactive account template @ocean90 (#9356)
  • Fix: fix notes serializing in API document response @shamoon (#9336)
  • Fix: correct all results with whoosh queries @shamoon (#9331)
  • Fix: fix typo in altered migration @gothicVI (#9321)
  • Fix: add account_inactive template / url @shamoon (#9322)
  • Chore: Switch from os.path to pathlib.Path @gothicVI (#9060)
  • Enhancement: reorganize dates dropdown, add more relative options @shamoon (#9307)
  • Chore: remove popper preventOverflow fix @shamoon (#9306)
  • Enhancement: add switch to allow merging non-PDFs with archive version @shamoon (#9305)
  • Enhancement: support assigning custom field values in workflows @shamoon (#9272)
  • Chore: add codecov frontend test results @shamoon (#9296)
  • Chore: Removes undocumented FileInfo @stumpylog (#9298)
  • Chore(deps-dev): Bump the frontend-angular-dependencies group in /src-ui with 5 updates @dependabot[bot] (#9288)
  • Fix: Switches data to content to upload raw bytes/text content @stumpylog (#9293)
  • Chore: Removes the unused Log model and LogFilterSet @stumpylog (#9294)
  • Chore: Combine Python settings files @stumpylog (#9292)
  • Chore(deps-dev): Bump @types/node from 22.13.8 to 22.13.9 in /src-ui @dependabot[bot] (#9290)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 3 updates @dependabot[bot] (#9289)
  • Chore: Switch from pipenv to uv @stumpylog (#9251)
  • Enhancement: Add slugify filter in templating @hwaterke (#9269)
  • Fix: handle null workflow body and email subject @shamoon (#9271)
  • Chore(deps-dev): Bump @types/node from 22.13.5 to 22.13.8 in /src-ui @dependabot[bot] (#9267)
  • Chore(deps-dev): Bump the development group with 2 updates @dependabot[bot] (#9253)
  • Chore(deps-dev): Bump @codecov/webpack-plugin from 1.8.0 to 1.9.0 in /src-ui @dependabot[bot] (#9260)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @dependabot[bot] (#9256)
  • Chore(deps): Bump uuid from 11.0.5 to 11.1.0 in /src-ui @dependabot[bot] (#9259)
  • Chore(deps-dev): Bump jest-preset-angular from 14.5.1 to 14.5.3 in /src-ui in the frontend-jest-dependencies group @dependabot[bot] (#9255)
  • Chore(deps): Bump rxjs from 7.8.1 to 7.8.2 in /src-ui @dependabot[bot] (#9258)
  • Chore(deps-dev): Bump @types/node from 22.13.0 to 22.13.5 in /src-ui @dependabot[bot] (#9257)
  • Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 22 updates @dependabot[bot] (#9254)
  • Feature: Switch webserver to granian @stumpylog (#9218)
  • Enhancement: relocate and smaller upload widget, dont limit upload list @shamoon (#9244)
  • Enhancement: run tasks from system status, report sanity check, simpler classifier check, styling updates @shamoon (#9106)
  • Chore: Switch remote version check to HTTPx @stumpylog (#9232)
  • Fix: cleanup saved view references on custom field deletion, auto-refresh views, show error on saved view save @shamoon (#9225)
  • Fix: revert thumbnail CSS workaround in favor of GPU workaround @shamoon (#9219)
  • Chore: Reduce imports for a slight memory improvement @stumpylog (#9217)
  • Enhancement: include celery log in logs view @shamoon (#9214)
  • Enhancement: support default groups for regular and social account signup, syncing on login @shamoon (#9039)
  • Enhancement: allow disabling the filesystem consumer @shamoon (#9199)
  • Fix: correct split confirm removal @shamoon (#9195)
  • Feature: email document @shamoon (#8950)
  • Enhancement: webui workflowtrigger source option @shamoon (#9170)
  • Fix: saved views do not return to default display fields after setting and then removing @shamoon (#9168)
  • Chore(deps): Bump django-filter from 24.3 to 25.1 in the django group @dependabot[bot] (#9143)
  • Chore(deps-dev): Bump mkdocs-material from 9.6.3 to 9.6.4 in the development group @dependabot[bot] (#9142)
  • Fix: correct logged number of deleted documents on trash empty @shamoon (#9148)
  • Fix: include account confirm email allauth URL @shamoon (#9147)
  • Fix: remove additional scrollbar from popup preview @shamoon (#9140)
  • Fix: wrap selected display fields @shamoon (#9139)
  • Enhancement: use charfield for webhook url, custom validation @shamoon (#9128)
  • Fix: reset documents sort field if user deletes the custom field @shamoon (#9127)
  • Chore: more efficient select cf update handler @shamoon (#9099)
  • Fix: limit document title length in workflows @shamoon (#9085)
  • Feature: Chinese Traditional translation @LokiHung (#9076)
  • Enhancement: Use cached sessions for a minor performance improvement @stumpylog (#9074)
  • Chore(deps): Bump the small-changes group with 7 updates @dependabot[bot] (#9064)
  • Chore(deps-dev): Bump the development group with 3 updates @dependabot[bot] (#9061)
  • Chore(deps): Bump the django group across 1 directory with 2 updates @dependabot[bot] (#9065)
  • Chore(deps): Bump drf-spectacular-sidecar from 2024.11.1 to 2025.2.1 in the major-versions group @dependabot[bot] (#9063)
  • Feature: openapi spec, full api browser @shamoon (#8948)
  • Fix: include doc link input import in custom fields query dropdown @shamoon (#9058)
  • Enhancement: filter by file type @shamoon (#8946)
  • Enhancement: add layout options for email conversion @RazielleS (#8907)
  • Chore: Enable ruff FBT @gothicVI (#8645)
  • Feature: better toast notifications management @shamoon (#8980)
  • Enhancement: date picker and date filter dropdown improvements @shamoon (#9033)
  • Fix: deselect and trigger refresh for deleted documents from bulk operations with “delete originals” @shamoon (#8996)
  • Tweak: improve date matching regex for dates after numbers @XstreamGit (#8964)
  • Tweak: more accurate classifier last trained time @shamoon (#9004)
  • Enhancement: allow setting default pdf zoom @shamoon (#9017)
  • Chore(deps-dev): Bump the development group with 2 updates @dependabot[bot] (#9013)
  • Chore(deps): Bump django-soft-delete from 1.0.16 to 1.0.18 in the django group @dependabot[bot] (#9014)
  • Fix: allow empty email in profile @shamoon (#9012)
  • Chore(deps): Bump uuid from 11.0.2 to 11.0.5 in /src-ui @dependabot[bot] (#8992)
  • Chore(deps-dev): Bump @codecov/webpack-plugin from 1.2.1 to 1.8.0 in /src-ui @dependabot[bot] (#8991)
  • Chore(deps-dev): Bump @playwright/test from 1.48.2 to 1.50.1 in /src-ui @dependabot[bot] (#8993)
  • Chore(deps-dev): Bump @types/node from 22.8.6 to 22.13.0 in /src-ui @dependabot[bot] (#8989)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @dependabot[bot] (#8988)
  • Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 23 updates @dependabot[bot] (#8986)