v3.0.4

Anjok07/ultimatevocalremoverguiv3.0.4Jul 28, 2026by github-actions[bot]

AI Summary

A maintenance release focused on bug fixes for PDF rendering, OCR performance, and search filtering, along with dependency updates.

Key Highlights

  • Fix PDF.js highlight scrolling affecting the entire page
  • Optimize diacritic normalization in dropdown filtering
  • Fix permission visibility when combined with multi-tag filters
  • Resolve npm provenance issues with chokidar and semver

Full Release Notes

## paperless-ngx 3.0.4

### Bug Fixes

- Fix: prevent pdfjs highlight scrolling from affecting the entire page @shamoon ([#13355](https://github.com/paperless-ngx/paperless-ngx/pull/13355))
- Fix: don't skip OCR/archive for tagged PDFs with no actual text @stumpylog ([#13351](https://github.com/paperless-ngx/paperless-ngx/pull/13351))
- Performance: more efficient diacritic normalization in dropdown filtering @shamoon ([#13347](https://github.com/paperless-ngx/paperless-ngx/pull/13347))
- Fix: dedupe permission-visible documents when combined with multi-tag filters @stumpylog ([#13345](https://github.com/paperless-ngx/paperless-ngx/pull/13345))
- Fixhancement: pass LLM output language to chat if specified @shamoon ([#13340](https://github.com/paperless-ngx/paperless-ngx/pull/13340))
- Fix: ensure preview reload on live changes @shamoon ([#13321](https://github.com/paperless-ngx/paperless-ngx/pull/13321))
- Fix: clamp all out out-of-range possible fields @stumpylog ([#13316](https://github.com/paperless-ngx/paperless-ngx/pull/13316))
- Fix: add docstring to DocumentClassifierSchema for cleaner LLM tool description @stumpylog ([#13315](https://github.com/paperless-ngx/paperless-ngx/pull/13315))
- Fix: guard build\_document\_node against stale FK on deleted correspondent/doc type @stumpylog ([#13318](https://github.com/paperless-ngx/paperless-ngx/pull/13318))
- Fix: prevent search filter loss when closing document with Escape key @shamoon ([#13317](https://github.com/paperless-ngx/paperless-ngx/pull/13317))
- Fix: fix frontend permissions display for stats/system perms @shamoon ([#13305](https://github.com/paperless-ngx/paperless-ngx/pull/13305))

### Documentation

- Documentation: fix PAPERLESS\_AI\_LLM\_OUTPUT\_LANGUAGE heading level @SuperSandro2000 ([#13341](https://github.com/paperless-ngx/paperless-ngx/pull/13341))

### Dependencies

- Chore: resolve npm provenance issues with chokidar and semver @shamoon ([#13323](https://github.com/paperless-ngx/paperless-ngx/pull/13323))

### All App Changes

<details>
<summary>14 changes</summary>

- Fix: prevent pdfjs highlight scrolling from affecting the entire page @shamoon ([#13355](https://github.com/paperless-ngx/paperless-ngx/pull/13355))
- Fix: don't skip OCR/archive for tagged PDFs with no actual text @stumpylog ([#13351](https://github.com/paperless-ngx/paperless-ngx/pull/13351))
- Performance: more efficient diacritic normalization in dropdown filtering @shamoon ([#13347](https://github.com/paperless-ngx/paperless-ngx/pull/13347))
- Performance: prefetch notes and custom fields for LLM index text building @stumpylog ([#13350](https://github.com/paperless-ngx/paperless-ngx/pull/13350))
- Fix: dedupe permission-visible documents when combined with multi-tag filters @stumpylog ([#13345](https://github.com/paperless-ngx/paperless-ngx/pull/13345))
- Performance: Scope llm index updates to actually modified documents @stumpylog ([#13322](https://github.com/paperless-ngx/paperless-ngx/pull/13322))
- Fixhancement: pass LLM output language to chat if specified @shamoon ([#13340](https://github.com/paperless-ngx/paperless-ngx/pull/13340))
- Chore: resolve npm provenance issues with chokidar and semver @shamoon ([#13323](https://github.com/paperless-ngx/paperless-ngx/pull/13323))
- Fix: ensure preview reload on live changes @shamoon ([#13321](https://github.com/paperless-ngx/paperless-ngx/pull/13321))
- Fix: clamp all out out-of-range possible fields @stumpylog ([#13316](https://github.com/paperless-ngx/paperless-ngx/pull/13316))
- Fix: add docstring to DocumentClassifierSchema for cleaner LLM tool description @stumpylog ([#13315](https://github.com/paperless-ngx/paperless-ngx/pull/13315))
- Fix: guard build\_document\_node against stale FK on deleted correspondent/doc type @stumpylog ([#13318](https://github.com/paperless-ngx/paperless-ngx/pull/13318))
- Fix: prevent search filter loss when closing document with Escape key @shamoon ([#13317](https://github.com/paperless-ngx/paperless-ngx/pull/13317))
- Fix: fix frontend permissions display for stats/system perms @shamoon ([#13305](https://github.com/paperless-ngx/paperless-ngx/pull/13305))
</details>