Versioning
The CyberPod SDK follows Semantic Versioning (SemVer) for all packages.
Current Versions
| Package | Version | Description |
|---|---|---|
@cpod/sdk | 0.1.x | Core SDK with 220+ API functions |
@cpod/cli | 0.1.x | CLI for scaffolding and bundling apps |
Version Format
MAJOR.MINOR.PATCH
- MAJOR: Breaking changes (API incompatible)
- MINOR: New features (backwards compatible)
- PATCH: Bug fixes (backwards compatible)
Pre-1.0 Development
While in 0.x.x, minor version bumps may include breaking changes. We recommend:
{
"dependencies": {
"@cpod/sdk": "~0.1.0"
}
}
This locks to 0.1.x patches only.
Changelog
All changes are documented in each package's CHANGELOG.md and in GitHub Releases.
Contributing Changes
We use Changesets for version management.
Adding a Changeset
When making changes that affect users:
# Create a changeset
pnpm changeset
# Follow the prompts:
# 1. Select affected packages (@cpod/sdk, @cpod/cli)
# 2. Choose bump type (patch/minor/major)
# 3. Write a summary of changes
This creates a file in .changeset/ describing your change.
Changeset Types
| Type | When to Use | Example |
|---|---|---|
patch | Bug fixes, docs | Fix authentication retry logic |
minor | New features | Add listUserProjects() function |
major | Breaking changes | Rename getUser() to getCurrentUser() |
Example Changeset
---
"@cpod/sdk": minor
"@cpod/cli": patch
---
Add support for project templates in CLI
- New `--template` flag for `cpod-apps create`
- SDK now exports `ProjectTemplate` type
Release Process
- Development: Changes merged to
developwith changesets - Version PR: Automated PR bumps versions based on changesets
- Release: Merging version PR publishes to npm and creates GitHub release
Checking Installed Version
import { version } from "@cpod/sdk";
console.log(`SDK Version: ${version}`);
# CLI version
cpod-apps --version