This project tracks the ACP schema tags published by
agentclientprotocol/agent-client-protocol.
Every release should line up with one of those tags so that the generated acp.schema module, examples, and package
version remain consistent.
-
Pick the target schema tag (for example
v0.4.5) and regenerate the protocol bindings:ACP_SCHEMA_VERSION=v0.4.5 make gen-all
This downloads the upstream schema package and rewrites
schema/plus the generatedsrc/acp/schema.py. -
Bump the project version in
pyproject.toml, updatinguv.lockif dependencies changed. -
Run the standard checks:
make check make testmake checkcovers Ruff formatting/linting, static analysis, and dependency hygiene.make testexecutes pytest (including doctests). -
Refresh documentation and examples (for instance the Gemini walkthrough) so they match the new schema behaviour.
- Make sure the diff only includes the expected artifacts: regenerated schema sources,
src/acp/schema.py, version bumps, and doc updates. - Commit with a Conventional Commit message (for example
release: v0.4.5) and note in the PR:- The ACP schema tag you targeted
- Results from
make check/make test - Any behavioural or API changes worth highlighting
- Merge once the review is approved.
Publishing is automated through on-release-main.yml. After the release PR merges to main:
- Draft a GitHub Release for the new tag (e.g.
v0.4.5). If the tag is missing, the release UI will create it. - Once published, the workflow will:
- Write the tag back into
pyproject.tomlto keep the package version aligned - Build and publish to PyPI via
uv publish(using thePYPI_TOKENsecret) - Deploy updated documentation with
mkdocs gh-deploy
- Write the tag back into
No local uv build/uv publish runs are required—focus on providing a complete release summary (highlights, compatibility notes, etc.).
- Breaking schema updates often require refreshing golden fixtures (
tests/test_golden.py), end-to-end cases such astests/test_rpc.py, and any affected examples. - Use
make cleanto remove generated artifacts if you need a fresh baseline before re-runningmake gen-all. - Run optional checks like the Gemini smoke test (
ACP_ENABLE_GEMINI_TESTS=1) whenever the environment is available to catch regressions before publishing.