Skip to content

chore: release#270

Open
acp-release-bot[bot] wants to merge 1 commit into
mainfrom
release-plz-2026-07-20T14-49-14Z
Open

chore: release#270
acp-release-bot[bot] wants to merge 1 commit into
mainfrom
release-plz-2026-07-20T14-49-14Z

Conversation

@acp-release-bot

@acp-release-bot acp-release-bot Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

🤖 New release

  • agent-client-protocol-derive: 1.3.0 -> 2.0.0
  • agent-client-protocol: 1.3.0 -> 2.0.0 (⚠ API breaking changes)
  • agent-client-protocol-polyfill: 1.3.0 -> 2.0.0 (⚠ API breaking changes)
  • agent-client-protocol-rmcp: 2.0.1 -> 3.0.0 (✓ API compatible changes)
  • agent-client-protocol-trace-viewer: 1.3.0 -> 2.0.0 (✓ API compatible changes)
  • agent-client-protocol-conductor: 1.3.0 -> 2.0.0 (⚠ API breaking changes)
  • agent-client-protocol-http: 1.3.0 -> 2.0.0 (✓ API compatible changes)
  • agent-client-protocol-cookbook: 1.3.0 -> 2.0.0 (✓ API compatible changes)

agent-client-protocol breaking changes

--- failure function_missing: pub fn removed or renamed ---

Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/function_missing.ron

Failed in:
  function agent_client_protocol::util::both, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/util.rs:97
  function agent_client_protocol::util::process_stream_concurrently, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/util.rs:140

--- failure inherent_method_missing: pub method removed or renamed ---

Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/inherent_method_missing.ron

Failed in:
  MatchDispatchFrom::if_message_from, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/util/typed.rs:601
  ConnectionTo::send_error_notification, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/jsonrpc.rs:2926
  ConnectionTo::attach_session, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/session.rs:78
  SessionBuilder::with_mcp_server, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/session.rs:153
  Builder::with_responder, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/jsonrpc.rs:892
  Builder::with_mcp_server, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/jsonrpc.rs:1340
  McpConnectionTo::acp_id, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/mcp_server/context.rs:12
  McpConnectionTo::acp_url, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/mcp_server/context.rs:18
  McpConnectionTo::connection_to, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/mcp_server/context.rs:25
  ResponseRouter::respond_with_result, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/jsonrpc.rs:3331
  ResponseRouter::respond, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/jsonrpc.rs:3340
  ResponseRouter::respond_with_internal_error, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/jsonrpc.rs:3345
  ResponseRouter::respond_with_error, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/jsonrpc.rs:3350
  MatchDispatch::if_message, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/util/typed.rs:207
  AcpAgent::zed_claude_code, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/acp_agent.rs:119
  AcpAgent::zed_codex, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/acp_agent.rs:130
  AcpAgent::google_gemini, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/acp_agent.rs:137
  AcpAgent::server, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/acp_agent.rs:144
  AcpAgent::into_server, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/acp_agent.rs:150
  Dispatch::respond_with_error, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/jsonrpc.rs:3517
  Dispatch::erase_to_json, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/jsonrpc.rs:3535

--- failure method_parameter_count_changed: pub method parameter count changed ---

Description:
A publicly-visible method now takes a different number of parameters, not counting the receiver (self) parameter.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/method_parameter_count_changed.ron

Failed in:
  agent_client_protocol::util::TypeNotification::new takes 2 parameters in /tmp/.tmpgU9MkV/agent-client-protocol/src/util/typed.rs:859, but now takes 1 parameters in /tmp/.tmpWtR05R/rust-sdk/src/agent-client-protocol/src/util/typed.rs:876

--- failure pub_module_level_const_missing: pub module-level const is missing ---

Description:
A public const is missing or renamed
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/pub_module_level_const_missing.ron

