Capawesome CLI 4.0.0 Release¶
We are excited to announce version 4.0.0 of the Capawesome CLI! This major release brings a host of new features and improvements to enhance your development experience, including new commands for managing live updates, channel control, and web build support. This release also includes some breaking changes that you should be aware of before upgrading.
Breaking Changes¶
Before upgrading, please review the following breaking changes:
Minimum Node.js Version¶
The minimum required Node.js version has been updated to Node.js 20. This ensures better performance, security, and access to the latest JavaScript features. Please update your Node.js installation before upgrading to CLI 4.0.0.
Renamed Commands¶
Several commands have been renamed to better reflect their purpose and align with the new build and deployment system:
| Old Command | New Command |
|---|---|
apps:bundles:create |
apps:liveupdates:upload or apps:liveupdates:register |
manifests:generate |
apps:liveupdates:generatemanifest |
The apps:bundles:create command has been split into two separate commands:
apps:liveupdates:upload: Upload a locally built bundle and deploy it to a channelapps:liveupdates:register: Register a self-hosted bundle URL and deploy it to a channel
This separation provides clearer intent and better flexibility for different deployment workflows.
New Features¶
Live Update Rollback¶
The new apps:liveupdates:rollback command allows you to quickly roll back the active build in a channel to a previous deployment:
npx @capawesome/cli apps:liveupdates:rollback \
--app-id your-app-id \
--channel production \
--steps 1
The --steps option specifies how many deployments to go back (1-5), making it easy to revert to a known working state when issues arise. See our Rollbacks guide for more details.
Live Update Rollout¶
Control the rollout percentage of your live updates with the new apps:liveupdates:rollout command:
npx @capawesome/cli apps:liveupdates:rollout \
--app-id your-app-id \
--channel production \
--percentage 25
This enables gradual rollouts, allowing you to deploy updates to a subset of users before rolling out to everyone. For more information on implementing gradual rollouts, see our Rollouts guide.
Channel Pausing and Resuming¶
Two new commands give you more control over your deployment channels:
apps:channels:pause: Temporarily pause a channel to stop delivering updatesapps:channels:resume: Resume a paused channel to continue delivering updates
# Pause a channel to investigate issues
npx @capawesome/cli apps:channels:pause \
--app-id your-app-id \
--channel production
# Resume a paused channel after resolving issues
npx @capawesome/cli apps:channels:resume \
--app-id your-app-id \
--channel production
Pausing channels is useful during maintenance windows or when you need to temporarily halt updates without removing the channel entirely.
Protected Channels¶
The apps:channels:create and apps:channels:update commands now support an optional --protected flag:
Protected channels provide an additional layer of security by preventing accidental modifications or deletions.
Web Build Support¶
The apps:builds:create command now supports web builds with the --platform web option:
This allows you to create web builds directly from the CLI, which can then be deployed as live updates. For more information, see our blog post on Capawesome Cloud Web Builds.
Skip Confirmation Prompts¶
A new --yes (or -y) flag has been added to commands that require confirmation prompts:
This is particularly useful for CI/CD pipelines and automated scripts where interactive prompts are not possible.
Upgrading¶
To upgrade to version 4.0.0, run:
Make sure you have Node.js 20 or later installed before upgrading.
Migration Guide¶
If you're upgrading from a previous version, here's what you need to update:
- Update Node.js: Ensure you're running Node.js 20 or later
- Update command names: Replace
apps:bundles:createwithapps:liveupdates:uploadorapps:liveupdates:register - Update manifest command: Replace
manifests:generatewithapps:liveupdates:generatemanifest
Feedback¶
We hope these new features and improvements make your development workflow even more efficient. If you have any questions or feedback, please create a discussion in our GitHub repository. Feel free to subscribe to our newsletter to stay updated on the latest releases and features!