Skip to content

v3.1.1

Choose a tag to compare

@readur-release-please readur-release-please released this 03 Nov 20:02
83e5937

3.1.1 (2026-11-03)

Bug Fixes

  • ci: build leptonica-sys bindings against leptonica 1.86 on ubuntu-26.04 (83ac6e6)
  • ci: get main green again (file-length ratchet, stale TS bindings) (0f1047f)
  • ci: get main green again (file-length ratchet, stale TS bindings) (e69b09a)
  • ci: keep formatters off generated TS bindings; restore ts-rs Label.ts (013944d)
  • db: strip U+0000 from every text/JSON bind in one place (64e8a38)
  • db: strip U+0000 from every text/JSON bind in one place (bcee4a6), closes #901
  • docs: unblock the docs build (MkDocs-2 notice, pip cache poisoning) (3762904)
  • docs: unblock the docs build (MkDocs-2 notice, pip cache poisoning) (e2df3a3)
  • ocr: honour CONCURRENT_OCR_JOBS for the OCR worker (3c52429)
  • ocr: honour CONCURRENT_OCR_JOBS for the OCR worker (3142619)
  • ocr: sanitize the OCR queue's error and processed-image binds (e3323e9), closes #901
  • ocr: stop skipping pages 1-9 when OCRing PDFs with 10+ pages (f53861e)
  • ocr: stop skipping pages 1-9 when OCRing PDFs with 10+ pages (3e5c9e4), closes #980
  • render multipage PDF thumbnails without padded suffixes (e63a660)
  • render multipage PDF thumbnails without padded suffixes (de37446)
  • renovate: follow home-operations preset repo rename; inline local policy (ee988ce)
  • renovate: follow home-operations preset repo rename; inline local policy (4fdc5ee), closes #986
  • security: resolve open CodeQL alerts in workflows and OCR retry stats (33a2d2c)
  • security: resolve open CodeQL alerts in workflows and OCR retry stats (5a4a364)

Documentation

  • point dev guides at the paths that exist now (74a4abe)

Styles

  • ocr: rustfmt the touched ocr modules (format on touch) (655e12a)

Tests

  • postgres:18 and per-test databases cloned from a migrated template (fed7f60)
  • postgres:18 and per-test databases cloned from a migrated template (08fe6b4)
  • test_helpers' database helpers also clone the template (ef1fe5b)
  • webdav: expect U+0000 stripped from stored etags (18482c8), closes #901

Build System

  • deps: testcontainers 0.27 and testcontainers-modules 0.15 (349f1b9)

Continuous Integration

  • docs: skip the Cloudflare preview deploy on fork PRs (3466ad0)
  • docs: skip the Cloudflare preview deploy on fork PRs (5c8b341)

