Skip to main content

0.32.0 (2026-10-30)

Fixed
  • The Codex, Gemini, Grok, Junie and Qwen Code starters now provide an AgentClient.Builder. AgentClientAutoConfiguration runs only when an agent bean exists but declared no ordering, so it could be evaluated before these providers registered their agent; it now runs after every provider auto-configuration
  • The Amazon Q starter now declares agent-client-spring-boot-autoconfigure, like the other starters, so it provides an AgentClient.Builder; this adds agent-client-core and agent-client-spring-boot-autoconfigure to its dependencies
Changed
  • One-shot Claude calls merge the request’s environment variables over the model’s configured defaults, without modifying the defaults
  • codex-cli-sdk adds CodexClient.stream(...), CLITransport.stream(...) and ExecuteOptions environment(Map) / configOverrides(Map): stream one turn, new or resumed, delivering each JSON line as it arrives
  • DeprecatedPropertyMigrator implements Spring Boot’s org.springframework.boot.EnvironmentPostProcessor and its spring.factories key changed to match; this matters only to applications that refer to the migrator by type or replace its registration
  • The deprecated AgentModel interface and the provider models that implement it are unchanged; it will be removed in a later release
  • ./mvnw verify enforces JaCoCo coverage floors, SpotBugs, Error Prone (-Werror on main sources), PMD/CPD and ArchUnit package-cycle rules; the gates add nothing to any published module’s dependencies

0.31.0 (2026-09-17)

  • ClaudeAgentModel.interrupt() closes the in-flight clients of call(), iteration and streaming, so a cancel stops a Claude call that is already running; close() delegates to it
  • Built on Claude Agent SDK 1.7.0, which destroys the CLI process tree before closing its streams
  • AgentModel is unchanged; a cancelled call() still returns an error response rather than throwing

0.30.0 (2026-08-28)

  • Add Junie (agent-junie, agent-starter-junie) and Grok over ACP; extract a shared AcpAgentModel
  • Breaking, agent-tck only: Provider changes from an enum to String constants and @ProviderCapability takes String[]; references such as Provider.CLAUDE compile unchanged, but a variable typed Provider becomes String
  • Claude traces record the turn ceiling

0.29.0 (2026-08-22)

  • Grok, Codex, and Antigravity now publish their parsed run trajectory through AgentClientResponse.getPhaseCapture(), matching the Claude facade contract; live facade integration gates verify that all three return a capture containing tool uses
  • Grok reads its native streaming-json ACP stream and Antigravity its stream-json; both SDKs retain the full stream for capture while preserving the existing terminal text, status, token, and session fields
  • Codex harvests its durable rollout JSONL after execution, locating the matching file by session id or working directory with a bounded wait for delayed flushes
  • The three provider adapters consume the released Agent Journal 1.8.0 capture modules; capture stays provider-owned, and agent-model and the production surface of agent-client-core remain free of journal dependencies
  • Repair LOOSE-mode Codex execution: current Codex versions reject --full-auto after exec, so full-auto now maps to the global --sandbox workspace-write and --ask-for-approval never options placed before the subcommand
  • Keep full-auto distinct from the explicit unrestricted --dangerously-bypass-approvals-and-sandbox level, so portable auto-approve no longer grants full-disk access implicitly; add repeated --add-dir support for explicitly named writable roots
  • Document that provider trajectories come from the AgentClient facade response rather than a direct AgentApi.call(), and are independent of raw trace-file configuration
  • Remove the inert module-local deploy skip from agent-tck — the artifact remains published — and delete the orphaned sandbox TCK package, which tested a sandbox SPI this repository no longer owns

0.28.0 (2026-08-22)

  • Add a Grok CLI provider: agent-grok, grok-cli-sdk, and agent-starter-grok. Headless runs return a real JSON envelope, so session id, token usage and a genuine per-run USD cost are read rather than scraped, and a caller-supplied session UUID makes resume possible without recovering an id from output
  • Add an Antigravity CLI provider for Google’s agy: agent-antigravity, antigravity-cli-sdk, and agent-starter-antigravity
  • Drop --effort when the Antigravity model slug already encodes it; passing both is a hard error that returns no output, so a portable low-effort request would otherwise produce nothing at all
  • Declare the Antigravity working directory with --add-dir: setting the process working directory alone lets the CLI divert writes to a shared scratch directory while reporting success
  • Derive Antigravity run success from whether work was produced and nothing was refused, rather than from its status field, which reports ERROR alongside complete and correct responses
  • Detect Antigravity soft denials from both the result envelope and stderr, so a run whose tool calls were refused is not mistaken for one that found nothing to do
  • Add GROK and ANTIGRAVITY to the provider parity TCK and enrol both in the parity scenarios
  • Both new providers pass the full provider parity TCK — ten scenarios each, zero skips, zero failures — against live CLIs, joining Claude Code, Codex, and Gemini as the only adapters with parity coverage. CI re-verifies those three on every commit; Grok and Antigravity cannot run there because both CLIs authenticate interactively and cache credentials rather than reading an API key

0.27.0 (2026-08-21)

  • Repair published no-BOM consumer graphs with direct Jackson and Log4j declarations that survive flattened child POMs
  • Add one generated CI gate that discovers and resolves all 23 published runtime modules as fresh parentless, no-BOM consumers
  • Adopt Claude SDK 1.5.0, Agent Journal and Capture 1.7.0, and Agent Sandbox Core 0.10.0 while retaining the Java 21 contract
  • Produce one root CycloneDX 1.6 JSON SBOM and keep authoritative offline vulnerability analysis on the actual consumer JAR closures
  • Align current owned source headers and binary/source/Javadoc archive payloads with BSL 1.1 while retaining Apache history
  • Preserve immutable 0.26.0 as released; its Maven Central artifacts were not rebuilt or repaired

