Skip to main content

Versioning

The CyberPod SDK follows Semantic Versioning (SemVer) for all packages.

Current Versions

PackageVersionDescription
@cpod/sdk0.1.xCore SDK with 220+ API functions
@cpod/cli0.1.xCLI 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

TypeWhen to UseExample
patchBug fixes, docsFix authentication retry logic
minorNew featuresAdd listUserProjects() function
majorBreaking changesRename 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

  1. Development: Changes merged to develop with changesets
  2. Version PR: Automated PR bumps versions based on changesets
  3. 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