]> git.ipfire.org Git - thirdparty/paperless-ngx.git/log
thirdparty/paperless-ngx.git
21 hours agoFix: parse unpadded yyyy-mm-dd date input regardless of locale (#13501) dev
Se1foo [Sun, 2 Aug 2026 13:33:01 +0000 (14:33 +0100)] 
Fix: parse unpadded yyyy-mm-dd date input regardless of locale (#13501)

30 hours agoChore(deps): Bump the actions group across 1 directory with 20 updates (#13481)
dependabot[bot] [Sun, 2 Aug 2026 04:19:25 +0000 (04:19 +0000)] 
Chore(deps): Bump the actions group across 1 directory with 20 updates (#13481)

Bumps the actions group with 20 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `7.0.0` | `7.0.1` |
| [dorny/paths-filter](https://github.com/dorny/paths-filter) | `4.0.1` | `4.0.2` |
| [actions/setup-python](https://github.com/actions/setup-python) | `6.3.0` | `7.0.0` |
| [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `8.2.0` | `9.0.0` |
| [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | `4.1.0` | `4.2.0` |
| [docker/login-action](https://github.com/docker/login-action) | `4.2.0` | `4.5.1` |
| [docker/metadata-action](https://github.com/docker/metadata-action) | `6.1.0` | `6.2.0` |
| [docker/build-push-action](https://github.com/docker/build-push-action) | `7.2.0` | `7.3.0` |
| [actions/setup-node](https://github.com/actions/setup-node) | `6.4.0` | `7.0.0` |
| [j178/prek-action](https://github.com/j178/prek-action) | `2.0.4` | `2.0.6` |
| [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-action) | `1.8.0` | `1.8.1` |
| [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) | `7.5.1` | `7.6.0` |
| [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) | `0.5.7` | `0.6.1` |
| [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) | `4.36.2` | `4.37.3` |
| [github/codeql-action/init](https://github.com/github/codeql-action) | `4.36.2` | `4.37.3` |
| [github/codeql-action/analyze](https://github.com/github/codeql-action) | `4.36.2` | `4.37.3` |
| [crowdin/github-action](https://github.com/crowdin/github-action) | `2.16.3` | `2.17.0` |
| [actions/labeler](https://github.com/actions/labeler) | `6.1.0` | `7.0.0` |
| [actions/stale](https://github.com/actions/stale) | `10.3.0` | `10.4.0` |
| [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) | `7.1.0` | `7.2.0` |

Updates `actions/checkout` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1)

Updates `dorny/paths-filter` from 4.0.1 to 4.0.2
- [Release notes](https://github.com/dorny/paths-filter/releases)
- [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dorny/paths-filter/compare/fbd0ab8f3e69293af611ebaee6363fc25e6d187d...7b450fff21473bca461d4b92ce414b9d0420d706)

Updates `actions/setup-python` from 6.3.0 to 7.0.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/ece7cb06caefa5fff74198d8649806c4678c61a1...5fda3b95a4ea91299a34e894583c3862153e4b97)

Updates `astral-sh/setup-uv` from 8.2.0 to 9.0.0
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/fac544c07dec837d0ccb6301d7b5580bf5edae39...c771a70e6277c0a99b617c7a806ffedaca235ff9)

Updates `docker/setup-buildx-action` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5...bb05f3f5519dd87d3ba754cc423b652a5edd6d2c)

Updates `docker/login-action` from 4.2.0 to 4.5.1
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/650006c6eb7dba73a995cc03b0b2d7f5ca915bee...abd2ef45e78c5afb21d64d4ca52ee8550d9572c7)

Updates `docker/metadata-action` from 6.1.0 to 6.2.0
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](https://github.com/docker/metadata-action/compare/80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9...dc802804100637a589fabce1cb79ff13a1411302)

Updates `docker/build-push-action` from 7.2.0 to 7.3.0
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/f9f3042f7e2789586610d6e8b85c8f03e5195baf...53b7df96c91f9c12dcc8a07bcb9ccacbed38856a)

Updates `actions/setup-node` from 6.4.0 to 7.0.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e...820762786026740c76f36085b0efc47a31fe5020)

Updates `j178/prek-action` from 2.0.4 to 2.0.6
- [Release notes](https://github.com/j178/prek-action/releases)
- [Commits](https://github.com/j178/prek-action/compare/bdca6f102f98e2b4c7029491a53dfd366469e33d...5337cb91e0fa35a7ff31b9ca345126d8bbbcdf16)

Updates `lewagon/wait-on-check-action` from 1.8.0 to 1.8.1
- [Release notes](https://github.com/lewagon/wait-on-check-action/releases)
- [Changelog](https://github.com/lewagon/wait-on-check-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lewagon/wait-on-check-action/compare/96d9100b431964d10e0136aff8b9ccb92470505e...1d57e2c51a58d812d2765e036a028b6bdb5a6154)

Updates `release-drafter/release-drafter` from 7.5.1 to 7.6.0
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e...eada3c96a64734dd381cfbda23511034e328ddb0)

Updates `zizmorcore/zizmor-action` from 0.5.7 to 0.6.1
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases)
- [Commits](https://github.com/zizmorcore/zizmor-action/compare/192e21d79ab29983730a13d1382995c2307fbcaa...6fc4b006235f201fdab3722e17240ab420d580e5)

Updates `github/codeql-action/upload-sarif` from 4.36.2 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81)

Updates `github/codeql-action/init` from 4.36.2 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81)

Updates `github/codeql-action/analyze` from 4.36.2 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81)

Updates `crowdin/github-action` from 2.16.3 to 2.17.0
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/52aa776766211d83d975df51f3b9c53c2f8ba35f...c7af9bc98b01694653031fef2a0dc6c7888ce9bc)

Updates `actions/labeler` from 6.1.0 to 7.0.0
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/f27b608878404679385c85cfa523b85ccb86e213...bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13)

Updates `actions/stale` from 10.3.0 to 10.4.0
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899...1e223db275d687790206a7acac4d1a11bd6fe629)

Updates `stefanzweifel/git-auto-commit-action` from 7.1.0 to 7.2.0
- [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
- [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/04702edda442b2e678b25b537cec683a1493fcb9...4a55954c782fc1ea30b9056cd3e7a2b40ca8887d)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: actions/labeler
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/setup-node
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/setup-python
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/stale
  dependency-version: 10.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: astral-sh/setup-uv
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: crowdin/github-action
  dependency-version: 2.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: docker/build-push-action
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: docker/login-action
  dependency-version: 4.5.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: docker/metadata-action
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: dorny/paths-filter
  dependency-version: 4.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: github/codeql-action/upload-sarif
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: j178/prek-action
  dependency-version: 2.0.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: lewagon/wait-on-check-action
  dependency-version: 1.8.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: release-drafter/release-drafter
  dependency-version: 7.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: stefanzweifel/git-auto-commit-action
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: zizmorcore/zizmor-action
  dependency-version: 0.6.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
30 hours agodocker(deps): Bump astral-sh/uv (#13472)
dependabot[bot] [Sun, 2 Aug 2026 04:00:13 +0000 (04:00 +0000)] 
docker(deps): Bump astral-sh/uv (#13472)

Bumps [astral-sh/uv](https://github.com/astral-sh/uv) from 0.11.28-python3.12-trixie-slim to 0.11.32-python3.12-trixie-slim.
- [Release notes](https://github.com/astral-sh/uv/releases)
- [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/uv/compare/0.11.28...0.11.32)

---
updated-dependencies:
- dependency-name: astral-sh/uv
  dependency-version: 0.11.32-python3.12-trixie-slim
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
30 hours agoChore: Updates release drafter config to the new format (#13498)
Trenton H [Sun, 2 Aug 2026 03:50:20 +0000 (20:50 -0700)] 
Chore: Updates release drafter config to the new format (#13498)

30 hours agodocker-compose(deps): Bump nginx in /docker/compose (#13470)
dependabot[bot] [Sun, 2 Aug 2026 03:41:25 +0000 (03:41 +0000)] 
docker-compose(deps): Bump nginx in /docker/compose (#13470)

Bumps nginx from 1.31.2-alpine to 1.31.3-alpine.

---
updated-dependencies:
- dependency-name: nginx
  dependency-version: 1.31.3-alpine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
31 hours agodocker-compose(deps): Bump greenmail/standalone in /docker/compose (#13469)
dependabot[bot] [Sun, 2 Aug 2026 03:31:10 +0000 (03:31 +0000)] 
docker-compose(deps): Bump greenmail/standalone in /docker/compose (#13469)

Bumps greenmail/standalone from 2.1.9 to 2.1.11.

---
updated-dependencies:
- dependency-name: greenmail/standalone
  dependency-version: 2.1.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
35 hours agoAuto translate strings
GitHub Actions [Sat, 1 Aug 2026 23:27:09 +0000 (23:27 +0000)] 
Auto translate strings

35 hours agoChore(deps): Bump the frontend-angular-dependencies group across 1 directory with...
dependabot[bot] [Sat, 1 Aug 2026 23:25:12 +0000 (23:25 +0000)] 
Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 18 updates (#13476)

* Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 18 updates

Bumps the frontend-angular-dependencies group with 18 updates in the /src-ui directory:

| Package | From | To |
| --- | --- | --- |
| [@angular/cdk](https://github.com/angular/components) | `22.0.3` | `22.0.6` |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.5` | `22.0.8` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.5` | `22.0.8` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.5` | `22.0.8` |
| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.5` | `22.0.8` |
| [@angular/localize](https://github.com/angular/angular) | `22.0.5` | `22.0.8` |
| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.5` | `22.0.8` |
| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.5` | `22.0.8` |
| [@ng-select/ng-select](https://github.com/ng-select/ng-select) | `23.2.0` | `23.5.0` |
| [@angular-devkit/core](https://github.com/angular/angular-cli) | `22.0.5` | `22.0.8` |
| [@angular-devkit/schematics](https://github.com/angular/angular-cli) | `22.0.5` | `22.0.8` |
| [@angular-eslint/builder](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/builder) | `22.0.0` | `22.1.0` |
| [@angular-eslint/eslint-plugin](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin) | `22.0.0` | `22.1.0` |
| [@angular-eslint/eslint-plugin-template](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin-template) | `22.0.0` | `22.1.0` |
| [@angular-eslint/schematics](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/schematics) | `22.0.0` | `22.1.0` |
| [@angular-eslint/template-parser](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/template-parser) | `22.0.0` | `22.1.0` |
| [@angular/build](https://github.com/angular/angular-cli) | `22.0.5` | `22.0.8` |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.5` | `22.0.8` |

Updates `@angular/cdk` from 22.0.3 to 22.0.6
- [Release notes](https://github.com/angular/components/releases)
- [Changelog](https://github.com/angular/components/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/components/compare/v22.0.3...v22.0.6)

Updates `@angular/common` from 22.0.5 to 22.0.8
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/common)

Updates `@angular/compiler` from 22.0.5 to 22.0.8
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/compiler)

Updates `@angular/core` from 22.0.5 to 22.0.8
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/core)

Updates `@angular/forms` from 22.0.5 to 22.0.8
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/forms)

Updates `@angular/localize` from 22.0.5 to 22.0.8
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/compare/v22.0.5...v22.0.8)

Updates `@angular/platform-browser` from 22.0.5 to 22.0.8
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/platform-browser)

Updates `@angular/router` from 22.0.5 to 22.0.8
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/router)

Updates `@ng-select/ng-select` from 23.2.0 to 23.5.0
- [Release notes](https://github.com/ng-select/ng-select/releases)
- [Changelog](https://github.com/ng-select/ng-select/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ng-select/ng-select/compare/v23.2.0...v23.5.0)

Updates `@angular-devkit/core` from 22.0.5 to 22.0.8
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/v22.0.5...v22.0.8)

Updates `@angular-devkit/schematics` from 22.0.5 to 22.0.8
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/v22.0.5...v22.0.8)

Updates `@angular-eslint/builder` from 22.0.0 to 22.1.0
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases)
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/builder/CHANGELOG.md)
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/v22.1.0/packages/builder)

Updates `@angular-eslint/eslint-plugin` from 22.0.0 to 22.1.0
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases)
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/v22.1.0/packages/eslint-plugin)

Updates `@angular-eslint/eslint-plugin-template` from 22.0.0 to 22.1.0
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases)
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/CHANGELOG.md)
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/v22.1.0/packages/eslint-plugin-template)

Updates `@angular-eslint/schematics` from 22.0.0 to 22.1.0
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases)
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/schematics/CHANGELOG.md)
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/v22.1.0/packages/schematics)

Updates `@angular-eslint/template-parser` from 22.0.0 to 22.1.0
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases)
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/template-parser/CHANGELOG.md)
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/v22.1.0/packages/template-parser)

Updates `@angular/build` from 22.0.5 to 22.0.8
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/v22.0.5...v22.0.8)

Updates `@angular/compiler-cli` from 22.0.5 to 22.0.8
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/compiler-cli)

---
updated-dependencies:
- dependency-name: "@angular-devkit/core"
  dependency-version: 22.0.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular-devkit/schematics"
  dependency-version: 22.0.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular-eslint/builder"
  dependency-version: 22.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular-eslint/eslint-plugin"
  dependency-version: 22.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular-eslint/eslint-plugin-template"
  dependency-version: 22.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular-eslint/schematics"
  dependency-version: 22.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular-eslint/template-parser"
  dependency-version: 22.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular/build"
  dependency-version: 22.0.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular/cdk"
  dependency-version: 22.0.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular/common"
  dependency-version: 22.0.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular/compiler"
  dependency-version: 22.0.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular/compiler-cli"
  dependency-version: 22.0.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular/core"
  dependency-version: 22.0.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular/forms"
  dependency-version: 22.0.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular/localize"
  dependency-version: 22.0.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular/platform-browser"
  dependency-version: 22.0.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@angular/router"
  dependency-version: 22.0.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-angular-dependencies
- dependency-name: "@ng-select/ng-select"
  dependency-version: 23.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-angular-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
* More 21.1.x

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
35 hours agoChore(deps-dev): Bump @playwright/test from 1.61.1 to 1.62.0 in /src-ui (#13480)
dependabot[bot] [Sat, 1 Aug 2026 23:09:43 +0000 (16:09 -0700)] 
Chore(deps-dev): Bump @playwright/test from 1.61.1 to 1.62.0 in /src-ui (#13480)

* Chore(deps-dev): Bump @playwright/test from 1.61.1 to 1.62.0 in /src-ui

Bumps [@playwright/test](https://github.com/microsoft/playwright) from 1.61.1 to 1.62.0.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.61.1...v1.62.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-version: 1.62.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
* Bump Playwright CI container version

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
35 hours agoChore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with...
dependabot[bot] [Sat, 1 Aug 2026 23:02:54 +0000 (23:02 +0000)] 
Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates (#13477)

Bumps the frontend-eslint-dependencies group with 4 updates in the /src-ui directory: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser), [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) and [eslint](https://github.com/eslint/eslint).

Updates `@typescript-eslint/eslint-plugin` from 8.62.1 to 8.65.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.62.1 to 8.65.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/parser)

Updates `@typescript-eslint/utils` from 8.62.1 to 8.65.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/utils/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/utils)

Updates `eslint` from 10.6.0 to 10.8.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.6.0...v10.8.0)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.65.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-eslint-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.65.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-eslint-dependencies
- dependency-name: "@typescript-eslint/utils"
  dependency-version: 8.65.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-eslint-dependencies
- dependency-name: eslint
  dependency-version: 10.8.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-eslint-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
35 hours agoChore(deps-dev): Bump @types/node from 26.1.0 to 26.1.1 in /src-ui (#13479)
dependabot[bot] [Sat, 1 Aug 2026 22:50:19 +0000 (15:50 -0700)] 
Chore(deps-dev): Bump @types/node from 26.1.0 to 26.1.1 in /src-ui (#13479)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 26.1.0 to 26.1.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.1.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
36 hours agoChangelog v3.0.5 - GHA (#13492) main
github-actions[bot] [Sat, 1 Aug 2026 22:02:46 +0000 (15:02 -0700)] 
Changelog v3.0.5 - GHA (#13492)

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
37 hours agoBump version to 3.0.5 v3.0.5
shamoon [Sat, 1 Aug 2026 21:38:08 +0000 (14:38 -0700)] 
Bump version to 3.0.5

37 hours agoMerge branch 'dev'
shamoon [Sat, 1 Aug 2026 21:37:17 +0000 (14:37 -0700)] 
Merge branch 'dev'

37 hours agoNew Crowdin translations by GitHub Action (#13372)
github-actions[bot] [Sat, 1 Aug 2026 21:36:33 +0000 (14:36 -0700)] 
New Crowdin translations by GitHub Action (#13372)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
37 hours agoDocumentation: PAPERLESS_CONSUMER_IGNORE_PATTERNS clarifications (#13489)
shamoon [Sat, 1 Aug 2026 21:20:31 +0000 (14:20 -0700)] 
Documentation: PAPERLESS_CONSUMER_IGNORE_PATTERNS clarifications (#13489)

37 hours agoFix: accept Whoosh-era abbreviated relative-date units (yrs, mos, wks, etc) in search...
Trenton H [Sat, 1 Aug 2026 21:16:57 +0000 (14:16 -0700)] 
Fix: accept Whoosh-era abbreviated relative-date units (yrs, mos, wks, etc) in search queries (#13486)

38 hours agoAuto translate strings
GitHub Actions [Sat, 1 Aug 2026 20:33:37 +0000 (20:33 +0000)] 
Auto translate strings

38 hours agoFix: fix edit dialog error change detection (#13483)
shamoon [Sat, 1 Aug 2026 20:27:34 +0000 (13:27 -0700)] 
Fix: fix edit dialog error change detection (#13483)

44 hours agoPerf/fix: stop building a full-library IN filter for unrestricted RAG context (#13441)
Trenton H [Sat, 1 Aug 2026 14:20:30 +0000 (07:20 -0700)] 
Perf/fix: stop building a full-library IN filter for unrestricted RAG context (#13441)

get_context_for_document() always materialized every document id a user
can see into a Python list, even for a superuser (or no user at all),
passing it through as a SQL IN filter. For a superuser, that's the whole
library:

- Past ~32,763 documents, this crashes outright:
  sqlite3.OperationalError: too many SQL variables (SQLite's
  SQLITE_MAX_VARIABLE_NUMBER is 32766 by default, and the query already
  binds embedding + k + a NE self-exclusion clause alongside the ids).
- Below that cliff, vec0's IN-list evaluation is a nested loop (strncmp
  per row per allowed id), so it's quadratic in library size for no
  reason -- the filter was never going to exclude anything.

get_objects_for_user_owner_aware() already returns every Document for a
superuser (guardian's own with_superuser shortcut), so skipping straight
to document_ids=None changes nothing about which documents are
considered, only how we get there.

Also:
- Drop the pointless sorted() in _document_id_filters(): a SQL IN clause
  doesn't care about order, so it was pure overhead on every call.
- Add a hard guard in _build_where() so a future regression (or a
  legitimately huge permission-restricted user) fails closed -- no rows,
  a logged warning -- instead of a cryptic OperationalError. Since this
  filter scopes document access, failing closed rather than skipping the
  filter is the only safe way to handle an oversized list.

First item from VECTOR_STORE_PERF_BACKLOG.md (an audit done alongside
perf/13314-vecstore-point-delete, deferred to its own branch since that
one was already large).

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
44 hours agoFix: make LLM index migration-check result tri-state, avoid deferred-vs-current ambig...
Trenton H [Sat, 1 Aug 2026 14:20:29 +0000 (07:20 -0700)] 
Fix: make LLM index migration-check result tri-state, avoid deferred-vs-current ambiguity (#13436)

* Fix: make migration-check result tri-state to avoid deferred-vs-current ambiguity

* Test: cover update_llm_index()'s migration-check-deferred branch

* Refactor: rename COMPACT_BATCH_SIZE to BATCH_SIZE, no longer compact()-specific

44 hours agoFeature: vector store schema v2 document_chunks/document_meta side tables, INTEGER...
Trenton H [Sat, 1 Aug 2026 14:20:29 +0000 (07:20 -0700)] 
Feature: vector store schema v2 document_chunks/document_meta side tables, INTEGER document_id, point-delete (#13435)

* Feature: schema v2 -- document_chunks/document_meta side tables, document_id INTEGER, point-delete

Rewrites the sqlite-vec vector store's on-disk schema: document_id becomes
an INTEGER vec0 metadata column (was TEXT), modified moves out of vec0 into
a new document_meta side table, and a new document_chunks side table gives
O(1) per-document chunk lookup for delete/upsert instead of a full vec0
scan. compact() now streams document_chunks and document_meta across the
file-swap rebuild too (previously document_meta would have gone silently
empty after the first compaction). drop_table() clears both side tables.

Adds the single frozen m0001_v1_to_v2 migration, converting a real,
historically-shaped v1 store (the shape shipped since v3.0.0) into the v2
shape in one streaming pass, with its own hardcoded DDL rather than
delegating to any "current schema" helper.

SCHEMA_VERSION bumps 1 -> 2.

* Fix: strengthen two vacuous Task 4 regression tests

test_migration_never_delegates_to_current_schema_helpers never actually ran
the migration (missing check_and_run_migrations() call) and its source-text
assertion was tautological (the "or DROP TABLE in source" clause was always
true). Now runs the real migration and asserts spy call counts instead:
DocumentChunksTable.create/DocumentMetaTable.create are each called exactly
3 times (construction, rebuild temp file, post-swap reopen -- all via
_open_connection, never from inside apply()), and _create_vec_table is
never called from the migration path.

test_drop_table_clears_modified_times asserted via get_modified_times(),
which short-circuits on table_exists() -- checking only the vec0 table that
drop_table() drops first -- so the assertion held even if
DocumentMetaTable.delete_all() were never called. Now asserts directly
against document_meta and document_chunks row counts.

* Perf: dedupe table_exists() lookups, atomic insert counter, fewer connections in update_llm_index()

* Fix: guard compact() against unmigrated stores, apply final-review cleanups

compact() had no migration guard: on a v1-schema store, document_chunks
reads 0 (freshly created empty) while total_inserts reflects the real
cumulative count, so the bloat check nearly always rebuilt -- silently
losing document_meta (copy_all reads from the empty v1 table) while
schema_version copied across unchanged, leaving the store permanently
unmigratable. compact() now calls has_pending_migration() and no-ops with
a warning instead.

Also folds in five minor final-review findings: drop _rebuild_into's
unused int return, hoist test-local imports to module level in
test_vector_store.py, note in TestMigrations' docstring that its fake
structural migrations only exercise dispatch (not full schema
correctness), restore the comment explaining why _row() requires
document_id, and tighten increment_total_inserts' docstring to not imply
general concurrency safety beyond its single atomic statement.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
44 hours agoChore: Vector Store table-gateway module (document_chunks/document_meta/index_meta...
Trenton H [Sat, 1 Aug 2026 14:20:28 +0000 (07:20 -0700)] 
Chore: Vector Store table-gateway module (document_chunks/document_meta/index_meta) (#13428)

* Feature: add table-gateway module for document_chunks/document_meta/index_meta

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
* Fix: address code review feedback on table gateways

- Document sqlite3.Row row_factory precondition in module docstring
- Strengthen test_create_is_idempotent to verify populated table survives
- Collapse three roundtrip tests into one @pytest.mark.parametrize

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2 days agoRefactor: extract QuerySetStream, shared by search and LLM indexing (#13431)
Trenton H [Sat, 1 Aug 2026 04:07:26 +0000 (21:07 -0700)] 
Refactor: extract QuerySetStream, shared by search and LLM indexing (#13431)

2 days agoPerformance: sqlite-vec point-delete for document chunks (#13438)
Trenton H [Sat, 1 Aug 2026 02:10:59 +0000 (19:10 -0700)] 
Performance: sqlite-vec point-delete for document chunks (#13438)

* Refactor: extract migration infrastructure, add has_pending_migration() (#13410)

* Empty commit to try and get Codecov going

2 days agoAuto translate strings
GitHub Actions [Fri, 31 Jul 2026 16:15:05 +0000 (16:15 +0000)] 
Auto translate strings

2 days agoFix: key the AI suggestion cache by model and endpoint (#13449)
Matthias Breddin [Fri, 31 Jul 2026 16:13:22 +0000 (18:13 +0200)] 
Fix: key the AI suggestion cache by model and endpoint (#13449)

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2 days agoAuto translate strings
GitHub Actions [Fri, 31 Jul 2026 15:58:58 +0000 (15:58 +0000)] 
Auto translate strings

2 days agoFix: validate custom field values in bulk operations (#13457)
shamoon [Fri, 31 Jul 2026 15:57:17 +0000 (08:57 -0700)] 
Fix: validate custom field values in bulk operations (#13457)

2 days agoFixhancement: better handle empty fields from AI suggestions (#13454)
shamoon [Fri, 31 Jul 2026 15:19:22 +0000 (08:19 -0700)] 
Fixhancement: better handle empty fields from AI suggestions (#13454)

3 days agoChore: Drops the search shims (#13433)
Trenton H [Thu, 30 Jul 2026 21:18:35 +0000 (14:18 -0700)] 
Chore: Drops the search shims (#13433)

3 days agoPerformance: Use server side iterators during LLM index updating (#13430)
Trenton H [Thu, 30 Jul 2026 15:53:01 +0000 (08:53 -0700)] 
Performance: Use server side iterators during LLM index updating (#13430)

3 days agoAuto translate strings
GitHub Actions [Thu, 30 Jul 2026 14:39:47 +0000 (14:39 +0000)] 
Auto translate strings

3 days agoFix: normalize monetary decimal symbol by locale (#13427)
shamoon [Thu, 30 Jul 2026 14:37:52 +0000 (07:37 -0700)] 
Fix: normalize monetary decimal symbol by locale (#13427)

3 days agoFix: fold overflowing path text in sanity checker (#13426)
Trenton H [Thu, 30 Jul 2026 14:35:19 +0000 (07:35 -0700)] 
Fix: fold overflowing path text in sanity checker (#13426)

3 days agoFix: correct missing add field button for custom fields (#13424)
shamoon [Thu, 30 Jul 2026 14:16:25 +0000 (07:16 -0700)] 
Fix: correct missing add field button for custom fields (#13424)

3 days agoFix: hide attributes collapse / show button without UI settings (#13425)
shamoon [Thu, 30 Jul 2026 14:08:50 +0000 (07:08 -0700)] 
Fix: hide attributes collapse / show button without UI settings (#13425)

4 days agoFix: consolidate born-digital PDF detection between archive decision and OCR (#13409)
Trenton H [Wed, 29 Jul 2026 19:41:09 +0000 (12:41 -0700)] 
Fix: consolidate born-digital PDF detection between archive decision and OCR (#13409)

* Fix: unify born-digital PDF detection between archive decision and OCR

should_produce_archive() and RasterisedDocumentParser.parse() each
reimplemented the "does this PDF have real text" check independently,
using different normalization of pdftotext output. Raw pdftotext output
can be non-empty (whitespace/form-feed layout padding) even when there
is no real content, so the two checks could disagree: consumer.py
treated a tagged-but-textless PDF as born-digital and skipped the
archive, while the parser's own (stricter, normalized) check found no
text and ran OCR anyway, leaving the document with no archive despite
real OCR text (GH #13387).

Both call sites now share one predicate, pdf_born_digital_text() in
paperless/parsers/utils.py, so they can no longer drift apart.

* Fix: restore extract_text seam for born-digital detection in parse()

parse() had switched to calling pdf_born_digital_text() directly for
its initial text/born-digital check, bypassing the parser's own
extract_text instance method. That broke test mockability (tests patch
tesseract_parser.extract_text to control the born-digital decision)
and caused CI failures with mismatched OCR call counts and text.

Split pdf_born_digital_text() into is_born_digital_text(text, path,
log) - a pure decision function - and a thin pdf_born_digital_text()
wrapper for callers without text in hand (consumer.should_produce_archive).
parse() now extracts via self.extract_text(None, document_path) and
passes the result to is_born_digital_text(), restoring the seam with
no change to production behavior.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
* Cleanup: simplify born-digital detection, close #13387 test gap

Simplification pass over the born-digital detection consolidation:
- is_born_digital_text(): drop the has_text temp for an early return.
- consumer.py: standardize the archive-decision log lines on plain
  hyphens (was a mix of em-dash and hyphen) and hoist the duplicated
  text_length computation.
- Parametrize TestPdfBornDigitalText instead of four near-identical
  tests.

Code review follow-up: the existing tests only ever exercised
pdf_born_digital_text() through mocks, so the actual #13387 scenario
(a tagged PDF whose only "text" is layout padding) was never checked
against real pdftotext/pikepdf output - a regression in the
normalize-before-decide logic itself would have gone undetected.
Moved tagged_no_text_pdf_file from parsers/conftest.py up to the
shared paperless/tests/conftest.py (it was previously only visible to
tests under parsers/) and added a non-mocked regression test against
the real sample file.

Also fixed two stale comments in test_consumer.py referencing a
_extract_text_for_archive_check helper that no longer exists.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
4 days agoFix: prevent scale vs page loop in pngx PDF viewer (#13406)
shamoon [Wed, 29 Jul 2026 16:25:37 +0000 (09:25 -0700)] 
Fix: prevent scale vs page loop in pngx PDF viewer (#13406)

4 days agoFix: handle hidden line breaks in email subjects when sending email (#13402)
shamoon [Wed, 29 Jul 2026 14:35:30 +0000 (07:35 -0700)] 
Fix: handle hidden line breaks in email subjects when sending email (#13402)

4 days agoFix: avoid NotSupportedError from document_importer on MariaDB (#13400)
Trenton H [Wed, 29 Jul 2026 14:14:13 +0000 (07:14 -0700)] 
Fix: avoid NotSupportedError from document_importer on MariaDB (#13400)

5 days agoAuto translate strings
GitHub Actions [Tue, 28 Jul 2026 18:28:12 +0000 (18:28 +0000)] 
Auto translate strings

5 days agoTweak: adjust doc details button toolbar flow (#13382)
shamoon [Tue, 28 Jul 2026 18:26:37 +0000 (11:26 -0700)] 
Tweak: adjust doc details button toolbar flow (#13382)

5 days agoFix: exclude next-period start from relative date-range filters (#13381)
Trenton H [Tue, 28 Jul 2026 16:58:38 +0000 (09:58 -0700)] 
Fix: exclude next-period start from relative date-range filters (#13381)

* Fix: exclude next-period start from relative date-range filters

Tantivy's [lo TO hi] range is inclusive on both ends, but computed upper
bounds (keyword ranges, YYYY/YYYYMM/YYYYMMDD tokens) represent the start of
the next period. Use half-open [lo TO hi} for those so e.g. "previous month"
no longer matches the 1st of the current month.

* Adds a regression test down to the second check for the hi range

5 days agoDocumentation: Add Password Removal workflow action documentation (#13377)
Trenton H [Tue, 28 Jul 2026 16:21:14 +0000 (09:21 -0700)] 
Documentation: Add Password Removal workflow action documentation (#13377)

Addresses discussion #13373. Documents that password removal creates a
new document version via re-consumption of the decrypted file rather
than editing in place, and explains why the Consumption Started trigger
produces an initial un-OCR'd version followed by a properly processed
one.

5 days agoChore(deps): Bump pymdown-extensions in the uv group across 1 directory (#13378)
dependabot[bot] [Tue, 28 Jul 2026 15:29:20 +0000 (15:29 +0000)] 
Chore(deps): Bump pymdown-extensions in the uv group across 1 directory (#13378)

Bumps the uv group with 1 update in the / directory: [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions).

Updates `pymdown-extensions` from 10.21.3 to 11.0
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.21.3...11.0)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-version: '11.0'
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5 days agoFix: close non-atomic db connections in before_task_publish (#13366)
shamoon [Tue, 28 Jul 2026 14:21:02 +0000 (07:21 -0700)] 
Fix: close non-atomic db connections in before_task_publish (#13366)

6 days agoChore/fix: refactor frontend task service (#13365)
shamoon [Tue, 28 Jul 2026 07:34:30 +0000 (00:34 -0700)] 
Chore/fix: refactor frontend task service (#13365)

6 days agoFix: fix Enter selection in search autocomplete (#13361)
shamoon [Tue, 28 Jul 2026 06:33:13 +0000 (23:33 -0700)] 
Fix: fix Enter selection in search autocomplete (#13361)

6 days agoDocumentation: Add v3.0.4 changelog (#13356)
github-actions[bot] [Tue, 28 Jul 2026 04:21:10 +0000 (21:21 -0700)] 
Documentation: Add v3.0.4 changelog (#13356)

6 days agoBump version to 3.0.4 v3.0.4
shamoon [Tue, 28 Jul 2026 03:14:39 +0000 (20:14 -0700)] 
Bump version to 3.0.4

6 days agoMerge branch 'dev'
shamoon [Tue, 28 Jul 2026 03:14:04 +0000 (20:14 -0700)] 
Merge branch 'dev'

6 days agoNew Crowdin translations by GitHub Action (#13308)
github-actions[bot] [Tue, 28 Jul 2026 03:12:46 +0000 (20:12 -0700)] 
New Crowdin translations by GitHub Action (#13308)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
6 days agoAuto translate strings
GitHub Actions [Tue, 28 Jul 2026 00:27:34 +0000 (00:27 +0000)] 
Auto translate strings

6 days agoFix: prevent pdfjs highlight scrolling from affecting the entire page (#13355)
shamoon [Tue, 28 Jul 2026 00:25:52 +0000 (17:25 -0700)] 
Fix: prevent pdfjs highlight scrolling from affecting the entire page (#13355)

6 days agoFix: don't skip OCR/archive for tagged PDFs with no actual text (#13351)
Trenton H [Mon, 27 Jul 2026 23:52:29 +0000 (16:52 -0700)] 
Fix: don't skip OCR/archive for tagged PDFs with no actual text (#13351)

6 days agoPerformance: more performant filtering diacritic normalization (#13347)
shamoon [Mon, 27 Jul 2026 22:13:16 +0000 (15:13 -0700)] 
Performance: more performant filtering diacritic normalization (#13347)

6 days agoPerf: prefetch notes and custom fields for LLM index text building (#13350)
Trenton H [Mon, 27 Jul 2026 21:50:37 +0000 (14:50 -0700)] 
Perf: prefetch notes and custom fields for LLM index text building (#13350)

build_llm_index_text queried Note and CustomFieldInstance (plus its
field FK) per document, uncovered by the earlier correspondent/type/
storage_path/tags prefetch fix. Add notes and custom_fields__field to
the rebuild and scoped document querysets, and read from doc.notes.all()
instead of a fresh Note.objects.filter() so the prefetch is actually used.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
6 days agoAuto translate strings
GitHub Actions [Mon, 27 Jul 2026 19:35:15 +0000 (19:35 +0000)] 
Auto translate strings

6 days agoFix: dedupe permission-visible documents when combined with multi-tag ALL filtering...
Trenton H [Mon, 27 Jul 2026 19:33:26 +0000 (12:33 -0700)] 
Fix: dedupe permission-visible documents when combined with multi-tag ALL filtering (#13331) (#13345)

The permission filter OR'd three querysets together on top of a
queryset that could already carry two independent tags__id__all
joins, letting a document that matched more than one branch (e.g.
unowned + group-permissioned) come back twice. Replaced it with a
single id__in filter against the existing permitted_document_ids
helper, which is join-free and can't hit this.

6 days agoPerformance: Scope llm index updates to actually modified documents (#13322)
Trenton H [Mon, 27 Jul 2026 17:23:43 +0000 (10:23 -0700)] 
Performance: Scope llm index updates to actually modified documents (#13322)

* Perf: scope bulk_update_documents' LLM index refresh to the edited document ids instead of the whole library

* Perf: select_related/prefetch_related for the scoped LLM index batch

* Perf: select_related/prefetch_related for the full LLM index rebuild path

* Fix: address Copilot review findings on LLM index scoping

6 days agoAuto translate strings
GitHub Actions [Mon, 27 Jul 2026 16:53:33 +0000 (16:53 +0000)] 
Auto translate strings

6 days agoFixhancement: pass LLM output language to chat if specified (#13340)
shamoon [Mon, 27 Jul 2026 16:51:31 +0000 (09:51 -0700)] 
Fixhancement: pass LLM output language to chat if specified (#13340)

6 days agoDocumentation: fix PAPERLESS_AI_LLM_OUTPUT_LANGUAGE heading level (#13341)
Sandro [Mon, 27 Jul 2026 16:37:09 +0000 (18:37 +0200)] 
Documentation: fix PAPERLESS_AI_LLM_OUTPUT_LANGUAGE heading level (#13341)

7 days agoChore: resolve npm provenance issues with chokidar and semver (#13323)
shamoon [Sun, 26 Jul 2026 23:25:49 +0000 (16:25 -0700)] 
Chore: resolve npm provenance issues with chokidar and semver (#13323)

7 days agoAuto translate strings
GitHub Actions [Sun, 26 Jul 2026 22:38:16 +0000 (22:38 +0000)] 
Auto translate strings

7 days agoFix: ensure preview reload on live changes (#13321)
shamoon [Sun, 26 Jul 2026 22:36:03 +0000 (15:36 -0700)] 
Fix: ensure preview reload on live changes (#13321)

7 days agoFix: clamp out-of-range MailRule.order and ApplicationConfiguration DPI/page fields...
Trenton H [Sun, 26 Jul 2026 22:11:27 +0000 (15:11 -0700)] 
Fix: clamp out-of-range MailRule.order and ApplicationConfiguration DPI/page fields before smallint migration (#13316)

7 days agoFix: add docstring to DocumentClassifierSchema for cleaner LLM tool description ...
Trenton H [Sun, 26 Jul 2026 22:00:06 +0000 (15:00 -0700)] 
Fix: add docstring to DocumentClassifierSchema for cleaner LLM tool description (#13315)

7 days agoFix: guard build_document_node against stale FK on deleted correspondent/doc type...
Trenton H [Sun, 26 Jul 2026 21:45:59 +0000 (14:45 -0700)] 
Fix: guard build_document_node against stale FK on deleted correspondent/doc type (#13318)

7 days agoFix: prevent search filter loss when closing document with Escape key (#13317)
shamoon [Sun, 26 Jul 2026 21:17:26 +0000 (14:17 -0700)] 
Fix: prevent search filter loss when closing document with Escape key (#13317)

8 days agoFix: fix frontend permissions display for stats/system perms (#13305)
shamoon [Sun, 26 Jul 2026 09:56:06 +0000 (02:56 -0700)] 
Fix: fix frontend permissions display for stats/system perms (#13305)

8 days agoDocumentation: Add v3.0.3 changelog (#13300)
github-actions[bot] [Sun, 26 Jul 2026 01:57:03 +0000 (18:57 -0700)] 
Documentation: Add v3.0.3 changelog (#13300)

* Changelog v3.0.3 - GHA

* Update changelog.md

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
8 days agoBump version to 3.0.3 v3.0.3
shamoon [Sat, 25 Jul 2026 23:32:39 +0000 (16:32 -0700)] 
Bump version to 3.0.3

8 days agoNew Crowdin translations by GitHub Action (#13297)
github-actions[bot] [Sat, 25 Jul 2026 23:31:40 +0000 (16:31 -0700)] 
New Crowdin translations by GitHub Action (#13297)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
8 days agoNew Crowdin translations by GitHub Action (#13239)
github-actions[bot] [Sat, 25 Jul 2026 23:30:17 +0000 (16:30 -0700)] 
New Crowdin translations by GitHub Action (#13239)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
8 days agoDocs: warn bare-metal users about stale files when upgrading (#13296)
Trenton H [Sat, 25 Jul 2026 21:06:31 +0000 (14:06 -0700)] 
Docs: warn bare-metal users about stale files when upgrading (#13296)

8 days agoTweak: use css grid for navbar
shamoon [Sat, 25 Jul 2026 16:13:34 +0000 (09:13 -0700)] 
Tweak: use css grid for navbar

9 days agoAuto translate strings
GitHub Actions [Sat, 25 Jul 2026 07:13:46 +0000 (07:13 +0000)] 
Auto translate strings

9 days agoFixhancement: PAPERLESS_ALLAUTH_TRUSTED_PROXY_COUNT (#13281)
shamoon [Sat, 25 Jul 2026 07:12:12 +0000 (00:12 -0700)] 
Fixhancement: PAPERLESS_ALLAUTH_TRUSTED_PROXY_COUNT (#13281)

9 days agoTweak: adjust top navbar wrapping when AI chat button visible (#13280)
shamoon [Sat, 25 Jul 2026 06:50:10 +0000 (23:50 -0700)] 
Tweak: adjust top navbar wrapping when AI chat button visible (#13280)

9 days agoMerge branch 'main' into dev
shamoon [Sat, 25 Jul 2026 02:08:23 +0000 (19:08 -0700)] 
Merge branch 'main' into dev

9 days agoFix: preserve document fields during Gotenberg conversion (#13271)
Trenton H [Fri, 24 Jul 2026 20:59:51 +0000 (13:59 -0700)] 
Fix: preserve document fields during Gotenberg conversion (#13271)

Gotenberg's LibreOffice route enables updateIndexes by default, which refreshes dynamic fields (e.g. auto-dates) to the current date. Disable it so field values are preserved as authored.

9 days agoDocumentation: Add the NumPy CPU baseline increase to the migration guide (#13269)
Trenton H [Fri, 24 Jul 2026 16:18:07 +0000 (09:18 -0700)] 
Documentation: Add the NumPy CPU baseline increase to the migration guide (#13269)

9 days agoFix: Makes the email date aware as soon as possible during parsing (#13266)
Trenton H [Fri, 24 Jul 2026 15:39:25 +0000 (08:39 -0700)] 
Fix: Makes the email date aware as soon as possible during parsing (#13266)

9 days agoFix: Handle a plain string as Celery sometimes provides for the traceback (#13267)
Trenton H [Fri, 24 Jul 2026 15:27:57 +0000 (08:27 -0700)] 
Fix: Handle a plain string as Celery sometimes provides for the traceback (#13267)

9 days agoFix: Emit the torch index into the requirements.txt for people still using it (#13265)
Trenton H [Fri, 24 Jul 2026 15:07:52 +0000 (08:07 -0700)] 
Fix: Emit the torch index into the requirements.txt for people still using it (#13265)

9 days agoFix: handle notes without a user when building the search index (#13260)
Matthias Mast [Fri, 24 Jul 2026 13:39:11 +0000 (15:39 +0200)] 
Fix: handle notes without a user when building the search index (#13260)

10 days agoChangelog v3.0.2 - GHA (#13244)
github-actions[bot] [Fri, 24 Jul 2026 01:56:06 +0000 (18:56 -0700)] 
Changelog v3.0.2 - GHA (#13244)

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
10 days agoMerge branch 'dev'
shamoon [Fri, 24 Jul 2026 01:13:49 +0000 (18:13 -0700)] 
Merge branch 'dev'

10 days agoBump version to 3.0.2 v3.0.2
shamoon [Fri, 24 Jul 2026 01:12:59 +0000 (18:12 -0700)] 
Bump version to 3.0.2

10 days agoChangelog v3.0.1 - GHA (#13240)
github-actions[bot] [Fri, 24 Jul 2026 00:59:34 +0000 (17:59 -0700)] 
Changelog v3.0.1 - GHA (#13240)

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
10 days agoFix: fix broken migration in 3.0.1 (#13242)
shamoon [Fri, 24 Jul 2026 00:59:03 +0000 (17:59 -0700)] 
Fix: fix broken migration in 3.0.1 (#13242)

10 days agoBumps the version to 3.0.1 everywhere v3.0.1
stumpylog [Thu, 23 Jul 2026 22:59:53 +0000 (15:59 -0700)] 
Bumps the version to 3.0.1 everywhere

10 days agoMerge remote-tracking branch 'origin/dev'
stumpylog [Thu, 23 Jul 2026 22:55:41 +0000 (15:55 -0700)] 
Merge remote-tracking branch 'origin/dev'

10 days agoNew Crowdin translations by GitHub Action (#13207)
github-actions[bot] [Thu, 23 Jul 2026 22:54:05 +0000 (15:54 -0700)] 
New Crowdin translations by GitHub Action (#13207)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
10 days agoChore(deps-dev): Bump postcss (#13236)
dependabot[bot] [Thu, 23 Jul 2026 20:21:15 +0000 (20:21 +0000)] 
Chore(deps-dev): Bump postcss (#13236)

Bumps the npm_and_yarn group with 1 update in the /src/paperless_mail/templates directory: [postcss](https://github.com/postcss/postcss).

Updates `postcss` from 8.5.6 to 8.5.22
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.6...8.5.22)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.22
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
10 days agoAuto translate strings
GitHub Actions [Thu, 23 Jul 2026 19:22:48 +0000 (19:22 +0000)] 
Auto translate strings

10 days agoFix: selection_data re-derives the filtered document set 5 times over (#13229)
Trenton H [Thu, 23 Jul 2026 19:21:20 +0000 (12:21 -0700)] 
Fix: selection_data re-derives the filtered document set 5 times over (#13229)

* Fix: selection_data re-derives the filtered document set 5 times over

_get_selection_data_for_queryset() (powers ?include_selection_data=true on
the document list and search endpoints) computed document_count for
Correspondent/DocumentType/StoragePath/Tag/CustomField by embedding the
caller's full filtered queryset -- filters plus the permission check -- as
a subquery inside 5 separate Count(filter=Q(documents__in=queryset), ...)
calls. Each one re-evaluates that whole queryset from scratch.

Resolve the document ids once into a concrete list and reuse it across all
five annotations instead. For Tag/CustomField specifically (M2M via a
through-model table), also route through annotate_document_count_by_ids()
-- extracted from the tag/custom-field document_count fix (#13203) -- to
avoid the same Count(filter=Q(id__in=...), distinct=True)-on-an-M2M-relation
anti-pattern diagnosed there.

On a 400k-document/1,000-tag corpus, the correspondents portion alone
previously didn't finish within several minutes (killed twice while
investigating, including one run that left a zombie query still consuming
a CPU 30+ minutes later). All five queries together now complete in
~30-35s. Root-caused from a real report (paperless-ngx#13201) via a
different, already-fixed query (#13205) -- this one hasn't been reported
in the wild yet, found by auditing the same call path.

Depends on #13203 for annotate_document_count_by_ids().

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
* Address review feedback: drop unnecessary ordering before collecting ids

queryset passed into _get_selection_data_for_queryset() carries the
default/user-specified ordering, which is irrelevant once we're only
collecting a flat id list. Clearing it removes a pointless sort.

No measurable change in benchmarking at 400k documents -- the id-list
materialization/IN-clause cost still dominates -- but it's a free,
strictly-correct cleanup, not just noise-neutral in the other direction.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
10 days agoAuto translate strings
GitHub Actions [Thu, 23 Jul 2026 18:43:46 +0000 (18:43 +0000)] 
Auto translate strings