tag:github.com,2008:https://github.com/paperless-ngx/paperless-ngx/releases Release notes from paperless-ngx 2026-09-20T21:32:48Z tag:github.com,2008:Repository/458648791/v3.2.1 2026-09-20T21:57:40Z Paperless-ngx v3.2.1 <h2>paperless-ngx 3.2.1</h2> <h3>Bug Fixes</h3> <ul> <li>Fix: only pass --conf to flower when flowerconfig.py exists <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bitfoo1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bitfoo1">@bitfoo1</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14182" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14182/hovercard">#14182</a>)</li> <li>Fix: replace stale mail-fetch overlap check with a self-expiring lock <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14189" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14189/hovercard">#14189</a>)</li> <li>Fix: bump ocrmypdf to 17.12 to pick up the ligature text-layer fix <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14190" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14190/hovercard">#14190</a>)</li> <li>Fix: rebuild the search index automatically when it is missing Tantivy files <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14180" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14180/hovercard">#14180</a>)</li> </ul> <h3>Dependencies</h3> <ul> <li>Chore(deps): Bump anyio from 4.12.1 to 4.14.2 in the uv group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14175" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14175/hovercard">#14175</a>)</li> </ul> <h3>All App Changes</h3> <details> <summary>4 changes</summary> <ul> <li>Chore(deps): Bump anyio from 4.12.1 to 4.14.2 in the uv group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14175" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14175/hovercard">#14175</a>)</li> <li>Fix: replace stale mail-fetch overlap check with a self-expiring lock <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14189" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14189/hovercard">#14189</a>)</li> <li>Fix: bump ocrmypdf to 17.12 to pick up the ligature text-layer fix <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14190" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14190/hovercard">#14190</a>)</li> <li>Fix: rebuild the search index automatically when it is missing Tantivy files <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14180" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14180/hovercard">#14180</a>)</li> </ul> </details> github-actions[bot] tag:github.com,2008:Repository/458648791/v3.2.0 2026-09-19T03:05:49Z Paperless-ngx v3.2.0 <h2>paperless-ngx 3.2.0</h2> <h3>Features / Enhancements</h3> <ul> <li>Enhancement (QoL): support deselecting single items from "select all" <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14117" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14117/hovercard">#14117</a>)</li> <li>Enhancement: Match fuzzy terms in place inside the parsed query <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14157" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14157/hovercard">#14157</a>)</li> <li>Enhancement: Match CJK terms through their bigram fields in place <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14156" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14156/hovercard">#14156</a>)</li> <li>Enhancement: centralized management of share links + bundles <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14115" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14115/hovercard">#14115</a>)</li> <li>Enhancement: parse advanced search with whoosh-compat and delete the handwritten translation <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14072" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14072/hovercard">#14072</a>)</li> <li>Enhancement: allow regex timeout configuration <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14085" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14085/hovercard">#14085</a>)</li> <li>Enhancement: hide-able sidebar items <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14052" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14052/hovercard">#14052</a>)</li> <li>Enhancement: Improve matching for correspondents, storage path and labels by removing bias + adding minimum match threshold <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dewey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dewey">@dewey</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/12164" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/12164/hovercard">#12164</a>)</li> <li>Enhancement: add Tantivy full-text fallback adapter for taxonomy candidates <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13820" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13820/hovercard">#13820</a>)</li> <li>Enhancement (QoL): surface externally-set options in Config UI <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13989" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13989/hovercard">#13989</a>)</li> <li>Enhancement: allow disabling auto-suggestions for inbox documents <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13946" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13946/hovercard">#13946</a>)</li> <li>Change: skip documents with empty content in apply AI suggestions WF <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13985" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13985/hovercard">#13985</a>)</li> <li>Enhancement: duplicates filter <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13994" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13994/hovercard">#13994</a>)</li> <li>Tweak: note that apply AI suggestions runs async in WF editor <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14004" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14004/hovercard">#14004</a>)</li> <li>Enhancement (QoL): attempt to localize firstDayOfWeek for date picker <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13999" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13999/hovercard">#13999</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Fix: don't redirect to signup on first install when regular login is disabled <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cyberb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cyberb">@cyberb</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14165" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14165/hovercard">#14165</a>)</li> <li>Fix: better catch email workflow placeholder parsing errors <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14129" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14129/hovercard">#14129</a>)</li> <li>Fix: validate legacy bulk edit owner, rotate and split parameters <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14120" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14120/hovercard">#14120</a>)</li> <li>Fix: validate set_permissions with a nested serializer <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14119" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14119/hovercard">#14119</a>)</li> <li>Fix: Use prefetching to reduce query counts during classifier training <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14122" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14122/hovercard">#14122</a>)</li> <li>Fix: reject non-dict user_args/barcode_tag_mapping in config API <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14118" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14118/hovercard">#14118</a>)</li> <li>Fix: type edit_pdf operations via a nested serializer <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14116" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14116/hovercard">#14116</a>)</li> <li>Fix: ensure django setup is run for management comments under 3.14 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14100" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14100/hovercard">#14100</a>)</li> <li>Fix: validate PDF output doc indexes in bulk edit <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14083" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14083/hovercard">#14083</a>)</li> <li>Fix: avoid IntegrityError when a retried task republishes with the same ID <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14096" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14096/hovercard">#14096</a>)</li> <li>Fix: update some api global perms inconsistencies <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14086" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14086/hovercard">#14086</a>)</li> <li>Fix: ignore nested action IDs on WF create <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14084" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14084/hovercard">#14084</a>)</li> <li>Fix: correct text/stream compression workaround <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14064" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14064/hovercard">#14064</a>)</li> <li>Fix: ui version content switching inconsistencies <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14066" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14066/hovercard">#14066</a>)</li> <li>Fix: prevent saving changes to stale cached document object <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14065" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14065/hovercard">#14065</a>)</li> <li>Fix: ensure remove inbox tag children on remove_inbox_tags <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14050" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14050/hovercard">#14050</a>)</li> <li>Fix: connect add_to_index handler after document_added <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14058" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14058/hovercard">#14058</a>)</li> <li>Fix: Drop empty files from tracking after the stability window has passed <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14047" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14047/hovercard">#14047</a>)</li> <li>Fixhancement: better LLM errors <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14031" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14031/hovercard">#14031</a>)</li> <li>Fix: prevent orphaned versions from bulk delete <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14030" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14030/hovercard">#14030</a>)</li> <li>Fixhancement: prevent overlapping mail-account processing runs <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14046" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14046/hovercard">#14046</a>)</li> <li>Fix: Use PAPERLESS_REDIS_PREFIX for Celery result backend keys <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bdd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bdd">@bdd</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14015" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14015/hovercard">#14015</a>)</li> <li>Fix: correct setting ai_enabled to false via UI <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13987" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13987/hovercard">#13987</a>)</li> <li>Fix: catch some frontend failed object retrievals <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14023" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14023/hovercard">#14023</a>)</li> <li>Fix: more v3 icons cleanup <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14017" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14017/hovercard">#14017</a>)</li> <li>Fix: correct add version actor parity <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14016" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14016/hovercard">#14016</a>)</li> <li>Fix: fix v3 favicon file <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14014" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14014/hovercard">#14014</a>)</li> <li>Fix: change share link bundle dialog button to close after create, don't toast on copied <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14002" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14002/hovercard">#14002</a>)</li> <li>Fix: truncate mail subjects to field max length <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13991" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13991/hovercard">#13991</a>)</li> <li>Fix: enforce the overflow hidden rule on pdf editor thumbnails <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13976" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13976/hovercard">#13976</a>)</li> <li>Fix: also correct unbroken long names on small cards <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13974" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13974/hovercard">#13974</a>)</li> <li>Fix: ensure parent + child tags change together in bulk editor <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13972" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13972/hovercard">#13972</a>)</li> </ul> <h3>Dependencies</h3> <details> <summary>29 changes</summary> <ul> <li>Chore(deps): Bump the utilities-patch group across 1 directory with 15 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14167" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14167/hovercard">#14167</a>)</li> <li>docker(deps): Bump astral-sh/uv from 0.12.9-python3.14-trixie-slim to 0.12.16-python3.14-trixie-slim @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14134" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14134/hovercard">#14134</a>)</li> <li>Chore(deps): Bump the utilities-minor group across 1 directory with 10 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14149" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14149/hovercard">#14149</a>)</li> <li>Chore(deps): Bump the actions group across 1 directory with 8 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14162" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14162/hovercard">#14162</a>)</li> <li>Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 19 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14141" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14141/hovercard">#14141</a>)</li> <li>docker-compose(deps): bump gotenberg/gotenberg from 8.36 to 8.37 in /docker/compose @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14137" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14137/hovercard">#14137</a>)</li> <li>docker-compose(deps): Bump nginx from 1.31.5-alpine to 1.31.6-alpine in /docker/compose @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14138" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14138/hovercard">#14138</a>)</li> <li>Chore(deps): Bump pdfjs-dist from 6.2.108 to 6.3.289 in /src-ui @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14144" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14144/hovercard">#14144</a>)</li> <li>Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14143" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14143/hovercard">#14143</a>)</li> <li>Chore(deps-dev): Bump @types/node from 26.4.0 to 26.5.0 in /src-ui @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14146" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14146/hovercard">#14146</a>)</li> <li>Chore(deps-dev): Bump the frontend-jest-dependencies group across 1 directory with 2 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14142" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14142/hovercard">#14142</a>)</li> <li>Chore(deps): Bump the utilities-minor group across 1 directory with 11 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13988" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13988/hovercard">#13988</a>)</li> <li>Chore(deps): Bump sentence-transformers from 5.6.1 to 6.0.0 @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13983" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13983/hovercard">#13983</a>)</li> <li>Chore(deps-dev): Bump types-markdown from 3.10.2.20260518 to 3.10.2.20260712 @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13982" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13982/hovercard">#13982</a>)</li> <li>Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13980" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13980/hovercard">#13980</a>)</li> <li>Chore(deps): Update granian[uvloop] requirement from ~=2.7.0 to &gt;=2.7,&lt;2.9 @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13984" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13984/hovercard">#13984</a>)</li> <li>Chore: Updates our direct Redis pin <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13986" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13986/hovercard">#13986</a>)</li> <li>Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13918" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13918/hovercard">#13918</a>)</li> <li>Chore(deps): Bump uuid from 14.0.1 to 14.0.2 in /src-ui @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13921" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13921/hovercard">#13921</a>)</li> <li>Chore(deps-dev): Bump @types/node from 26.2.0 to 26.4.0 in /src-ui @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13919" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13919/hovercard">#13919</a>)</li> <li>Chore: update ng-select to v24, handle breaking changes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13951" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13951/hovercard">#13951</a>)</li> <li>Chore(deps): Bump djangorestframework from 3.17.2 to 3.18.0 in the django-ecosystem group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13912" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13912/hovercard">#13912</a>)</li> <li>Chore(deps): Bump the pre-commit-dependencies group across 1 directory with 3 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13922" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13922/hovercard">#13922</a>)</li> <li>Chore(deps): Bump the document-processing group across 1 directory with 4 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13916" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13916/hovercard">#13916</a>)</li> <li>Chore(deps): Bump flower from 2.0.1 to 2.1.0 in the async-tasks group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13913" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13913/hovercard">#13913</a>)</li> <li>Chore(deps): Bump the actions group across 1 directory with 15 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13920" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13920/hovercard">#13920</a>)</li> <li>docker-compose(deps): Bump gotenberg/gotenberg from 8.34 to 8.36 in /docker/compose @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13910" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13910/hovercard">#13910</a>)</li> <li>Chore(deps-dev): Bump the development group across 1 directory with 2 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13911" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13911/hovercard">#13911</a>)</li> <li>docker(deps): Bump astral-sh/uv from 0.12.5-python3.14-trixie-slim to 0.12.9-python3.14-trixie-slim @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13914" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13914/hovercard">#13914</a>)</li> </ul> </details> <h3>All App Changes</h3> <details> <summary>80 changes</summary> <ul> <li>Chore(deps): Bump the utilities-patch group across 1 directory with 15 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14167" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14167/hovercard">#14167</a>)</li> <li>Fix: don't redirect to signup on first install when regular login is disabled <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cyberb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cyberb">@cyberb</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14165" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14165/hovercard">#14165</a>)</li> <li>Chore(deps): Bump the utilities-minor group across 1 directory with 10 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14149" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14149/hovercard">#14149</a>)</li> <li>Enhancement (QoL): support deselecting single items from "select all" <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14117" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14117/hovercard">#14117</a>)</li> <li>Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 19 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14141" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14141/hovercard">#14141</a>)</li> <li>Enhancement: Match fuzzy terms in place inside the parsed query <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14157" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14157/hovercard">#14157</a>)</li> <li>Enhancement: Match CJK terms through their bigram fields in place <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14156" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14156/hovercard">#14156</a>)</li> <li>Chore(deps): Bump pdfjs-dist from 6.2.108 to 6.3.289 in /src-ui @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14144" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14144/hovercard">#14144</a>)</li> <li>Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14143" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14143/hovercard">#14143</a>)</li> <li>Chore(deps-dev): Bump @types/node from 26.4.0 to 26.5.0 in /src-ui @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14146" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14146/hovercard">#14146</a>)</li> <li>Chore(deps-dev): Bump the frontend-jest-dependencies group across 1 directory with 2 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14142" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14142/hovercard">#14142</a>)</li> <li>Enhancement: centralized management of share links + bundles <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14115" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14115/hovercard">#14115</a>)</li> <li>Performance: Preprocess classifier text with Tantivy instead of NLTK <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14127" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14127/hovercard">#14127</a>)</li> <li>Performance: Drops fields from the classifier before pickling <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14114" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14114/hovercard">#14114</a>)</li> <li>Fix: better catch email workflow placeholder parsing errors <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14129" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14129/hovercard">#14129</a>)</li> <li>Peformance: Improves the memory efficency of classifier training <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14124" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14124/hovercard">#14124</a>)</li> <li>Performance: Streams the classifier pickle file during save as well <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14121" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14121/hovercard">#14121</a>)</li> <li>Fix: validate legacy bulk edit owner, rotate and split parameters <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14120" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14120/hovercard">#14120</a>)</li> <li>Fix: validate set_permissions with a nested serializer <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14119" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14119/hovercard">#14119</a>)</li> <li>Fix: Use prefetching to reduce query counts during classifier training <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14122" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14122/hovercard">#14122</a>)</li> <li>Fix: reject non-dict user_args/barcode_tag_mapping in config API <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14118" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14118/hovercard">#14118</a>)</li> <li>Fix: type edit_pdf operations via a nested serializer <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14116" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14116/hovercard">#14116</a>)</li> <li>Performance: Loads the classifier through a memory view to reduce memory usage <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14113" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14113/hovercard">#14113</a>)</li> <li>Feature: parse advanced search with whoosh-compat and delete the handwritten translation <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14072" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14072/hovercard">#14072</a>)</li> <li>Fix: ensure django setup is run for management comments under 3.14 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14100" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14100/hovercard">#14100</a>)</li> <li>Fix: validate PDF output doc indexes in bulk edit <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14083" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14083/hovercard">#14083</a>)</li> <li>Enhancement: allow regex timeout configuration <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14085" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14085/hovercard">#14085</a>)</li> <li>Fix: avoid IntegrityError when a retried task republishes with the same ID <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14096" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14096/hovercard">#14096</a>)</li> <li>Chore: include Apply AI Suggestions in the tasks UI filter dropdown <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14093" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14093/hovercard">#14093</a>)</li> <li>Fix: update some api global perms inconsistencies <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14086" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14086/hovercard">#14086</a>)</li> <li>Fix: ignore nested action IDs on WF create <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14084" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14084/hovercard">#14084</a>)</li> <li>Fix: correct text/stream compression workaround <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14064" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14064/hovercard">#14064</a>)</li> <li>Fix: ui version content switching inconsistencies <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14066" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14066/hovercard">#14066</a>)</li> <li>Fix: prevent saving changes to stale cached document object <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14065" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14065/hovercard">#14065</a>)</li> <li>Performance: batch permission assignment in bulk <code>set_permissions</code> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13806" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13806/hovercard">#13806</a>)</li> <li>Performance: skip effective_content annotation on document list unless required <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13789" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13789/hovercard">#13789</a>)</li> <li>Fix: ensure remove inbox tag children on remove_inbox_tags <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14050" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14050/hovercard">#14050</a>)</li> <li>Fix: connect add_to_index handler after document_added <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14058" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14058/hovercard">#14058</a>)</li> <li>Enhancement: hide-able sidebar items <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14052" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14052/hovercard">#14052</a>)</li> <li>Performance: cut redundant per-document lookups in bulk <code>modify_custom_fields</code> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13807" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13807/hovercard">#13807</a>)</li> <li>Enhancement: Improve matching for correspondents, storage path and labels by removing bias + adding minimum match threshold <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dewey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dewey">@dewey</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/12164" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/12164/hovercard">#12164</a>)</li> <li>Fix: Drop empty files from tracking after the stability window has passed <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14047" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14047/hovercard">#14047</a>)</li> <li>Fixhancement: better LLM errors <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14031" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14031/hovercard">#14031</a>)</li> <li>Fix: prevent orphaned versions from bulk delete <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14030" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14030/hovercard">#14030</a>)</li> <li>Enhancement: add Tantivy full-text fallback adapter for taxonomy candidates <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13820" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13820/hovercard">#13820</a>)</li> <li>Fixhancement: prevent overlapping mail-account processing runs <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14046" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14046/hovercard">#14046</a>)</li> <li>Performance: ensure version-aware content filters on querysets <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13792" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13792/hovercard">#13792</a>)</li> <li>Performance: skip nested TagSerializer construction when a tag has no children <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14039" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14039/hovercard">#14039</a>)</li> <li>Enhancement (QoL): surface externally-set options in Config UI <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13989" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13989/hovercard">#13989</a>)</li> <li>Enhancement: allow disabling auto-suggestions for inbox documents <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13946" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13946/hovercard">#13946</a>)</li> <li>Change: skip documents with empty content in apply AI suggestions WF <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13985" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13985/hovercard">#13985</a>)</li> <li>Performance: resolve index-write permissions and effective content in bulk <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13869" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13869/hovercard">#13869</a>)</li> <li>Fix: Use PAPERLESS_REDIS_PREFIX for Celery result backend keys <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bdd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bdd">@bdd</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14015" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14015/hovercard">#14015</a>)</li> <li>Enhancement: duplicates filter <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13994" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13994/hovercard">#13994</a>)</li> <li>Fix: correct setting ai_enabled to false via UI <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13987" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13987/hovercard">#13987</a>)</li> <li>Chore(deps): Bump the utilities-minor group across 1 directory with 11 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13988" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13988/hovercard">#13988</a>)</li> <li>Fix: catch some frontend failed object retrievals <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14023" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14023/hovercard">#14023</a>)</li> <li>Fix: more v3 icons cleanup <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14017" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14017/hovercard">#14017</a>)</li> <li>Fix: correct add version actor parity <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14016" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14016/hovercard">#14016</a>)</li> <li>Fix: fix v3 favicon file <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14014" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14014/hovercard">#14014</a>)</li> <li>Tweak: note that apply AI suggestions runs async in WF editor <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14004" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14004/hovercard">#14004</a>)</li> <li>Fix: change share link bundle dialog button to close after create, don't toast on copied <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/14002" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/14002/hovercard">#14002</a>)</li> <li>Enhancement (QoL): attempt to localize firstDayOfWeek for date picker <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13999" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13999/hovercard">#13999</a>)</li> <li>Fix: truncate mail subjects to field max length <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13991" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13991/hovercard">#13991</a>)</li> <li>Chore(deps): Bump sentence-transformers from 5.6.1 to 6.0.0 @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13983" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13983/hovercard">#13983</a>)</li> <li>Chore(deps-dev): Bump types-markdown from 3.10.2.20260518 to 3.10.2.20260712 @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13982" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13982/hovercard">#13982</a>)</li> <li>Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13980" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13980/hovercard">#13980</a>)</li> <li>Chore(deps): Update granian[uvloop] requirement from ~=2.7.0 to &gt;=2.7,&lt;2.9 @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13984" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13984/hovercard">#13984</a>)</li> <li>Chore: Updates our direct Redis pin <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13986" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13986/hovercard">#13986</a>)</li> <li>Fix: enforce the overflow hidden rule on pdf editor thumbnails <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13976" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13976/hovercard">#13976</a>)</li> <li>Fix: also correct unbroken long names on small cards <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13974" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13974/hovercard">#13974</a>)</li> <li>Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13918" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13918/hovercard">#13918</a>)</li> <li>Chore(deps): Bump uuid from 14.0.1 to 14.0.2 in /src-ui @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13921" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13921/hovercard">#13921</a>)</li> <li>Chore(deps-dev): Bump @types/node from 26.2.0 to 26.4.0 in /src-ui @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13919" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13919/hovercard">#13919</a>)</li> <li>Chore: update ng-select to v24, handle breaking changes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13951" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13951/hovercard">#13951</a>)</li> <li>Chore(deps): Bump djangorestframework from 3.17.2 to 3.18.0 in the django-ecosystem group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13912" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13912/hovercard">#13912</a>)</li> <li>Chore(deps): Bump the document-processing group across 1 directory with 4 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13916" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13916/hovercard">#13916</a>)</li> <li>Chore(deps): Bump flower from 2.0.1 to 2.1.0 in the async-tasks group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13913" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13913/hovercard">#13913</a>)</li> <li>Chore(deps-dev): Bump the development group across 1 directory with 2 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13911" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13911/hovercard">#13911</a>)</li> <li>Fix: ensure parent + child tags change together in bulk editor <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13972" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13972/hovercard">#13972</a>)</li> </ul> </details> github-actions[bot] tag:github.com,2008:Repository/458648791/v3.1.3 2026-09-04T03:19:50Z Paperless-ngx v3.1.3 <h2>paperless-ngx 3.1.3</h2> <h3>Bug Fixes</h3> <ul> <li>Fix: use the header loading indicator on tasks page <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13949" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13949/hovercard">#13949</a>)</li> <li>Fix: fix load sidebar size animating <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13947" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13947/hovercard">#13947</a>)</li> <li>Fix: wrap long words without spaces in dropdowns <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13945" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13945/hovercard">#13945</a>)</li> <li>Fix: tweak tool calling localzation prompt <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13943" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13943/hovercard">#13943</a>)</li> <li>Fix: skip vector store document id filter for unrestricted chat users <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13937" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13937/hovercard">#13937</a>)</li> <li>Fix: adopt the request stream when pinning an outbound host <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSteinbach/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSteinbach">@ThomasSteinbach</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13927" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13927/hovercard">#13927</a>)</li> <li>Fix: ensure apply ai suggestions always runs after document created <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13940" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13940/hovercard">#13940</a>)</li> <li>Fix: Handle failures when enqueuing files for consumption <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13935" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13935/hovercard">#13935</a>)</li> <li>Fix: Handle Celery mail task chord errors <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13936" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13936/hovercard">#13936</a>)</li> <li>Fix/chore: refactor some signal-backed conversion technical debt <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13902" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13902/hovercard">#13902</a>)</li> <li>Fix: fix slim sidebar saved view dragging appearance <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13906" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13906/hovercard">#13906</a>)</li> <li>Fix: use signal-backed queries input in CF dropdown to reflect changes immediately under zoneless <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13901" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13901/hovercard">#13901</a>)</li> <li>Fix: use root doc metadata for filename generation <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13893" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13893/hovercard">#13893</a>)</li> <li>Fix: some css cleanup <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13891" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13891/hovercard">#13891</a>)</li> </ul> <h3>Dependencies</h3> <details> <summary>7 changes</summary> <ul> <li>Chore(deps): Bump the uv group across 1 directory with 2 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13958" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13958/hovercard">#13958</a>)</li> <li>docker-compose(deps): bump nginx from 1.31.3-alpine to 1.31.5-alpine in /docker/compose @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13909" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13909/hovercard">#13909</a>)</li> <li>docker-compose(deps): Bump greenmail/standalone from 2.1.11 to 2.1.13 in /docker/compose @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13907" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13907/hovercard">#13907</a>)</li> <li>Chore(deps-dev): Bump postcss-selector-parser from 6.1.2 to 6.1.4 in /src/paperless_mail/templates in the npm_and_yarn group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13905" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13905/hovercard">#13905</a>)</li> <li>Chore(deps): Bump nltk from 3.10.0 to 3.10.3 in the data-nlp-search group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13917" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13917/hovercard">#13917</a>)</li> <li>Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 14 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13915" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13915/hovercard">#13915</a>)</li> <li>Chore(deps): Bump djangorestframework from 3.17.1 to 3.17.2 in the uv group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13904" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13904/hovercard">#13904</a>)</li> </ul> </details> <h3>All App Changes</h3> <details> <summary>22 changes</summary> <ul> <li>Chore(deps): Bump the uv group across 1 directory with 2 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13958" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13958/hovercard">#13958</a>)</li> <li>Chore(deps-dev): Bump postcss-selector-parser from 6.1.2 to 6.1.4 in /src/paperless_mail/templates in the npm_and_yarn group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13905" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13905/hovercard">#13905</a>)</li> <li>Chore(deps): Bump nltk from 3.10.0 to 3.10.3 in the data-nlp-search group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13917" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13917/hovercard">#13917</a>)</li> <li>Fix: use the header loading indicator on tasks page <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13949" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13949/hovercard">#13949</a>)</li> <li>Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 14 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13915" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13915/hovercard">#13915</a>)</li> <li>Chore(deps): Bump djangorestframework from 3.17.1 to 3.17.2 in the uv group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13904" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13904/hovercard">#13904</a>)</li> <li>Fix: fix load sidebar size animating <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13947" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13947/hovercard">#13947</a>)</li> <li>Fix: wrap long words without spaces in dropdowns <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13945" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13945/hovercard">#13945</a>)</li> <li>Fix: tweak tool calling localzation prompt <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13943" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13943/hovercard">#13943</a>)</li> <li>Fix: skip vector store document id filter for unrestricted chat users <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13937" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13937/hovercard">#13937</a>)</li> <li>Fix: adopt the request stream when pinning an outbound host <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomasSteinbach/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomasSteinbach">@ThomasSteinbach</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13927" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13927/hovercard">#13927</a>)</li> <li>Fix: ensure apply ai suggestions always runs after document created <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13940" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13940/hovercard">#13940</a>)</li> <li>Fix: Handle failures when enqueuing files for consumption <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13935" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13935/hovercard">#13935</a>)</li> <li>Fix: Handle Celery mail task chord errors <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13936" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13936/hovercard">#13936</a>)</li> <li>Fix/chore: refactor some signal-backed conversion technical debt <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13902" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13902/hovercard">#13902</a>)</li> <li>Security: validate remote OCR endpoint <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13897" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13897/hovercard">#13897</a>)</li> <li>Fix: fix slim sidebar saved view dragging appearance <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13906" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13906/hovercard">#13906</a>)</li> <li>Security: Minor additional hardening <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13898" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13898/hovercard">#13898</a>)</li> <li>Chore: consolidate pickle hmac signing <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13899" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13899/hovercard">#13899</a>)</li> <li>Fix: use signal-backed queries input in CF dropdown to reflect changes immediately under zoneless <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13901" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13901/hovercard">#13901</a>)</li> <li>Fix: use root doc metadata for filename generation <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13893" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13893/hovercard">#13893</a>)</li> <li>Fix: some css cleanup <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13891" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13891/hovercard">#13891</a>)</li> </ul> </details> github-actions[bot] tag:github.com,2008:Repository/458648791/v3.1.2 2026-09-01T15:29:20Z Paperless-ngx v3.1.2 <h2>paperless-ngx 3.1.2</h2> <div class="markdown-alert markdown-alert-note"><p class="markdown-alert-title"><svg data-component="Octicon" class="octicon octicon-info mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Note</p><p>This release addresses a security issue (<a title="GHSA-2jhj-xqrq-rmrq" href="https://github.com/paperless-ngx/paperless-ngx/security/advisories/GHSA-2jhj-xqrq-rmrq">GHSA-2jhj-xqrq-rmrq</a>) and is recommended for all users. Our sincere thank you to the community members (and their LLMs) for reporting this.</p> </div> <h3>Bug Fixes</h3> <ul> <li>Fix: fix dark mode select disabled color, ensure disabled cursor on display mode dropdown <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13881" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13881/hovercard">#13881</a>)</li> <li>Fix: add disable to the drag-drop list component <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13880" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13880/hovercard">#13880</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Chore: update screenshots for v3+ <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13883" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13883/hovercard">#13883</a>)</li> </ul> <h3>All App Changes</h3> <details> <summary>2 changes</summary> <ul> <li>Fix: fix dark mode select disabled color, ensure disabled cursor on display mode dropdown <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13881" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13881/hovercard">#13881</a>)</li> <li>Fix: add disable to the drag-drop list component <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13880" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13880/hovercard">#13880</a>)</li> </ul> </details> github-actions[bot] tag:github.com,2008:Repository/458648791/v3.1.1 2026-08-31T05:55:17Z Paperless-ngx v3.1.1 <h2>paperless-ngx 3.1.1</h2> <h3>Bug Fixes</h3> <ul> <li>Fix: 3.1.0 llm suggestions remove existing metadata from prompt, dont drop name suggestions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13866" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13866/hovercard">#13866</a>)</li> <li>Fix: set global search earlier to avoid awaiting debounce <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13865" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13865/hovercard">#13865</a>)</li> <li>Fix: responsive sidebar, centralize and make sizes saner <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13863" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13863/hovercard">#13863</a>)</li> <li>Tweak/fix: show existing count for ai suggestions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13861" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13861/hovercard">#13861</a>)</li> <li>Fix: 3.1.0 llm suggestions simplify schema, fix docstrings <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13850" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13850/hovercard">#13850</a>)</li> <li>Fix: ensure ui reset of suggestionsLoading when changing docs <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13840" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13840/hovercard">#13840</a>)</li> <li>Fix: always pass a non-empty api key for OpenAI-like servers <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13838" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13838/hovercard">#13838</a>)</li> <li>Fix: hide slim sidebar scrollbar in browsers with stupid scrollbars <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13837" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13837/hovercard">#13837</a>)</li> <li>Fix: correct sharelink bundle + document link permissions display bugs <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13827" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13827/hovercard">#13827</a>)</li> <li>Fix: immediately re-add doc to index after trash restore <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13818" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13818/hovercard">#13818</a>)</li> <li>Fix: navbar brand anchor size + Safari position jitter <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13810" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13810/hovercard">#13810</a>)</li> </ul> <h3>All App Changes</h3> <details> <summary>12 changes</summary> <ul> <li>Fix: 3.1.0 llm suggestions remove existing metadata from prompt, dont drop name suggestions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13866" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13866/hovercard">#13866</a>)</li> <li>Fix: set global search earlier to avoid awaiting debounce <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13865" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13865/hovercard">#13865</a>)</li> <li>Fix: responsive sidebar, centralize and make sizes saner <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13863" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13863/hovercard">#13863</a>)</li> <li>Tweak/fix: show existing count for ai suggestions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13861" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13861/hovercard">#13861</a>)</li> <li>Fix: 3.1.0 llm suggestions simplify schema, fix docstrings <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13850" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13850/hovercard">#13850</a>)</li> <li>Fixhancement: make imap port required, better error display <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13845" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13845/hovercard">#13845</a>)</li> <li>Fix: ensure ui reset of suggestionsLoading when changing docs <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13840" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13840/hovercard">#13840</a>)</li> <li>Fix: always pass a non-empty api key for OpenAI-like servers <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13838" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13838/hovercard">#13838</a>)</li> <li>Fix: hide slim sidebar scrollbar in browsers with stupid scrollbars <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13837" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13837/hovercard">#13837</a>)</li> <li>Fix: correct sharelink bundle + document link permissions display bugs <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13827" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13827/hovercard">#13827</a>)</li> <li>Fix: immediately re-add doc to index after trash restore <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13818" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13818/hovercard">#13818</a>)</li> <li>Fix: navbar brand anchor size + Safari position jitter <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13810" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13810/hovercard">#13810</a>)</li> </ul> </details> github-actions[bot] tag:github.com,2008:Repository/458648791/v3.1.0 2026-08-27T01:59:27Z Paperless-ngx v3.1.0 <h2>paperless-ngx 3.1.0</h2> <h3>Features / Enhancements</h3> <ul> <li>Enhancement: Apply AI suggestions workflow action <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13639" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13639/hovercard">#13639</a>)</li> <li>Enhancement: welcome widget visual tweaks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13794" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13794/hovercard">#13794</a>)</li> <li>Enhancement: support using remote OCR engines selectively <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13633" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13633/hovercard">#13633</a>)</li> <li>Enhancement: websocket heartbeat <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oktupol/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oktupol">@oktupol</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13739" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13739/hovercard">#13739</a>)</li> <li>Enhancement: more v3 ui tweaks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13774" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13774/hovercard">#13774</a>)</li> <li>Tweak: better support long list of views in documents list <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13769" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13769/hovercard">#13769</a>)</li> <li>QoL: add count badge to versions dropdown <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13753" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13753/hovercard">#13753</a>)</li> <li>Tweakhancement: add jitter to IMAP polling schedule <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13734" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13734/hovercard">#13734</a>)</li> <li>Enhancement: sync OIDC groups to superuser and staff roles <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BeSovereign/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BeSovereign">@BeSovereign</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13060" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13060/hovercard">#13060</a>)</li> <li>Enhancement: merge documents as versions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13515" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13515/hovercard">#13515</a>)</li> <li>Tweak: adjust modal proportions for small screens <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13728" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13728/hovercard">#13728</a>)</li> <li>Refactor: render paperless_ai prompts via Jinja2 templates instead of f-strings <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13698" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13698/hovercard">#13698</a>)</li> <li>Tweak: small visual tweaks / improvements &amp; fixes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13700" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13700/hovercard">#13700</a>)</li> <li>Enhancement: prefer existing tags, types, correspondents, and storage paths in AI suggestions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13676" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13676/hovercard">#13676</a>)</li> <li>Tweak: tweak permissions menu labels for shared user-dependent views <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13685" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13685/hovercard">#13685</a>)</li> <li>Feature: Allow selection of compression type and and level during export <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13661" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13661/hovercard">#13661</a>)</li> <li>Enhancement: customizable icons for saved views <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13388" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13388/hovercard">#13388</a>)</li> <li>Enhancement: Add --url argument to document_fuzzy_match to improve output <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukyjay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lukyjay">@lukyjay</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13123" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13123/hovercard">#13123</a>)</li> <li>Feature: Updates remote OCR parser to respect the OCR mode setting <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13408" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13408/hovercard">#13408</a>)</li> <li>Tweak: improve no ML suggestions UX <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13621" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13621/hovercard">#13621</a>)</li> <li>Performance: reduce memory and I/O overhead of the document exporter during zip exports <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13490" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13490/hovercard">#13490</a>)</li> <li>QoL: make name button text on attribute pages selectable <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13592" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13592/hovercard">#13592</a>)</li> <li>Performance: More efficient mail fetching <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13432" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13432/hovercard">#13432</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Fix: prevent config autocomplete craziness <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13808" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13808/hovercard">#13808</a>)</li> <li>Fix/performance: prevent token re-use in dropdown filtering, also a perf thing <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13804" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13804/hovercard">#13804</a>)</li> <li>Fix: exclude version documents from bulk edit "all" <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13791" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13791/hovercard">#13791</a>)</li> <li>Fix: fix bottom mobile nav buttons on Android <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13780" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13780/hovercard">#13780</a>)</li> <li>Fix: lazy import guardian modules to fix search language setting <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13768" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13768/hovercard">#13768</a>)</li> <li>Fix: version indexing fixes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13737" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13737/hovercard">#13737</a>)</li> <li>Fix: append charset to file response for text files <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13759" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13759/hovercard">#13759</a>)</li> <li>Chore: pin Apache Tika images to 3.3.1 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13758" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13758/hovercard">#13758</a>)</li> <li>Fix: align bulk edit object perms with document model <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13757" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13757/hovercard">#13757</a>)</li> <li>Fix: use selected version for doc detail emailing <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13738" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13738/hovercard">#13738</a>)</li> <li>Fix: hide version delete button without global perms <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13735" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13735/hovercard">#13735</a>)</li> <li>Fix: dont re-render path template when checking collisions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13718" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13718/hovercard">#13718</a>)</li> <li>Fix: DocumentClassifierSchema bounds <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13707" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13707/hovercard">#13707</a>)</li> <li>Fix: remove shadow around attribute pages <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13696" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13696/hovercard">#13696</a>)</li> <li>Zen: correct dropdown corner radius visual defect <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13695" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13695/hovercard">#13695</a>)</li> <li>Fix: handle Android keyboard popper overlay <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13694" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13694/hovercard">#13694</a>)</li> <li>Fix: only show create when there is text, hide set values if no fields in cf bulk edit dropdown <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13688" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13688/hovercard">#13688</a>)</li> <li>Fix: reopen a fresh Tantivy index per write to prevent orphaned segment files <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13682" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13682/hovercard">#13682</a>)</li> <li>Fix: fix validation of workflow title assignment <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maxtruxa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maxtruxa">@maxtruxa</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13659" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13659/hovercard">#13659</a>)</li> <li>Fix: dont clip search dropdown on mobile <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13675" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13675/hovercard">#13675</a>)</li> <li>Fix: include sharelink bundle perms in WebUI <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13664" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13664/hovercard">#13664</a>)</li> <li>Fix: add pagination to saved views management page <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13646" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13646/hovercard">#13646</a>)</li> <li>Fix: fixes for workflow assign custom field values <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13630" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13630/hovercard">#13630</a>)</li> <li>Fix: deny deactivated users in permission filtering and auto-login <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13623" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13623/hovercard">#13623</a>)</li> <li>Fix: check bulk mail delete permissions for the whole batch up front <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13620" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13620/hovercard">#13620</a>)</li> <li>Fix: Allow DRF to validate the maximum API key length <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13614" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13614/hovercard">#13614</a>)</li> <li>Fix: render PDF form values in annotation layer <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13607" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13607/hovercard">#13607</a>)</li> <li>QoL: disable name button without perms <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13606" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13606/hovercard">#13606</a>)</li> <li>Fix: prevent debounce overwrites in advanced search field, also improve Esc behavior <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13602" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13602/hovercard">#13602</a>)</li> <li>Fix: raise ParseError on remote OCR failure instead of silently continuing <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13574" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13574/hovercard">#13574</a>)</li> <li>Fix: use selected version when creating share links <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13571" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13571/hovercard">#13571</a>)</li> <li>Fix: reject bulk edit permissions requests without the correct key <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13563" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13563/hovercard">#13563</a>)</li> <li>Fix: correctly serve app logo specified in env <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13561" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13561/hovercard">#13561</a>)</li> <li>Fix: prevent workflow passwords field type error <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13552" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13552/hovercard">#13552</a>)</li> <li>Fix: correct Firefox print regression <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13543" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13543/hovercard">#13543</a>)</li> <li>Fix: hide some saved view operations on management page without permissions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13542" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13542/hovercard">#13542</a>)</li> <li>Fix: disable pdfjs selection rendering <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13538" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13538/hovercard">#13538</a>)</li> <li>Fix: hide sidebar drag grips with insufficient permissions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13536" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13536/hovercard">#13536</a>)</li> <li>Fix: don't re-queue a consume-folder file that is already queued and awaiting consumption <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13526" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13526/hovercard">#13526</a>)</li> <li>Fix: correct multi-search non-adjacent queries <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13504" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13504/hovercard">#13504</a>)</li> <li>Fix: Content-Disposition filename normalization <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13514" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13514/hovercard">#13514</a>)</li> <li>Fix: prevent duplicated text query with multiple date queries <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13522" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13522/hovercard">#13522</a>)</li> <li>Fix: crash filtering document link custom fields with an unset or unrelated field present <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ggouzi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ggouzi">@ggouzi</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13518" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13518/hovercard">#13518</a>)</li> <li>Fix: parse unpadded yyyy-mm-dd date input regardless of locale <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Se1foo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Se1foo">@Se1foo</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13501" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13501/hovercard">#13501</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Documentation: clarify default OCR mode changes in v3 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13666" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13666/hovercard">#13666</a>)</li> <li>Fix: fixes for workflow assign custom field values <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13630" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13630/hovercard">#13630</a>)</li> <li>Documentation: add wiki links for AI stuff and parser plugins <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13626" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13626/hovercard">#13626</a>)</li> </ul> <h3>Maintenance</h3> <ul> <li>Chore(deps): Bump the actions group across 1 directory with 20 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13481" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13481/hovercard">#13481</a>)</li> </ul> <h3>Dependencies</h3> <details> <summary>23 changes</summary> <ul> <li>Chore: Upgrade Docker image to Python 3.14 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13721" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13721/hovercard">#13721</a>)</li> <li>Chore(deps): Bump the uv group across 1 directory with 2 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13709" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13709/hovercard">#13709</a>)</li> <li>Chore: update, reorg some npm deps <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13716" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13716/hovercard">#13716</a>)</li> <li>Chore: update fpdf2 to 2.8.8 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13629" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13629/hovercard">#13629</a>)</li> <li>Chore: update pnpm, add blockExoticSubdeps <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13628" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13628/hovercard">#13628</a>)</li> <li>Chore(deps): Bump h2 from 4.3.0 to 4.4.1 in the uv group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13593" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13593/hovercard">#13593</a>)</li> <li>Chore(deps): Bump pdfjs-dist from 6.1.200 to 6.2.108 in /src-ui in the npm_and_yarn group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13594" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13594/hovercard">#13594</a>)</li> <li>Chore(deps): Bump cryptography from 48.0.1 to 50.0.0 in the uv group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13588" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13588/hovercard">#13588</a>)</li> <li>Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13539" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13539/hovercard">#13539</a>)</li> <li>Chore(deps): Bump the utilities-minor group across 1 directory with 20 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13535" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13535/hovercard">#13535</a>)</li> <li>Chore(deps): Bump aiohttp from 3.14.1 to 3.14.3 in the uv group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13537" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13537/hovercard">#13537</a>)</li> <li>Chore(deps-dev): Bump zensical from 0.0.47 to 0.0.51 in the development group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13533" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13533/hovercard">#13533</a>)</li> <li>Chore(deps-dev): Bump postcss from 8.5.22 to 8.5.25 in /src/paperless_mail/templates in the npm_and_yarn group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13534" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13534/hovercard">#13534</a>)</li> <li>Chore(deps): Bump the pre-commit-dependencies group across 1 directory with 4 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13532" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13532/hovercard">#13532</a>)</li> <li>Chore: ruff 0.16 upgrade <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13531" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13531/hovercard">#13531</a>)</li> <li>Chore(deps): Bump the actions group across 1 directory with 20 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13481" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13481/hovercard">#13481</a>)</li> <li>docker(deps): bump astral-sh/uv from 0.11.28-python3.12-trixie-slim to 0.11.32-python3.12-trixie-slim @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13472" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13472/hovercard">#13472</a>)</li> <li>docker-compose(deps): bump nginx from 1.31.2-alpine to 1.31.3-alpine in /docker/compose @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13470" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13470/hovercard">#13470</a>)</li> <li>docker-compose(deps): Bump greenmail/standalone from 2.1.9 to 2.1.11 in /docker/compose @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13469" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13469/hovercard">#13469</a>)</li> <li>Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 18 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13476" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13476/hovercard">#13476</a>)</li> <li>Chore(deps-dev): Bump @playwright/test from 1.61.1 to 1.62.0 in /src-ui @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13480" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13480/hovercard">#13480</a>)</li> <li>Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13477" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13477/hovercard">#13477</a>)</li> <li>Chore(deps-dev): Bump @types/node from 26.1.0 to 26.1.1 in /src-ui @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13479" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13479/hovercard">#13479</a>)</li> </ul> </details> <h3>All App Changes</h3> <details> <summary>91 changes</summary> <ul> <li>Fix: prevent config autocomplete craziness <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13808" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13808/hovercard">#13808</a>)</li> <li>Fix/performance: prevent token re-use in dropdown filtering, also a perf thing <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13804" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13804/hovercard">#13804</a>)</li> <li>Enhancement: Apply AI suggestions workflow action <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13639" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13639/hovercard">#13639</a>)</li> <li>Fix: exclude version documents from bulk edit "all" <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13791" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13791/hovercard">#13791</a>)</li> <li>Enhancement: welcome widget visual tweaks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13794" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13794/hovercard">#13794</a>)</li> <li>Performance: fetch note authors with prefetch instead of one query each <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13790" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13790/hovercard">#13790</a>)</li> <li>Tweak: more misc UI tweaks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13783" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13783/hovercard">#13783</a>)</li> <li>Enhancement: support using remote OCR engines selectively <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13633" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13633/hovercard">#13633</a>)</li> <li>Fix: fix bottom mobile nav buttons on Android <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13780" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13780/hovercard">#13780</a>)</li> <li>Enhancement: websocket heartbeat <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oktupol/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oktupol">@oktupol</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13739" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13739/hovercard">#13739</a>)</li> <li>Fix: lazy import guardian modules to fix search language setting <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13768" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13768/hovercard">#13768</a>)</li> <li>Enhancement: more v3 ui tweaks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13774" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13774/hovercard">#13774</a>)</li> <li>Chore: add some missing UI accessibility labels <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13772" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13772/hovercard">#13772</a>)</li> <li>Chore: refactor permission checkbox live changes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13771" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13771/hovercard">#13771</a>)</li> <li>Tweak: better support long list of views in documents list <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13769" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13769/hovercard">#13769</a>)</li> <li>Fix: version indexing fixes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13737" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13737/hovercard">#13737</a>)</li> <li>Fix: append charset to file response for text files <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13759" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13759/hovercard">#13759</a>)</li> <li>Fix: align bulk edit object perms with document model <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13757" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13757/hovercard">#13757</a>)</li> <li>QoL: add count badge to versions dropdown <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13753" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13753/hovercard">#13753</a>)</li> <li>Tweakhancement: add jitter to IMAP polling schedule <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13734" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13734/hovercard">#13734</a>)</li> <li>Fix: use selected version for doc detail emailing <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13738" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13738/hovercard">#13738</a>)</li> <li>Fix: hide version delete button without global perms <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13735" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13735/hovercard">#13735</a>)</li> <li>Enhancement: sync OIDC groups to superuser and staff roles <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BeSovereign/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BeSovereign">@BeSovereign</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13060" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13060/hovercard">#13060</a>)</li> <li>Enhancement: merge documents as versions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13515" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13515/hovercard">#13515</a>)</li> <li>Tweak: adjust modal proportions for small screens <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13728" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13728/hovercard">#13728</a>)</li> <li>Refactor: render paperless_ai prompts via Jinja2 templates instead of f-strings <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13698" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13698/hovercard">#13698</a>)</li> <li>Chore(deps): Bump the uv group across 1 directory with 2 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13709" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13709/hovercard">#13709</a>)</li> <li>Fix: dont re-render path template when checking collisions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13718" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13718/hovercard">#13718</a>)</li> <li>Chore: update, reorg some npm deps <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13716" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13716/hovercard">#13716</a>)</li> <li>Fix: DocumentClassifierSchema bounds <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13707" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13707/hovercard">#13707</a>)</li> <li>Tweak: small visual tweaks / improvements &amp; fixes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13700" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13700/hovercard">#13700</a>)</li> <li>Fix: remove shadow around attribute pages <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13696" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13696/hovercard">#13696</a>)</li> <li>Zen: correct dropdown corner radius visual defect <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13695" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13695/hovercard">#13695</a>)</li> <li>Fix: handle Android keyboard popper overlay <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13694" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13694/hovercard">#13694</a>)</li> <li>Enhancement: prefer existing tags, types, correspondents, and storage paths in AI suggestions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13676" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13676/hovercard">#13676</a>)</li> <li>Fix: only show create when there is text, hide set values if no fields in cf bulk edit dropdown <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13688" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13688/hovercard">#13688</a>)</li> <li>Fix: reopen a fresh Tantivy index per write to prevent orphaned segment files <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13682" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13682/hovercard">#13682</a>)</li> <li>Tweak: tweak permissions menu labels for shared user-dependent views <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13685" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13685/hovercard">#13685</a>)</li> <li>Fix: fix validation of workflow title assignment <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maxtruxa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maxtruxa">@maxtruxa</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13659" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13659/hovercard">#13659</a>)</li> <li>Feature: Allow selection of compression type and and level during export <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13661" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13661/hovercard">#13661</a>)</li> <li>Fix: dont clip search dropdown on mobile <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13675" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13675/hovercard">#13675</a>)</li> <li>Fix: include sharelink bundle perms in WebUI <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13664" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13664/hovercard">#13664</a>)</li> <li>Enhancement: customizable icons for saved views <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13388" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13388/hovercard">#13388</a>)</li> <li>Enhancement: Add --url argument to document_fuzzy_match to improve output <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukyjay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lukyjay">@lukyjay</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13123" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13123/hovercard">#13123</a>)</li> <li>Feature: Updates remote OCR parser to respect the OCR mode setting <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13408" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13408/hovercard">#13408</a>)</li> <li>Performance: pass document chat queries as a QuerySet instead of a materialized.list <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13638" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13638/hovercard">#13638</a>)</li> <li>Fix: add pagination to saved views management page <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13646" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13646/hovercard">#13646</a>)</li> <li>Fix: fixes for workflow assign custom field values <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13630" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13630/hovercard">#13630</a>)</li> <li>Fix: deny deactivated users in permission filtering and auto-login <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13623" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13623/hovercard">#13623</a>)</li> <li>Chore: update fpdf2 to 2.8.8 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13629" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13629/hovercard">#13629</a>)</li> <li>Chore: update pnpm, add blockExoticSubdeps <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13628" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13628/hovercard">#13628</a>)</li> <li>Fix: check bulk mail delete permissions for the whole batch up front <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13620" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13620/hovercard">#13620</a>)</li> <li>Tweak: improve no ML suggestions UX <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13621" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13621/hovercard">#13621</a>)</li> <li>Fix: Allow DRF to validate the maximum API key length <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13614" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13614/hovercard">#13614</a>)</li> <li>Performance: unify permission-filtering backends, fixes Correspondent/Tag list slowness <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13601" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13601/hovercard">#13601</a>)</li> <li>Performance: generalize permitted_document_ids into permitted_object_ids for any model <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13578" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13578/hovercard">#13578</a>)</li> <li>Fix: render PDF form values in annotation layer <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13607" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13607/hovercard">#13607</a>)</li> <li>QoL: disable name button without perms <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13606" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13606/hovercard">#13606</a>)</li> <li>Fix: prevent debounce overwrites in advanced search field, also improve Esc behavior <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13602" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13602/hovercard">#13602</a>)</li> <li>Performance: reduce memory and I/O overhead of the document exporter during zip exports <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13490" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13490/hovercard">#13490</a>)</li> <li>Chore(deps): Bump h2 from 4.3.0 to 4.4.1 in the uv group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13593" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13593/hovercard">#13593</a>)</li> <li>Chore(deps): Bump pdfjs-dist from 6.1.200 to 6.2.108 in /src-ui in the npm_and_yarn group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13594" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13594/hovercard">#13594</a>)</li> <li>QoL: make name button text on attribute pages selectable <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13592" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13592/hovercard">#13592</a>)</li> <li>Fix: raise ParseError on remote OCR failure instead of silently continuing <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13574" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13574/hovercard">#13574</a>)</li> <li>Fix: use selected version when creating share links <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13571" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13571/hovercard">#13571</a>)</li> <li>Chore: specify AI chat refine template <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13564" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13564/hovercard">#13564</a>)</li> <li>Fix: reject bulk edit permissions requests without the correct key <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13563" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13563/hovercard">#13563</a>)</li> <li>Fix: correctly serve app logo specified in env <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13561" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13561/hovercard">#13561</a>)</li> <li>Fix: prevent workflow passwords field type error <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13552" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13552/hovercard">#13552</a>)</li> <li>Chore(deps): Bump the utilities-patch group across 1 directory with 6 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13539" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13539/hovercard">#13539</a>)</li> <li>Chore(deps): Bump the utilities-minor group across 1 directory with 20 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13535" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13535/hovercard">#13535</a>)</li> <li>Performance: More efficient mail fetching <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13432" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13432/hovercard">#13432</a>)</li> <li>Performance: eliminate per-document guardian permission-check causing high CPU on document lists <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13505" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13505/hovercard">#13505</a>)</li> <li>Fix: correct Firefox print regression <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13543" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13543/hovercard">#13543</a>)</li> <li>Fix: hide some saved view operations on management page without permissions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13542" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13542/hovercard">#13542</a>)</li> <li>Chore(deps): Bump aiohttp from 3.14.1 to 3.14.3 in the uv group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13537" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13537/hovercard">#13537</a>)</li> <li>Chore(deps-dev): Bump zensical from 0.0.47 to 0.0.51 in the development group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13533" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13533/hovercard">#13533</a>)</li> <li>Fix: disable pdfjs selection rendering <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13538" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13538/hovercard">#13538</a>)</li> <li>Fix: hide sidebar drag grips with insufficient permissions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13536" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13536/hovercard">#13536</a>)</li> <li>Chore(deps-dev): Bump postcss from 8.5.22 to 8.5.25 in /src/paperless_mail/templates in the npm_and_yarn group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13534" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13534/hovercard">#13534</a>)</li> <li>Chore: ruff 0.16 upgrade <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13531" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13531/hovercard">#13531</a>)</li> <li>Fix: don't re-queue a consume-folder file that is already queued and awaiting consumption <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13526" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13526/hovercard">#13526</a>)</li> <li>Fix: correct multi-search non-adjacent queries <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13504" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13504/hovercard">#13504</a>)</li> <li>Fix: Content-Disposition filename normalization <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13514" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13514/hovercard">#13514</a>)</li> <li>Fix: prevent duplicated text query with multiple date queries <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13522" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13522/hovercard">#13522</a>)</li> <li>Fix: crash filtering document link custom fields with an unset or unrelated field present <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ggouzi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ggouzi">@ggouzi</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13518" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13518/hovercard">#13518</a>)</li> <li>Fix: parse unpadded yyyy-mm-dd date input regardless of locale <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Se1foo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Se1foo">@Se1foo</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13501" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13501/hovercard">#13501</a>)</li> <li>Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 18 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13476" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13476/hovercard">#13476</a>)</li> <li>Chore(deps-dev): Bump @playwright/test from 1.61.1 to 1.62.0 in /src-ui @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13480" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13480/hovercard">#13480</a>)</li> <li>Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13477" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13477/hovercard">#13477</a>)</li> <li>Chore(deps-dev): Bump @types/node from 26.1.0 to 26.1.1 in /src-ui @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13479" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13479/hovercard">#13479</a>)</li> </ul> </details> github-actions[bot] tag:github.com,2008:Repository/458648791/v3.0.5 2026-08-01T21:59:11Z Paperless-ngx v3.0.5 <h2>paperless-ngx 3.0.5</h2> <h3>Bug Fixes</h3> <ul> <li>Fix: accept Whoosh-era abbreviated relative-date units (yrs, mos, wks, etc) in search queries <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13486" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13486/hovercard">#13486</a>)</li> <li>Fix: fix edit dialog error change detection <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13483" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13483/hovercard">#13483</a>)</li> <li>Fix: key the AI suggestion cache by model and endpoint <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lunetics/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lunetics">@lunetics</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13449" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13449/hovercard">#13449</a>)</li> <li>Fix: validate custom field values in bulk operations <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13457" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13457/hovercard">#13457</a>)</li> <li>Fixhancement: better handle empty fields from AI suggestions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13454" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13454/hovercard">#13454</a>)</li> <li>Fix: normalize monetary decimal symbol by locale <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13427" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13427/hovercard">#13427</a>)</li> <li>Fix: fold overflowing path text in sanity checker <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13426" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13426/hovercard">#13426</a>)</li> <li>Fix: correct delayed add field button for custom fields <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13424" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13424/hovercard">#13424</a>)</li> <li>Fix: hide attributes collapse / show button without UI settings <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13425" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13425/hovercard">#13425</a>)</li> <li>Fix: consolidate born-digital PDF detection between archive decision and OCR <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13409" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13409/hovercard">#13409</a>)</li> <li>Fix: prevent scale vs page loop in pngx PDF viewer <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13406" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13406/hovercard">#13406</a>)</li> <li>Fix: handle hidden line breaks in email subjects when sending email <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13402" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13402/hovercard">#13402</a>)</li> <li>Fix: avoid NotSupportedError from document_importer on MariaDB <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13400" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13400/hovercard">#13400</a>)</li> <li>Fix: exclude next-period start from relative date-range filters <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13381" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13381/hovercard">#13381</a>)</li> <li>Fix: close non-atomic db connections in before_task_publish <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13366" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13366/hovercard">#13366</a>)</li> <li>Chore/fix: refactor frontend task service <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13365" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13365/hovercard">#13365</a>)</li> <li>Fix: fix Enter selection in search autocomplete <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13361" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13361/hovercard">#13361</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Documentation: PAPERLESS_CONSUMER_IGNORE_PATTERNS clarifications <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13489" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13489/hovercard">#13489</a>)</li> <li>Documentation: Add Password Removal workflow action documentation <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13377" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13377/hovercard">#13377</a>)</li> </ul> <h3>Dependencies</h3> <ul> <li>Chore(deps): Bump pymdown-extensions from 10.21.3 to 11.0 in the uv group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13378" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13378/hovercard">#13378</a>)</li> </ul> <h3>All App Changes</h3> <details> <summary>21 changes</summary> <ul> <li>Fix: accept Whoosh-era abbreviated relative-date units (yrs, mos, wks, etc) in search queries <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13486" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13486/hovercard">#13486</a>)</li> <li>Fix: fix edit dialog error change detection <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13483" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13483/hovercard">#13483</a>)</li> <li>Performance: sqlite-vec point-delete for document chunks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13438" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13438/hovercard">#13438</a>)</li> <li>Fix: key the AI suggestion cache by model and endpoint <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lunetics/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lunetics">@lunetics</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13449" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13449/hovercard">#13449</a>)</li> <li>Fix: validate custom field values in bulk operations <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13457" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13457/hovercard">#13457</a>)</li> <li>Fixhancement: better handle empty fields from AI suggestions <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13454" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13454/hovercard">#13454</a>)</li> <li>Performance: Use server side iterators during LLM index updating <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13430" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13430/hovercard">#13430</a>)</li> <li>Fix: normalize monetary decimal symbol by locale <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13427" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13427/hovercard">#13427</a>)</li> <li>Fix: fold overflowing path text in sanity checker <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13426" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13426/hovercard">#13426</a>)</li> <li>Fix: correct delayed add field button for custom fields <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13424" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13424/hovercard">#13424</a>)</li> <li>Fix: hide attributes collapse / show button without UI settings <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13425" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13425/hovercard">#13425</a>)</li> <li>Fix: consolidate born-digital PDF detection between archive decision and OCR <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13409" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13409/hovercard">#13409</a>)</li> <li>Fix: prevent scale vs page loop in pngx PDF viewer <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13406" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13406/hovercard">#13406</a>)</li> <li>Fix: handle hidden line breaks in email subjects when sending email <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13402" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13402/hovercard">#13402</a>)</li> <li>Fix: avoid NotSupportedError from document_importer on MariaDB <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13400" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13400/hovercard">#13400</a>)</li> <li>Tweak: adjust doc details button toolbar flow <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13382" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13382/hovercard">#13382</a>)</li> <li>Fix: exclude next-period start from relative date-range filters <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13381" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13381/hovercard">#13381</a>)</li> <li>Chore(deps): Bump pymdown-extensions from 10.21.3 to 11.0 in the uv group across 1 directory @<a href="https://github.com/apps/dependabot">dependabot[bot]</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13378" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13378/hovercard">#13378</a>)</li> <li>Fix: close non-atomic db connections in before_task_publish <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13366" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13366/hovercard">#13366</a>)</li> <li>Chore/fix: refactor frontend task service <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13365" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13365/hovercard">#13365</a>)</li> <li>Fix: fix Enter selection in search autocomplete <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13361" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13361/hovercard">#13361</a>)</li> </ul> </details> github-actions[bot] tag:github.com,2008:Repository/458648791/v3.0.4 2026-07-28T04:15:01Z Paperless-ngx v3.0.4 <h2>paperless-ngx 3.0.4</h2> <h3>Bug Fixes</h3> <ul> <li>Fix: prevent pdfjs highlight scrolling from affecting the entire page <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13355" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13355/hovercard">#13355</a>)</li> <li>Fix: don't skip OCR/archive for tagged PDFs with no actual text <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13351" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13351/hovercard">#13351</a>)</li> <li>Performance: more efficient diacritic normalization in dropdown filtering <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13347" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13347/hovercard">#13347</a>)</li> <li>Fix: dedupe permission-visible documents when combined with multi-tag filters <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13345" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13345/hovercard">#13345</a>)</li> <li>Fixhancement: pass LLM output language to chat if specified <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13340" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13340/hovercard">#13340</a>)</li> <li>Fix: ensure preview reload on live changes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13321" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13321/hovercard">#13321</a>)</li> <li>Fix: clamp all out out-of-range possible fields <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13316" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13316/hovercard">#13316</a>)</li> <li>Fix: add docstring to DocumentClassifierSchema for cleaner LLM tool description <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13315" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13315/hovercard">#13315</a>)</li> <li>Fix: guard build_document_node against stale FK on deleted correspondent/doc type <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13318" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13318/hovercard">#13318</a>)</li> <li>Fix: prevent search filter loss when closing document with Escape key <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13317" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13317/hovercard">#13317</a>)</li> <li>Fix: fix frontend permissions display for stats/system perms <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13305" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13305/hovercard">#13305</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Documentation: fix PAPERLESS_AI_LLM_OUTPUT_LANGUAGE heading level <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SuperSandro2000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SuperSandro2000">@SuperSandro2000</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13341" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13341/hovercard">#13341</a>)</li> </ul> <h3>Dependencies</h3> <ul> <li>Chore: resolve npm provenance issues with chokidar and semver <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13323" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13323/hovercard">#13323</a>)</li> </ul> <h3>All App Changes</h3> <details> <summary>14 changes</summary> <ul> <li>Fix: prevent pdfjs highlight scrolling from affecting the entire page <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13355" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13355/hovercard">#13355</a>)</li> <li>Fix: don't skip OCR/archive for tagged PDFs with no actual text <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13351" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13351/hovercard">#13351</a>)</li> <li>Performance: more efficient diacritic normalization in dropdown filtering <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13347" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13347/hovercard">#13347</a>)</li> <li>Performance: prefetch notes and custom fields for LLM index text building <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13350" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13350/hovercard">#13350</a>)</li> <li>Fix: dedupe permission-visible documents when combined with multi-tag filters <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13345" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13345/hovercard">#13345</a>)</li> <li>Performance: Scope llm index updates to actually modified documents <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13322" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13322/hovercard">#13322</a>)</li> <li>Fixhancement: pass LLM output language to chat if specified <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13340" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13340/hovercard">#13340</a>)</li> <li>Chore: resolve npm provenance issues with chokidar and semver <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13323" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13323/hovercard">#13323</a>)</li> <li>Fix: ensure preview reload on live changes <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13321" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13321/hovercard">#13321</a>)</li> <li>Fix: clamp all out out-of-range possible fields <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13316" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13316/hovercard">#13316</a>)</li> <li>Fix: add docstring to DocumentClassifierSchema for cleaner LLM tool description <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13315" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13315/hovercard">#13315</a>)</li> <li>Fix: guard build_document_node against stale FK on deleted correspondent/doc type <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13318" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13318/hovercard">#13318</a>)</li> <li>Fix: prevent search filter loss when closing document with Escape key <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13317" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13317/hovercard">#13317</a>)</li> <li>Fix: fix frontend permissions display for stats/system perms <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13305" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13305/hovercard">#13305</a>)</li> </ul> </details> github-actions[bot] tag:github.com,2008:Repository/458648791/v3.0.3 2026-07-26T00:47:33Z Paperless-ngx v3.0.3 <h2>paperless-ngx 3.0.3</h2> <h3>Bug Fixes</h3> <ul> <li>Fixhancement: PAPERLESS_ALLAUTH_TRUSTED_PROXY_COUNT <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13281" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13281/hovercard">#13281</a>)</li> <li>Fix: preserve document fields during Gotenberg conversion to PDF <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13271" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13271/hovercard">#13271</a>)</li> <li>Fix: Makes the email date aware as soon as possible during parsing <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13266" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13266/hovercard">#13266</a>)</li> <li>Fix: Handle a plain string as Celery sometimes provides for the traceback <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13267" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13267/hovercard">#13267</a>)</li> <li>Fix: Emit the torch index into the requirements.txt for people still using it <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13265" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13265/hovercard">#13265</a>)</li> <li>Fix: handle notes without a user when building the search index <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/matthiasmast/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/matthiasmast">@matthiasmast</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13260" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13260/hovercard">#13260</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Docs: warn bare-metal users about stale files when upgrading <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13296" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13296/hovercard">#13296</a>)</li> <li>Documentation: Add the NumPy CPU baseline increase to the migration guide <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13269" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13269/hovercard">#13269</a>)</li> </ul> <h3>Maintenance</h3> <ul> <li>Fix: Emit the torch index into the requirements.txt for people still using it <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13265" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13265/hovercard">#13265</a>)</li> </ul> <h3>All App Changes</h3> <details> <summary>6 changes</summary> <ul> <li>Fixhancement: PAPERLESS_ALLAUTH_TRUSTED_PROXY_COUNT <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13281" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13281/hovercard">#13281</a>)</li> <li>Tweak: adjust top navbar wrapping when AI chat button visible <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13280" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13280/hovercard">#13280</a>)</li> <li>Fix: preserve document fields during Gotenberg conversion to PDF <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13271" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13271/hovercard">#13271</a>)</li> <li>Fix: Makes the email date aware as soon as possible during parsing <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13266" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13266/hovercard">#13266</a>)</li> <li>Fix: Handle a plain string as Celery sometimes provides for the traceback <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stumpylog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stumpylog">@stumpylog</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13267" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13267/hovercard">#13267</a>)</li> <li>Fix: handle notes without a user when building the search index <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/matthiasmast/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/matthiasmast">@matthiasmast</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13260" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13260/hovercard">#13260</a>)</li> </ul> </details> github-actions[bot] tag:github.com,2008:Repository/458648791/v3.0.2 2026-07-24T01:32:46Z Paperless-ngx v3.0.2 <h2>paperless-ngx 3.0.2</h2> <h3>Bug Fixes</h3> <ul> <li>Fix: fix broken migration in 3.0.1 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13242" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13242/hovercard">#13242</a>)</li> </ul> <h3>All App Changes</h3> <ul> <li>Fix: fix broken migration in 3.0.1 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamoon">@shamoon</a> (<a href="https://github.com/paperless-ngx/paperless-ngx/pull/13242" data-hovercard-type="pull_request" data-hovercard-url="/paperless-ngx/paperless-ngx/pull/13242/hovercard">#13242</a>)</li> </ul> github-actions[bot]