Skip to content

Releases: agent-primitives/sessions

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 00:03
v0.2.0
f113381

agentsessions v0.2.0

Pre-1.0: the wire contract and the Go SPI may both change. agentsessions.v1 is a proto
namespace, not a stability promise.

There is no authentication, authorization, or transport security. Do not expose a host to an
untrusted network or treat it as multi-tenant. See docs/security.md.

Changelog

Features

  • f4cfb77 feat(agentsessionsd): add WithToolExecutors option (#161)
  • cfc6b5b feat(agentsessionsd): configure Unix-socket tool executors (#166)
  • b0d9e94 feat(api): add approval contract and storage projection (#130)
  • be79f98 feat(api): carry tool calls and results as message parts (#103)
  • e680ea1 feat(chatagent): read a system prompt from execution config (#78)
  • ca85f47 feat(client): pass execution config through ExecOptions (#124)
  • 7cbc035 feat(controller): approval engine and wire protocol
  • 552a23b feat(session): activate approval controls (#132)
  • 3366943 feat(session): add expected_last_seq to Resume (#141)
  • f41e942 feat(session): implement permanent soft deletion (#123)
  • e748c3f feat(site): polish prose measure, API reference, 404, nav state and diagrams (#167)
  • 7310d53 feat(substrate): reach harnesses through atenet-router on current substrate main (#91)
  • 8f519e2 feat: add reference conversational chat harness (#64)
  • 8d97860 feat: add the harness registry API and gate new sessions on retire (#100)
  • 01248d0 feat: register a harness by address instead of by recompiling (#70)
  • 773b0a9 feat: serve harness registry on a loopback operator listener (#121)

Fixes

  • 63e1927 fix(controller): check tool calls during replay and recovery (#86)
  • b212d49 fix(controller): keep each execution's config for replay and resume (#76)
  • c37ca4f fix(controller): preserve recorded intent after mediation rejection (#113)
  • a6a4176 fix(controller): preserve replay execution boundaries (#63)
  • 25522be fix(controller): recover a turn cut during a model call on resume (#94)
  • 15d9869 fix(controller): replay and resume v0.1.2 journals (#106)
  • 3a7b0a2 fix(harnesswire): keep declared tools in Describe (#84)
  • 3316c93 fix(openai): refuse redirects that leave the base URL's origin (#133)
  • 41021e7 fix(placement): keep suspended actors so Resume works (#83)
  • 4c1cead fix(placement): pass the host tool executor to controllers (#85)
  • 5c9fa53 fix(session): isolate unservable harness registrations (#120)
  • e050570 fix(session): reject identity on Fork (#77)
  • dabbff5 fix(session): resume the recorded harness and check its version (#107)
  • 5b23d52 fix(site): fix accessibility and layout defects on the docs site (#159)
  • 5ac10b1 fix(substrate): read the held snapshot from the actor snapshots list (#137)
  • 4b397d1 fix(wire): decode an empty bytes source as no bytes (#165)
  • 805d37a fix: make sink serialization cancellation-aware (#136)
  • c8c4ab4 fix: model transport fixes for real providers (#138)

Documentation

  • 74186b6 docs(site): serve the site from sessions.agent-primitives.dev (#142)
  • 1532a50 docs: add Copilot code review instructions (#148)
  • f5f49f5 docs: add draft AgentSessions protocol specification (#152)
  • c3d4b8f docs: add the project website (#67)
  • c56ebea docs: clarify deletion listing, cursor errors and journal upgrades (#162)
  • 9a3d755 docs: correct claims that predate the first release (#69)
  • cee2dd4 docs: fix install instructions and add a Kubernetes deployment (#66)
  • a4b2e5a docs: link the README to the site, and check markdown links in CI (#68)
  • d6f2d34 docs: relicense under MIT (#163)

Build and CI

  • 506e3d3 build(deps): bump golang.org/x/net to v0.60.0 and Go toolchain to 1.26.9 (#105)
  • 6030823 build(deps): bump the actions group with 11 updates (#73)
  • 1713bd3 build(deps): bump the go-dependencies group across 2 directories with 3 updates (#118)
  • 8cbff28 ci(substrate-e2e): cache substrate builds and add a main canary (#147)
  • ae06649 ci: group Dependabot Go updates across both modules (#117)
  • f22b9d9 ci: report required checks on every PR with a path filter job (#151)

Other

  • 18fddb9 chore: move project ownership to the agent-primitives maintainers (#143)
  • f113381 chore: prepare v0.2.0 (#172)
  • 2431601 refactor!: move Go module to github.com/agent-primitives/sessions (#146)
  • 14b4cf7 refactor(sqlitelog): drop unused COMPLETE deletion state (#164)

Verify an artifact

Every archive is checksummed, and each carries an SBOM alongside it:

sha256sum -c checksums.txt --ignore-missing

Public releases also carry signed build provenance, which ties an archive to the workflow,
commit, and runner that produced it:

gh attestation verify <file> --repo agent-primitives/sessions

Container images

ghcr.io/agent-primitives/sessions/agentsessionsd:v0.2.0
ghcr.io/agent-primitives/sessions/harnessnode:v0.2.0

Multi-arch (amd64 and arm64), built with ko from the tagged source, each with an SBOM pushed
alongside it. agentsessionsd runs as uid 65532; give its journal path a writable volume.

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 22 Sep 01:24
v0.1.2
adb5d10

agentsessions v0.1.2

Pre-1.0: the wire contract and the Go SPI may both change. agentsessions.v1 is a proto
namespace, not a stability promise.

There is no authentication, authorization, or transport security. Do not expose a host to an
untrusted network or treat it as multi-tenant. See docs/security.md.

Changelog

Build and CI

  • 1601530 build(deps): bump the go-dependencies group with 2 updates (#54)
  • adb5d10 build: install ko directly instead of via setup-ko (#62)
  • c855f18 build: publish images under their documented names (#60)
  • f5e3cc7 build: stop setup-ko from overriding the image repositories (#61)

Verify an artifact

Every archive is checksummed, and each carries an SBOM alongside it:

sha256sum -c checksums.txt --ignore-missing

Public releases also carry signed build provenance, which ties an archive to the workflow,
commit, and runner that produced it:

gh attestation verify <file> --repo aramase/agentsessions

Container images

ghcr.io/aramase/agentsessions/agentsessionsd:v0.1.2
ghcr.io/aramase/agentsessions/harnessnode:v0.1.2

Multi-arch (amd64 and arm64), built with ko from the tagged source, each with an SBOM pushed
alongside it. agentsessionsd runs as uid 65532; give its journal path a writable volume.

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 16 Sep 06:23
v0.1.1
19bf2b1

agentsessions v0.1.1

Pre-1.0: the wire contract and the Go SPI may both change. agentsessions.v1 is a proto
namespace, not a stability promise.

There is no authentication, authorization, or transport security. Do not expose a host to an
untrusted network or treat it as multi-tenant. See docs/security.md.

Changelog

Documentation

  • c754d94 docs: record v0.1.1 in the changelog (#47)

Build and CI

  • 9d20a01 build: link changelog entries and skip provenance while private (#43)
  • e64e3e3 build: publish container images to ghcr (#46)
  • b690748 ci: add lint and vulnerability gates (#44)
  • 19bf2b1 ci: validate workflows, and fix the unparseable release file (#48)

Verify an artifact

Every archive is checksummed, and each carries an SBOM alongside it:

sha256sum -c checksums.txt --ignore-missing

Public releases also carry signed build provenance, which ties an archive to the workflow,
commit, and runner that produced it:

gh attestation verify <file> --repo aramase/agentsessions

Container images

ghcr.io/aramase/agentsessions/agentsessionsd:0.1.1
ghcr.io/aramase/agentsessions/harnessnode:0.1.1

Multi-arch (amd64 and arm64), built with ko from the tagged source, each with an SBOM pushed
alongside it. agentsessionsd runs as uid 65532; give its journal path a writable volume.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 16 Sep 02:43
v0.1.0
dfee890

agentsessions v0.1.0

Pre-1.0: the wire contract and the Go SPI may both change. agentsessions.v1 is a proto
namespace, not a stability promise.

There is no authentication, authorization, or transport security. Do not expose a host to an
untrusted network or treat it as multi-tenant. See docs/security.md.

Changelog

Features

  • b666f65 feat(agentctl): add CLI with embedded-by-default Sessions server
  • e888332 feat(agentctl): add list and session metadata flags
  • 5f0cea1 feat(agentctl): name children when forking
  • 71e9206 feat(agentnode): add co-located pod node with replay-resume
  • b48bbde feat(api): add request context to the wire model-call
  • 3d3f300 feat(api): add session, harness, and runtime contracts
  • 0a20aa8 feat(api): content model, reasoning, log-record, two-axis state
  • a5b0bde feat(api): drop the Pause and Heartbeat RPCs (#20)
  • df4c83e feat(api): flatten the SnapshotRef oneof (#19)
  • e0d6b52 feat(api): let callers name fork children
  • 45af501 feat(api): make the simple path one call (#34)
  • ea44a8b feat(api): paginate ListSessions
  • b2d3694 feat(api): thread context through the harness SPI (#17)
  • c5db13a feat(canon): add language-neutral content hash for the log
  • c657d33 feat(client): add the Go client SDK (#36)
  • 49ec9c2 feat(controller): add WithFence to bind a caller-minted fence
  • fbdf225 feat(controller): add crash-recovery resume with at-most-once re-drive
  • a2d8242 feat(controller): add event-sourced core with host-mediated replay
  • fc8563f feat(controller): mediate tools with idempotent crash resume
  • 36c4f4b feat(controller): pass conversation history to the harness on exec
  • 0fcc7ee feat(controller): require idempotency key for mediated tools
  • b8a0bc8 feat(counteragent): add in-RAM counter harness for axis-2
  • b430b7e feat(echoagent): add stateless-replay echo harness
  • 7ea048d feat(eventlog): add append-only log with CAS, fencing, hash-chain
  • b3814fc feat(eventlog): add error-returning Store interface and adapter
  • 4ae2bee feat(fork): clone the parent memory snapshot on substrate fork
  • 20e2217 feat(harnessnode): add in-sandbox harnesswire server + substrate manifests
  • c6c15f9 feat(harnesswire): bridge api.Harness and the Harness.Connect stream
  • c20d8a8 feat(harnesswire): mediate tool calls over the wire
  • d134bf2 feat(harnesswire): verify model and tool result correlation ids
  • d56bb7a feat(host): add walking-skeleton host, replay, and conformance suite
  • 6b2fb46 feat(integrations/substrate): add ate-api ControlClient adapter
  • e3e890a feat(model): add an OpenAI-compatible model provider (#33)
  • d69814e feat(observability): trace request flow (#8)
  • 79de4c1 feat(placement): gate unplaceable harnesses as FailedPrecondition
  • e04c4ae feat(placement): make the harness dialer pluggable via WithDialer
  • a508e0a feat(placement): route Sessions Exec through the Runtime SPI
  • dc177ba feat(placement): route sessions to the harness they name (#28)
  • 3a3f29d feat(placement): wire suspend/resume/fork through the Runtime SPI
  • bda78c8 feat(runtime): add agent-substrate Runtime backend
  • 2b03103 feat(runtime/local): add filesystem-only in-process backend
  • 6be95a1 feat(runtime/local): serve the harness over a unix socket
  • 07bc236 feat(runtime/substrate): add Describe for placement gating
  • 3a35fc8 feat(runtime/substrate): dial the harness at PodIP:80, not the mesh
  • 0569a97 feat(session): add Sessions gRPC service over the durable log
  • 202fdc7 feat(session): honor the request fields the contract declares (#38)
  • 159b59f feat(session): implement storage-backed ListSessions
  • 55376bb feat(session): stream a turn as it happens (#37)
  • bb410bd feat(sqlitelog): add persistent sqlite-backed event log
  • 8147918 feat(sqlitelog): persist session metadata and enumerate sessions
  • 0acce6c feat(sqlitelog): stamp the schema version (#22)
  • dcf4b59 feat(substrate): add axis-2 memory-continuity driver + Job
  • f97c526 feat(substrate): add micro-VM counter ActorTemplate for axis-2
  • ddf829f feat(substrate-e2e): add axis-1 conformance driver and CI workflow
  • c095489 feat(substrate-e2e): auth Control with TLS+token and ensure atespace
  • cc51f44 feat(substrate-e2e): run axis-1 conformance as an in-cluster Job
  • 6488ae3 feat(verify): add cross-language chain verifier with tamper detection
  • 8d74509 feat(wire): pin domain types to generated proto types

Fixes

  • 5d070f9 fix(ci): compare buf breaking against a remote-tracking base ref
  • 0c4b8ca fix(ci): give ate-system rollouts a longer budget
  • d7d3e00 fix(controller): detect interrupted turn by last input without end
  • faea643 fix(controller): reject unmediated and unapproved tool calls
  • 053079b fix(harnessnode): pin distroless ko base for ateom unpack
  • ab6fc61 fix(harnesswire): surface failed remote-harness end-state
  • 29a3196 fix(runtime): classify invalid session specs
  • 9cc8fb5 fix(runtime): validate session specs before create
  • 1220576 fix(session): stop copying the parent name onto fork children
  • 00c49d2 fix(sqlitelog): retry the WAL mode switch under lock contention
  • 029115e fix(substrate-e2e): drop ko --bare (rejects host:port repo)
  • 6e474a9 fix(substrate-e2e): use onCommit Full for the stateless harness
  • f83e369 fix(substrate-e2e): use valid onCommit=Data in the ActorTemplate

Documentation

  • e83e9d0 docs(api): clarify SnapshotRef layering and flag the oneof TODO
  • 72ffed4 docs(api): generate the api reference from the protos
  • 101b5d7 docs: add concepts, quickstart, harness authoring, faq, and...
Read more