Release

Announcing Toise 0.7.0 — the integration release

2026-06-16

0.7.0 is about what you can build on Toise. An AI assistant gets pinnable context and ready-made workflows, operators can annotate the graph, a dashboard can hold a token that can never write, and a producer in any language can prove it is on-spec before it ships.

It also lands the identity hardening — entities that resurrect keep their logical id, and connection topology resolves peers at read time — and the audit P1/P2 lot. It is not a wire-contract break and needs no data migration; one MCP argument was renamed (see the migration guide).

Operator annotations

A new MCP tool annotate_entity and the first GraphQL mutation annotateEntity let a human or an assistant attach free-form notes — owner, runbook, ticket — to an entity. Annotations are an overlay: kept in a per-tenant sidecar, surfaced on get_entity and Entity.annotations, and never mixed into producer truth or the event log. They are the one write either read surface exposes.

Resources and prompts for your assistant

Beyond the twelve tools, the MCP server now exposes resources a client can pin as context — toise://schema, toise://guide, and the toise://entity/{id} template — and ready-made prompts for common operator tasks: investigate_incident, blast_radius, explain_entity, whats_changed.

Least-privilege token roles

Bearer tokens can now be read-only (the query surfaces only — a dashboard or assistant that must never write) or ingest-only (OTLP only — a producer that must never read), alongside full tokens. A read-only token is refused on annotate_entity.

Prove a producer on-spec, in any language

The new toise-conformance CLI validates a producer's OTLP entity-event output against the wire contract without a running Toise — pipe it the bytes you would export:

go install github.com/toise-dev/toise/pkg/emit/cmd/toise-conformance@latest
my-producer --dump-otlp | toise-conformance      # exit 0 = conformant

A new producer directory catalogs the SDK, the example producers, and external ones. And the whole MCP surface — tools, resources, prompts — is now pinned by a golden contract test and a published API stability policy.


Who talks to whom

The relational context an assistant needs most is dependency: not just what runs where, but what depends on what. 0.7.0 lands connection topology for it. A producer reads the host socket table and asserts a durable depends_on edge to the observable endpoint it connects to (address:port); Toise resolves that endpoint to the canonical remote listener or host at read time — a derived overlay, never written into the log, so the stored fact stays exactly what the producer could observe. get_neighbors then answers both what does this service depend on? and, by incoming traversal, who connects to it?


Get it

docker pull ghcr.io/toise-dev/toise:v0.7.0

Binaries are on the release, and the producer SDK ships as pkg/emit/v0.2.0. See the 0.7.0 docs, the migration guide, and the changelog.