-
Notifications
You must be signed in to change notification settings - Fork 98
Versioning
Codeman follows semantic versioning. This page says what the version number actually promises, which matters if you are building anything against Codeman.
Breaking any of these after 1.0 requires a major bump:
-
The CLI. Command names, documented flags, and their behaviour. The npm package is
aicodemanand installs both theaicodemanandcodemancommands; renaming either is breaking. -
The HTTP API and SSE channel, served under
/api/v1with the uniform envelope and conventional status codes. Endpoint paths, the envelope,errorCodevalues, and SSE event names are all stable. -
Documented deployment environment variables:
CODEMAN_PASSWORD,CODEMAN_USERNAME,CODEMAN_HOST,CODEMAN_PORT,CODEMAN_INSTANCE,CODEMAN_ALLOWED_HOSTS,CODEMAN_DATA_DIR,CODEMAN_TMUX_SOCKET, plus the--host,--port, and--httpsflags. -
The published
xterm-zerolag-inputlibrary, on its own independent version line. Codeman reaching 1.0 says nothing about that package's version.
Additive changes are not breaking: new endpoints, new optional fields, new error codes,
new SSE events. Genuinely breaking API changes would ship under a new prefix rather than
changing /api/v1.
These can change in a minor or even patch release:
-
The
~/.codeman/state file formats. Migrations are made on a best-effort basis and have been done across renames, but the on-disk shape is not a contract. Do not write tooling against it. - Internal TypeScript modules. The npm package is CLI-only. There is no stable library entry point, and importing it programmatically is unsupported.
- Experimental and opt-in features, whatever the app's version: gesture control, agent teams, and anything labelled experimental in the UI or docs.
- Additive changes are preferred over breaking ones.
- A covered surface slated for removal is deprecated first: it keeps working for at least one minor release, with a runtime warning and a changelog note pointing at the replacement, then is removed in the next major.
- Backwards-compatibility shims are kept until a major boundary.
Releases are managed with changesets. Every release:
- Bumps the version and updates
CHANGELOG.md. - Publishes to npm as
aicodeman. - Cuts a GitHub release, tagged
codeman@X.Y.Z. - Credits its contributors and bug reporters by name in the release notes.
There is no fixed cadence. Patches ship when fixes are ready, which in practice is often.
codeman --versionOr App Settings → Updates, which also checks for a newer one and can install it. See Running As A Service.
- HTTP API - the stable API surface itself.
- Contributing - how changes get made.
-
docs/versioning-policy.md- the authoritative statement.
Documents Codeman 1.21.x. Something wrong or missing on this page? These pages are
generated from docs/wiki/ in
the main repository, so browser edits here are overwritten on the next sync. Send a pull
request against that directory instead, or open a
Discussion.
Getting started
Using it
- The Dashboard
- Agent CLIs
- Working With Files
- Input And Voice
- Mobile Guide
- Keyboard Shortcuts
- Settings Reference
Keeping agents running
Where it runs
Access & security
Automation
Operating it