The design system npm package is versioned as a whole library, this means that all of the components will always be running on the same version, and that you maintain a single package version in your package.json file.
Semantic versioning
The design system uses a semantic versioning approach to help give you confidence around when it’s safe to upgrade.
Here’s how it works:
-
Patch
A patch will increase the last part of a version number, e.g. 1.0.0 → 1.0.1
Patches are usually created to fix urgent bugs with minor or major releases. -
Minor
A minor release increases the middle part of the version number, e.g. 1.0.0 → 1.1.0
Most of the output from the design system comes in the form of minor releases, these are releases that introduce new features without impacting older features. -
Major
A major release increases the first part in the version number, e.g. 1.0.0 → 2.0.0
Major releases include breaking changes, this means that you will need to make additional changes to your solution when you upgrade. Any breaking changes will be listed in the change log to help assist with the upgrade process.
Releases
The design system package can be deployed as a development release, or as a production release.
Production releases are run against the main branch and these releases can be used in your production code.
Development releases can be generated against any branch, they will have additional numbers appended to the version number, e.g. 5.0.0-12345 these packages are intended for testing purposes and should not be used in production code.