Skip to content

Releases: agentclientprotocol/agent-client-protocol

v0.8.0

28 Nov 13:35
21a8206

Choose a tag to compare

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)

v0.7.0

25 Nov 13:38
f300e8f

Choose a tag to compare

What's Changed

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.

New Contributors

Full Changelog: v0.6.3...v0.7.0

v0.6.3

30 Oct 09:31
66b3a26

Choose a tag to compare

What's Changed

  • Add discriminator fields to the schema.json for tagged enums to aid with code generation in language tooling.
    by @bennetbo in #207

New Contributors

Full Changelog: v0.6.2...v0.6.3

v0.6.2

24 Oct 15:43
c27f52f

Choose a tag to compare

Protocol

  • Fix incorrectly named _meta field on SetSessionModeResponse by @benbrandt in #197

Full Changelog: v0.6.1...v0.6.2

v0.6.1

24 Oct 15:38
4149e61

Choose a tag to compare

Protocol

No changes.

Rust

Full Changelog: v0.6.0...v0.6.1

v0.6.0

24 Oct 15:15
b78a509

Choose a tag to compare

Protocol

  • Add ability for agents and clients to provide information about their implementation #192

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.5.0

23 Oct 14:49
2271cae

Choose a tag to compare

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.

Full Changelog: v0.4.11...v0.5.0

v0.4.11

20 Oct 12:47
43b8fba

Choose a tag to compare

Protocol

  • No changes

Rust

  • Make id types easier to create and add PartialEq and Eq impls for as many types as possible by @benbrandt in #179

Full Changelog: v0.4.10...v0.4.11

v0.4.10

16 Oct 07:57
fb4f3ad

Choose a tag to compare

What's Changed

Protocol

  • No changes

Rust

  • Export Result type with a default of acp::Error

Full Changelog: v0.4.9...v0.4.10

v0.4.9

13 Oct 10:29
9e4cfdb

Choose a tag to compare

Fix schema publish

Full Changelog: v0.4.8...v0.4.9