PackageTrack
Sign in Get early access

agent-client-protocol-schema

A protocol for standardizing communication between code editors and AI coding agents

1.7.0 4.1M downloads/mo #4966 most downloaded on crates.io agentclientprotocol/agent-client-protocol

What this package is like to depend on

Last release 3 days ago

20 Aug 2026

Ships fairly regularly

a new release about every 2 weeks

Nearly every release is documented

notes for 53 of 53 stable releases

Nothing withdrawn

no release was ever pulled

10 months old

53 releases · first in 2025

53 releases in the last 12 months

see the full history below

Release timeline

53 releases · Oct 2025 to Aug 2026
2026
Release Pre-release

Releases

latest 53
  1. 1.7.0 20 Aug 2026
    Release notes

    Added

    • (unstable) add session compaction updates (#2002)
    • (schema) stabilize terminal authentication (#2000)
    • (rust) make schemars optional (#1939)
    • (schema) stabilize elicitation (#1779)

    Other

    • (unstable-v2) remove conversion helpers (#1809)
    • (rfd) Move terminal auth to preview (#1796)
    Open source →
    Release notes

    Added

    • (unstable) add session compaction updates (#2002)
    • (schema) stabilize terminal authentication (#2000)
    • (rust) make schemars optional (#1939)
    • (schema) stabilize elicitation (#1779)

    Other

    • (unstable-v2) remove conversion helpers (#1809)
    • (rfd) Move terminal auth to preview (#1796)
    Open source →
    Release notes

    Rust Crate v1.7.0

    Compare

    Choose a tag to compare

    Open source →
  2. 1.6.0 21 Jul 2026
    Release notes

    Added

    • (unstable) add tool call name (#1752)
    • (unstable-v2) add cancelled variant to tool call and plan item (#1750)
    Open source →
    Release notes

    Added

    • (unstable) add tool call name (#1752)
    • (unstable-v2) add cancelled variant to tool call and plan item (#1750)
    Open source →
    Release notes

    Rust Crate v1.6.0

    Compare

    Choose a tag to compare

    Open source →
  3. 1.5.0 20 Jul 2026
    Release notes

    Added

    • (unstable-v2) add v2 semantic string types (#1742)
    • (unstable-v2) rename diff patch payload to text (#1730)
    • (unstable-v2) add v2 terminal output surface (#1679)

    Fixed

    • (unstable-v2) gate v2 auth methods on authMethods (#1728)
    • (unstable-v2) Clean up conversion helpers (#1640)
    • (schema) remove enum discriminators from invalid schemas (#1612)

    Other

    • (unstable-v2) clarify idle session semantics (#1729)
    Open source →
    Release notes

    Added

    • (unstable-v2) add v2 semantic string types (#1742)
    • (unstable-v2) rename diff patch payload to text (#1730)
    • (unstable-v2) add v2 terminal output surface (#1679)

    Fixed

    • (unstable-v2) gate v2 auth methods on authMethods (#1728)
    • (unstable-v2) Clean up conversion helpers (#1640)
    • (schema) remove enum discriminators from invalid schemas (#1612)

    Other

    • (unstable-v2) clarify idle session semantics (#1729)
    Open source →
    Release notes

    Rust Crate v1.5.0

    Compare

    Choose a tag to compare

    Open source →
  4. 1.4.0 06 Jul 2026
    Release notes

    Added

    • (unstable) Add descriptions to elicitation enum options (#1397)
    Open source →
    Release notes

    Added

    • (unstable) Add descriptions to elicitation enum options (#1397)
    Open source →
    Release notes

    Rust Crate v1.4.0

    Compare

    Choose a tag to compare

    Open source →
  5. 1.3.0 06 Jul 2026
    Release notes

    Added

    • (schema) Stabilize boolean session config options (#1604)
    • (unstable-v2) tighten v2 field validation (#1587)
    • (unstable-v2) New diff format (#1586)
    • (unstable-v2) Unify session/load and session/resume (#1584)
    • (unstable-v2) require more session methods by default (#1578)
    • (unstable-v2) More flexible permission requests (#1577)
    • (unstable-v2) Align v2 Content types with the latest MCP spec (#1576)
    • (unstable-v2) Unify the ID naming conventions across the schema (#1567)
    • (unstable-v2) require typed config values (#1561)

    Fixed

    • (schema) Reject malformed protocol fields (#1583)
    • (unstable) remove URL elicitation error (#1574)
    • (unstable-v2) Preserve meta update signals in v2 (#1573)
    • (unstable-v2) Continue to make more enums future compatible (#1571)
    • (unstable-v2) Make empty MCP arrays optional (#1570)
    • (unstable-v2) Make all session lifecycle requests consistent (#1555)

    Other

    • (schema) Clean up generated documentation and make wording more consistent (#1568)
    • (rust) Box v2 protocol enum variants (#1562)
    Open source →
  6. 1.2.0 29 Jun 2026
    Release notes

    Added

    • (schema) Stabilize request cancellation (#1549)
    • (unstable-v2) use EnvVariable for terminal auth env (#1522)
    • (unstable-v2) Require auth logout support (#1520)
    • (unstable-v2) Group v2 auth methods under auth/* (#1519)
    • (unstable-v2) require v2 implementation info (#1517)

    Fixed

    • (unstable-v2) allow null auth capabilities (#1539)
    • Deserialization leniency part 2 (#1526)
    • (unstable-v2) make mcpServers optional in new sessions (#1523)
    • (rust) Clean up Protocol version handling (#1515)

    Other

    • (unstable-v2) reorder v2 content fields (#1541)
    • (unstable-v2) Clean up client schema types (#1540)
    • (schema) correct Implementation description (#1518)
    Open source →
  7. 1.1.0 24 Jun 2026
    Release notes

    Added

    • (schema) Stabilize model_config option category (#1502)
    Open source →
  8. 1.0.0 24 Jun 2026
    Release notes

    Added

    • (unstable) Add boolean config option capabilities (#1490)
    Open source →
  9. 0.14.0 18 Jun 2026
    Release notes

    Added

    • (rust) Expose v1 schema types only under v1 module (#1457)
    Open source →
  10. 0.13.8 18 Jun 2026
    Release notes

    Other

    • (rust) Move schema crate into workspace subdirectory (#1456)
    • various cleanups (#1453)
    • Clarify schema release versioning docs (#1443)
    Open source →
  11. 0.13.7 16 Jun 2026
    Release notes

    Added

    • (unstable-v2) Add streaming tool-call content in v2 (#1407)
    • (unstable-v2) Add v2 whole-message session updates (#1396)
    • (unstable-v2) Unify v2 tool call updates (#1390)
    • (unstable-v2) Require auth method type discriminator in v2 (#1387)
    • (unstable-v2) Nest session-scoped capabilities under session (#1373)

    Fixed

    • (rust) Preserve JSON object key order (#1393)
    • (schema) Add missing _meta fields to protocol schemas (#1440)
    • (unstable-v2) Tolerate errors in v1/v2 conversions (#1420)
    • (unstable-v2) Clean up old agent auth deserialization (#1388)

    Other

    • Setup separate publishes for JSON Schemas (#1377)
    Open source →
  12. 0.13.6 05 Jun 2026
    Release notes

    Added

    • (schema) Stabilize optional message IDs (#1372)
    • (schema) Stabilize session usage updates (#1371)
    • (schema) Stabilize session/delete (#1370)
    • (unstable-v2) Remove MCP SSE transport and make stdio opt-in (#1368)
    • (unstable-v2) Clean up capability objects (#1367)
    • (unstable-v2) Require message IDs in v2 chunks (#1352)
    • (unstable-v2) Adopt plan_update as v2 plan shape (#1347)
    • (unstable-v2) Remove v2 client filesystem and terminal surface (#1346)

    Fixed

    • (unstable) Fix plan capability key (#1369)

    Other

    • (rfd) Add JSON-RPC batch guidance for v2 (#1348)
    • (rfd) Split end-turn token usage from session usage (#1345)
    • (rfd) Clarify agent-owned message IDs in RFDs (#1344)
    • (deps) bump the minor group with 5 updates (#1341)
    • Render feature docs in docs.rs (#1331)
    Open source →
  13. 0.13.5 01 Jun 2026
    Release notes

    Added

    • (schema) Experiment annotating lenient deserialize opportunities (#1328)
    • Stabilize additionalDirectories for sessions (#1327)
    • (unstable) Remove unstable session model API (#1325)
    • (unstable-v2) Remove dedicated session modes and models apis from v2 (#1324)
    • (unstable) Add v2 enum extension RFD and fallbacks (#1304)

    Other

    • Move existing protocol docs to v1 (#1326)
    • Add some draft v2 protocol docs and schema (#1306)
    Open source →
  14. 0.13.4 27 May 2026
    Release notes

    Added

    • (unstable) Add unstable plan operations (#1299)
    Open source →
  15. 0.13.3 22 May 2026
    Release notes

    Added

    • Stabilize logout method (#1273)

    Fixed

    • (unstable) Rename provider method types to singular (#1272)

    Other

    • (rfd) Move additional directories RFD to Preview (#1276)
    • Add schema download note to schema page (#1269)
    • (deps) bump num-conv from 0.2.1 to 0.2.2 in the minor group (#1244)
    • Set minimum supported Rust version (#1232)
    • Document ACP versioning semantics (#1229)
    Open source →
  16. 0.13.2 17 May 2026
    Release notes

    Fixed

    • (unstable) Update additionalDirectories guidance (#1227)
    Open source →
  17. 0.13.1 16 May 2026
    Release notes

    Added

    • (unstable) Add unstable session delete support (#1216)
    Open source →
  18. 0.13.0 12 May 2026
    Release notes

    Added

    • (unstable) Add experimental MCP-over-ACP message types (#1185)

    Other

    • add unstable mcp-over-acp additions to the schema (#1173)
    • (deps) bump the minor group with 3 updates (#1178)
    • (deps) bump the minor group with 2 updates (#1121)
    • (unstable) Start setting up v2 Schema scaffolding for experimentation (#1099)
    • reorganize to v1 module (#1094)
    Open source →
  19. 0.12.2 23 Apr 2026
    Release notes

    Added

    • Stabilize session/close (#1062)
    • Stabilize session/resume (#1051)
    Open source →
  20. 0.12.1 21 Apr 2026
    Release notes

    Other

    • (unstable) Remove RequiredNullable dead code (#1026)
    • Optional current provider (#1021)
    Open source →
  21. 0.12.0 17 Apr 2026
    Release notes

    Added

    • (rust-only) Remove unused RPC message schema types (schema.json unchanged) (#1009)
    • (rust-only) better tolerate malformed optional fields in deserialization (#1006)

    Fixed

    • (rpc) preserve '_' prefix for extension methods and reject empty ext (#883)
    Open source →
  22. 0.11.7 15 Apr 2026
    Release notes

    Added

    • (unstable) Initial implementation of providers (#899)

    Other

    • (rfd) Move session/close to Preview (#970)
    • (rfd) Move session/resume to Preview (#969)
    Open source →
  23. 0.11.6 14 Apr 2026
    Release notes

    Fixed

    • (unstable) Move elicitation scope into mode variants (#966)
    Open source →
  24. 0.11.5 09 Apr 2026
    Release notes

    Added

    • (unstable) elicitation for session, tool call, and requests (#792)
    Open source →
  25. 0.11.4 28 Mar 2026
    Release notes

    Added

    • (unstable) initial unstable nes implementation (#754)
    • (unstable) initial additional directories implementation (#838)

    Other

    • properly interpolate variables in generate.rs error messages (#862)
    • add tests for content file (#850)
    • Update README.md (#836)
    Open source →
  26. 0.11.3 18 Mar 2026
    Release notes

    Added

    • (unstable) More robust schema for elicitation types (#771)
    • (unstable) initial implementation for the logout method capability (#751)
    • (rust-only) Add meta getter for AuthMethod enum (#725)

    Other

    • initial implementation: elicitation (#769)
    Open source →
  27. 0.11.2 11 Mar 2026
    Release notes

    Fixed

    • (unstable) Complete session/stop → session/close rename (#724)

    Other

    • Update ecosystem docs for new clients and libraries (#715)
    Open source →
  28. 0.11.1 09 Mar 2026
    Release notes

    Added

    • (unstable) Remove unused auth_methods from Error type (#708)
    • Stabilize session/list and session_info_update (#705)
    • (unstable) Rename unstable session/stop method to session/close (#701)
    • (unstable) Add config option type for boolean on/off toggles (#576)

    Other

    • (rfd) Move initial registry RFD to completed (#706)
    • (deps) bump quote from 1.0.44 to 1.0.45 in the minor group (#698)
    Open source →
  29. 0.11.0 04 Mar 2026
    Release notes

    Added

    • (unstable) implementation for unstable session/stop (#583)
    • (unstable) implement message id rfd (#581)
    • (unstable) Initial support for various auth methods (#588)

    Fixed

    • Align struct naming and documentation (#637)
    • remove duplicate word typos across docs and source (#606)
    • use impl IntoOption<Meta> for CancelRequestNotification::meta() (#467)
    • avoid redundant JSON validation in extension notification decoding (#459)

    Other

    • Clean up some builder pattern inconsistencies (#635)
    • fix incomplete sentence in KillTerminalCommandRequest doc comment (#608)
    • (deps) bump the minor group with 2 updates (#563)
    • (deps) bump strum from 0.27.2 to 0.28.0 (#564)
    • (deps) bump the minor group with 3 updates (#518)
    • (deps) bump the minor group with 4 updates (#480)
    Open source →
  30. 0.10.8 04 Feb 2026
    Release notes

    Added

    • Stabilize Session Config Options (#411)
    • (unstable) Add unstable support for session usage (#454)
    Open source →
  31. 0.10.7 15 Jan 2026
    Release notes

    Fixed

    • (schema) Add missing titles for enum variants in schema (#384)
    • (unstable) Add missing session capabilities builder method (#380)
    • (unstable) Add copy to SessionConfigOptionCategory (#368)

    Other

    • (rfd) Session Config Options to Preview stage (#378)
    • (deps) bump the minor group with 5 updates (#375)
    Open source →
  32. 0.10.6 09 Jan 2026
    Release notes

    Added

    • (unstable) Add a category to session config options (#366)
    • (unstable) Add a request cancelled error constructor (#347)

    Fixed

    • (error) Add human readable titles for error code variants (#367)

    Other

    • (deps) bump the minor group with 2 updates (#362)
    • (deps) bump the minor group across 1 directory with 7 updates (#358)
    Open source →
  33. 0.10.5 17 Dec 2025
    Release notes

    Added

    • (unstable) Make constructing SessionConfigSelects on the Rust side nicer (#343)
    Open source →
  34. 0.10.4 16 Dec 2025
    Release notes

    Added

    • (unstable) Draft implementation of session config options (#339)
    Open source →
  35. 0.10.3 15 Dec 2025
    Release notes

    Added

    • (unstable) add SessionInfoUpdate to SessionUpdate enum (#334)
    • (rust-only) Introduce MaybeUndefined type to allow for distinguishing between null and undefined (#337)
    Open source →
  36. 0.10.2 11 Dec 2025
    Release notes

    Added

    • (unstable) add cwd and mcp_servers to session/fork (#333)
    • (unstable) Draft implementation of session/resume (#324)
    Open source →
  37. 0.10.1 09 Dec 2025
    Release notes

    Added

    • (unstable) Draft implementation of $/cancel_request notification (#303)

    Fixed

    • (schema) Add title field back (#321)
    Open source →
  38. 0.10.0 08 Dec 2025
    Release notes

    This release mostly contains several nice quality-of-life improvements for the Rust version of the schema, as well as an unstable draft implementation of session/fork for people to start trying out.

    Added

    • (rust-only) More convenient builder method params (#313)
    • (unstable) Draft implementation of session/fork (#311)
    • (rust-only): Provide nicer interface to ErrorCode and add them to the docs (#301)

    Fixed

    • (rust) Make new methods consistent for all id params (#306)

    Other

    • Bump the minor group with 2 updates (#310)
    • (rust) Move to a more typical rust lib setup (#299)
    Open source →
  39. 0.9.1 01 Dec 2025
    Release notes

    Fixed

    • Remove incorrect discriminator on McpServer type (#292)
    Open source →
  40. 0.9.0 01 Dec 2025
    Release notes

    This release defines the _meta properties in the schema as intended and currently used, which is always an object of key/value pairs, with string keys and arbitrary values.

    While this is how everyone is using them, it became clear in code generation that the types weren't quite matching up to the expected usage. This should alleviate some extra checks on the implementer side.

    Added

    • [breaking] Provide clearer schema for _meta properties (#290)
    Open source →
  41. 0.8.0 28 Nov 2025
    Release notes

    Some follow-up changes from 0.7.0. Most of the changes were in the Rust schema to make things a bit easier to work with.

    However, there were some further cleanups to the JSON schema to remove some $ref indirection where possible to have the schema be a bit flatter.

    There are also some fixes that were causing issues with code generators related to Extension methods, these now have concrete types in the schema as well.

    Rust: There are some breaking changes to the OutgoingMessage types and other low-level RPC types to make them generate clearer JSON schema representations. Likely these are only used by SDKs, but they moved to tuple enum variants.

    Also, rather than having free-floating V0 and V1 constants, these are now associated constants on the ProtocolVersion type itself.

    Fixed

    • Broken doctest and test in CI (#267)

    Other

    • Remove some nesting of the JSON schema (#278)
    • Easier ids in constructors (#275)
    • Exhaustive RPC types (#272)
    • Easier new methods for ExtRequest + ExtNotification (#271)
    • Protocol Version constants (#270)
    • Cleanup Rust example from schema docs (#269)
    • Introduce helper methods to get the corresponding method name of a (#268)
    Open source →
  42. 0.7.0 25 Nov 2025
    Release notes

    This is a big release as we move towards a v1.0 release of the JSON Schema.

    This should be the final form, we just want to go through the motions of upgrading all of the SDKs to verify no further changes are needed.

    NOTE: The Protocol version is already, and remains, 1. This is just for the JSON Schema itself. There are no breaking changes to the protocol, we just reworked the schema representation to be more compliant with code generation tooling for the various SDKs.

    We also now have two variants of the schema attached to the release:

    Stable

    • schema.json
    • meta.json

    Unstable

    • schema.unstable.json
    • meta.unstable.json

    As we have more RFD implementations in progress, this will allow us to iterate on the schema without requiring SDKs to churn through the changes.

    For SDK authors, it is important if you use the unstable version, to make sure the unstable features are behind a flag of some kind with clear direction to your users about the state of these features. But this will also allow teams to start testing the unstable features and provide feedback to the RFD authors.

    Rust

    The Rust crate, agent-client-protocol-schema has major breaking changes. All exported type are now marked as #[non_exhaustive]. Since the schema itself is JSON, and we can introduce new fields and variants in a non-breaking way, we wanted to allow for the same behavior in the Rust library.

    All enum variants are also tuple variants now, with their own structs. This made it nicer to represent in the JSON Schema, and also made sure we have _meta fields on all variants.

    This upgrade will likely come with a lot of compilation errors, but ideally upgrading will be more painless in the future.

    Open source →
  43. 0.6.3 30 Oct 2025
    Release notes

    Protocol

    • Add discriminator fields to the schema.json for tagged enums to aid with code generation in language tooling.
    Open source →
  44. 0.6.2 24 Oct 2025
    Release notes

    Protocol

    Fix incorrectly named _meta field on SetSessionModeResponse

    Open source →
  45. 0.6.1 24 Oct 2025
    Release notes

    Protocol

    • No changes

    Rust

    • Make Implementation fields public
    Open source →
  46. 0.6.0 24 Oct 2025
    Release notes

    Protocol

    • Add ability for agents and clients to provide information about their implementation https://github.com/agentclientprotocol/agent-client-protocol/pull/192
    Open source →
  47. 0.5.0 23 Oct 2025
    Release notes

    Protocol

    • JSON Schema: More consistent inlining for enum representations to fix issues with code generation in language tooling.
    • Provide more schema-level information about JSON-RPC format.
    • Provide missing _meta fields on certain enum variants.

    Rust

    • More consistent enum usage. Enums are always either newtype or struct variants within a single enum, not mixed.
    Open source →
  48. 0.4.11 20 Oct 2025
    Release notes

    Protocol

    • No changes

    Rust

    • Make id types easier to create and add PartialEq and Eq impls for as many types as possible.
    Open source →
  49. 0.4.10 16 Oct 2025
    Release notes

    Protocol

    • No changes

    Rust

    • Export Result type with a default of acp::Error
    Open source →
  50. 0.4.9 13 Oct 2025
    Release notes
    • Fix schema publishing
    Open source →
  51. 0.4.8 13 Oct 2025
    Release notes
    • Fix publishing
    Open source →
  52. 0.4.7 13 Oct 2025
    Release notes

    Protocol

    • Schema uploaded to GitHub releases

    Rust

    • SDK has moved to https://github.com/agentclientprotocol/rust-sdk
    • Start publishing schema types to crates.io: https://crates.io/crates/agent-client-protocol-schema
    Open source →
  53. 0.4.6 13 Oct 2025
    Release notes

    Protocol

    • No changes

    Rust

    • Fix: support all valid JSON-RPC ids (int, string, null)
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive