skip to content
donmai
doc d-002 · donmai changelog · rev 2026-07-18sha256:9f2b…0f15

00 · releases

Release notes are the marketing.

One entry per release since v0.9.0, newest first, each linked to its tag on GitHub; earlier releases predate the donmai name, full history on GitHub. donmai is 0.x preview; APIs may change between minor releases.

nodes seeded by sha256(release tag) · deterministic render · current node pulses ten cycles, then rests

  1. v0.40.0 ·

    Host-watch fleet dashboard and vendor kit trust root

    The local-stream fleet dashboard engine is restored and generalized as hostwatch: the daemon now streams live worker-fleet state over a local SSE channel, reviving the in-process fleet monitor with a first-class SessionHandle abstraction that enriches daemon session records with structured lifecycle events.

    Kit trust gains a vendor trust root and a default issuerSet for official signed kits, so the daemon ships a sensible out-of-the-box allowlist for vendor-signed kits without requiring operators to configure one from scratch.

    rec v0.40.0 ▸ seed sha256:39bc…3bea release notes ↗

  2. v0.39.0 ·

    Kit installs default to signed-by-allowlist

    Breaking:the daemon’s kit trust gate no longer defaults to permissive. With no trust block in daemon.yaml, only kits whose signature verifies and whose signer appears in trust.issuerSet install; unsigned or unverified kits are rejected with a remediation message. An empty allowlist fail-closes installs rather than silently accepting any signed kit.

    Operators who knowingly accept the risk can opt out per install with donmai kit install --allow-unsigned (audit-logged) or globally with trust.mode: permissive / DONMAI_KIT_TRUST_MODE=permissive. SAN-only allowlist entries now match correctly, and a verifier-construction failure stays fail-closed instead of downgrading to permissive.

    rec v0.39.0 ▸ seed sha256:c14c…3193 release notes ↗

  3. v0.38.2 ·

    Maintenance patch

    Maintenance patch release; commit-level changelog on GitHub.

    rec v0.38.2 ▸ seed sha256:c5f5…c54e release notes ↗

  4. v0.38.1 ·

    Codex and Antigravity stream fixes

    Codex reasoning output is whitelisted into thought events with item/completed gating, Antigravity result envelopes are suppressed from the assistant text stream, and TUI activity-line clipping is rune-safe.

    rec v0.38.1 ▸ seed sha256:2b72…959f release notes ↗

  5. v0.38.0 ·

    Native architectural drift gate

    donmai arch assess now fetches the PR diff via gh and runs the native diff-reader and drift gate on real PR content; no external binary, npm package, or service required. The legacy exec-shim is demoted to an opt-in, deprecation-warned DONMAI_ARCH_BIN fallback.

    Learned, per-repository baseline analysis remains a hosted-platform capability outside the OSS distribution.

    rec v0.38.0 ▸ seed sha256:2d0d…2148 release notes ↗

  6. v0.37.0 ·

    Daemon registration fix

    The daemon rejects a stale stub JWT cache when configured for real registration, so a cached stub entry can no longer survive a restart and silently stop polling for work while still reporting ready.

    rec v0.37.0 ▸ seed sha256:c601…e535 release notes ↗

  7. v0.36.0 ·

    Drift assessment on the one-shot lane

    Architectural-intelligence drift assessment now runs through the shared one-shot completion lane (agent.Complete with a drift-verdict schema) instead of a direct provider SDK.

    rec v0.36.0 ▸ seed sha256:1161…b787 release notes ↗

  8. v0.35.0 ·

    KG extraction on the one-shot lane

    Knowledge-graph extraction runs its constrained emit through agent.SpawnComplete instead of a hand-rolled spawn-and-drain loop. Behavior preserved; net code deletion.

    rec v0.35.0 ▸ seed sha256:c657…6aae release notes ↗

  9. v0.34.0 ·

    Strict structured output

    agent.Complete resolves the right completion strategy per harness: native-JSON harnesses (Gemini, Ollama) get strict server-side structured output via the new Spec.ResponseSchema; every other harness rides the soft validate-repair-drop lane.

    rec v0.34.0 ▸ seed sha256:34d0…f589 release notes ↗

  10. v0.33.0 ·

    One-shot completion lane

    New schema-constrained, non-interactive completion primitive: OneShotProvider and SpawnComplete give every harness a soft-JSON lane with fail-closed JSON-Schema validation and context-aware draining.

    rec v0.33.0 ▸ seed sha256:b223…71e7 release notes ↗

  11. v0.32.0 ·

    Model-access gate plumbing

    Daemon plumbing for the fail-closed per-machine model-access gate: a policy-only config block, daemon mutation cases, and gate inputs surfaced to OnPreSpawn. Pure plumbing; no enforcement yet.

    rec v0.32.0 ▸ seed sha256:611d…130c release notes ↗

  12. v0.31.0 ·

    Narrow-only access enforcement

    runner/access.ResolveMachineCell intersects a per-machine access config against a closed allow ceiling: intersection-only and fail-closed, it can only restrict, never grant. Verified by 4,000-vector adversarial property tests.

    rec v0.31.0 ▸ seed sha256:485f…f452 release notes ↗

  13. v0.30.0 ·

    provider/harness package split

    Splits the fused provider packages into provider/harness/* and extracts a shared CLI-JSONL driver (Claude and Amp). Pure code organization: zero behavior change, byte-identical capability matrix.

    rec v0.30.0 ▸ seed sha256:cc31…4ac4 release notes ↗

  14. v0.29.0 ·

    Public provider-registry builder

    Exports BuildAgentRunRegistry so embedders build the eight-provider agent-run registry directly instead of forking the previously unexported builder.

    rec v0.29.0 ▸ seed sha256:77ad…a4c9 release notes ↗

  15. v0.28.0 ·

    Two-axis provider contract

    Phase 1 of the two-axis provider architecture: HarnessProvider and company-named ModelEndpointProvider families, per-provider manifests, and a generated capability matrix behind a CI parity gate. Purely additive.

    rec v0.28.0 ▸ seed sha256:cca9…092f release notes ↗

  16. v0.27.1 ·

    JWT cache persistence fix

    The daemon persists a refreshed runtime token to the on-disk JWT cache, so readers of the on-disk token no longer present a stale credential after a refresh.

    rec v0.27.1 ▸ seed sha256:2085…9586 release notes ↗

  17. v0.27.0 ·

    Final wire debrand

    The Codex JSON-RPC handshake now identifies as donmai, and the governor queue migrates to a donmai-prefixed Redis key (legacy key kept as fallback during the transition).

    rec v0.27.0 ▸ seed sha256:345c…fca8 release notes ↗

  18. v0.26.0 ·

    Code intelligence fully native

    Pure-Go Python and Rust extractors, Okapi BM25 search-code, SimHash check-duplicate, find-type-usages, validate-cross-deps, and Merkle-tree incremental diffing: donmai code * no longer needs an external binary.

    donmai arch assess gains a native diff/gate path and no longer hard-fails when the backend binary is absent.

    rec v0.26.0 ▸ seed sha256:b929…3c56 release notes ↗

  19. v0.25.0 ·

    Shared-spawner allowlist union

    A shared daemon process serving several organizations can allowlist the union of base and satellite project sets, and the union survives config reloads race-free. Additive only.

    rec v0.25.0 ▸ seed sha256:ba1d…83cd release notes ↗

  20. v0.24.0 ·

    Multi-org embedding support

    Exports six daemon/poll symbols so an embedder can drive several per-org poll and registration identities in one process. Additive public API only; no behavior change.

    rec v0.24.0 ▸ seed sha256:9698…f758 release notes ↗

  21. v0.23.0 ·

    Native code intelligence

    donmai code get-repo-map and search-symbols now run a native Go implementation with byte-compatible indexes, so existing .donmai/code-index/ data interoperates. The external shim remains as a fallback behind DONMAI_CODE_BIN.

    rec v0.23.0 ▸ seed sha256:2b09…f48f release notes ↗

  22. v0.22.0 ·

    CLI readiness and debrand sweep

    Hard failures now name the fix (not logged in, daemon down, no credentials) and show the correct binary name. A 181-change debrand sweep moves config to ~/.config/donmai and removes legacy env aliases.

    New GET /api/daemon/agents control-API routes; linear check-deployment is reimplemented natively in Go.

    rec v0.22.0 ▸ seed sha256:c23f…9678 release notes ↗

  23. v0.21.0 ·

    Multi-scope enablers

    SessionSpec.ProjectName, multi-project worker registration, and a Daemon.Spawner() accessor for embedders. Fixes: the worker binary lookup tries donmai before the legacy name, and status posts include failure mode and summary.

    rec v0.21.0 ▸ seed sha256:220c…adc8 release notes ↗

  24. v0.20.0 ·

    Codex token-burn fix + structural blocked outcome

    Codex sessions deliver the volatile agent-memory block once via the first turn instead of on every internal turn, saving roughly 20k–150k input tokens per session. A structural blocked outcome surfaces a reasoned decline distinctly instead of as a crash, and prompt templates become brand-injectable.

    rec v0.20.0 ▸ seed sha256:f838…8c96 release notes ↗

  25. v0.19.1 ·

    Codex stream fix

    Drops streaming text/reasoning deltas from Codex sessions, stopping one-token-per-line activity spam; full message text still flows on completion. No wire-protocol change.

    rec v0.19.1 ▸ seed sha256:96ed…f94c release notes ↗

  26. v0.19.0 ·

    Remove gemini-cli provider

    Removes the gemini-cliprovider ahead of the upstream CLI's end of life, fully superseded by the Antigravity provider added in v0.18.0. The API-direct gemini provider is unaffected.

    rec v0.19.0 ▸ seed sha256:fb46…92c3 release notes ↗

  27. v0.18.0 ·

    Antigravity provider

    New agy-cli provider wraps the Antigravity CLI (pty, plain text, best-effort transcript enrichment) for local, subscription-based dispatch: OAuth host session, no key injected.

    rec v0.18.0 ▸ seed sha256:7745…9e80 release notes ↗

  28. v0.17.0 ·

    Credential-injection wire

    Fail-closed OnPreSpawn credential injection with pool forwarding, Gemini provider refinements, a non-interactive knowledge-graph extraction batch handler, and an injectable host-state directory seam.

    rec v0.17.0 ▸ seed sha256:aba6…0702 release notes ↗

  29. v0.16.1 ·

    Codex MCP config fix

    Fixes Codex mcpServersConfig (eliminates args:null, adds HTTP-transport support) and clears CI lint failures.

    rec v0.16.1 ▸ seed sha256:d7b8…4570 release notes ↗

  30. v0.16.0 ·

    Interactive interview runtime

    Non-terminating park-and-inject interview run loop: user and memory injection turns, a two-second heartbeat, batched token-delta streaming, a hardened interview persona, and wall-clock plus idle-grace budgets.

    rec v0.16.0 ▸ seed sha256:b5af…5531 release notes ↗

  31. v0.15.0 ·

    Native Gemini provider

    First-class native Gemini provider.

    rec v0.15.0 ▸ seed sha256:4ea9…3269 release notes ↗

  32. v0.14.0 ·

    Brand-neutral runtime contract

    Drops legacy branded environment variables, endpoints, and paths from the OSS runtime contract, plus wire plumbing for the interactive interview run-mode.

    rec v0.14.0 ▸ seed sha256:dee5…c18b release notes ↗

  33. v0.13.0 ·

    Per-project gated memory inject

    Per-project memory injection is gated upstream only; the MEMORY_INJECT_ENABLED environment gate is removed.

    rec v0.13.0 ▸ seed sha256:2f0b…f93e release notes ↗

  34. v0.12.0 ·

    Agent-memory runtime inject

    Agent memory is injected at runtime and folded at dispatch time; the worker image is renamed donmai-worker.

    rec v0.12.0 ▸ seed sha256:d1db…c1f9 release notes ↗

  35. v0.11.0 ·

    Code-survival scan work-type

    The worker can run a non-agent code-survival scan (git-blame survival plus Go and TypeScript reachability, hot-weighted) in the capacity pool, isolated from the agent-session path.

    rec v0.11.0 ▸ seed sha256:51ac…e940 release notes ↗

  36. v0.10.0 ·

    Maintenance release

    Commit-level changelog on GitHub.

    rec v0.10.0 ▸ seed sha256:74e8…4095 release notes ↗

  37. v0.9.5 ·

    Config-dir rename + machine tokens

    The config directory moves from .agentfactory/ to .donmai/, machine tokens are minted and stored at ~/.donmai/token, and the README rename sweep completes.

    rec v0.9.5 ▸ seed sha256:57b6…991a release notes ↗

  38. v0.9.4 ·

    Tool-restriction wiring fix

    disallowedTools is wired through the poll → session → queued-work pipeline, so per-work-type tool restrictions are honored end-to-end instead of silently no-opping.

    rec v0.9.4 ▸ seed sha256:3f53…e320 release notes ↗

  39. v0.9.3 ·

    System-prompt override fix

    systemPromptOverride is wired through poll → detail → queued work, mirroring the tool-restriction path.

    rec v0.9.3 ▸ seed sha256:528e…0875 release notes ↗

  40. v0.9.2 ·

    Runner tool restrictions

    The runner consumes QueuedWork.DisallowedTools and surfaces a useful error on a non-JSON session-prompt response.

    rec v0.9.2 ▸ seed sha256:1798…4e47 release notes ↗

  41. v0.9.1 ·

    Fail-loud auth fix

    Posting a result with an empty bearer token now fails loudly instead of sending an unauthenticated request.

    rec v0.9.1 ▸ seed sha256:75e7…7447 release notes ↗

  42. v0.9.0 ·

    OSS rename from AgentFactory to Donmai

    The project formerly known as AgentFactory has been renamed to Donmai. The binary command is now donmai and the Homebrew formula is brew install donmai.

    All npm packages have moved to the @donmai/* scope. Configuration paths have moved to ~/.donmai/. The runtime behaviour is unchanged. This release is a naming and distribution cutover only.

    Migration guide: Install docs →

    (today: brew install RenseiAI/homebrew-tap/donmai)

    rec v0.9.0 ▸ seed sha256:8041…9e15 release notes ↗

rec 00 sha256:73c8…d32a ▸ prev 3256…95be ▸ build 2026-07-18T15:34Z

01 · history

Before the name.

Earlier releases, v0.1.0 through v0.8.2, shipped under the project's former name, AgentFactory. The full release history is on GitHub →

donmai is early and the ledger shows it: no community contributor has appeared in a release note yet. The day one does, the name-check lands in the entry. CONTRIBUTING.md is the door.

rec 01 sha256:cd4b…c113 ▸ prev 035b…853d ▸ build 2026-07-18T15:34Z