Skip to content

v1.1.0

Choose a tag to compare

@knows-cloud knows-cloud released this 16 Jul 15:11
· 109 commits to main since this release
37f7015

Minor release. Two behaviour fixes worth reading before you upgrade, plus dependency maintenance.

Fixes

Entity creation is now gated per entity type (#97)

Previously, create_missing was a single flag OR-ed across the three creation policies and then applied to every entity type. Setting allow_new on tags alone also silently created correspondents, document types and storage paths — defeating an explicit existing_only on each of them.

Each type is now gated on its own policy:

Config Created before Created now
tags=allow_new, rest existing_only tags, correspondents, document types, storage paths tags only
all existing_only nothing nothing
all allow_new all four all four

Upgrade note: if you were relying (knowingly or not) on allow_new on one type creating the others, that no longer happens. Set allow_new explicitly on each type you want created.

Also in #97:

  • New setting: storage_path_creation_policy (default existing_only, env PIQ_STORAGE_PATH_CREATION_POLICY). Storage paths previously had no policy at all and were created unconditionally whenever any other type allowed it.
  • Bulk-approve now creates entities, matching single-approve. It previously omitted the flag entirely and silently dropped new tags — the same suggestion behaved differently depending on which button you clicked. Bulk-approve also records the acting user now.
  • Auto-applied changes are audited as change_source=automation, not human. Unattended writes were previously indistinguishable from reviewed ones in the audit log. Filter the Audit page by automation to see exactly what auto-apply did on your behalf.
  • Removed a dead create_entity() method that could create entities from the analyze-time client.

Documented as D-25 in docs/DECISIONS.md.

Grooming description editor showed stale text (#98)

In Grooming → Descriptions, selecting an entity and running Generate left the editor showing the pre-generation description. The freshly generated text was fetched but never rendered until you clicked away and back.

The editor now re-syncs when the description actually changes, while still not clobbering an unsaved edit on an unrelated refresh. Also fixed: switching entity type mid-generation reloaded the previous type's entities.

Frontend lint is now enforced at --max-warnings=0. eslint src exits 0 on warnings-only, so the gate had been advisory — which is why the editor bug sat reported-but-unfixed for weeks.

Dependencies

fastapi 0.139.0 · uvicorn 0.51.0 · anthropic 0.116.0 · openai 2.45.0 · boto3 1.43.46 · pypdfium2 5.11.0 · croniter 6.2.4 · @mantine/core 9.4.1 · i18next 26.3.6 · react-i18next 17.0.9 · typescript-eslint 8.63.0 · ruff 0.15.21 · hypothesis 6.156.6

Images

ghcr.io/knows-cloud/paperless-iq:1.1.0
ghcr.io/knows-cloud/paperless-iq:1.1
ghcr.io/knows-cloud/paperless-iq:latest

Full changelog: 92a6cd2...v1.1.0