1.11.0¶
Released: 2026-06-13
Highlights¶
- Attach free-form notes to records — starting with the item catalog.
- Items now track a manufacture date and expiration date.
Added¶
- Notes — a new polymorphic resource that links a note to any entity via
(entityType, entityId). Full CRUD:createNote,updateNote,deleteNote,notesForEntity,note. Guarded by the newNOTESRBAC path. The first consumer is the item catalog (SourceType.ITEMS). See Notes & Item Lifecycle Dates. - Item lifecycle dates —
Item.manufactureDateandItem.expirationDate(nullableDate), settable onItemInput, exposed onItem/ItemLite, and returned by the items landing page (ItemLandingPage).
Changed¶
PathandResourceenums gain aNOTESmember; medical tenants' default path set now includesNOTES.
Fixed¶
- None.
Migrations¶
add_notes_table(down_revision = add_parent_id_to_exp_categories) — creates thenotestable and the(entity_type, entity_id)index.add_dates_to_items(down_revision = add_notes_table) — addsitems.manufacture_dateanditems.expiration_date.- One-off script:
uv run python scripts/backfill_new_path_permissions.pybackfillsPathPermission(can_view=True)rows forPath.NOTESon existing tenants.
Frontend impact¶
- Item detail screens can render a notes panel:
notesForEntity(entityType: ITEMS, entityId: <itemId>)to list, andcreateNote/updateNote/deleteNotewithNoteInput.entityType = ITEMS,entityId = <itemId>to mutate. ItemInputaccepts optionalmanufactureDateandexpirationDate(ISODate);Item/ItemLiteexpose both (nullable).
Versioning notes¶
- Bumped with
uv run python scripts/bump_version.py 1.11.0 --changelog-stub. - Additive schema only — no breaking changes. Run the path-permission backfill
after deploy so existing tenants gain the
NOTESpermission.