Miscellaneous Chores

  • container: Update image sigoden/dufs (v0.46.0 ➔ v0.47.0) (#996) (d969e71)
  • db: remove uncompiled src/db_guardrails.rs (8336434), closes #901
  • deps: Lock file maintenance (npm) (#883) (77cc810)
  • github-action: Update github-actions (#862) (6c237f4)
  • github-action: Update github-actions (#960) (401fdd4)
  • helm: Update chart common (4.6.2 ➔ 5.3.0) (#675) (39cc346)
  • mise: Update mise tools (#968) (0115b14)
  • mise: Update tool node (24.21.0 ➔ v24.22.2) (#919) (058368a)
  • mise: Update tool node (24.22.2 ➔ v26.13.0) (#985) (3bba8bd)
  • mise: Update tool rust (e66a20a)
  • mise: Update tool rust (aa26a98)
  • npm: Update dependency @playwright/test (1.64.0 ➔ 1.64.1) (#974) (e984510)
  • npm: Update dependency @testing-library/jest-dom (6.9.1 ➔ 7.0.1) (#791) (63f6454)
  • npm: Update dependency @testing-library/user-event (14.6.7 ➔ 14.6.8) (#969) (01dbf4c)
  • npm: Update dependency @vitejs/plugin-react (5.2.0 ➔ 6.2.1) (#588) (887a5c8)
  • npm: Update dependency axios (1.15.0 ➔ 1.21.0) (#847) (120c989)
  • npm: Update dependency i18next (25.10.10 ➔ 26.7.1) (#618) (6b89462)
  • npm: Update dependency i18next-browser-languagedetector (8.2.1 ➔ 8.2.4) (#983) (a81c0cf)
  • npm: Update dependency i18next-http-backend (3.0.6 ➔ 4.0.9) (#674) (e3d6df4)
  • npm: Update dependency jsdom (29.1.1 ➔ 30.1.3) (#807) (024e951)
  • npm: Update dependency lucide-react (1.55.0 ➔ 1.65.0) (#971) (a16abfe)
  • npm: Update dependency lucide-react (1.66.0 ➔ 1.66.0) (#1013) (203ded9)
  • npm: Update dependency react-aria-components (1.21.1 ➔ 1.22.1) (#950) (0049692)
  • npm: Update dependency react-dropzone (15.0.0 ➔ 20.1.4) (#815) (c45cd56)
  • npm: Update dependency react-i18next (16.6.6 ➔ 17.1.11) (#617) (a78f5a0)
  • npm: Update dependency react-router-dom (7.18.4 ➔ 7.18.5) (#995) (709bcac)
  • npm: Update dependency typescript (5.9.3 ➔ 7.0.2) (#757) (fe9c94e)
  • npm: Update dependency uuid (13.0.2 ➔ 14.0.3) (#652) (e4fd93f)
  • npm: Update dependency vite (7.3.7 ➔ 8.3.5) (#589) (b61dc15)
  • npm: Update react monorepo (19.3.0 ➔ 19.3.1) (#976) (c13d3ea)
  • npm: Update vitest monorepo (3.2.7 ➔ 5.1.0) (#16) (ed7fe11)
  • renovate: group testcontainers with testcontainers-modules (fc00821)
  • renovate: group testcontainers with testcontainers-modules (728ee7b)
  • rust: Update aws-sdk-rust monorepo (#981) (94b5e38)
  • rust: Update crate imageproc (0.25.1 ➔ 0.27.0) (#997) (7cadb16)
  • rust: Update crate jsonwebtoken (9.3.1 ➔ 11.1.0) (#804) (91a2a6c)
  • rust: Update crate libc (0.2.189 ➔ 0.2.191) (#1009) (a45c225)
  • rust: Update crate notify (8.2.0 ➔ 8.2.1) (#984) (3586079)
  • rust: Update crate quick-xml (0.37.5 ➔ 0.42.0) (#998) (0d3a049)
  • rust: Update crate rand (0.9.5 ➔ 0.10.3) (#999) (3167e40)
  • rust: Update crate reqwest (0.12.28 ➔ 0.13.5) (#1000) (a1030f2)
  • rust: Update crate rust_xlsxwriter (0.99.1 ➔ 0.102.0) (#1001) (ecda56b)
  • rust: Update crate serde_json (1.0.152 ➔ 1.0.154) (#965) (7b68647)
  • rust: Update crate sha2 (0.10.9 ➔ 0.11.1) (#1002) (179c785)
  • rust: Update crate sha2 (0.11.0 ➔ 0.11.1) (#1007) (b1b2393)
  • rust: Update crate sqlx (0.8.6 ➔ 0.9.0) (#1003) (92ca0be)
  • rust: Update crate sysinfo (0.39.6 ➔ 0.40.1) (#1004) (ca4f7d6)
  • rust: Update crate tokio (1.53.2 ➔ 1.54.1) (#972) (4f70820)
  • rust: Update crate uuid (1.28.0 ➔ 1.29.0) (#982) (5381a23)
  • rust: Update crate zip (8.6.0 ➔ 9.2.2) (#946) (84cb6be)
  • rust: Update utoipa monorepo (#908) (e7146e5)