π CodeBuddy Code v2.145.0 Release β
π¦ Version Information β
| Component | Version |
|---|---|
| CodeBuddy Code CLI | v2.145.0 |
| Agent SDK JS | v0.3.253 |
| Agent SDK Python | v0.3.252 |
β¨ New Features β
Mixed Outbound A2A and stream-json Mode β
--a2a can now be combined with --input-format stream-json, allowing messages from both protocols to alternate and collaborate within the same session:
- Each line on the same stdin belongs to one protocol. Messages from both protocols can alternate and jointly drive a single session, with support for A2A
SendMessage/GetTask/CancelTaskand the shared session's tool permission policy - When an execution initiated by A2A calls
AskUserQuestion, the task enters a waiting-for-input state and returns a readable question with structured options. The caller can answer using the same task identifier, after which the original execution resumes. Both blocking and immediate-return modes are supported SendMessagewaits for the current session to become idle (up to 10 minutes by default, configurable throughCODEBUDDY_A2A_WAIT_IDLE_TIMEOUT_MS), while task queries and cancellation are not blocked by this wait- Using
--a2aalone retains its existing exclusive stdio behavior, and--a2astill cannot be combined with--acp
π§ Improvements β
- Standardized outbound A2A approval-result messages: When approval is denied or unanswered, the result returned to the model now uses fixed, named sections (content requiring approval, task result, handling result, and reason). Unreliable annotations and redundant hints have been removed, leaving only the necessary action instructions so the model can interpret approval results more consistently
- Optimized outbound A2A polling cadence: The polling interval has changed from exponential backoff to a fixed 500ms, preventing tasks from appearing stuck when they finish near the long tail. The maximum total task duration has increased from 15 minutes to 30 minutes. Both values can be overridden through environment variables
π Bug Fixes β
- A2A and stream-json session reuse: Fixed issues that could create duplicate session histories when reusing a session, return conflicting terminal states twice after a task was canceled while waiting, or overwrite an executing task as failed when duplicate answers were submitted concurrently. Answer waits now time out after 10 minutes by default, preventing disconnected callers from occupying a session indefinitely
- Improved A2A polling resilience: A single failed
tasks/getrequest no longer terminates the entire polling cycle. Explicit client errors are reported immediately; all other cases (rate limits, server errors, network errors, and timeouts) are retried up to 5 times with automatic backoff, and any successful attempt restores normal polling - Missing model-call tracing data: Fixed tracing data potentially going missing after login state or product configuration changes, and eliminated irrelevant configuration errors produced during lazy initialization
- Built-in workflows unavailable in standalone binaries: Fixed built-in workflows such as
deep-researchreturning "not found" when invoked from standalone binary installations. Built-in resource discovery and error messages have also been improved