Paperless-ngx v3.0.0

v3.0.0

Paperless-ngx v3.0.0

Added 8
  • Replace Whoosh with tantivy search backend
  • Add document parser plugin framework
  • Add document file versions
  • Add sharelink bundles
  • Add Paperless AI
  • Add remote OCR support via Azure AI
  • Allow some bulk operations with all
  • Add database indexes for common query and sort patterns
Changed 1
  • Update root modified timestamp on version changes
Removed 9
  • Remove positional arguments from pre/post consume scripts
  • Decouple OCR control from archive file control
  • Drop support for API versions less than 9
  • Drop support for Python 3.10
  • Refactor advanced database settings to allow more user configuration
  • Remove API v1 compatibility
Security 2
  • Enforce current permissions in autocomplete
  • Bound email linkification
paperless-ngx 3.0.0
Breaking Changes
  • [BREAKING] Remove the positional arguments from the pre/post consume scripts @stumpylog (#12573)
  • [BREAKING] Decouple OCR control from archive file control @stumpylog (#12448)
  • [BREAKING] Chore: drop support for api versions < 9 @shamoon (#12284)
  • [BREAKING] Chore: Drop support for Python 3.10 @stumpylog (#12234)
  • [BREAKING] Chore: Refactor advanced database settings to allow more user configuration @stumpylog (#12165)
  • [BREAKING] Remove API v1 compatability @stumpylog (#12166)
  • [BREAKING] Remove pybzar as a barcode reader @stumpylog (#12065)
  • [BREAKING] Remove support for document and thumbnail encryption @stumpylog (#11850)
  • [BREAKING] Feature: Simplify and improve the consumer @stumpylog (#11753)
Notable Changes
  • Feature: Replace Whoosh with tantivy search backend @stumpylog (#12471)
  • Feature: document parser plugin framework @stumpylog (#12294)
  • Feature: document file versions @shamoon (#12061)
  • Feature: sharelink bundles @shamoon (#11682)
  • Feature: Paperless AI @shamoon (#10319)
  • Feature: Remote OCR (Azure AI) @shamoon (#10320)
Features / Enhancements
  • [Beta] Paperless-ngx v3.0.0 Beta @shamoon (#12713)
  • Tweakhancement (beta): allow some bulk operations with all @shamoon (#13193)
  • Security (beta): enforce current permissions in autocomplete @shamoon (#13188)
  • Security (beta): bound email linkification @shamoon (#13187)
  • Change: update root modified timestamp on version changes @shamoon (#13170)
  • Performance: add DB indexes for common query/sort patterns @stumpylog (#13167)
  • Performance: use NgOptimizedImage for thumbnail lazy loading @shamoon (#13169)
  • Performance: Tantivy indexing optimization @Merinorus (#13053)
  • Chorehancement: update to Angular v22, 'zoneless' / 'reactive' @shamoon (#13114)
  • Enhancement (beta): support LLM timeout config @shamoon (#13002)
  • Enhancement: ignore diacritics, support multiple substring matching for UI filtering @shamoon (#13021)
  • Enhancement(beta): replace LanceDB vector store with sqlite-vec @stumpylog (#12990)
  • Enhancement (beta): Switch the AI vector store to LanceDB @stumpylog (#12944)
  • Fixhancement (beta): tasks dismiss all @shamoon (#12949)
  • Enhancement (beta): add direct LLM language setting @shamoon (#12906)
  • Enhancement: try to respect language for AI suggestions @shamoon (#12894)
  • Enhancement: AI LLM chunk size and context window config @shamoon (#12891)
  • Enhancement: support ollama embeddings @shamoon (#12753)
  • Tweakhancment: Include the last applied 'documents' migration in the log @stumpylog (#12757)
  • Enhancement: version-aware thumbnail etag @shamoon (#12754)
  • Documentation: Update v3 migration docs @shamoon (#12752)
  • Feature: Further reduce document importer memory usage @stumpylog (#12707)
  • Tweakhancement: use fixed position instead of display none for printing @shamoon (#12706)
  • Enhancement: Paperless-ngx v3 Logo @shamoon (#12673)
  • Tweakhancement: localize some more task result messages @shamoon (#12672)
  • Enhancement: chat message document links @shamoon (#12670)
  • Tweakhancement: make upload notification open an anchor link @shamoon (#12659)
  • Tweakhancement: tweak tasks UI, make open doc an anchor @shamoon (#12658)
  • Enhancement: show small task summary in system status @shamoon (#12634)
  • Enhancement: new Tasks UI @shamoon (#12614)
  • Feature: Allow monitoring access to tasks summary @stumpylog (#12624)
  • Tweak: remove stale index warning @shamoon (#12616)
  • Enhancement: add highlighting to title + content searches @shamoon (#12593)
  • Feature: Redesign the task system @stumpylog (#12584)
  • Feature: Tune SQLite default settings for increased speed @stumpylog (#12580)
  • Feature: Document fuzzy match improvements @stumpylog (#12579)
  • Enhancement: validate and sanitize uploaded logos @shamoon (#12551)
  • Enhancement: add view_global_statistics and view_system_status permissions @shamoon (#12530)
  • Fixhancement: include sharelinks + bundles in export/import @shamoon (#12479)
  • Enhancement: unify text search to use tantivy @shamoon (#12485)
  • Feature: Consumer logging correlation @stumpylog (#12510)
  • Security enhancement: allow opt-in blocking internal mail hosts @shamoon (#12502)
  • Feature: Replace Whoosh with tantivy search backend @stumpylog (#12471)
  • Fixhancement: include trashed documents in document exporter/importer @JanKleine (#12425)
  • Tweakhancement: show file extension in StoragePath test @shamoon (#12452)
  • Feature: Transition all checksums to use SHA256 @stumpylog (#12432)
  • Enhancement: auto-hide the search bar on mobile @shamoon (#12404)
  • Change: sort custom fields alphabetically by default @shamoon (#12358)
  • Feature: Add progress information to the classifier training for a better ux @stumpylog (#12331)
  • Feature: document parser plugin framework @stumpylog (#12294)
  • Enhancement: Make the StatusConsumer truly async @stumpylog (#12298)
  • Feature: Migrate import/export to rich progress @stumpylog (#12260)
  • Enhancement: Show more document details in merge dialog @svenstaro (#12271)
  • Enhancement: saved view sharing @shamoon (#12142)
  • Enhancement: “live” document updates @shamoon (#12141)
  • Enhancement: Improve the retagger output using rich @stumpylog (#12194)
  • Enhancement: Transition sanity check to rich and improve output @stumpylog (#12182)
  • Enhancement: Switch all indexing to use rich @stumpylog (#12193)
  • Feature: Switch progress bar library to rich @stumpylog (#12169)
  • Enhancment: Formatted filename for single document downloads @JanKleine (#12095)
  • Feature: document file versions @shamoon (#12061)
  • Enhancement: prevent duplicate mail processing across rules @shamoon (#12159)
  • Feature: move to trash action for workflows @JanKleine (#11176)
  • Tweakhancement: reset to page 1 on reset filters @shamoon (#12143)
  • Enhancement: consolidate management lists into document attributes section @shamoon (#12045)
  • Enhancement: option to stop processing further mail rules @shamoon (#12053)
  • Tweak: improve 2-digit year parsing @shamoon (#12044)
  • Enhancement: pngx pdf viewer @shamoon (#12043)
  • Fixhancement: improve ASN handling with PDF operations @shamoon (#11689)
  • Feature: Enable users to customize date parsing via plugins @stumpylog (#11931)
  • Feature: password removal workflow action @shamoon (#11665)
  • Enhancement: per-type object page sizing @shamoon (#11977)
  • Enhancement: improve filter drop-down performance with virtual scrolling @shamoon (#11973)
  • Tweakhancement: tweak bulk delete text @shamoon (#11967)
  • Feature: support split documents based on tag barcodes @schober-ch (#11645)
  • Enhancement: Add setting for default PDF Editor mode @JanKleine (#11927)
  • Fixhancement: auto-queue llm index if needed @shamoon (#11891)
  • Feature: sharelink bundles @shamoon (#11682)
  • Enhancement: user control of doc details fields @shamoon (#11906)
  • Enhancement: improve relative dates in date filter @JanKleine (#11899)
  • Enhancement: allow duplicates with warnings, UI for discovery @shamoon (#11815)
  • Enhancement: configurable SSO groups claim @Gabgobie (#11841)
  • Enhancement: support select all for management lists @shamoon (#11889)
  • Tweakhancement: display document id, with copy @shamoon (#11896)
  • Enhancement: Add support for app oidc @paulgessinger (#11756)
  • Enhancement: Add 'any of' workflow trigger filters @shamoon (#11683)
  • Enhancement: support doc_id placeholder in workflow templates @shamoon (#11847)
  • Performance: improve treenode inefficiencies @shamoon (#11606)
  • Feature: Remote OCR (Azure AI) @shamoon (#10320)
  • Feature: password removal action @shamoon (#11656)
  • Tweakhancement: use anchor element for management list quick filter buttons @shamoon (#11692)
  • Feature: Indonesian translation @shamoon (#11641)
Bug Fixes
  • Fix (beta): prevent pdfjs offsetParent warning @shamoon (#13197)
  • Fix (beta): dont include hidden buttons in virtual scroll container height @shamoon (#13194)
  • Fix (beta): fix custom field bulk editing for 'all' @shamoon (#13191)
  • Security (beta): two small permission check fixes @shamoon (#13186)
  • Fix (beta): short-circuit ObjectOwnedOrGrantedPermissionsFilter for superusers @stumpylog (#13183)
  • Fix (beta): compute num_notes via a subquery instead of Count()+distinct @stumpylog (#13182)
  • Fix: prevent tag assignment from reverting other pending workflow assignments @stumpylog (#13178)
  • Fix(beta): cache per-request effective-document resolution for thumb/metadata/preview @stumpylog (#13166)
  • Fix: fallback from archive version for share links @shamoon (#13163)
  • Fix: better handle saved view errors in dashboard widgets @shamoon (#13164)
  • Fix (beta): convert chat component to signal-backed Angular @shamoon (#13152)
  • Fix: HTTP 500 filtering documents by tags + custom field query on MariaDB @stumpylog (#13143)
  • Fix: scope ProcessedMail UID deduplication by IMAP UIDVALIDITY @chouquette (#12839)
  • Fix: allow setting any UID and GID when running rootless @Tahvok (#13090)
  • Fix (beta): fix sidebar document close button @shamoon (#13136)
  • Fix: include wasm assets in pdf.js-based viewer @shamoon (#13122)
  • Fix: fix ui labels from md5 to sha256 @shamoon (#13119)
  • Fixhancement: dont assign empty title in workflow with broken template @shamoon (#13112)
  • Fix: clamp mailrule max age before migration @shamoon (#13093)
  • Fix: use latest document version for bulk download @shamoon (#13103)
  • Fix (beta): handle relative date with comma query @shamoon (#13087)
  • Fix (beta): fix sanity checker affected document counts @NgoQuocViet2001 (#13052)
  • Fix (beta): preserve Unicode in localization prompt @shamoon (#13055)
  • Fix: change tantivy token limit to title field max length @shamoon (#13046)
  • Fix: include last-modified in doc etag @shamoon (#13044)
  • Fix (beta): Stream chunks during compaction to prevent oom on smaller installs @stumpylog (#13014)
  • Fixhancement (beta): truncate embedding queries for small chunk size @shamoon (#13028)
  • Fix(beta): Workaround a Tantivy panic in more like this searching @stumpylog (#13026)
  • Fix (beta): Catch consumer files created during watcher re-creations @stumpylog (#13013)
  • Fix (beta): restore v2 (Whoosh) advanced-search query compatibility @stumpylog (#13010)
  • Fix (beta): retry celery ping and report warning on no response @shamoon (#13012)
  • Fix (beta): don't send chat message on Enter while composing with IME (CJK) @mzyy94 (#12999)
  • Fix: Apply unicode normalization to all paths and path components @stumpylog (#12993)
  • Fix: Handle the UTF 16 and BOM text files better @stumpylog (#12994)
  • Fix (beta): avoid DRF update calling save on all fields @shamoon (#12992)
  • Fix: release pooled DB connection during AI LLM/embedding calls @stumpylog (#12983)
  • Fix: health-check pooled DB connections and close the pool on worker shutdown @stumpylog (#12977)
  • Fix: wrap long titles in delete confirm dialog @shamoon (#12973)
  • Fix (beta): fix re-ordering in merge dialog @shamoon (#12967)
  • Fix (beta): move task filtering to backend fully @shamoon (#12956)
  • Fix (beta): avoid unnecessary creating new PDF with pw removal workflow @shamoon (#12948)
  • Fixhancement (beta): tasks dismiss all @shamoon (#12949)
  • Fix (beta): correct chat message bg color @shamoon (#12955)
  • Fix (beta): respect disable state for suggest endpoint, require change perms @shamoon (#12942)
  • Fix: Ensure checksum comparision is using SHA256 @stumpylog (#12939)
  • Fix: Restrict the AI backend at settings configure time @stumpylog (#12903)
  • Fix (beta): correctly apply i18n in suggestions dropdown @shamoon (#12905)
  • Fix: Lock AI index during reading and don't index documents many times during a bulk update @stumpylog (#12899)
  • Fix: Minor fixes for the AI indexing @stumpylog (#12893)
  • Fix (beta): dont use tool calling with ollama @shamoon (#12896)
  • Fix: Improvements for security around the AI @stumpylog (#12895)
  • Fix: correctly show timestamp tooltip on history item @nathanaelhoun (#12879)
  • Fix: Fold query and autocomplete terms with Tantivy's ascii_fold so special letters match @stumpylog (#12868)
  • Fix: Don't store autocomplete_word, only index it @stumpylog (#12867)
  • Fix: Preserve Whoosh date range swapping in Tantviy @stumpylog (#12866)
  • Fix: Always release search index writer @stumpylog (#12865)
  • Fix: Handle CJK title, content and metadata searching @stumpylog (#12862)
  • Fix: Restrict date query rewrites to date or datetime fields only @stumpylog (#12864)
  • Fix: Missing call to tanvity wait_merging_threads @stumpylog (#12863)
  • Fix: Handle tanvity index lock contention @stumpylog (#12856)
  • Fix (beta): better catch chat errors @shamoon (#12854)
  • Security (beta): fixes for v3 beta @shamoon (#12838)
  • Fix (beta): normalize long punctuation chunks to improve embedding @shamoon (#12848)
  • Fix: use chord.on_error before apply_async @shamoon (#12842)
  • Fix: Don't use smaller integer fields for some workflow fields @stumpylog (#12834)
  • Fix: Password removal source file location @stumpylog (#12830)
  • Fix (beta): use correct html button type for custom field buttons @shamoon (#12819)
  • Fix: Defer password removal workflow action until the file is in place @stumpylog (#12814)
  • Fix: Allow setting allauth rate limit configuration settings @stumpylog (#12798)
  • Fix: Don't embed the metadata which is already embedded into the context @stumpylog (#12795)
  • Fix: Sanitize dash or plus from the text search path @stumpylog (#12789)
  • Fix: improve new tasks ui layout across screen sizes @shamoon (#12784)
  • Fix: Update parser contract to require empty strings, not None @shamoon (#12775)
  • Fix: Use a persistent, writeable location for hugging face models @stumpylog (#12771)
  • Fix: create LLM_INDEX_DIR before writing meta.json on first run @pReya (#12759)
  • Tweakhancment: Include the last applied 'documents' migration in the log @stumpylog (#12757)
  • Fix: use response synthesizer for RAG doc chat @shamoon (#12751)
  • Fix: only update modified field in notes actions @shamoon (#12750)
  • Fix: Handle dash or plus operators in search queries @stumpylog (#12734)
  • Fixes trash preview when a document has deleted versions @stumpylog (#12742)
  • Fix: exclude versions from stats count @shamoon (#12738)
  • Fixes celery chords by using Redis as our result backend @stumpylog (#12741)
  • Fix: bump version.py to 3.0.0 also @shamoon (#12736)
  • Fix: makes the font cache folder writeable to all users @stumpylog (#12726)
  • Fixes Whoosh year only queries to be rewritten to Tantivy date syntax @stumpylog (#12725)
  • Fix: pass allow parallel tool calls in LLM client @shamoon (#12718)
  • Fix: Handle passwords for removal action as lists @stumpylog (#12716)
  • Bumps all our versions to 3.0.0 @stumpylog (#12715)
  • Fix: avoid unnecessary close_old_connections in Celery task dispatch @stumpylog (#12701)
  • Fix: apply tag changes directly to document in db @shamoon (#12664)
  • Fix: Use FileResponse for file API responses @stumpylog (#12638)
  • Fix: Changes bare metal webserver to use uvloop @stumpylog (#12626)
  • Fixhancement: Exact custom field monetary exact searching @stumpylog (#12592)
  • Fix: relative added date check visibility @shamoon (#12600)
  • Fix: prevent intermediate change event when CustomFieldQueryAtom operator changes type @ggouzi (#12597)
  • Fix: reject invalid requests to API notes endpoint @ggouzi (#12582)
  • Fixhancement: include sharelinks + bundles in export/import @shamoon (#12479)
  • Fix: Respect workflow change_groups during consumption @stumpylog (#12431)
  • Fix: Don't try to update the user when running as non-root @stumpylog (#12365)
  • Fix: use maxsplit=1 in Redis URL parsing to handle URLs with multiple colons @cryptomilk (#12239)
  • Fixhancement: show sequential + id version labels, fix padding @shamoon (#12196)
  • Fix: correct user dropdown button icon styling @shamoon (#12092)
  • Fix: Handle an OOM kill of celery workers in the task handler @stumpylog (#12040)
  • Fix: re-run ASN check after barcode detection @shamoon (#11681)
  • Fix: prevent infinite loading crash in mail component @shamoon (#11978)
  • Fix: fix broken docker create_classifier command in 2.20.6 @shamoon (#11965)
  • Fix: ensure css color-scheme for dark mode @shamoon (#11855)
  • Fix: fix tag list horizontal scroll, again @shamoon (#11839)
  • Fix: ensure horizontal scroll for long tag names in list, wrap tags without parent @shamoon (#11811)
  • Fix: use explicit order field for workflow actions @shamoon (#11781)
  • Fix: fix recurring workflow to respect latest run time @shamoon (#11735)
  • Fixhancement: add error handling and retry when opening index @shamoon (#11731)
  • Fix: validate cf integer values within PostgreSQL range @shamoon (#11666)
  • Fix: support ordering by storage path name @shamoon (#11661)
  • Fix: propagate metadata override created value @shamoon (#11659)
  • Fix: prevent ASN collisions for merge operations @shamoon (#11634)
Documentation
  • [Beta] Paperless-ngx v3.0.0 Beta @shamoon (#12713)
  • Fix: clamp mailrule max age before migration @shamoon (#13093)
  • Documentation (beta): Updates documentation for new v3 features @stumpylog (#13033)
  • Documentation: fix PAPERLESS_DATE_PARSER_LANGUAGES formatting @shamoon (#12997)
  • Documentation: remove duplicate words in three files @mvanhorn (#12852)
  • Fix: Allow setting allauth rate limit configuration settings @stumpylog (#12798)
  • Documentation: Update v3 migration docs @shamoon (#12752)
  • Enhancement: Paperless-ngx v3 Logo @shamoon (#12673)
  • Chore: separate actions from bulk edit endpoint @shamoon (#12286)
  • Chore: Switches to use prek in place of pre-commit @stumpylog (#12002)
  • Chore: upgrade to node v24 @shamoon (#11747)
Maintenance
  • [Beta] Paperless-ngx v3.0.0 Beta @shamoon (#12713)
  • Chore(deps): Bump the actions group across 1 directory with 14 updates @dependabot[bot] (#13079)
  • Chore(deps): Bump the actions group across 1 directory with 12 updates @dependabot[bot] (#12909)
  • Chore(deps): Bump the actions group across 1 directory with 17 updates @dependabot[bot] (#12686)
  • Chore(deps): Bump the actions group across 1 directory with 4 updates @dependabot[bot] (#12538)
  • Chore(deps-dev): Bump @playwright/test from 1.58.2 to 1.59.0 in /src-ui @dependabot[bot] (#12537)
  • Chore: address more zizmor flags @shamoon (#12529)
  • Chore: Resolves some zizmor reported code scan findings @stumpylog (#12516)
  • Chore(deps): Bump the actions group across 1 directory with 9 updates @dependabot[bot] (#12490)
  • Chore(deps): Bump the actions group with 2 updates @dependabot[bot] (#12377)
  • Chore(deps): Bump the actions group with 3 updates @dependabot[bot] (#12322)
  • Chore: Don't upload digets file as a zip @stumpylog (#12264)
  • Chore(deps): Bump the actions group across 1 directory with 6 updates @dependabot[bot] (#12224)
  • Chore(deps): Bump j178/prek-action from 1.1.0 to 1.1.1 in the actions group @dependabot[bot] (#12033)
  • Chore: Switches to use prek in place of pre-commit @stumpylog (#12002)
  • Chore: Enable mypy checking in CI @stumpylog (#11991)
  • Chore(deps): Bump the actions group with 2 updates @dependabot[bot] (#11966)
  • Chore: upgrade to node v24 @shamoon (#11747)
  • Performance: pre-compress static files on ARM64 @stumpylog (#11721)
  • Chore(deps): Bump the actions group with 4 updates @dependabot[bot] (#11695)
  • Feature: Indonesian translation @shamoon (#11641)
Dependencies

Removed for character

All App Changes
  • [Beta] Paperless-ngx v3.0.0 Beta @shamoon (#12713)
  • Chore (beta): mark first batch of thumbnails as priorty for LCP warning @shamoon (#13196)
  • Fix (beta): prevent pdfjs offsetParent warning @shamoon (#13197)
  • Fix (beta): dont include hidden buttons in virtual scroll container height @shamoon (#13194)
  • Tweakhancement (beta): allow some bulk operations with all @shamoon (#13193)
  • Fix (beta): fix custom field bulk editing for 'all' @shamoon (#13191)
  • Security (beta): enforce current permissions in autocomplete @shamoon (#13188)
  • Security (beta): bound email linkification @shamoon (#13187)
  • Security (beta): two small permission check fixes @shamoon (#13186)
  • Fix (beta): short-circuit ObjectOwnedOrGrantedPermissionsFilter for superusers @stumpylog (#13183)
  • Fix (beta): compute num_notes via a subquery instead of Count()+distinct @stumpylog (#13182)
  • Change: update root modified timestamp on version changes @shamoon (#13170)
  • Fix: prevent tag assignment from reverting other pending workflow assignments @stumpylog (#13178)
  • Performance: add DB indexes for common query/sort patterns @stumpylog (#13167)
  • Performance: use NgOptimizedImage for thumbnail lazy loading @shamoon (#13169)
  • Fix(beta): cache per-request effective-document resolution for thumb/metadata/preview @stumpylog (#13166)
  • Fix: fallback from archive version for share links @shamoon (#13163)
  • Fix: better handle saved view errors in dashboard widgets @shamoon (#13164)
  • Fix (beta): convert chat component to signal-backed Angular @shamoon (#13152)
  • Fix: HTTP 500 filtering documents by tags + custom field query on MariaDB @stumpylog (#13143)
  • Performance: Tantivy indexing optimization @Merinorus (#13053)
  • Chore(deps-dev): Bump the development group across 1 directory with 2 updates @dependabot[bot] (#13068)
  • Fix: scope ProcessedMail UID deduplication by IMAP UIDVALIDITY @chouquette (#12839)
  • Fix (beta): fix sidebar document close button @shamoon (#13136)
  • Fix: include wasm assets in pdf.js-based viewer @shamoon (#13122)
  • Fix: fix ui labels from md5 to sha256 @shamoon (#13119)
  • Chorehancement: update to Angular v22, 'zoneless' / 'reactive' @shamoon (#13114)
  • Fixhancement: dont assign empty title in workflow with broken template @shamoon (#13112)
  • Fix: clamp mailrule max age before migration @shamoon (#13093)
  • Fix: use latest document version for bulk download @shamoon (#13103)
  • Fix (beta): handle relative date with comma query @shamoon (#13087)
  • Chore(deps): Bump pdfjs-dist from 5.7.284 to 6.0.227 in /src-ui @dependabot[bot] (#13080)
  • Chore(deps-dev): Bump @playwright/test from 1.60.0 to 1.61.1 in /src-ui @dependabot[bot] (#13078)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @dependabot[bot] (#13076)
  • Chore(deps): Bump uuid from 14.0.0 to 14.0.1 in /src-ui @dependabot[bot] (#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 @dependabot[bot] (#13075)
  • Chore(deps-dev): Bump @types/node from 25.9.1 to 26.0.0 in /src-ui @dependabot[bot] (#13081)
  • Fix (beta): fix sanity checker affected document counts @NgoQuocViet2001 (#13052)
  • Fix (beta): preserve Unicode in localization prompt @shamoon (#13055)
  • Fix: change tantivy token limit to title field max length @shamoon (#13046)
  • Fix: include last-modified in doc etag @shamoon (#13044)
  • Fix (beta): Stream chunks during compaction to prevent oom on smaller installs @stumpylog (#13014)
  • Fixhancement (beta): truncate embedding queries for small chunk size @shamoon (#13028)
  • Enhancement (beta): support LLM timeout config @shamoon (#13002)
  • Fix(beta): Workaround a Tantivy panic in more like this searching @stumpylog (#13026)
  • Chore (beta): set tool_required to openai-like llm calls @shamoon (#13025)
  • Enhancement: ignore diacritics, support multiple substring matching for UI filtering @shamoon (#13021)
  • Fix (beta): Catch consumer files created during watcher re-creations @stumpylog (#13013)
  • Chore(deps): Bump the npm_and_yarn group across 1 directory with 3 updates @dependabot[bot] (#13016)
  • Fix (beta): restore v2 (Whoosh) advanced-search query compatibility @stumpylog (#13010)
  • Fix (beta): retry celery ping and report warning on no response @shamoon (#13012)
  • Enhancement(beta): replace LanceDB vector store with sqlite-vec @stumpylog (#12990)
  • Chore(deps): Bump the uv group across 1 directory with 2 updates @dependabot[bot] (#12995)
  • Chore(deps): Bump the utilities-patch group across 1 directory with 4 updates @dependabot[bot] (#12931)
  • Fix (beta): don't send chat message on Enter while composing with IME (CJK) @mzyy94 (#12999)
  • Fix: Apply unicode normalization to all paths and path components @stumpylog (#12993)
  • Fix: Handle the UTF 16 and BOM text files better @stumpylog (#12994)
  • Fix (beta): avoid DRF update calling save on all fields @shamoon (#12992)
  • Fix: release pooled DB connection during AI LLM/embedding calls @stumpylog (#12983)
  • Fix: health-check pooled DB connections and close the pool on worker shutdown @stumpylog (#12977)
  • Fix: wrap long titles in delete confirm dialog @shamoon (#12973)
  • Fix (beta): fix re-ordering in merge dialog @shamoon (#12967)
  • Fix (beta): move task filtering to backend fully @shamoon (#12956)
  • Chore(deps-dev): Bump types-markdown from 3.10.2.20260211 to 3.10.2.20260518 @dependabot[bot] (#12927)
  • Chore(deps): Bump aiohttp from 3.13.4 to 3.14.0 in the uv group across 1 directory @dependabot[bot] (#12930)
  • Fix (beta): avoid unnecessary creating new PDF with pw removal workflow @shamoon (#12948)
  • Enhancement (beta): Switch the AI vector store to LanceDB @stumpylog (#12944)
  • Fixhancement (beta): tasks dismiss all @shamoon (#12949)
  • Fix (beta): correct chat message bg color @shamoon (#12955)
  • Fix (beta): respect disable state for suggest endpoint, require change perms @shamoon (#12942)
  • Fix: Ensure checksum comparision is using SHA256 @stumpylog (#12939)
  • Fix: Restrict the AI backend at settings configure time @stumpylog (#12903)
  • Enhancement (beta): add direct LLM language setting @shamoon (#12906)
  • Chore(deps-dev): Bump @playwright/test from 1.59.1 to 1.60.0 in /src-ui @dependabot[bot] (#12919)
  • Fix (beta): correctly apply i18n in suggestions dropdown @shamoon (#12905)
  • Chore(deps-dev): Bump @types/node from 25.6.0 to 25.9.1 in /src-ui @dependabot[bot] (#12915)
  • Chore(deps): Bump pdfjs-dist from 5.6.205 to 5.7.284 in /src-ui @dependabot[bot] (#12918)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @dependabot[bot] (#12913)
  • Chore(deps-dev): Bump webpack from 5.106.2 to 5.107.2 in /src-ui @dependabot[bot] (#12917)
  • Chore(deps): Bump zone.js from 0.16.1 to 0.16.2 in /src-ui @dependabot[bot] (#12916)
  • Chore(deps-dev): Bump the frontend-jest-dependencies group across 1 directory with 3 updates @dependabot[bot] (#12908)
  • Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 20 updates @dependabot[bot] (#12907)
  • Fix: Lock AI index during reading and don't index documents many times during a bulk update @stumpylog (#12899)
  • Fix: Minor fixes for the AI indexing @stumpylog (#12893)
  • Fix (beta): dont use tool calling with ollama @shamoon (#12896)
  • Enhancement: try to respect language for AI suggestions @shamoon (#12894)
  • Enhancement: AI LLM chunk size and context window config @shamoon (#12891)
  • Fix: Improvements for security around the AI @stumpylog (#12895)
  • Fix: correctly show timestamp tooltip on history item @nathanaelhoun (#12879)
  • Fix: Fold query and autocomplete terms with Tantivy's ascii_fold so special letters match @stumpylog (#12868)
  • Fix: Don't store autocomplete_word, only index it @stumpylog (#12867)
  • Fix: Preserve Whoosh date range swapping in Tantviy @stumpylog (#12866)
  • Fix: Always release search index writer @stumpylog (#12865)
  • Fix: Handle CJK title, content and metadata searching @stumpylog (#12862)
  • Fix: Restrict date query rewrites to date or datetime fields only @stumpylog (#12864)
  • Fix: Missing call to tanvity wait_merging_threads @stumpylog (#12863)
  • Fix: Handle tanvity index lock contention @stumpylog (#12856)
  • Fix (beta): better catch chat errors @shamoon (#12854)
  • Performance (beta): dont re-build vector index with each chat @shamoon (#12847)
  • Security (beta): fixes for v3 beta @shamoon (#12838)
  • Fix (beta): normalize long punctuation chunks to improve embedding @shamoon (#12848)
  • Fix: use chord.on_error before apply_async @shamoon (#12842)
  • Fix: Don't use smaller integer fields for some workflow fields @stumpylog (#12834)
  • Fix: Password removal source file location @stumpylog (#12830)
  • Fix (beta): use correct html button type for custom field buttons @shamoon (#12819)
  • Fix: Defer password removal workflow action until the file is in place @stumpylog (#12814)
  • Fix: Allow setting allauth rate limit configuration settings @stumpylog (#12798)
  • Fix: Don't embed the metadata which is already embedded into the context @stumpylog (#12795)
  • Fix: Sanitize dash or plus from the text search path @stumpylog (#12789)
  • Fix: improve new tasks ui layout across screen sizes @shamoon (#12784)
  • Fix: Update parser contract to require empty strings, not None @shamoon (#12775)
  • Chore: Further dependency security updates @stumpylog (#12780)
  • Fix: Use a persistent, writeable location for hugging face models @stumpylog (#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 @dependabot[bot] (#12767)
  • Enhancement: support ollama embeddings @shamoon (#12753)
  • Fix: create LLM_INDEX_DIR before writing meta.json on first run @pReya (#12759)
  • Chore(deps): Bump @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 @dependabot[bot] (#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 @dependabot[bot] (#12763)
  • Tweakhancment: Include the last applied 'documents' migration in the log @stumpylog (#12757)
  • Fix: use response synthesizer for RAG doc chat @shamoon (#12751)
  • Fix: only update modified field in notes actions @shamoon (#12750)
  • Enhancement: version-aware thumbnail etag @shamoon (#12754)
  • Documentation: Update v3 migration docs @shamoon (#12752)
  • Fix: Handle dash or plus operators in search queries @stumpylog (#12734)
  • Fixes trash preview when a document has deleted versions @stumpylog (#12742)
  • Fix: exclude versions from stats count @shamoon (#12738)
  • Fixes celery chords by using Redis as our result backend @stumpylog (#12741)
  • Fix: bump version.py to 3.0.0 also @shamoon (#12736)
  • Chore: Targeted dependency upgrades @stumpylog (#12731)
  • Fixes Whoosh year only queries to be rewritten to Tantivy date syntax @stumpylog (#12725)
  • Fix: pass allow parallel tool calls in LLM client @shamoon (#12718)
  • Fix: Handle passwords for removal action as lists @stumpylog (#12716)
  • Bumps all our versions to 3.0.0 @stumpylog (#12715)
  • Feature: Further reduce document importer memory usage @stumpylog (#12707)
  • Chore(deps-dev): Bump @playwright/test from 1.59.0 to 1.59.1 in /src-ui @dependabot[bot] (#12692)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @dependabot[bot] (#12689)
  • Chore(deps-dev): Bump @codecov/webpack-plugin from 1.9.1 to 2.0.1 in /src-ui @dependabot[bot] (#12691)
  • Chore(deps-dev): Bump the frontend-jest-dependencies group across 1 directory with 2 updates @dependabot[bot] (#12685)
  • Chore(deps-dev): Bump @types/node from 25.5.0 to 25.6.0 in /src-ui @dependabot[bot] (#12690)
  • Chore(deps-dev): Bump webpack from 5.105.3 to 5.106.2 in /src-ui @dependabot[bot] (#12693)
  • Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 15 updates @dependabot[bot] (#12684)
  • Tweakhancement: use fixed position instead of display none for printing @shamoon (#12706)
  • Fix: avoid unnecessary close_old_connections in Celery task dispatch @stumpylog (#12701)
  • Chore(deps): Bump the utilities-patch group across 1 directory with 7 updates @dependabot[bot] (#12702)
  • Chore(deps): Bump the utilities-minor group across 1 directory with 9 updates @dependabot[bot] (#12696)
  • Chore(deps): Bump ocrmypdf from 17.4.0 to 17.4.2 in the document-processing group across 1 directory @dependabot[bot] (#12687)
  • Chore(deps-dev): Bump the development group with 2 updates @dependabot[bot] (#12683)
  • Enhancement: Paperless-ngx v3 Logo @shamoon (#12673)
  • Tweakhancement: localize some more task result messages @shamoon (#12672)
  • Enhancement: chat message document links @shamoon (#12670)
  • Fix: apply tag changes directly to document in db @shamoon (#12664)
  • Tweakhancement: make upload notification open an anchor link @shamoon (#12659)
  • Tweakhancement: tweak tasks UI, make open doc an anchor @shamoon (#12658)
  • Fix: Use FileResponse for file API responses @stumpylog (#12638)
  • Chore: Paginate the task listing @stumpylog (#12633)
  • Enhancement: show small task summary in system status @shamoon (#12634)
  • Security: Don't allow the example secret key as a secret key @stumpylog (#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 @dependabot[bot] (#12627)
  • Enhancement: new Tasks UI @shamoon (#12614)
  • Feature: Allow monitoring access to tasks summary @stumpylog (#12624)
  • Chore(deps): Bump lxml from 6.0.2 to 6.1.0 in the uv group across 1 directory @dependabot[bot] (#12619)
  • Performance: Increases workflow related M2M prefetching @stumpylog (#12618)
  • Tweak: remove stale index warning @shamoon (#12616)
  • Fixhancement: Exact custom field monetary exact searching @stumpylog (#12592)
  • Performance: Resolves another N+1 query related to custom fields @stumpylog (#12617)
  • Enhancement: add highlighting to title + content searches @shamoon (#12593)
  • Feature: Redesign the task system @stumpylog (#12584)
  • Fix: relative added date check visibility @shamoon (#12600)
  • Fix: prevent intermediate change event when CustomFieldQueryAtom operator changes type @ggouzi (#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 @dependabot[bot] (#12585)
  • Feature: Tune SQLite default settings for increased speed @stumpylog (#12580)
  • Feature: Document fuzzy match improvements @stumpylog (#12579)
  • Fix: reject invalid requests to API notes endpoint @ggouzi (#12582)
  • [BREAKING] Remove the positional arguments from the pre/post consume scripts @stumpylog (#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 @dependabot[bot] (#12575)
  • Chore(deps): Bump pillow from 12.1.1 to 12.2.0 in the uv group across 1 directory @dependabot[bot] (#12574)
  • Chore(deps-dev): Bump pytest from 9.0.2 to 9.0.3 in the uv group across 1 directory @dependabot[bot] (#12568)
  • Enhancement: validate and sanitize uploaded logos @shamoon (#12551)
  • Chore(deps): Bump the utilities-minor group across 1 directory with 19 updates @dependabot[bot] (#12540)
  • Chore(deps): Bump cryptography from 46.0.6 to 46.0.7 in the uv group across 1 directory @dependabot[bot] (#12546)
  • Chore(deps-dev): Bump types-python-dateutil from 2.9.0.20260305 to 2.9.0.20260323 @dependabot[bot] (#12542)
  • Chore(deps-dev): Bump types-pytz from 2025.2.0.20251108 to 2026.1.1.20260304 @dependabot[bot] (#12541)
  • Chore(deps): Bump django-guardian from 3.3.0 to 3.3.1 in the utilities-patch group across 1 directory @dependabot[bot] (#12539)
  • Chore(deps-dev): Bump zensical from 0.0.29 to 0.0.31 in the development group across 1 directory @dependabot[bot] (#12532)
  • Chore(deps): Bump pdfjs-dist from 5.4.624 to 5.6.205 in /src-ui @dependabot[bot] (#12536)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 3 updates @dependabot[bot] (#12535)
  • Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 5 updates @dependabot[bot] (#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 @dependabot[bot] (#12534)
  • Chore(deps-dev): Bump @playwright/test from 1.58.2 to 1.59.0 in /src-ui @dependabot[bot] (#12537)
  • Enhancement: add view_global_statistics and view_system_status permissions @shamoon (#12530)
  • Chore(deps): Bump the npm_and_yarn group across 1 directory with 2 updates @dependabot[bot] (#12531)
  • [BREAKING] Decouple OCR control from archive file control @stumpylog (#12448)
  • Fixhancement: include sharelinks + bundles in export/import @shamoon (#12479)
  • Chore: Better typed status manager messages @stumpylog (#12509)
  • Enhancement: unify text search to use tantivy @shamoon (#12485)
  • Feature: Consumer logging correlation @stumpylog (#12510)
  • Chore(deps): Bump djangorestframework from 3.16.1 to 3.17.1 in the django-ecosystem group across 1 directory @dependabot[bot] (#12488)
  • Chore(deps): Bump the document-processing group across 1 directory with 3 updates @dependabot[bot] (#12489)
  • Chore(deps): Bump the utilities-patch group across 1 directory with 5 updates @dependabot[bot] (#12499)
  • Security: Sign the Celery pickled tasks @stumpylog (#12504)
  • Security enhancement: allow opt-in blocking internal mail hosts @shamoon (#12502)
  • Feature: Replace Whoosh with tantivy search backend @stumpylog (#12471)
  • Chore(deps): Bump aiohttp from 3.13.3 to 3.13.4 in the uv group across 1 directory @dependabot[bot] (#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 @dependabot[bot] (#12498)
  • Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 20 updates @dependabot[bot] (#12491)
  • Chore(deps-dev): Bump @types/node from 25.4.0 to 25.5.0 in /src-ui @dependabot[bot] (#12494)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @dependabot[bot] (#12493)
  • Performance: support bulk edit without id lists @shamoon (#12355)
  • Performance: deprecate and remove usage of all in API results @shamoon (#12309)
  • Performance: support passing selection data with filtered document requests @shamoon (#12300)
  • Chore(deps): Bump cryptography from 46.0.5 to 46.0.6 in the uv group across 1 directory @dependabot[bot] (#12458)
  • Tweakhancement: show file extension in StoragePath test @shamoon (#12452)
  • Feature: Transition all checksums to use SHA256 @stumpylog (#12432)
  • Chore(deps): Bump requests from 2.32.5 to 2.33.0 in the uv group across 1 directory @dependabot[bot] (#12441)
  • Enhancement: auto-hide the search bar on mobile @shamoon (#12404)
  • Chore: logger, response and template sanitization cleanup @shamoon (#12439)
  • Fix: Respect workflow change_groups during consumption @stumpylog (#12431)
  • Security: prevent prototype pollution in frontend settings and list view @shamoon (#12438)
  • Chore(deps): Bump cbor2 from 5.8.0 to 5.9.0 in the uv group across 1 directory @dependabot[bot] (#12424)
  • Chore(deps): Bump tinytag from 2.2.0 to 2.2.1 in the uv group across 1 directory @dependabot[bot] (#12396)
  • Chore(deps): Bump ujson from 5.11.0 to 5.12.0 @dependabot[bot] (#12387)
  • Chore(deps): Bump pyasn1 from 0.6.2 to 0.6.3 @dependabot[bot] (#12370)
  • Chore(deps): Bump the utilities-patch group across 1 directory with 2 updates @dependabot[bot] (#12382)
  • Chore(deps): Bump openai from 2.24.0 to 2.26.0 in the utilities-minor group @dependabot[bot] (#12379)
  • Chore(deps-dev): Bump types-python-dateutil from 2.9.0.20260124 to 2.9.0.20260305 @dependabot[bot] (#12380)
  • Chore(deps): Update django-allauth[mfa,socialaccount] requirement from ~=65.14.0 to ~=65.15.0 @dependabot[bot] (#12381)
  • Chore(deps-dev): Bump the frontend-jest-dependencies group in /src-ui with 2 updates @dependabot[bot] (#12374)
  • Chore(deps): Bump @ng-select/ng-select from 21.4.1 to 21.5.2 in /src-ui in the frontend-angular-dependencies group @dependabot[bot] (#12373)
  • Chore(deps-dev): Bump @types/node from 25.3.3 to 25.4.0 in /src-ui @dependabot[bot] (#12376)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @dependabot[bot] (#12375)
  • Chore: Reduce system status test times @stumpylog (#12354)
  • Chore(deps): Bump pyopenssl from 25.3.0 to 26.0.0 @dependabot[bot] (#12363)
  • Chore(deps): Bump pyjwt from 2.10.1 to 2.12.0 @dependabot[bot] (#12335)
  • Change: sort custom fields alphabetically by default @shamoon (#12358)
  • Feature: Add progress information to the classifier training for a better ux @stumpylog (#12331)
  • Chore: bump Angular dependencies to 21.2.x @shamoon (#12338)
  • Bump ocrmypdf from 16.13.0 to 17.3.0 in the document-processing group @dependabot[bot] (#12267)
  • Feature: document parser plugin framework @stumpylog (#12294)
  • Chore(deps): Bump tornado from 6.5.4 to 6.5.5 @dependabot[bot] (#12327)
  • Enhancement: Make the StatusConsumer truly async @stumpylog (#12298)
  • Chore(deps): Bump the utilities-minor group across 1 directory with 5 updates @dependabot[bot] (#12324)
  • Chore: mark document detail email action as deprecated @shamoon (#12308)
  • Chore: separate actions from bulk edit endpoint @shamoon (#12286)
  • [BREAKING] Chore: drop support for api versions < 9 @shamoon (#12284)
  • Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @dependabot[bot] (#12291)
  • Performance: Stream JSON during import for memory improvements @stumpylog (#12276)
  • Feature: Migrate import/export to rich progress @stumpylog (#12260)
  • Enhancement: Show more document details in merge dialog @svenstaro (#12271)
  • Performance: Further export memory improvements @stumpylog (#12273)
  • Chore: pytest style paperless tests @stumpylog (#12254)
  • Chore: update ESLint to v10 @shamoon (#12256)
  • Bump django-allauth from 65.14.0 to 65.14.1 @dependabot[bot] (#12253)
  • Bump django from 5.2.11 to 5.2.12 @dependabot[bot] (#12249)
  • [BREAKING] Chore: Drop support for Python 3.10 @stumpylog (#12234)
  • Performance: Improve exporter memory efficiency @stumpylog (#12236)
  • Enhancement: saved view sharing @shamoon (#12142)
  • Fix: use maxsplit=1 in Redis URL parsing to handle URLs with multiple colons @cryptomilk (#12239)
  • Enhancement: “live” document updates @shamoon (#12141)
  • Enhancement: Improve the retagger output using rich @stumpylog (#12194)
  • Enhancement: Transition sanity check to rich and improve output @stumpylog (#12182)
  • Enhancement: Switch all indexing to use rich @stumpylog (#12193)
  • Chore(deps): Bump whitenoise from 6.11.0 to 6.12.0 in the django-ecosystem group @dependabot[bot] (#12192)
  • Fixhancement: show sequential + id version labels, fix padding @shamoon (#12196)
  • [BREAKING] Chore: Refactor advanced database settings to allow more user configuration @stumpylog (#12165)
  • Chore(deps): Bump the utilities-patch group across 1 directory with 11 updates @dependabot[bot] (#12179)
  • Feature: Switch progress bar library to rich @stumpylog (#12169)
  • Chore(deps): Bump nltk from 3.9.2 to 3.9.3 @dependabot[bot] (#12177)
  • Enhancment: Formatted filename for single document downloads @JanKleine (#12095)
  • Chore(deps): Bump the utilities-minor group across 1 directory with 7 updates @dependabot[bot] (#12174)
  • Feature: document file versions @shamoon (#12061)
  • [BREAKING] Remove API v1 compatability @stumpylog (#12166)
  • Enhancement: prevent duplicate mail processing across rules @shamoon (#12159)
  • Feature: move to trash action for workflows @JanKleine (#11176)
  • Tweakhancement: reset to page 1 on reset filters @shamoon (#12143)
  • Fix: correct user dropdown button icon styling @shamoon (#12092)
  • Enhancement: consolidate management lists into document attributes section @shamoon (#12045)
  • Enhancement: option to stop processing further mail rules @shamoon (#12053)
  • [BREAKING] Remove pybzar as a barcode reader @stumpylog (#12065)
  • Chore(deps): Bump pillow from 12.1.0 to 12.1.1 @dependabot[bot] (#12064)
  • Chore(deps): Bump cryptography from 46.0.3 to 46.0.5 @dependabot[bot] (#12060)
  • Chore: Optimizes the integer fields for choice types @stumpylog (#12057)
  • Chore(deps): Bump the utilities-patch group across 1 directory with 3 updates @dependabot[bot] (#12051)
  • Tweak: improve 2-digit year parsing @shamoon (#12044)
  • Enhancement: pngx pdf viewer @shamoon (#12043)
  • Fix: Handle an OOM kill of celery workers in the task handler @stumpylog (#12040)
  • Chore(deps-dev): Bump @playwright/test from 1.58.1 to 1.58.2 in /src-ui @dependabot[bot] (#12032)
  • Chore(deps): Bump the utilities-minor group across 1 directory with 2 updates @dependabot[bot] (#12020)
  • Fixhancement: improve ASN handling with PDF operations @shamoon (#11689)
  • Upgrade: Bump @types/node from 25.2.0 to 25.2.1 in /src-ui @dependabot[bot] (#12008)
  • Upgrade: Bump webpack from 5.103.0 to 5.105.0 in /src-ui @dependabot[bot] (#12007)
  • Chore: bump Angular to 21.1.3, ngx-ui-tour-ng-bootstrap to v18 @shamoon (#12015)
  • Chore: Switches to use prek in place of pre-commit @stumpylog (#12002)
  • Chore(deps): Bump the utilities-patch group with 3 updates @dependabot[bot] (#11981)
  • Chore(deps): Bump the utilities-minor group across 1 directory with 6 updates @dependabot[bot] (#11993)
  • Chore(deps): Bump drf-spectacular-sidecar from 2025.10.1 to 2026.1.1 @dependabot[bot] (#11985)
  • Chore(deps): Update django-allauth[mfa,socialaccount] requirement from ~=65.13.1 to ~=65.14.0 @dependabot[bot] (#11984)
  • Chore(deps): Update granian[uvloop] requirement from ~=2.6.0 to ~=2.7.0 @dependabot[bot] (#11983)
  • Chore(deps): Bump django from 5.2.10 to 5.2.11 @dependabot[bot] (#11988)
  • Feature: Enable users to customize date parsing via plugins @stumpylog (#11931)
  • Chore: Fix further test flakiness @stumpylog (#11987)
  • Feature: password removal workflow action @shamoon (#11665)
  • Fix: re-run ASN check after barcode detection @shamoon (#11681)
  • Fix: prevent infinite loading crash in mail component @shamoon (#11978)
  • Enhancement: per-type object page sizing @shamoon (#11977)
  • Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 22 updates @dependabot[bot] (#11968)
  • Chore(deps): Bump zone.js from 0.15.1 to 0.16.0 in /src-ui @dependabot[bot] (#11970)
  • Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @dependabot[bot] (#11969)
  • Chore(deps-dev): Bump @types/node from 24.10.1 to 25.2.0 in /src-ui @dependabot[bot] (#11972)
  • Chore(deps-dev): Bump @playwright/test from 1.57.0 to 1.58.1 in /src-ui @dependabot[bot] (#11971)
  • Enhancement: improve filter drop-down performance with virtual scrolling @shamoon (#11973)
  • Tweakhancement: tweak bulk delete text @shamoon (#11967)
  • Feature: support split documents based on tag barcodes @schober-ch (#11645)
  • Chore: Bulk backend updates @stumpylog (#11543)
  • Tweak: increase minimum screen width before inserting padding @JanKleine (#11926)
  • Enhancement: Add setting for default PDF Editor mode @JanKleine (#11927)
  • Fixhancement: auto-queue llm index if needed @shamoon (#11891)
  • Feature: sharelink bundles @shamoon (#11682)
  • Enhancement: user control of doc details fields @shamoon (#11906)
  • Enhancement: improve relative dates in date filter @JanKleine (#11899)
  • Performance: faster statistics panel on dashboard @Merinorus (#11760)
  • Enhancement: allow duplicates with warnings, UI for discovery @shamoon (#11815)
  • Enhancement: configurable SSO groups claim @Gabgobie (#11841)
  • Enhancement: support select all for management lists @shamoon (#11889)
  • Tweakhancement: display document id, with copy @shamoon (#11896)
  • Enhancement: Add support for app oidc @paulgessinger (#11756)
  • Enhancement: Add 'any of' workflow trigger filters @shamoon (#11683)
  • [BREAKING] Remove support for document and thumbnail encryption @stumpylog (#11850)
  • Fix: ensure css color-scheme for dark mode @shamoon (#11855)
  • Enhancement: support doc_id placeholder in workflow templates @shamoon (#11847)
  • [BREAKING] Feature: Simplify and improve the consumer @stumpylog (#11753)
  • Fix: fix tag list horizontal scroll, again @shamoon (#11839)
  • Fix: ensure horizontal scroll for long tag names in list, wrap tags without parent @shamoon (#11811)
  • Chore(deps): Bump the utilities-patch group across 1 directory with 7 updates @dependabot[bot] (#11793)
  • Chore(deps): Bump the utilities-minor group across 1 directory with 10 updates @dependabot[bot] (#11799)
  • Chore(deps): Bump pyasn1 from 0.6.1 to 0.6.2 @dependabot[bot] (#11801)
  • Chore(deps): Bump torch from 2.7.1 to 2.8.0 @dependabot[bot] (#11800)
  • Chore(deps): Bump brotli from 1.1.0 to 1.2.0 @dependabot[bot] (#11796)
  • Chore(deps): Bump transformers from 4.51.3 to 4.53.0 @dependabot[bot] (#11797)
  • Chore(deps): Bump django from 5.2.7 to 5.2.9 @dependabot[bot] (#11794)
  • Chore(deps): Bump the llama-index group @dependabot[bot] (#11798)
  • Chore(deps): Bump marshmallow from 3.26.1 to 3.26.2 @dependabot[bot] (#11790)
  • Chore(deps): Bump uv from 0.9.3 to 0.9.6 @dependabot[bot] (#11795)
  • Chore(deps): Bump aiohttp from 3.11.18 to 3.13.3 @dependabot[bot] (#11789)
  • Chore(deps): Bump urllib3 from 2.5.0 to 2.6.3 @dependabot[bot] (#11792)
  • Chore(deps): Bump virtualenv from 20.34.0 to 20.36.1 @dependabot[bot] (#11774)
  • Fix: use explicit order field for workflow actions @shamoon (#11781)
  • Chore(deps): Bump azure-core from 1.33.0 to 1.38.0 @dependabot[bot] (#11776)
  • Feature: Paperless AI @shamoon (#10319)
  • Performance: improve treenode inefficiencies @shamoon (#11606)
  • Chore: upgrade to node v24 @shamoon (#11747)
  • Chore: upgrade to Angular v21 @shamoon (#11746)
  • Feature: Remote OCR (Azure AI) @shamoon (#10320)
  • Feature: password removal action @shamoon (#11656)
  • Fix: fix recurring workflow to respect latest run time @shamoon (#11735)
  • Fixhancement: add error handling and retry when opening index @shamoon (#11731)
  • Tweakhancement: use anchor element for management list quick filter buttons @shamoon (#11692)
  • Fix: validate cf integer values within PostgreSQL range @shamoon (#11666)
  • Fix: support ordering by storage path name @shamoon ([#116
View original

Upgraded? How did it go?

Discussion