Skip to content

Releases: Intelligent-Internet/opencode-a2a

v0.6.1

31 Mar 03:30
edff89a

Choose a tag to compare

Overview

v0.6.1 focuses on upgrade safety and operational polish: it backfills a legacy SQLite interrupt-request schema gap, makes HTTP gzip thresholds explicit and less aggressive by default, and hardens publish recovery so manual release repair defaults away from duplicate PyPI publishes.

Highlights

  • Legacy SQLite interrupt-request schema backfill: Backfills the details_json column for existing interrupt-request tables during startup so upgraded deployments can keep using durable state without manual database resets.
  • Configurable, higher HTTP gzip threshold: Replaces the fixed gzip threshold with A2A_HTTP_GZIP_MINIMUM_SIZE and raises the default to 8192, concentrating compression on larger non-streaming responses such as the authenticated extended card.
  • Safer release recovery workflow: Makes publish recovery tag-aware, idempotent, and retryable, while defaulting manual recovery runs away from PyPI republish attempts when maintainers only need to repair the GitHub Release.

Full Changelog

v0.6.0...v0.6.1

v0.6.0

30 Mar 10:48
c94a590

Choose a tag to compare

Overview

v0.6.0 focuses on expanding OpenCode extension coverage, improving Agent Card discovery surfaces, and hardening upstream/runtime behavior for long-lived deployments.

Highlights

  • Broader OpenCode extension coverage: Added interrupt recovery queries, session query filters with cursor pagination, workspace control plane methods, and the first large batch of session lifecycle extensions.
  • Lean public Agent Card + authenticated extended card: Split discovery into a smaller public card and a richer authenticated extended card, added explicit extended-card signaling, and tightened cache/compression behavior for card delivery.
  • Runtime hardening for upstream and clients: Added fast-fail upstream concurrency guards, optional bounded polling fallback for outbound client sends, and weaker in-memory session lock retention to reduce unnecessary runtime buildup.
  • Contract and dispatch cleanup: Moved extension handling onto registered method handlers, aligned interrupt callback/runtime contracts, and kept auth/runtime metadata exposure consistent across transport surfaces.

Full Changelog

v0.5.1...v0.6.0

v0.5.1

26 Mar 10:34
39fa676

Choose a tag to compare

Overview

v0.5.1 focuses on CI/dependency audit boundary cleanup, safer outbound authentication, simpler database-backed server defaults, and more stable durable task persistence behavior.

Highlights

  • Runtime-only blocking dependency audits: Split blocking runtime dependency audits from dev-only visibility checks so tooling CVEs no longer unnecessarily block CI and publish flows.
  • Hardened outbound Basic Auth support: Added validated outbound Basic Auth support across Agent Card fetches, peer calls, task operations, and CLI environment-based client configuration.
  • Simpler database-backed server defaults: Removed redundant database store configuration flags and further narrowed the durable backend to a fixed, auto-initialized default path.
  • Stronger durable task persistence guarantees: Stabilized terminal task persistence, wrapped task-store failures into clearer server-side behavior, and tightened refresh/resubscribe consistency for persisted tasks.

Full Changelog

v0.5.0...v0.5.1

v0.5.0

24 Mar 08:33
ae79fe6

Choose a tag to compare

Overview

v0.5.0 focuses on runtime state durability, database-first server defaults, and naming cleanup around upstream error taxonomy and translators.

Highlights

  • Database-backed runtime state: Added a configurable database-backed persistence layer for task records, session binding and ownership, interrupt request bindings, and interrupt tombstones so runtime state can survive process restarts.
  • Durable database defaults: Switched the default runtime state backend from memory to database, added a default SQLite profile, and repositioned memory as an explicit opt-in development/test mode.
  • Session binding semantics cleanup: Promoted database-backed session binding and ownership from cache-like retention to durable state, removing TTL/max-size eviction from the durable path while retaining explicit error behavior when an upstream OpenCode session is missing.
  • Upstream error taxonomy naming alignment: Renamed taxonomy and translator modules to make the layering between upstream classification, execution translation, and JSON-RPC error responses clearer without changing runtime behavior.
  • Test and infrastructure hardening: Removed stale memory-store assumptions, cleaned up dead durability-era code paths, eliminated SQLite engine lifecycle leaks in tests, and resolved SQLAlchemy registry warnings for custom task tables.

Full Changelog

v0.4.1...v0.5.0

v0.4.1

23 Mar 13:34
b58a57e

Choose a tag to compare

Overview

v0.4.1 focuses on execution/runtime modularization, outbound client lifecycle hardening, sandbox policy consolidation, and correctness fixes for streaming output and error handling.

Highlights

  • Execution and client modularization: Split execution responsibilities across session, streaming, and policy-oriented components, and further reduced facade/helper indirection in the outbound A2A client stack.
  • A2A tool and error-path hardening: Centralized outbound/client-side error mapping, aligned JSON-RPC translators with shared upstream taxonomy, and stabilized a2a_call failure payloads.
  • Outbound client cache lifecycle controls: Added bounded outbound client caching with TTL, max-size, busy-aware reuse, and safer eviction semantics to avoid closing clients that are still in use.
  • Sandbox and policy enforcement cleanup: Centralized sandbox policy decisions, validated conflicting configuration earlier, and aligned directory/shell exposure with the effective runtime policy.
  • CLI and streaming correctness improvements: Removed the redundant serve subcommand and fixed final streaming snapshots so reasoning content no longer leaks into canonical final text.

