Releases: jedwards1230/agent-sdk-go
Release list
Release 0.24.0
agent-sdk-go v0.24.0
This release introduces a benchmark harness with allocation gating, a new CompactionStarted event, and a variety of stability and documentation improvements.
Features
Benchmark Harness with Allocation Gate
A new benchmarking harness has been added to the SDK, enabling structured performance testing of agent workloads. An allocation gate enforces memory allocation budgets during benchmarks, helping catch regressions in allocator-heavy code paths early.
CompactionStarted Event
A new CompactionStarted event has been added to the typed Event/Op contract. Agents and infrastructure layers can now observe and react to the beginning of a compaction cycle, enabling tighter integration with context-management workflows.
Bug Fixes
LSP Flake Fixes
Intermittent failures (flakes) in LSP-related test and integration paths have been addressed, improving reliability of the test suite in environments that exercise language server protocol functionality.
Improvements
Documentation Accuracy and Coverage
A documentation sweep corrected inaccuracies and expanded coverage across several areas of the SDK, including the new benchmark and compaction features. Descriptions, examples, and API-level commentary have been reviewed and updated for consistency.
Commits
- Merge pull request #141 from jedwards1230/integration/bench-and-compaction (08ba6e0)
- Merge pull request #150 from jedwards1230/integration-bench-and-compaction-doc-sweep (c71efaa)
- Merge pull request #149 from jedwards1230/integration-bench-and-compaction-doc-accuracy (2a24899)
- Merge pull request #147 from jedwards1230/integration-bench-and-compaction-sweep-fixes (f62d971)
- Merge pull request #144 from jedwards1230/integration-bench-and-compaction-compaction-event (d03759e)
- Merge pull request #143 from jedwards1230/integration-bench-and-compaction-bench-harness (9e805c6)
- Merge pull request #142 from jedwards1230/integration-bench-and-compaction-lsp-flake (4232272)
Full Changelog: v0.23.0...v0.24.0
Release 0.23.0
v0.23.0 Release Notes
This release focuses on reliability and correctness improvements: hardening the event/op contract, fixing schema composition edge cases, and eliminating performance hazards in the session journal.
Bug Fixes
Cyclic Journal Protection
The session journal's Fold operation could hang indefinitely if a cycle existed in the journal chain. chainFromHead is now bounded, preventing infinite loops in malformed or corrupted journal state.
Schema Composition Fix
Resolved an issue with schema composition (PR #133) that could produce incorrect or invalid schemas in certain edge cases.
Contract Hardening
Several correctness issues in the core Event/Op contract were addressed:
- Fixed announce/envelope handling
- Added a proper
context-overflowerror type - Corrected ACP decode behavior
- Removed a dead
diagnosticsfield that was causing confusion - Improved MCP schema fidelity to better match the expected wire format
Improvements
Journal Performance — No-Copy Cost & LastUsage Derivation
Journal.Cost and Journal.LastUsage no longer allocate journal-sized copies when computing their results. Additionally, LastUsage's internal walk is now bounded, preventing unbounded traversal on large or pathological journals. This reduces memory pressure in agents with long-running sessions.
Commits
- Merge pull request #131 from jedwards1230/integration/contract-hardening (c702c40)
- Merge pull request #133 from jedwards1230/fix/119-schema-composition (a752b43)
- Merge pull request #121 from jedwards1230/perf/journal-no-copy (0ad5537)
Full Changelog: v0.22.0...v0.23.0
Release 0.22.1
This release includes performance improvements for session cost tracking and usage calculations.
Improvements
Session cost and usage tracking optimization
Optimized the derivation of Cost and LastUsage fields to avoid unnecessary journal-sized copies during session operations. Additionally, bounded the walk operation for LastUsage calculation to improve performance when tracking session metrics.
Commits
Full Changelog: v0.22.0...v0.22.1
Release 0.22.0
agent-sdk-go v0.22.0
This minor release delivers foundational work for multi-device support and daily-driver build stability, introducing session envelope handling, an expanded announce vocabulary, and amended re-evaluation semantics as part of the M7 milestone.
Features
Multi-Device Groundwork
- Session Envelope: Sessions now carry an envelope structure to support routing and context propagation across multiple devices/agents.
- Announce Vocabulary: The announce event vocabulary has been expanded to support richer capability declarations when agents come online.
- Amended Re-evaluation: Re-evaluation logic has been updated to more accurately reflect session state during multi-device scenarios.
Improvements
- Daily-Driver Build Stability: The M7 Round A+B milestone work includes hardening and integration fixes aimed at making the SDK suitable for continuous daily use in production coding-agent workflows.
Note: The diff for this release was not available for detailed inspection. The notes above are derived from commit and PR metadata. Please refer to the linked pull requests (#108, #110) for full implementation details.
Commits
Full Changelog: v0.21.0...v0.22.0
Release 0.21.0
v0.21.0 Release Notes
This minor release introduces multi-device groundwork, bundling three foundational seams — permission amendment/re-evaluation, announce vocabulary, and session envelope — that together enable agents to coordinate across devices and sessions.
Features
Permission Amendment & Re-evaluation (#105)
Agents can now request amendments to previously granted permissions and trigger re-evaluation of permission decisions. This enables more dynamic, runtime-adjustable access control flows within agent sessions.
Announce Vocabulary (#106)
Agents can now declare their supported event/op vocabulary at startup via a structured announce mechanism. This allows hosts and peer agents to discover capabilities before interaction begins, laying groundwork for multi-device coordination.
Session Envelope (#107)
A new session envelope type wraps agent communication with session-scoped metadata. This provides a consistent carrier for session identity and context across message boundaries, a prerequisite for multi-device session continuity.
Multi-device Integration Seams (#108)
The above three primitives are integrated together as a cohesive set of SDK seams, enabling the groundwork for agents that can spawn, checkpoint, and resume across multiple devices. See also the M5 seams bundle (spawn + checkpoint) introduced in #101.
Improvements
- The SDK's internal contract surface is extended to accommodate cross-device scenarios without breaking existing single-device agent implementations.
- Announce, permission, and session primitives are designed as composable building blocks, keeping existing agent code unaffected until opt-in adoption.
Commits
- Merge pull request #108 from jedwards1230/integration/sdk-announce-seams (389a829)
- Merge pull request #107 from jedwards1230/feat/session-envelope (b1b6093)
- Merge pull request #106 from jedwards1230/feat/announce-vocabulary (89a720a)
- Merge pull request #105 from jedwards1230/feat/permission-amend-reeval (5e53ef5)
Full Changelog: v0.20.0...v0.21.0
Release 0.20.0
agent-sdk-go v0.20.0
This release introduces two major seam primitives — Session Spawn and Checkpoint — enabling agents to fork execution into sub-sessions and persist/restore progress at named points in a workflow.
Features
Session Spawn Seam
Agents can now spawn child sessions from within a running session, allowing structured sub-agent delegation and parallel execution branches. This provides a typed contract for forking work and collecting results back into the parent session.
Checkpoint Seam
A new checkpoint primitive lets agents mark save points during execution. Checkpoints allow workflows to persist intermediate state and resume from a known-good position without replaying the entire event history from scratch. Checkpoint items are fully typed and integrate with the existing Event/Op contract.
M5 Seams Bundle Integration
The spawn and checkpoint seams have been bundled and validated together as part of the M5 seams integration, ensuring they compose correctly with existing agent lifecycle events.
Improvements
- Comment and documentation hygiene: Internal comments and package-level docs have been reconciled to accurately reflect what shipped in v0.19.0, reducing confusion between aspirational and implemented behavior.
- CI dependency updates: GitHub Actions dependencies have been bumped to latest versions for improved security and reliability.
Commits
- Merge pull request #101 from jedwards1230/integration/sdk-m5-seams (bf4dfd9)
- Merge pull request #100 from jedwards1230/feat/checkpoint-seam-items (43003c7)
- merge: integration/sdk-m5-seams into feat/checkpoint-seam-items (bfe6d75)
- Merge pull request #99 from jedwards1230/feat/session-spawn-seam (25b6e82)
- Merge pull request #98 from jedwards1230/dependabot/github_actions/actions-26c4f860fb (9f5efee)
- Merge pull request #96 from jedwards1230/docs/comment-hygiene-post-merge (80cbcb7)
Full Changelog: v0.19.0...v0.20.0
Release 0.19.0
agent-sdk-go v0.19.0
This release adds Anthropic prompt caching support and fixes a tool-call input surfacing bug affecting providers that do not stream input deltas.
Features
Anthropic Prompt Caching
Anthropic's cache_control breakpoints are now supported, enabling prompt caching for eligible content blocks (system prompts, tool definitions, and long user messages). This can significantly reduce latency and token costs for repeated context. Configure cache breakpoints on your Anthropic requests to take advantage of this feature.
Bug Fixes
Tool Call Input Surfaced Before Execution for No-Delta Providers
Fixed a regression in the agent loop where the fully assembled tool-call input was not being surfaced as an event before execution when using providers that do not emit streaming input deltas (i.e., the tool input arrives in a single chunk rather than incrementally). Consumers observing tool-call events will now consistently see the complete input regardless of the provider's streaming behavior.
Commits
- Merge pull request #95 from jedwards1230/feat/anthropic-prompt-caching (01c53be)
- Merge pull request #94 from jedwards1230/fix/toolcall-input-delta-on-drain (1677d3b)
Full Changelog: v0.18.0...v0.19.0
Release 0.18.0
agent-sdk-go v0.18.0
This release improves reasoning/thinking provider support and bundles the M4/M5 integration milestones into the SDK.
Bug Fixes
Reasoning effort now correctly reaches the wire
Named reasoning effort values (e.g. "low", "medium", "high") are now self-enabling — setting an effort level via SetEffort no longer requires a separate step to enable thinking mode. Previously, calling SetEffort with a named value might silently fail to activate the reasoning/thinking flag on the provider request, meaning the effort setting was dropped before reaching the API. This is now handled automatically. (#92)
Features
M4/M5 integration bundle
The M4 and M5 integration milestones have been rolled into the SDK. These bring expanded agent lifecycle and operation contract support aligned with the M4/M5 roadmap. See the integration guide for details on new capabilities included in this bundle. (#86)
Commits
Full Changelog: v0.17.0...v0.18.0
Release 0.17.0
agent-sdk-go v0.17.0
This minor release delivers several new agent capability features — structured questioning, permission amendment/explanation, and M4/M5 SDK integration — along with checkpoint/task-handle design improvements and repository housekeeping.
Features
Structured Question Support
Agents can now issue structured questions to users or orchestrators via a new typed Op/Event, enabling richer, schema-driven interactive prompts rather than free-form text queries.
ACP Permission Amendment & Explanation
Agents can now request amendments to permissions and provide human-readable explanations alongside permission requests, giving users and orchestrators better context when evaluating access decisions.
Originating Agent ID on Tool-Call Events
Tool-call events now carry the ID of the agent that originated the call, making it easier to trace multi-agent workflows and attribute tool usage to the correct agent in a task graph.
M4/M5 SDK Integration Bundle
The SDK has been updated to incorporate the M4 and M5 milestone bundles, bringing in new protocol-level capabilities and aligning the Go framework with the latest agent contract specification.
Improvements
Checkpoint / Task-Handle Seam Redesign
The boundary between checkpoints and task handles has been redesigned to provide a cleaner, more explicit seam, improving composability and making it easier to reason about task lifecycle transitions.
Repository Standards Remediation
Internal repository hygiene improvements (linting, CI configuration, documentation scaffolding) have been applied to bring the repo into conformance with project standards. These changes have no impact on the public API.
Commits
- Merge pull request #86 from jedwards1230/integration/sdk-m4-m5 (f773554)
- Merge branch 'main' into integration/sdk-m4-m5 (cb83934)
- Merge pull request #87 from jedwards1230/chore/repo-standards-remediation (2f49f6c)
- Merge pull request #84 from jedwards1230/feat/acp-permission-amend-explain (998cf25)
- Merge pull request #81 from jedwards1230/feat/acp-structured-question (a619fdc)
- Merge pull request #82 from jedwards1230/design/checkpoint-task-handle-seam (7a1bea2)
Full Changelog: v0.16.0...v0.17.0
Release 0.16.0
agent-sdk-go v0.16.0
This release adds originating agent identification to tool-call events, improving observability in multi-agent workflows.
Features
Originating Agent ID on Tool-Call Events
Tool-call events now carry an originating agent identifier, making it possible to trace which agent issued a given tool call. This is particularly useful in multi-agent setups where multiple agents may be invoking tools concurrently or in sequence.
Update any code that constructs or handles tool-call events to account for the new field if needed. No changes are required for agents that do not inspect tool-call event metadata directly.
Commits
Full Changelog: v0.15.0...v0.16.0