0.26.0 (2026-08-17)

  • Remove the experimental Vendir context advisor and Git-repository DSL as an intentional breaking change
  • Retire the stale agents-runtime container build, Docker integration TCK, and unused Docker dependencies
  • Keep Claude Code, Codex, and Gemini CLI as the actively verified provider set; classify the remaining adapters as experimental
  • Upgrade source-reactor Jackson and Log4j management; later public-consumer reproduction showed that flattened child POMs did not preserve every reviewed floor, which 0.27.0 corrects
  • Pin owned release automation and complete the repository-specific BSL 1.1 license text while preserving the historical Apache record

0.22.0 (2026-06-14)

  • agent-client 0.22.0: Spring AI 2.0.0 GA + Spring Boot 4.0.7; declare Jackson 2 explicitly
  • Upgrade default Gemini model to gemini-3.5-flash
  • Default Gemini model to gemini-3-flash-preview
  • Stop tracking generated .flattened-pom.xml; let parity runs finish

0.21.0 (2026-06-07)

  • Trust the workspace when Gemini yolo mode is enabled
  • Fix parity workflow JDK: project targets Java 21
  • Fix agents-runtime Maven download: bump to 3.9.16 with archive fallback
  • Make Provider Parity real; add Codex to agents-runtime image; weekly CLI canary
  • Fix CLITransportCommandTest on machines without a Codex CLI
  • Add reasoning effort option: portable plus provider-native

0.20.0 (2026-06-06)

  • Step 3.1-3.3: Trace content mode, transcript archival, capture IT upgrades

0.19.0 (2026-05-28)

  • Verify traceDir in journal capture integration test
  • Add traceDir parser-level and uniqueness tests
  • Add trace-dir Spring Boot property and autoconfiguration
  • Add traceDir support to ClaudeAgentModel

0.18.0 (2026-05-15)

  • Remove judge-dependent modules from AgentClient
  • Update agent-journal deps to 1.1.0-SNAPSHOT
  • Skip tests on snapshot publish — CI handles test validation
  • Add agent-clis and API key secrets to CI and snapshot workflows
  • Migrate to markpollack org: package rename, BSL license, standalone POM, build-tools workflows

0.16.0 (2026-04-30)

  • Fix autoconfigure parent relativePath, remove plans from tracking
  • Add session journal for 2026-04-29
  • Finalize roadmap with cross-framework stage and handoff notes
  • Add deprecated property migrator and update documentation
  • Rename property prefix from spring.ai.agents to agent-client
  • Introduce AgentApi interface, deprecate AgentModel
  • Extract AgentClientAutoConfiguration into separate module
  • Add cross-framework portability design document
  • Complete Stage 4 consolidation
  • Record LOOSE permission discoveries and add CLI validation to plan
  • Fix Gemini working directory not propagated to CLI process
  • LOOSE mode: bypass Codex sandbox, update model to gpt-5.4-mini
  • Reframe Stage 4 as LOOSE permission discovery via terminal-bench
  • Add property prefix rename to development plan
  • Update README with current docs, providers, and configuration

0.15.0 (2026-04-29)

  • Remove samples directory — covered by tutorial repo and external projects
  • Fix ClaudeProviderParityIT compilation error
  • Fix sample SNAPSHOT reference blocking release
  • Update project documentation and learnings
  • Add docgen tool and reference documentation infrastructure
  • Consolidate multi-provider sample and tutorial artifacts
  • Consolidate parity TCK and mode system infrastructure
  • Add provider parity CI matrix workflow
  • Wire ProviderParityTCK into Claude, Codex, Gemini IT modules
  • Add ProviderParityTCK with @ProviderCapability annotation
  • feat(codex): add AgentClientMode and default skipGitCheck to true

0.14.0 (2026-04-28)

  • Expose validate-commits as overridable release input
  • Remove formatPrompt boilerplate wrapping — pass goal verbatim
  • Add portable maxTurns, autoApprove, systemInstructions to AgentOptions

0.13.0 (2026-04-17)

  • Add portable jsonSchema support to AgentClient request spec
  • Add jsonSchema to portable AgentOptions interface

0.12.2 (2026-04-11)

  • fix(codex): add sandbox bypass flag and graceful error handling

0.12.1 (2026-04-10)

  • fix(codex): fix —model flag ordering and working directory propagation

0.12.0 (2026-04-10)

  • feat(qwen-code): add Qwen Code agent model and starter
  • feat(codex): surface outputSchema in CodexAgentOptions (#27)
  • fix(gemini,codex): fix response parsing and CLI compatibility (#29, #30)
  • Update README docs links to mintlify documentation site
  • feat(agent-claude): add ClaudeAgentSession and ClaudeAgentSessionRegistry
  • feat(agent-model): add AgentSession and AgentSessionRegistry interfaces
  • Update README.md

0.11.0 (2026-03-30)

  • Rename all project artifactIds: drop spring-ai- prefix
  • Rename spring-ai-agents-core to spring-ai-agent-launcher
  • Clean up dead module references and update README agent list
  • Update README with released 0.10.0 Maven coordinates

0.10.0 (2026-03-30)

  • Initial release.