Full Changelog

v0.4.0...v0.4.1

v0.4.0

23 Mar 05:37
6cb1694

Choose a tag to compare

Overview

v0.4.0 adds client-side A2A outbound integration and stream call hardening while also tightening release reliability and removing duplicated documentation.

Highlights

  • A2A client + CLI integration: Added outbound A2A client facade, CLI call integration, and streamed a2a_call handling to support client-side message delivery workflows.
  • Authentication docs clarification: Clarified OpenCode auth state precedence in deployment scenarios for better configuration consistency and operational confidence.
  • Documentation cleanup: Consolidated duplicated documentation content and reduced overlap to improve readability and maintainability.
  • Release pipeline reliability: Updated publish/CI workflow behavior for stable execution under newer action runtimes by explicitly moving workflow JS actions to Node.js 24 mode and disabling setup-uv caching that could fail during publish.
  • Formatting stability: Fixed a ruff format regression path that previously caused release baseline checks to fail unexpectedly.

Full Changelog

v0.3.1...v0.4.0

v0.3.1

22 Mar 03:37
6d73c71

Choose a tag to compare

Overview

v0.3.1 standardizes the project, package, CLI, and repository naming around opencode-a2a, while keeping the full A2A runtime behavior, test coverage, and release pipeline aligned with the new identity.

Highlights

  • Unified Naming: Renamed the published package from opencode-a2a-server to opencode-a2a, and migrated the Python package namespace from opencode_a2a_server to opencode_a2a.
  • CLI & Runtime Alignment: Updated the CLI entrypoint, runtime service name, version metadata lookup, and health/profile identifiers to consistently use opencode-a2a.
  • Docs & Test Coverage Refresh: Synchronized README, guide, contributing, security docs, contract assertions, and test imports with the new package and repository naming.
  • Release Pipeline Continuity: Updated pre-commit, coverage gates, smoke tests, CI workflows, and publish workflows so future releases build and publish under the new package name.
  • Repository Rename: Renamed the GitHub repository to Intelligent-Internet/opencode-a2a so package metadata, source hosting, and release automation point to the same canonical project name.

Full Changelog

v0.3.0...v0.3.1

v0.3.0

21 Mar 15:44
0d397b3

Choose a tag to compare

Overview

v0.3.0 focuses on structural modularity and protocol alignment, bringing machine-readable service contracts, consolidated runtime profiles, and enhanced streaming metadata to the A2A server.

Highlights

  • Machine-readable Service Contracts: Exposed explicit cancel/replay semantics and execution environment boundary metadata in service contracts.
  • Structural Refactoring: Reorganized adapter modules, split oversized runtime and contract modules, and aligned app assembly with SDK defaults for better maintainability.
  • Protocol & Streaming Alignment: Consolidated JSON-RPC capability snapshots and refined streaming terminal states to ensure consistency across REST and JSON-RPC interfaces.
  • Engineering Hygiene: Completed a full remediation of the codebase, removing dead helpers and explicitly configuring keepalive and interrupt retention.

Full Changelog

v0.2.5...v0.3.0

v0.2.5

19 Mar 16:37
aa72fd2

Choose a tag to compare

Overview

v0.2.5 aligns stream text extraction with the current upstream opencode serve part protocol, so snapshot-based stream parts are translated into A2A text output instead of completing with status-only events.

Highlights

  • Upstream protocol alignment: streaming output now recognizes snapshot, step-start, and step-finish parts from opencode serve and extracts text from their snapshot fields.
  • Stable downstream rendering: A2A clients now receive text artifact updates for snapshot-based upstream responses instead of falling through to Content unavailable.
  • Final response consistency: final message text extraction now also understands snapshot-based parts while still preferring explicit text parts when both are present.
  • Regression coverage: new tests cover snapshot-based stream parts and final-response text extraction behavior.

Full Changelog

v0.2.4...v0.2.5

v0.2.4

19 Mar 15:55
05d1886

Choose a tag to compare

Overview

v0.2.4 narrows the runtime boundary back to an external opencode serve, restores request-scoped model selection and provider discovery behavior, and tightens interrupt metadata to the confirmed shared contract.

Highlights

  • External upstream boundary: opencode-a2a-server is again focused on adapting an already running opencode serve instead of managing that upstream process itself.
  • Contract fixes: request-scoped model selection and provider/model discovery extensions are restored so clients can keep using the documented shared and OpenCode-specific surfaces.
  • Interrupt contract cleanup: shared interrupt details are narrowed to the confirmed wire contract, reducing ambiguity for downstream consumers.
  • Documentation refresh: README and supporting docs now present the project scope, quick start path, and deployment boundary more clearly.

Full Changelog

v0.2.3...v0.2.4