Releases and Upgrading
This page covers the release model and the safe way to upgrade a project. For what actually changed in each version, see the changelogs:
- chaipro - the licensed package your project depends on.
- chaicore - the open source core.
- Starter - the starter repository your project was
generated from (
starter-sqliteorstarter-postgres).
Changelog Overview explains how the three release lines relate and how to read an entry.
Versions and your license
License eligibility is tied to the release window, not to a running subscription:
- Your license covers any version released during your license year.
- After the license expires, versions released later are no longer eligible - the builder prompts you to renew or stay on the last eligible version.
- An expired license never breaks a deployed site; it only gates upgrades.
Details: Trial and Licensing.
Upgrading the package
An SDK upgrade is the same flow as any Payload schema change, because ChaiBuilder's tables live in your app's single migration pipeline:
# 1. Bump the SDK
pnpm update chaipro
# 2. Generate a migration for any schema changes the new version brings
pnpm payload migrate:create
# 3. Review the generated migration, then apply
pnpm payload migrate
Then run the app locally, click through the builder, and deploy. Notes:
- Read the release notes first - breaking changes and required config updates are called out per release in the chaipro changelog.
- Migrations also run on boot in production (
prodMigrations), so a deployed upgrade applies its own migrations - generating and reviewing them locally first is still the safe path. - Pin and upgrade deliberately. Use exact versions in
package.jsonand upgrade on your schedule rather than floating with a range. - While
chaiprois pre1.0, treat a minor bump as a major one. Breaking changes land on minor bumps until the package reaches1.0.
Upgrading the starter
You own your copy of the starter, so there is no package to bump. Pull the diff between the tag your project was generated from and the tag you want, apply it to your repository, then run the migration steps above.
The starter ships as two repositories, one per database:
starter-sqlite and
starter-postgres. Pull from the one
matching your database. Releases through the 2026-09-05 split are tagged in pairs
(v3-sqlite and v3-pg are the same release), so pull the tag for your flavor. See the
Starter changelog.
Staying informed
- In the builder - update and license notices surface directly in the editor.
- Release notes - published per release alongside the package.
- Support channels - see Support for where to ask upgrade questions.
Related
- Changelog Overview - the three release lines.
- Trial and Licensing - the license window model.
- Database Setup - the migration pipeline.
- Migration - moving existing sites into ChaiBuilder.

