Versioning
Introduction
Section titled “Introduction”The kit is released as one set of packages that always share a version number. When you upgrade, you move every @pilotoo/* package to the same version at once, and the Changelog for that version lists what changed. These docs describe the latest release; the version menu next to the logo shows which one that is.
One version for the whole kit
Section titled “One version for the whole kit”These seven packages form a fixed set. A release bumps all of them together, even the ones that did not change:
| Package | Side |
|---|---|
@pilotoo/chat-protocol |
both |
@pilotoo/chat-core |
client |
@pilotoo/chat-ui |
client |
@pilotoo/ui |
client |
@pilotoo/agent-runtime |
server |
@pilotoo/server |
server |
@pilotoo/local-server |
server |
Because they move together, a client built on @pilotoo/chat-core@0.1.0 talks to a server built on @pilotoo/server@0.1.0. Keep the client and server on the same version.
{ "dependencies": { "@pilotoo/server": "0.1.0", "@pilotoo/agent-runtime": "0.1.0" }}Semantic versioning
Section titled “Semantic versioning”Version numbers follow Semantic Versioning: MAJOR.MINOR.PATCH.
- Patch (
0.1.0→0.1.1): bug fixes only. Safe to take. - Minor (
0.1.x→0.2.0): new features. Before1.0.0, a minor release may also contain breaking changes, so read its changelog entry before you upgrade. - Major (from
1.0.0on): breaking changes.
Pin exact versions while the kit is below 1.0.0, and upgrade on purpose.
Preview features
Section titled “Preview features”Some pages carry a Preview badge, such as Workflows and Connections. They describe features that are not in a release yet. Their APIs can change in any version, and they appear in the changelog when they ship.
Upgrading
Section titled “Upgrading”- Read the Changelog entries between your version and the new one.
- Bump every
@pilotoo/*package to the new version in one change. - Run your type checker. A renamed or removed option of
PilotooModule.forRoot,ChatProvideror another kit API shows up as a type error. - Run your tests against a real conversation before you deploy.
Contributing a change
Section titled “Contributing a change”The kit uses Changesets to version releases. Every pull request that changes a package adds a changeset describing the change for the changelog:
pnpm changesetPick the packages you changed and the bump type. The fixed set takes care of bumping the others. Before a release, pnpm release:check builds and packs the seven packages and inspects the tarballs.