V 1.1.2 (2026-10-22)
Added
Full-text search on Postgres: search_vector columns, GIN indexes and triggers on nodes and agents. Attachment text is included when the institution has index_attachment_text turned on.
flask reindex-search [--institution-id N] command.
CoercingRequest: numeric string IDs in JSON bodies are converted to integers.
Agent.primary_identifier property.
Changed
Database driver switched to psycopg 3 (psycopg[binary]), the default in SQLAlchemy 2.1.
OCR and Whisper no longer reindex nodes themselves; the database triggers do it.
Fixed
Attachment-text search could return results from other institutions.
Node creation failed when hierarchy_type_id was sent as a string.
Node agent list, publishing and export crashed on the removed Agent.identifier column.
Search: wrong table name, enum filters, tag filter that always matched, and the agent identifier search.
OCR and Whisper results could be silently rolled back after a failed reindex.