TerminusDB 12.0.5 adds per-commit diffs and streaming to the document history endpoint, so you can audit how a record changed over time. It was released on 26 March 2026.
- History diffs and streaming — see what changed per commit, streamed as it is computed.
group_byon more types — group results on compound values, not just scalars.merge_repeatson update — the insert-time merge flag now also works onPUT.
History diffs and streaming
What it does
GET /api/history/<path> gained two options:
diff=true— each history entry includes the structural diff of that commit against the previous one, so you can see exactly which fields changed and when.streaming=true— history is returned as a chunked NDJSON stream instead of one JSON response, so long histories start arriving immediately.
curl -u admin:root \
"http://localhost:6363/api/history/admin/db?diff=true&streaming=true&id=Person/Jane"There is also a fast option that works on enterprise-enriched TerminusDB databases that make these lookups over time much faster, but also takes up more storage space.
Why it matters
The streaming history endpoint is now much more efficient for large histories, and you don't have to wait for the delivery of all results, and the diff in each version is computed on the fly so that it's possible to reconstruct every version on the client side.
The Group By feature enables all sorts of items to be grouped by which were not possible to group on before in WOQL.
Read more: Audit a database's history · Time travel how-to
group_by on more types
group_by in WOQL now works on compound values — for example dictionaries and other non-scalar terms — because the internal unliterally conversion was extended to handle them. Queries that previously failed or had to be restructured now group directly.
Read more: WOQL group_by · Grouping results
merge_repeats on update
The merge_repeats flag (introduced in 11.1.2) merges repeated inserts for the same @id into one document. It now also applies on document interface update (PUT), not only on insert.
Fixes
- Auto-optimizer now only runs on write and when the database has a parent (#2400)
- Fixed a race condition: operations on a database still being created are now rejected (#2407)
Upgrade
docker pull terminusdb/terminusdb-server:v12.0.5No data migration is needed. Docker install guide · Full changelog on GitHub
Previous: TerminusDB 12.0.4: Fast Range Queries and Interval Algebra · Next: TerminusDB 12.0.6: Shared Documents and Handlebars Text Rendering · TerminusDB 12.0 changelog · Release index