Changelog
What shipped,
and what it changed.
Every release, with the reasoning where the reasoning matters. Breaking changes are called out before anything else.
v1.2.0
Workflow approvals and a real conflict choice
Human-in-the-loop steps became first class: an approvals queue, notes attached to blocks, and a conflict dialog that shows both versions instead of picking one.
- AddedApprovals queue with per-reviewer assignment and comment threads.
- AddedNotes on individual workflow blocks, preserved in run history.
- ChangedSave conflicts now present both versions and let the editor choose, rather than resolving last-write-wins silently.
- FixedWorkflow runs resumed after a deploy no longer replay their final step.
v1.1.0
Cross-organization sharing
Brokers can share a submission with a funder without either side leaving their own tenant. Shares are explicit, notified, and revocable.
- AddedShare a submission with another organization, with scoped read access.
- AddedNotifications filed against the recipient tenant, so the people the share is for can actually see it.
- AddedDiff view for shared submissions updated after the share.
- FixedRevoking a share now also revokes in-flight download links.
v1.0.0
First stable release
The API surface is now covered by semantic versioning. Parser output schemas are pinned per version, so upgrades cannot silently reshape your data.
- AddedVersioned parser schemas, pinned per release.
- AddedGo SDK reaches parity with Python and Node.
- ChangedBreaking: `POST /v1/documents` is now `POST /v1/intake`. The old path redirects and will be removed in 2.0.
- FixedGo SDK pagination read the wrong cursor key and stopped after page one.
v0.9.0
MCP server, redesigned
The generated 210-tool server was replaced with 14 hand-designed tools built around intent. Task completion went from 61% to 94% on our evaluation set.
- Added14 intent-shaped MCP tools with computed summaries instead of raw payloads.
- AddedRead-only default, with writes gated behind an explicit key scope.
- ChangedParsed document content is returned in a delimited block flagged as untrusted input.
Every commit,
in the open.
The changelog summarises. The repository has the diffs, the reasoning in the commit messages, and the issues behind them.