Versioning scheme and schedule
The HubSpot CLI uses semantic versioning:{MAJOR}.{MINOR}.{PATCH}
- MAJOR: Changes that require user action (e.g., removed or renamed commands, incompatible output changes)
- MINOR: Backward-compatible functionality additions
- PATCH: Backward-compatible bug fixes and performance improvements
Pre-releases
Pre-releases are primarily intended for early adopters and contributors who want to help validate changes. Pre-releases will only be released on unstable release channels (e.g.,next).
Pre-release versions follow the formats below:
- Alpha releases:
X.Y.Z-alpha.N - Beta releases:
X.Y.Z-beta.N
Support lifecycle tiers
Every major version of the CLI progresses through the following four stages:The 12-month support window
When a new major version (N) is released, the previous major version (N-1) immediately enters a 12-month sunset period: Months 0–3 (Maintenance Phase): Version N-1 remains fully supported for critical bugs. Developers are encouraged to begin testing Version N.Months 4–12 (Deprecation Phase): Version N-1 will trigger a “Loud Deprecation” warning on stderr. This warning will include the final EOL date and a link to the migration guide.
Month 12+ (End of Life): Official support for Version N-1 ceases. The version may remain available via package managers (npm, brew, etc.) but is considered unsupported.
Release channels
Release channels provide a convenient way to install a class of releases without pinning an exact version.
Channels resolve to a specific version that rotates as releases happen and is not a replacement for semantic versioning. Using release channels is useful for developers to always get a compatible version automatically and ease maintenance burden, and is not intended for automation or agents.
Communication and notifications
Users will be notified of new releases and version deprecations via the HubSpot Developer Changelog. Deprecation warnings will also be displayed directly in your terminal if you’re running an older version or executing a deprecating command.- All deprecation notices will be issued via stderr to ensure they do not break scripts that parse stdout (e.g., JSON or CSV pipes).
- Warnings will include the deprecation target (i.e., the specific command, flag, or version being retired), an alternative option, a timeline for the deprecation, along with an external resource where you can learn more.