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