Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
530 commits
Select commit Hold shift + click to select a range
d27a5f6
Changelog v2.20.6 - GHA (#11952)
github-actions[bot] Jan 31, 2026
c3b036e
Merge branch 'main' into dev
shamoon Jan 31, 2026
aac6858
Fix commitish merge
shamoon Jan 31, 2026
1513cba
Auto translate strings
github-actions[bot] Jan 31, 2026
72b861b
Fix: fix broken docker create_classifier command in 2.20.6 (#11965)
shamoon Feb 1, 2026
c278f52
Fix: fix broken docker create_classifier command in 2.20.6 (#11965)
shamoon Feb 1, 2026
9ddd66c
Tweakhancement: tweak bulk delete text (#11967)
shamoon Feb 1, 2026
5b9bb14
Tweakhancement: tweak bulk delete text (#11967)
shamoon Feb 1, 2026
a42df00
Auto translate strings
github-actions[bot] Feb 1, 2026
6442fdc
Enhancement: improve filter drop-down performance with virtual scroll…
shamoon Feb 1, 2026
ff308a2
Auto translate strings
github-actions[bot] Feb 1, 2026
b26da51
Chore(deps-dev): Bump @playwright/test from 1.57.0 to 1.58.1 in /src-…
dependabot[bot] Feb 1, 2026
563156b
Chore(deps-dev): Bump @types/node from 24.10.1 to 25.2.0 in /src-ui (…
dependabot[bot] Feb 1, 2026
fd78bef
Chore(deps-dev): Bump the frontend-eslint-dependencies group (#11969)
dependabot[bot] Feb 1, 2026
36e07f5
Chore(deps): Bump zone.js from 0.15.1 to 0.16.0 in /src-ui (#11970)
dependabot[bot] Feb 1, 2026
3293655
Auto translate strings
github-actions[bot] Feb 1, 2026
5fde91a
Chore(deps): Bump the frontend-angular-dependencies group (#11968)
dependabot[bot] Feb 1, 2026
a9c0b06
Auto translate strings
github-actions[bot] Feb 1, 2026
3b5ffbf
Chore(mypy): Annotate `None` returns for typing improvements (#11213)
gothicVI Feb 2, 2026
470c824
Chore(deps): Bump the actions group with 2 updates (#11966)
dependabot[bot] Feb 2, 2026
e5edfd0
Enhancement: per-type object page sizing (#11977)
shamoon Feb 2, 2026
5c2366f
Auto translate strings
github-actions[bot] Feb 2, 2026
4fa3870
Fix: prevent infinite loading crash in mail component (#11978)
shamoon Feb 2, 2026
231561a
Auto translate strings
github-actions[bot] Feb 2, 2026
00ef083
Fix: re-run ASN check after barcode detection (#11681)
shamoon Feb 2, 2026
63c0e2f
Documentation: clarify workflow placeholders docs
shamoon Feb 3, 2026
e45fca4
Feature: password removal workflow action (#11665)
shamoon Feb 3, 2026
d0c02e7
Auto translate strings
github-actions[bot] Feb 3, 2026
276dc13
Chore: Fixes the TO filter chaining so it doesn't reset the messages …
stumpylog Feb 3, 2026
2ec8ec9
Feature: Enable users to customize date parsing via plugins (#11931)
stumpylog Feb 3, 2026
6ad2fc0
Auto translate strings
github-actions[bot] Feb 3, 2026
fb7abf7
Chore: Enable mypy checking in CI (#11991)
stumpylog Feb 4, 2026
05ab091
Chore(deps): Bump django from 5.2.10 to 5.2.11 (#11988)
dependabot[bot] Feb 4, 2026
e77ab33
Chore(deps): Update granian[uvloop] requirement from ~=2.6.0 to ~=2.7…
dependabot[bot] Feb 4, 2026
585c28b
Chore(deps): Update django-allauth[mfa,socialaccount] requirement (#1…
dependabot[bot] Feb 4, 2026
261e10e
Chore(deps): Bump drf-spectacular-sidecar from 2025.10.1 to 2026.1.1 …
dependabot[bot] Feb 4, 2026
33cbe2a
Chore(deps): Bump the utilities-minor group across 1 directory with 6…
dependabot[bot] Feb 4, 2026
bbf2e63
Chore(deps): Bump the utilities-patch group with 3 updates (#11981)
dependabot[bot] Feb 4, 2026
4a5116a
docker-compose(deps): Bump gotenberg/gotenberg in /docker/compose (#1…
dependabot[bot] Feb 4, 2026
b8e3b65
docker(deps): Bump astral-sh/uv (#11980)
dependabot[bot] Feb 4, 2026
1188a89
Documentation: update FAQ about file extension handling (#12000)
lingfish Feb 5, 2026
5b45b89
Performance fix: use subqueries to improve object retrieval in large …
shamoon Feb 5, 2026
71663fd
Chore: Switches all locations to use prek in place of pre-commit (#12…
stumpylog Feb 5, 2026
0f1cae0
Chore: bump Angular to 21.1.3, ngx-ui-tour-ng-bootstrap to v18 (#12015)
shamoon Feb 6, 2026
734b5b9
Auto translate strings
github-actions[bot] Feb 6, 2026
8f91755
Upgrade: Bump webpack from 5.103.0 to 5.105.0 in /src-ui (#12007)
dependabot[bot] Feb 6, 2026
dfbac35
Upgrade: Bump @types/node from 25.2.0 to 25.2.1 in /src-ui (#12008)
dependabot[bot] Feb 6, 2026
3c51b3f
Chore: move to Zensical for docs (#12011)
shamoon Feb 6, 2026
505ff31
Update CI workflow with additional permissions
shamoon Feb 6, 2026
0dc58cf
Update GitHub Pages artifact naming in CI workflow
shamoon Feb 6, 2026
b9b90ec
docker-compose(deps): Bump nginx in /docker/compose (#12018)
dependabot[bot] Feb 6, 2026
6192915
Fixhancement: improve ASN handling with PDF operations (#11689)
shamoon Feb 6, 2026
1d89ec4
Chore(deps): Bump the utilities-minor group across 1 directory with 2…
dependabot[bot] Feb 7, 2026
5c3d02e
Chore: Configure pyrefly as an alternative typing tool (#12003)
stumpylog Feb 7, 2026
ab328e0
Chore: move to Zensical for docs (#12011)
shamoon Feb 6, 2026
3bc4631
CI: build docs with Zensical in release workflow
shamoon Feb 7, 2026
d3ff856
Merge origin/main into dev
shamoon Feb 7, 2026
30b1d3c
Fix missing content_length migration
shamoon Feb 7, 2026
750c777
Chore(deps-dev): Bump @playwright/test from 1.58.1 to 1.58.2 in /src-…
dependabot[bot] Feb 8, 2026
d7c6476
Update playwright docker image version in CI too
shamoon Feb 8, 2026
6a87c3f
Fixes handling the case where there is no status reported from celery…
stumpylog Feb 9, 2026
9e9e557
Enhancement: pngx pdf viewer (#12043)
shamoon Feb 9, 2026
4208d92
Auto translate strings
github-actions[bot] Feb 9, 2026
9d7231d
Tweak: improve 2-digit year parsing (#12044)
shamoon Feb 9, 2026
21623e4
docker(deps): Bump astral-sh/uv from 0.9.29-python3.12-trixie-slim to…
dependabot[bot] Feb 9, 2026
0b89e28
Chore(deps): Bump j178/prek-action in the actions group (#12033)
dependabot[bot] Feb 9, 2026
c4ed4e7
Chore(deps): Bump the utilities-patch group across 1 directory with 3…
dependabot[bot] Feb 9, 2026
e8e027a
Chore: Optimizes the integer fields for choice types mostly, while le…
stumpylog Feb 10, 2026
775e32b
Fix(dev): history causing infinite requests (#12059)
shamoon Feb 11, 2026
d41d4e1
Auto translate strings
github-actions[bot] Feb 11, 2026
491b5a4
Chore(deps): Bump cryptography from 46.0.3 to 46.0.5 (#12060)
dependabot[bot] Feb 11, 2026
1c70d3f
Chore(deps): Bump pillow from 12.1.0 to 12.1.1 (#12064)
dependabot[bot] Feb 11, 2026
8db1c4e
Breaking: Remove pybzar as a barcode reader (#12065)
stumpylog Feb 13, 2026
4f2e16f
Chore: Pngx pdf viewer fixes (#12083)
shamoon Feb 13, 2026
728c5ea
Auto translate strings
github-actions[bot] Feb 13, 2026
a467df0
Enhancement: option to stop processing further mail rules (#12053)
shamoon Feb 13, 2026
b050fab
Enhancement: consolidate management lists into document attributes se…
shamoon Feb 13, 2026
6622349
Auto translate strings
github-actions[bot] Feb 13, 2026
56d1b56
Fix migration conflict
shamoon Feb 13, 2026
118afa8
Fix: correct user dropdown button icon styling (#12092)
shamoon Feb 14, 2026
ae234d1
Chore: track down the margin +   patterns
shamoon Feb 15, 2026
84163f4
Auto translate strings
github-actions[bot] Feb 15, 2026
afaf39e
Fix/GHSA-x395-6h48-wr8v
shamoon Feb 16, 2026
7a23356
Merge branch 'release/v2.20.x'
shamoon Feb 16, 2026
dd3ec83
Fix: correct user dropdown button icon styling (#12092)
shamoon Feb 14, 2026
e63b62d
Bump version to 2.20.7
shamoon Feb 16, 2026
5ecbfc9
Split build vs deploy docs
shamoon Feb 16, 2026
bc73479
Add permissions
shamoon Feb 16, 2026
5c1bbcd
Documentation: Add v2.20.7 changelog (#12100)
github-actions[bot] Feb 16, 2026
be4e29a
Merge branch 'main' into dev
shamoon Feb 16, 2026
c08d3aa
Auto translate strings
github-actions[bot] Feb 16, 2026
d8e07b8
Fix typing issue
shamoon Feb 16, 2026
02896a1
Fix: only pass user to SerializerWithPerms serializers
shamoon Feb 16, 2026
2ccb315
Auto translate strings
github-actions[bot] Feb 16, 2026
4884b67
Fix more typing failures
shamoon Feb 16, 2026
e54b69f
Update mypy baseline
shamoon Feb 16, 2026
426c0a8
Chore: typing fixes
shamoon Feb 16, 2026
eda0e61
Update mypy baseline
shamoon Feb 16, 2026
83f68d6
Fix mailrule_stop_processing migration
shamoon Feb 20, 2026
43fe932
Fix: unify POSTs when toggling sidebar to prevent db lock (#12129)
shamoon Feb 20, 2026
57c5939
Auto translate strings
github-actions[bot] Feb 20, 2026
65ca78e
Security: fix/GHSA-7qqc-wrcw-2fj9
shamoon Feb 22, 2026
f85094d
Set owner on OAuth mail credentials
shamoon Feb 22, 2026
1bb4b9b
More permissions on mail account test endpoint
shamoon Feb 22, 2026
35be085
Bump version to 2.20.8
shamoon Feb 22, 2026
98298e3
Changelog v2.20.8 - GHA (#12135)
github-actions[bot] Feb 22, 2026
1b912c1
Merge branch 'main' into dev
shamoon Feb 22, 2026
5b66762
Try not to piss off mypy
shamoon Feb 22, 2026
095ea3c
Documentation: clarify behaviour around document splitting (#12137)
waza-ari Feb 22, 2026
d6cd6d0
Tweakhancement: reset to page 1 on reset filters (#12143)
shamoon Feb 22, 2026
be7f1c6
Auto translate strings
github-actions[bot] Feb 22, 2026
814f57b
Allows the typing job to error and still pass, so we get results, but…
stumpylog Feb 23, 2026
fa13ca7
Fix: pass api_base to OpenAIEmbedding (#12151)
shamoon Feb 23, 2026
c4ea332
Feature: move to trash action for workflows (#11176)
JanKleine Feb 24, 2026
e08287f
Auto translate strings
github-actions[bot] Feb 24, 2026
8a798e1
docker(deps): Bump astral-sh/uv (#12125)
dependabot[bot] Feb 24, 2026
6de7283
Documentation: docs cleanup (#12158)
shamoon Feb 24, 2026
ffbbe79
Merge branch 'main' into dev
shamoon Feb 24, 2026
be82fcb
Documentation: docs cleanup (#12158)
shamoon Feb 24, 2026
c431370
Update setup.md
shamoon Feb 24, 2026
90ae552
Enhancement: prevent duplicate mail processing across rules (#12159)
shamoon Feb 26, 2026
13e0784
Fix: separate displayed and API collection sizes for tags (#12170)
shamoon Feb 26, 2026
90a58dd
Fix: separate displayed and API collection sizes for tags (#12170)
shamoon Feb 26, 2026
503845c
Auto translate strings
github-actions[bot] Feb 26, 2026
53ac338
Breaking: Removes API v1 and the related serializer (#12166)
stumpylog Feb 26, 2026
c9278f8
Auto translate strings
github-actions[bot] Feb 26, 2026
ceee769
Feature: document file versions (#12061)
shamoon Feb 26, 2026
fff1aa2
Auto translate strings
github-actions[bot] Feb 26, 2026
5e1202a
Chore(deps): Bump the utilities-minor group across 1 directory with 7…
dependabot[bot] Feb 26, 2026
9601b3d
Fixhancement: config option reset (#12176)
shamoon Feb 26, 2026
c86ebc0
Enhancment: Formatted filename for single document downloads (#12095)
JanKleine Feb 26, 2026
5e135de
Auto translate strings
github-actions[bot] Feb 26, 2026
e67e28a
Chore(deps): Bump nltk from 3.9.2 to 3.9.3 (#12177)
dependabot[bot] Feb 26, 2026
c30ee1e
Feature: Switch progress bar library to rich (#12169)
stumpylog Feb 26, 2026
898dc57
Chore(deps): Bump the utilities-patch group across 1 directory with 1…
dependabot[bot] Feb 26, 2026
89d3a53
Documentation: note GHSAs in changelog
shamoon Feb 27, 2026
5988d58
Breaking: Refactor advanced database settings to allow more user conf…
stumpylog Feb 27, 2026
8531078
Auto translate strings
github-actions[bot] Feb 27, 2026
0bc032a
Development: improve test portability (#12187)
JanKleine Feb 27, 2026
1dd3a62
Fixhancement: show sequential + id version labels, fix padding (#12196)
shamoon Feb 28, 2026
b010f65
Fix GHSA-386h-chg4-cfw9
shamoon Feb 28, 2026
c7f8321
Enforce on selection_data too
shamoon Feb 28, 2026
8bfebc3
Merge branch 'release/v2.20.x'
shamoon Feb 28, 2026
47f9f64
Bump version to 2.20.9
shamoon Feb 28, 2026
a6c9745
Documentation: Add v2.20.9 changelog (#12200)
github-actions[bot] Feb 28, 2026
f65807b
Merge branch 'main' into dev
shamoon Feb 28, 2026
dd06627
Auto translate strings
github-actions[bot] Feb 28, 2026
709bcfd
Fix merge thing
shamoon Feb 28, 2026
a700928
Italicize version label
shamoon Mar 1, 2026
7ff5145
Documentation: small note re filename vs original_filename
shamoon Mar 1, 2026
cd2b512
Documentation: fix version label filename placeholder
JanKleine Mar 1, 2026
8e7084e
Bump tailwindcss to v3.4.19
shamoon Mar 1, 2026
2003fee
Chore(deps): Bump the frontend-angular-dependencies group (#12210)
dependabot[bot] Mar 1, 2026
95484db
Update paperless_mail npm packges
shamoon Mar 1, 2026
8f3dece
Auto translate strings
github-actions[bot] Mar 1, 2026
3d843af
Chore(deps-dev): Bump @types/node from 25.2.1 to 25.3.3 in /src-ui (#…
dependabot[bot] Mar 1, 2026
2c87ba9
Chore(deps-dev): Bump jest-preset-angular (#12211)
dependabot[bot] Mar 1, 2026
fab3c04
Chore(deps-dev): Bump webpack from 5.105.0 to 5.105.3 in /src-ui (#12…
dependabot[bot] Mar 1, 2026
4e883ad
Chore(deps): Bump zone.js from 0.16.0 to 0.16.1 in /src-ui (#12214)
dependabot[bot] Mar 1, 2026
20173a2
Auto translate strings
github-actions[bot] Mar 1, 2026
96ac7b2
Tweak: Ignore version docs for workflows (#12217)
shamoon Mar 2, 2026
62efb40
Auto translate strings
github-actions[bot] Mar 2, 2026
317a177
Chore: Updates s6-overlay to 3.2.2.0 (#12189)
stumpylog Mar 2, 2026
484bef0
docker-compose(deps): Bump gotenberg/gotenberg in /docker/compose (#1…
dependabot[bot] Mar 2, 2026
b94ce85
Chore(deps): Bump whitenoise in the django-ecosystem group (#12192)
dependabot[bot] Mar 2, 2026
20a9cd4
Feature: Switch all indexing to use rich (#12193)
stumpylog Mar 2, 2026
e58a35d
Feature: Transition sanity check to rich and improve output (#12182)
stumpylog Mar 2, 2026
1d7cd5a
Chore: Updates actions to the most specific version released (#12222)
stumpylog Mar 2, 2026
10cb2ac
Chore(deps): Bump the actions group across 1 directory with 6 updates…
dependabot[bot] Mar 2, 2026
0e97419
Chore: add existing logo for temporary url resolution
shamoon Mar 2, 2026
b7ca355
Merge branch 'main' into dev
shamoon Mar 2, 2026
43406f4
Feature: Improve the retagger output using rich (#12194)
stumpylog Mar 3, 2026
9c0f112
docker(deps): Bump astral-sh/uv (#12191)
dependabot[bot] Mar 3, 2026
c724fbb
Clarify bulk edit wording with versions
shamoon Mar 3, 2026
16b58c2
Auto translate strings
github-actions[bot] Mar 3, 2026
8b83075
Fix: enforce path limit for db filename fields (#12235)
shamoon Mar 3, 2026
5498503
Chore: Improve user migration path (#12232)
stumpylog Mar 3, 2026
299dac2
Enhancement: “live” document updates (#12141)
shamoon Mar 4, 2026
c623234
Auto translate strings
github-actions[bot] Mar 4, 2026
5b80912
Fix: apply ordering after annotating tag document count (#12238)
shamoon Mar 4, 2026
190fc70
Fix: use maxsplit=1 in Redis URL parsing to handle URLs with multiple…
cryptomilk Mar 4, 2026
615f27e
Fix: support string coercion in filepath jinja templates (#12244)
shamoon Mar 4, 2026
f253226
Merge branch 'release/v2.20.x'
shamoon Mar 4, 2026
8f311c4
Bump version to 2.20.10
shamoon Mar 4, 2026
d6a316b
Changelog v2.20.10 - GHA (#12247)
github-actions[bot] Mar 4, 2026
d51a118
Merge branch 'main' into dev
shamoon Mar 4, 2026
ae182c4
Auto translate strings
github-actions[bot] Mar 4, 2026
85a18e5
Enhancement: saved view sharing (#12142)
shamoon Mar 4, 2026
a37e24c
Auto translate strings
github-actions[bot] Mar 4, 2026
a9cb89c
Enhancement: Improve exporter memory efficiency (#12236)
stumpylog Mar 4, 2026
1e21bcd
Breaking: Drop support for Python 3.10 (#12234)
stumpylog Mar 4, 2026
fa998ec
Bump django from 5.2.11 to 5.2.12 (#12249)
dependabot[bot] Mar 4, 2026
df03207
Fix: correct doc version filename handling (#12223)
shamoon Mar 4, 2026
7cf2ef6
Auto translate strings
github-actions[bot] Mar 4, 2026
24a2cfd
Change: use explicit doc creation instead of clone for versions (#12226)
shamoon Mar 4, 2026
a5a267f
Bump django-allauth from 65.14.0 to 65.14.1 (#12253)
dependabot[bot] Mar 5, 2026
815e598
Chore: update ESLint to v10 (#12256)
shamoon Mar 6, 2026
1c2d548
Chore: set fetch depth for bundle analysis (#12257)
shamoon Mar 6, 2026
731448a
Fixhancement: support version-specific edits (#12233)
shamoon Mar 6, 2026
7345f2e
Auto translate strings
github-actions[bot] Mar 6, 2026
ba023ef
Chore: Add anti-slop job to PR workflow (#12248)
shamoon Mar 6, 2026
50ae49c
Chore: Uploads the digests as just files, no zips (#12264)
stumpylog Mar 6, 2026
9d5e618
Chore: pytest style paperless tests (#12254)
stumpylog Mar 6, 2026
91ddda9
Fix: Uploaded digest artifact name for Docker build (#12272)
stumpylog Mar 6, 2026
f5c0c21
Chore: Lazy imports of the heavy AI modules (#12275)
stumpylog Mar 7, 2026
2cdb142
Performance: Further export memory improvements (#12273)
stumpylog Mar 7, 2026
2b288c0
Enhancement: Show correspondent in document merge dialog (#12271)
svenstaro Mar 8, 2026
0c3298f
Auto translate strings
github-actions[bot] Mar 8, 2026
1e86224
Documentation: remove broken link
shamoon Mar 8, 2026
93cbbf3
Merge branch 'main' into dev
shamoon Mar 8, 2026
bc26d94
Chore: Add saved view compatibility in API version 9 (#12280)
paulgessinger Mar 9, 2026
4badf0e
Auto translate strings
github-actions[bot] Mar 9, 2026
2a28549
Documentation: Update development commands and pnpm for Angular build…
datenzar Mar 9, 2026
e30676f
Feature: Migrate import/export to rich progress (#12260)
stumpylog Mar 9, 2026
e18b1fd
Chore: use unified "gates" for ci tests and docs checks (#12277)
shamoon Mar 9, 2026
bcc2f11
Performance: Stream JSON during import for memory improvements (#12276)
stumpylog Mar 9, 2026
0bcf904
Chore: Finish settings refactor (#12263)
stumpylog Mar 9, 2026
0c7d56c
Auto translate strings
github-actions[bot] Mar 9, 2026
d85ee29
Fix ci gate base
shamoon Mar 9, 2026
6955d6c
Chore(deps): Bump the utilities-patch group across 1 directory with 6…
dependabot[bot] Mar 9, 2026
63cb755
Chore: Remove some further old items (encryption passphrase and PNG h…
stumpylog Mar 9, 2026
3e32e90
Breaking: drop support for api versions < 9 (#12284)
shamoon Mar 9, 2026
1221e7f
Auto translate strings
github-actions[bot] Mar 9, 2026
3856ec1
docker(deps): bump astral-sh/uv (#12265)
dependabot[bot] Mar 10, 2026
86573fc
Chore: separate actions from bulk edit endpoint (#12286)
shamoon Mar 10, 2026
2b4ea57
Auto translate strings
github-actions[bot] Mar 10, 2026
e19f341
Fix: Pin filelock to ~=3.20.3 (#12297)
shamoon Mar 10, 2026
3efc9a5
Fix: use effective content for matching and suggestion content (#12293)
shamoon Mar 10, 2026
217b5df
Auto translate strings
github-actions[bot] Mar 10, 2026
b7b9e83
Fix (dev): include DatePipe in BulkEditor unit test
shamoon Mar 11, 2026
86fa74c
Fix: Postgres selection, DBENGINE and migrations (#12299)
stumpylog Mar 11, 2026
dd85732
Update api version for frontend dev server
shamoon Mar 12, 2026
b5a002b
Chore: Enable dependabot for pre-commit (#12305)
stumpylog Mar 12, 2026
5331312
Remove cooldown for pre-commit updates (it's not supported)
stumpylog Mar 12, 2026
7494161
Add dependency groups for pre-commit dependencies
stumpylog Mar 12, 2026
45b3636
Chore: mark document detail email action as deprecated (#12308)
shamoon Mar 12, 2026
15db023
Auto translate strings
github-actions[bot] Mar 12, 2026
61841a7
Chore(deps): Bump the actions group with 3 updates (#12322)
dependabot[bot] Mar 12, 2026
e2947cc
Chore(deps): Bump the pre-commit-dependencies group with 4 updates (#…
dependabot[bot] Mar 12, 2026
773eb25
Chore(deps): Bump the utilities-minor group across 1 directory with 5…
dependabot[bot] Mar 12, 2026
f15394f
Fix: Removes the double exec that prevented migrations from running (…
stumpylog Mar 12, 2026
ee0d1a3
Enhancement: Make the StatusConsumer truly async (#12298)
stumpylog Mar 12, 2026
c2e1085
Chore(deps): Bump tornado from 6.5.4 to 6.5.5 (#12327)
dependabot[bot] Mar 12, 2026
d86cfdb
Feature: Initial document parser plugin framework (#12294)
stumpylog Mar 12, 2026
047d4ec
Support include_selection_data in document list/search
shamoon Mar 11, 2026
5f08870
Tests for include_selection_data
shamoon Mar 11, 2026
b313759
Frontend use the new integrated selection data
shamoon Mar 11, 2026
c977445
Fix
shamoon Mar 11, 2026
ea55ec8
Fix e2e tests
shamoon Mar 11, 2026
0ed3103
Update api-dashboard3.har
shamoon Mar 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
67 changes: 59 additions & 8 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# https://docs.codecov.com/docs/codecovyml-reference#codecov
codecov:
require_ci_to_pass: true
# https://docs.codecov.com/docs/components
# https://docs.codecov.com/docs/components
component_management:
individual_components:
- component_id: backend
Expand All @@ -9,26 +10,76 @@ component_management:
- component_id: frontend
paths:
- src-ui/**
# https://docs.codecov.com/docs/pull-request-comments
# https://docs.codecov.com/docs/flags#step-2-flag-management-in-yaml
# https://docs.codecov.com/docs/carryforward-flags
flags:
# Backend Python versions
backend-python-3.11:
paths:
- src/**
carryforward: true
backend-python-3.12:
paths:
- src/**
carryforward: true
backend-python-3.13:
paths:
- src/**
carryforward: true
backend-python-3.14:
paths:
- src/**
carryforward: true
# Frontend (shards merge into single flag)
frontend-node-24.x:
paths:
- src-ui/**
carryforward: true
comment:
layout: "header, diff, components, flags, files"
# https://docs.codecov.com/docs/javascript-bundle-analysis
require_bundle_changes: true
bundle_change_threshold: "50Kb"
coverage:
# https://docs.codecov.com/docs/commit-status
status:
project:
default:
backend:
flags:
- backend-python-3.11
- backend-python-3.12
- backend-python-3.13
- backend-python-3.14
paths:
- src/**
# https://docs.codecov.com/docs/commit-status#threshold
threshold: 1%
removed_code_behavior: adjust_base
frontend:
flags:
- frontend-node-24.x
paths:
- src-ui/**
threshold: 1%
removed_code_behavior: adjust_base
patch:
default:
# For the changed lines only, target 100% covered, but
# allow as low as 75%
backend:
flags:
- backend-python-3.11
- backend-python-3.12
- backend-python-3.13
- backend-python-3.14
paths:
- src/**
target: 100%
threshold: 25%
frontend:
flags:
- frontend-node-24.x
paths:
- src-ui/**
target: 100%
threshold: 25%
# https://docs.codecov.com/docs/javascript-bundle-analysis
bundle_analysis:
# Fail if the bundle size increases by more than 1MB
warning_threshold: "1MB"
status: true
42 changes: 10 additions & 32 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
# syntax=docker/dockerfile:1

FROM --platform=$BUILDPLATFORM docker.io/node:20-bookworm-slim as main-app
FROM --platform=$BUILDPLATFORM docker.io/node:24-trixie-slim as main-app

ARG DEBIAN_FRONTEND=noninteractive

# Buildx provided, must be defined to use though
ARG TARGETARCH

# Can be workflow provided, defaults set for manual building
ARG JBIG2ENC_VERSION=0.29
ARG QPDF_VERSION=11.9.0
ARG GS_VERSION=10.03.1
ARG JBIG2ENC_VERSION=0.30

# Set Python environment variables
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
# Ignore warning from Whitenoise
PYTHONWARNINGS="ignore:::django.http.response:517" \
PNGX_CONTAINERIZED=1
PNGX_CONTAINERIZED=1 \
# https://docs.astral.sh/uv/reference/settings/#link-mode
UV_LINK_MODE=copy \
UV_CACHE_DIR=/cache/uv/

#
# Begin installation and configuration
Expand Down Expand Up @@ -63,8 +64,6 @@ ARG RUNTIME_PACKAGES="\
libmagic1 \
media-types \
zlib1g \
# Barcode splitter
libzbar0 \
poppler-utils \
htop \
sudo"
Expand All @@ -83,37 +82,15 @@ RUN set -eux \
&& apt-get update \
&& apt-get install --yes --quiet ${PYTHON_PACKAGES}

COPY --from=ghcr.io/astral-sh/uv:0.7.8 /uv /bin/uv
COPY --from=ghcr.io/astral-sh/uv:0.9.10 /uv /bin/uv


RUN set -eux \
&& echo "Installing pre-built updates" \
&& echo "Installing qpdf ${QPDF_VERSION}" \
&& curl --fail --silent --show-error --location \
--output libqpdf29_${QPDF_VERSION}-1_${TARGETARCH}.deb \
https://github.com/paperless-ngx/builder/releases/download/qpdf-${QPDF_VERSION}/libqpdf29_${QPDF_VERSION}-1_${TARGETARCH}.deb \
&& curl --fail --silent --show-error --location \
--output qpdf_${QPDF_VERSION}-1_${TARGETARCH}.deb \
https://github.com/paperless-ngx/builder/releases/download/qpdf-${QPDF_VERSION}/qpdf_${QPDF_VERSION}-1_${TARGETARCH}.deb \
&& dpkg --install ./libqpdf29_${QPDF_VERSION}-1_${TARGETARCH}.deb \
&& dpkg --install ./qpdf_${QPDF_VERSION}-1_${TARGETARCH}.deb \
&& echo "Installing Ghostscript ${GS_VERSION}" \
&& curl --fail --silent --show-error --location \
--output libgs10_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \
https://github.com/paperless-ngx/builder/releases/download/ghostscript-${GS_VERSION}/libgs10_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \
&& curl --fail --silent --show-error --location \
--output ghostscript_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \
https://github.com/paperless-ngx/builder/releases/download/ghostscript-${GS_VERSION}/ghostscript_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \
&& curl --fail --silent --show-error --location \
--output libgs10-common_${GS_VERSION}.dfsg-1_all.deb \
https://github.com/paperless-ngx/builder/releases/download/ghostscript-${GS_VERSION}/libgs10-common_${GS_VERSION}.dfsg-1_all.deb \
&& dpkg --install ./libgs10-common_${GS_VERSION}.dfsg-1_all.deb \
&& dpkg --install ./libgs10_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \
&& dpkg --install ./ghostscript_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \
&& echo "Installing jbig2enc" \
&& curl --fail --silent --show-error --location \
--output jbig2enc_${JBIG2ENC_VERSION}-1_${TARGETARCH}.deb \
https://github.com/paperless-ngx/builder/releases/download/jbig2enc-${JBIG2ENC_VERSION}/jbig2enc_${JBIG2ENC_VERSION}-1_${TARGETARCH}.deb \
https://github.com/paperless-ngx/builder/releases/download/jbig2enc-trixie-v${JBIG2ENC_VERSION}/jbig2enc_${JBIG2ENC_VERSION}-1_${TARGETARCH}.deb \
&& dpkg --install ./jbig2enc_${JBIG2ENC_VERSION}-1_${TARGETARCH}.deb

# setup docker-specific things
Expand All @@ -127,6 +104,7 @@ COPY [ \

RUN set -eux \
&& echo "Configuring ImageMagick" \
&& mkdir -p /etc/ImageMagick-6 \
&& mv paperless-policy.xml /etc/ImageMagick-6/policy.xml


Expand All @@ -142,7 +120,7 @@ ARG BUILD_PACKAGES="\
pkg-config"

# hadolint ignore=DL3042
RUN --mount=type=cache,target=/root/.cache/uv,id=pip-cache \
RUN --mount=type=cache,target=/cache/uv/,id=uv-cache \
set -eux \
&& echo "Installing build system packages" \
&& apt-get update \
Expand Down
12 changes: 12 additions & 0 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,18 @@ Additional tasks are available for common maintenance operations:
- **Migrate Database**: To apply database migrations.
- **Create Superuser**: To create an admin user for the application.

## Committing from the Host Machine

The DevContainer automatically installs Git pre-commit hooks during setup. However, these hooks are configured for use inside the container.

If you want to commit changes from your host machine (outside the DevContainer), you need to set up prek on your host. This installs it as a standalone tool.

```bash
uv tool install prek && prek install
```

After this, you can commit either from inside the DevContainer or from your host machine.

## Let's Get Started!

Follow the steps above to get your development environment up and running. Happy coding!
45 changes: 25 additions & 20 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,31 @@
"dockerComposeFile": "docker-compose.devcontainer.sqlite-tika.yml",
"service": "paperless-development",
"workspaceFolder": "/usr/src/paperless/paperless-ngx",
"postCreateCommand": "/bin/bash -c 'rm -rf .venv/.* && uv sync --group dev && uv run pre-commit install'",
"forwardPorts": [4200, 8000],
"containerEnv": {
"UV_CACHE_DIR": "/usr/src/paperless/paperless-ngx/.uv-cache"
},
"postCreateCommand": "/bin/bash -c 'rm -rf .venv/.* && uv sync --group dev && uv run prek install'",
"customizations": {
"vscode": {
"extensions": [
"mhutchie.git-graph",
"ms-python.python",
"ms-vscode.js-debug-nightly",
"eamodio.gitlens",
"yzhang.markdown-all-in-one"
],
"settings": {
"python.defaultInterpreterPath": "/usr/src/paperless/paperless-ngx/.venv/bin/python",
"python.pythonPath": "/usr/src/paperless/paperless-ngx/.venv/bin/python",
"python.terminal.activateEnvInCurrentTerminal": true,
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"files.trimTrailingWhitespace": true
}
"extensions": [
"mhutchie.git-graph",
"ms-python.python",
"ms-vscode.js-debug-nightly",
"eamodio.gitlens",
"yzhang.markdown-all-in-one",
"pnpm.pnpm"
],
"settings": {
"python.defaultInterpreterPath": "/usr/src/paperless/paperless-ngx/.venv/bin/python",
"python.pythonPath": "/usr/src/paperless/paperless-ngx/.venv/bin/python",
"python.terminal.activateEnvInCurrentTerminal": true,
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"files.trimTrailingWhitespace": true
}
}
},
"remoteUser": "paperless"
}
},
"remoteUser": "paperless"
}
24 changes: 17 additions & 7 deletions .devcontainer/vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"label": "Start: Frontend Angular",
"description": "Start the Frontend Angular Dev Server",
"type": "shell",
"command": "pnpm start",
"command": "pnpm exec ng serve --host 0.0.0.0",
"isBackground": true,
"options": {
"cwd": "${workspaceFolder}/src-ui"
Expand Down Expand Up @@ -116,9 +116,9 @@
},
{
"label": "Maintenance: Build Documentation",
"description": "Build the documentation with MkDocs",
"description": "Build the documentation with Zensical",
"type": "shell",
"command": "uv run mkdocs build --config-file mkdocs.yml && uv run mkdocs serve",
"command": "uv run zensical build && uv run zensical serve",
"group": "none",
"presentation": {
"echo": true,
Expand Down Expand Up @@ -174,12 +174,22 @@
{
"label": "Maintenance: Install Frontend Dependencies",
"description": "Install frontend (pnpm) dependencies",
"type": "pnpm",
"script": "install",
"path": "src-ui",
"type": "shell",
"command": "pnpm install",
"group": "clean",
"problemMatcher": [],
"detail": "install dependencies from package"
"options": {
"cwd": "${workspaceFolder}/src-ui"
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": true,
"panel": "shared",
"showReuseMessage": false,
"clear": true,
"revealProblems": "onProblem"
}
},
{
"description": "Clean install frontend dependencies and build the frontend for production",
Expand Down
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@
./resources
# Other stuff
**/*.drawio.png
.mypy_baseline
7 changes: 7 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ end_of_line = lf
charset = utf-8
max_line_length = 79

[*.sh]
indent_style = tab
indent_size = 1

[{*.html,*.css,*.js}]
max_line_length = off

Expand All @@ -35,3 +39,6 @@ max_line_length = off

[Dockerfile*]
indent_style = space

[*.toml]
indent_style = space
6 changes: 3 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ NOTE: PRs that do not address the following will not be merged, please do not sk

- [ ] I have read & agree with the [contributing guidelines](https://github.com/paperless-ngx/paperless-ngx/blob/main/CONTRIBUTING.md).
- [ ] If applicable, I have included testing coverage for new code in this PR, for [backend](https://docs.paperless-ngx.com/development/#testing) and / or [front-end](https://docs.paperless-ngx.com/development/#testing-and-code-style) changes.
- [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers.
- [ ] If applicable, I have tested my code for breaking changes & regressions on both mobile & desktop devices, using the latest version of major browsers.
- [ ] If applicable, I have checked that all tests pass, see [documentation](https://docs.paperless-ngx.com/development/#back-end-development).
- [ ] I have run all `pre-commit` hooks, see [documentation](https://docs.paperless-ngx.com/development/#code-formatting-with-pre-commit-hooks).
- [ ] I have run all Git `pre-commit` hooks, see [documentation](https://docs.paperless-ngx.com/development/#code-formatting-with-pre-commit-hooks).
- [ ] I have made corresponding changes to the documentation as needed.
- [ ] I have checked my modifications for any breaking changes.
- [ ] In the description of the PR above I have disclosed the use of AI tools in the coding of this PR.
Loading
Loading