Failed in:
  METHOD_MCP_MESSAGE in file /tmp/.tmpgU9MkV/agent-client-protocol/src/schema/proxy_protocol.rs:134
  METHOD_MCP_DISCONNECT_NOTIFICATION in file /tmp/.tmpgU9MkV/agent-client-protocol/src/schema/proxy_protocol.rs:115
  METHOD_MCP_CONNECT_REQUEST in file /tmp/.tmpgU9MkV/agent-client-protocol/src/schema/proxy_protocol.rs:80

--- failure struct_missing: pub struct removed or renamed ---

Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_missing.ron

Failed in:
  struct agent_client_protocol::schema::McpDisconnectNotification, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/schema/proxy_protocol.rs:120
  struct agent_client_protocol::schema::McpOverAcpMessage, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/schema/proxy_protocol.rs:142
  struct agent_client_protocol::schema::McpConnectResponse, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/schema/proxy_protocol.rs:101
  struct agent_client_protocol::schema::McpConnectRequest, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/schema/proxy_protocol.rs:85

--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---

Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_missing.ron

Failed in:
  field outgoing of struct ByteStreams, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/jsonrpc.rs:4828
  field incoming of struct ByteStreams, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/jsonrpc.rs:4830
  field outgoing of struct Lines, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/jsonrpc.rs:4685
  field incoming of struct Lines, previously in file /tmp/.tmpgU9MkV/agent-client-protocol/src/jsonrpc.rs:4687

--- failure struct_pub_field_now_doc_hidden: pub struct field is now #[doc(hidden)] ---

Description:
A pub field of a pub struct is now marked #[doc(hidden)] and is no longer part of the public API.
        ref: https://doc.rust-lang.org/rustdoc/write-documentation/the-doc-attribute.html#hidden
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_now_doc_hidden.ron

Failed in:
  field ByteStreams.outgoing in file /tmp/.tmpWtR05R/rust-sdk/src/agent-client-protocol/src/jsonrpc.rs:5453
  field ByteStreams.incoming in file /tmp/.tmpWtR05R/rust-sdk/src/agent-client-protocol/src/jsonrpc.rs:5453
  field Lines.outgoing in file /tmp/.tmpWtR05R/rust-sdk/src/agent-client-protocol/src/jsonrpc.rs:5313
  field Lines.incoming in file /tmp/.tmpWtR05R/rust-sdk/src/agent-client-protocol/src/jsonrpc.rs:5313

--- failure type_allows_fewer_generic_type_params: type now allows fewer generic type parameters ---

Description:
A type now allows fewer generic type parameters than it used to. Uses of this type that supplied all previously-supported generic types will be broken.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-parameter-no-default
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/type_allows_fewer_generic_type_params.ron

Failed in:
  Struct TypeNotification allows 1 -> 0 generic types in /tmp/.tmpWtR05R/rust-sdk/src/agent-client-protocol/src/util/typed.rs:864

agent-client-protocol-polyfill breaking changes

--- failure enum_missing: pub enum removed or renamed ---

Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/enum_missing.ron

Failed in:
  enum agent_client_protocol_polyfill::mcp_over_acp::BridgeMode, previously in file /tmp/.tmpgU9MkV/agent-client-protocol-polyfill/src/mcp_over_acp/mod.rs:98

--- failure inherent_method_missing: pub method removed or renamed ---

Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/inherent_method_missing.ron

Failed in:
  McpOverAcpPolyfill::stdio, previously in file /tmp/.tmpgU9MkV/agent-client-protocol-polyfill/src/mcp_over_acp/mod.rs:129

agent-client-protocol-conductor breaking changes

--- failure struct_missing: pub struct removed or renamed ---

Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_missing.ron

Failed in:
  struct agent_client_protocol_conductor::ConductorResponder, previously in file /tmp/.tmpgU9MkV/agent-client-protocol-conductor/src/conductor.rs:309
Changelog

agent-client-protocol-derive

2.0.0 - 2026-07-22

Fixed

  • [breaking] harden the 2.0 transport and API boundary (#280)

Other

  • (deps) bump syn from 2.0.119 to 3.0.2 (#267)

Curated 2.0 release notes

Added

  • Support generic request, notification, and response types in the JSON-RPC derive macros.
  • Accept any Rust type expression, including generic types such as Option<Response>, in a
    request's response attribute.

Changed

  • Align this release line with agent-client-protocol 2.x; generated implementations target the
    corresponding core API.
  • Update the macro parser to syn 3 and generate collision-resistant internal identifiers and
    fully qualified support-crate paths.

agent-client-protocol

2.0.0 - 2026-07-22

Added

  • (acp) map sent requests to application types (#278)
  • (deps) Bump schema to 1.5.0 (#273)
  • (unstable-v2) Accept incoming JSON-RPC batches (#271)

Fixed

  • [breaking] harden the 2.0 transport and API boundary (#280)
  • (acp) [breaking] preserve JSON-RPC frames across transport adapters (#275)
  • (acp) preserve retry state across matcher chains (#274)
  • (acp) [breaking] stop responding to JSON-RPC notifications (#272)

Other

  • (acp) [breaking] adopt schema-native MCP-over-ACP (#281)
  • (acp) clean up stale API terminology (#279)
  • (acp) [breaking] clarify routing and handler APIs (#277)
  • (acp) [breaking] give AcpAgent its own launch config (#276)
  • (deps) bump syn from 2.0.119 to 3.0.2 (#267)

Curated 2.0 release notes

Added

  • Accept incoming JSON-RPC batches in stable v1 and draft v2 connections, process entries
    independently, and group replies into one response array. The SDK still sends requests and
    notifications individually.
  • Allow mapped SentRequest values to be consumed without implementing JsonRpcResponse, and
    accept one-shot mappers.

Breaking and changed

  • Breaking: Make Channel the batch-aware TransportFrame boundary instead of carrying
    individual message results. Public frame types are cloneable, and TransportBatch exposes
    owned entry iteration. See the 2.0 migration guide.
  • Breaking: Rename ResponseRouter response methods to use routing terminology and return
    borrowed RequestId values from response and request handles. See the 2.0 migration guide.
  • Breaking: Remove ambiguous JSON-RPC error-response and dispatch-conversion helpers, and
    require Dispatch notification types to implement JsonRpcNotification. In particular,
    remove ConnectionTo::send_error_notification and Dispatch::respond_with_error: JSON-RPC
    notifications never receive responses. Make TypeNotification role-independent and construct
    it without a connection. See the 2.0 migration guide.
  • Breaking: Replace cloneable dynamic-handler registrations with DynamicHandlerGuard and
    use detach() to keep handlers registered without leaking a connection handle. See the
    2.0 migration guide.
  • Breaking: Rename Builder::with_responder to with_runner to describe background
    connection tasks separately from JSON-RPC response handles. See the 2.0 migration guide.
  • Breaking: Rename MatchDispatch::if_message to if_dispatch and
    MatchDispatchFrom::if_message_from to if_dispatch_from. See the 2.0 migration guide.
  • Breaking: Replace the SDK-local MCP-over-ACP wire types and underscore-prefixed methods with
    the shared schema's native McpServer::Acp, mcp/connect, mcp/message, and
    request/response mcp/disconnect transport. The old wire structs and METHOD_MCP_* constants
    are removed. Only the high-level ACP attachment methods require unstable_mcp_over_acp;
    standalone MCP servers remain available without it and no longer allocate schema transport IDs.
    Global attachment adds the same declaration to new, load, resume, and feature-gated fork session
    requests. Fake McpServer::Http declarations using an acp: URL are no longer emitted or
    consumed. See the 2.0 migration guide.
  • Breaking: Return borrowed identifiers, connection handles, modes, and metadata from
    McpConnectionTo and ActiveSession; replace McpConnectionTo::acp_id with optional typed
    server_id and connection_id accessors, add an explicit standalone-versus-ACP connection
    context, remove acp_url, and rename connection_to to connection. See the 2.0 migration
    guide
    .
  • Breaking: Narrow low-level helpers by borrowing DynConnectTo type names, hiding transport
    fields and session/stream internals, and removing util::both. See the 2.0 migration guide.
  • Breaking: Replace the MCP wire-schema configuration accepted by AcpAgent with the SDK-local
    AcpAgentConfig; use config() and into_config(), and represent JSON environment variables as
    an object. See the 2.0 migration guide.
  • Breaking: Remove the deprecated zed_claude_code and zed_codex constructors and the
    google_gemini convenience constructor from AcpAgent. See the 2.0 migration guide.
  • Update agent-client-protocol-schema to 1.5.0. The stable v1 schema remains compatible; the
    opt-in draft v2 API gains semantic newtypes, revised diff and terminal types, and generic
    fallible conversion helpers. See the
    draft v2 migration notes.

Fixed

  • Preserve JSON-RPC batch framing across component adapters, protocol routing, and tracing
    bridges. Invalid call entries no longer abort relays, fully filtered response batches are not
    serialized as empty arrays, and malformed response-only input is ignored rather than answered.
  • Complete a batched request with Internal Error when its handler drops the responder, so
    completed sibling replies can flush; an explicit handler error still takes precedence.
  • Route response-dispatch handler errors to the pending local SentRequest instead of losing the
    original error or sending protocol traffic in response to a response.
  • Let the version-selecting agent router ignore response-only frames before initialize and
    preserve response-only entries beside a valid batched initialization.
  • Release abandoned v2 and v1 probe implementations before continuing a negotiated v1 fallback.
  • Preserve MatchDispatchFrom retry state across chained matchers.

agent-client-protocol-polyfill

2.0.0 - 2026-07-22

Fixed

  • [breaking] harden the 2.0 transport and API boundary (#280)
  • (acp) [breaking] preserve JSON-RPC frames across transport adapters (#275)

Other

  • (acp) [breaking] adopt schema-native MCP-over-ACP (#281)
  • (acp) [breaking] clarify routing and handler APIs (#277)

Curated release notes

  • Breaking: Upgrade to agent-client-protocol 2.x. Polyfill components and the core
    handlers/types they connect must be migrated together.
  • Breaking: Consume native McpServer::Acp declarations and route mcp/connect,
    mcp/message, and request/response mcp/disconnect. The bridge no longer recognizes
    McpServer::Http values with acp: URLs or the SDK-local underscore-prefixed method family.
  • Breaking: Remove the public BridgeMode enum and McpOverAcpPolyfill::stdio; the repository
    no longer ships the conductor helper subcommand that stdio mode required. The polyfill now has
    one supported configuration, selected with McpOverAcpPolyfill::http() or Default; otherwise
    use a separately managed MCP transport.
  • Changed: Align the bridge background-task terminology with the core runner APIs.
  • Changed: Keep MCP-over-ACP native on the provider-facing side while translating declarations
    to localhost HTTP only for a final agent that lacks native transport support.
  • Changed: Adapt native declarations in new, load, resume, and optionally fork session setup;
    pass them through unchanged when the successor already supports native MCP-over-ACP, and
    advertise the adapted capability only when the successor supports HTTP MCP.
  • Documentation: Update MCP-over-ACP conductor composition examples for the current native
    declaration and compatibility boundary.
  • Fixed: Preserve JSON-RPC batch frames through the MCP-over-ACP HTTP bridge, answer
    malformed calls on their originating POST, and ignore malformed response-shaped input.
  • Fixed: Serialize overlapping request IDs (including id: null) and response-bearing batches
    without identifiable request IDs, and retain active correlations after an HTTP caller
    disconnects, preventing late or concurrent responses from being delivered to the wrong POST.

agent-client-protocol-rmcp

3.0.0 - 2026-07-22

Fixed

  • [breaking] harden the 2.0 transport and API boundary (#280)

Other

  • (acp) [breaking] adopt schema-native MCP-over-ACP (#281)
  • (acp) clean up stale API terminology (#279)

Curated release notes

  • Breaking change: Upgrade the public agent-client-protocol dependency from 1.x to
    2.x. Downstream code using core SDK types through this crate must migrate both
    crates together; this requires agent-client-protocol-rmcp 3.0.0.
  • Changed: Align McpServerBuilder's background-task terminology with the core
    runner APIs.
  • Changed: Keep rmcp-backed standalone MCP servers independent of the
    unstable_mcp_over_acp feature. Applications enable this crate's matching passthrough feature
    only when attaching a server to ACP. Attached services use native McpServer::Acp
    declarations, mcp/connect, mcp/message, and request/response mcp/disconnect; optional
    typed server_id and connection_id accessors replace acp_id in tool and connection
    contexts.
  • Documentation: Replace removed handler and serve() APIs in examples and
    document compatibility with both public dependencies.

agent-client-protocol-trace-viewer

2.0.0 - 2026-07-22

Fixed

  • [breaking] harden the 2.0 transport and API boundary (#280)

Curated 2.0 release notes

Changed

  • Align the release line with the ACP SDK 2.0 version group. The trace viewer's
    public API and three-variant JSON event schema are unchanged by the core
    transport-frame migration.

agent-client-protocol-conductor

2.0.0 - 2026-07-22

Added

  • (unstable-v2) Accept incoming JSON-RPC batches (#271)

Fixed

  • [breaking] harden the 2.0 transport and API boundary (#280)
  • (acp) [breaking] preserve JSON-RPC frames across transport adapters (#275)
  • (acp) [breaking] stop responding to JSON-RPC notifications (#272)

Other

  • (acp) [breaking] adopt schema-native MCP-over-ACP (#281)
  • (acp) [breaking] clarify routing and handler APIs (#277)

Curated release notes

  • Breaking change: Upgrade to agent-client-protocol 2.x. Conductor components and the core
    handlers/types they expose must be migrated together.
  • Breaking change: Rename the public ConductorResponder background task to
    ConductorRunner, matching the core runner API it implements.
  • Changed: Enable the opt-in native MCP-over-ACP schema so tracing recognizes mcp/message.
    HTTP adaptation remains an explicit agent-client-protocol-polyfill proxy rather than
    conductor behavior.
  • Fixed: Preserve JSON-RPC batch framing when conductor tracing is enabled.
  • Documentation: Remove references to the retired MCP bridge CLI mode and
    serve() API.

agent-client-protocol-http

2.0.0 - 2026-07-22

Fixed

  • [breaking] harden the 2.0 transport and API boundary (#280)
  • (acp) [breaking] preserve JSON-RPC frames across transport adapters (#275)

Curated release notes

  • Breaking: Upgrade to agent-client-protocol 2.x. Transport implementations and the core
    handlers/types they connect must be migrated together.
  • Fixed: Preserve incoming JSON-RPC batch frames and grouped responses across HTTP and WebSocket
    transports, including session-aware HTTP routing.
  • Fixed: Keep call-bearing and invalid-request batch POSTs in peer order while allowing
    response-only frames, including malformed response-shaped values, to bypass a
    pending request when completing an SSE callback.
  • Fixed: Allow an initial HTTP batch whose first call-shaped entry is initialize
    to create a connection and return its success or rejection as one grouped
    JSON-RPC response, ignoring any leading response-only entries and buffering
    sibling side traffic for the connection stream until initialization completes.

agent-client-protocol-cookbook

2.0.0 - 2026-07-22

Fixed

  • [breaking] harden the 2.0 transport and API boundary (#280)
  • (acp) [breaking] stop responding to JSON-RPC notifications (#272)

Other

  • (acp) [breaking] adopt schema-native MCP-over-ACP (#281)
  • (acp) [breaking] clarify routing and handler APIs (#277)

Curated release notes

  • Changed: Align the cookbook release and examples with agent-client-protocol 2.x.
  • Documentation: Update permission, streaming, MCP server, and conductor examples
    for the 2.0 APIs.


This PR was generated with release-plz.

@acp-release-bot
acp-release-bot Bot force-pushed the release-plz-2026-07-20T14-49-14Z branch 11 times, most recently from ceb6bf6 to a4100f9 Compare July 22, 2026 09:28
@acp-release-bot
acp-release-bot Bot force-pushed the release-plz-2026-07-20T14-49-14Z branch from a4100f9 to 8980b8c Compare July 22, 2026 13:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants