Skip to main content

Versioning

latest

All parts of Arc are versioned in lockstep. When a new version of Arc is created, the React components, Figma library, design tokens and assets are all released at the same time under the same new version number, with the changes published on the Releases page. The aim is to ease communication between designers and developers.

The expectation is that teams will always be using one specific version of Arc in a project. Mixing different versions should be avoided.

Arc uses the Semantic Versioning (SemVer) versioning scheme to communicate changes.

Version numbers in Semver are made up of three numbers separated by dots. These are traditionally called major.minor.patch, but we use the more direct breaking.feature.fix terms:

  • breaking versions will include at least one breaking, backwards-incompatible change and may also include new features and fixes. Teams should ensure they understand the reason why a release is breaking before upgrading.
  • feature versions will include new features and may also include fixes, but should contain no breaking changes. Updating to a new feature version should be straightforward and carry little to no risk.
  • fix versions should only contain changes that fix an issue with a prior release, and should have no new features or breaking changes. Updating to a new fix version should be straightforward and carry little to no risk.

For example, version 6.4.1 has major (breaking) version number 6, minor (feature) version number 4 and patch (fix) version number 1.

Each new release will have a version number that increments just one of breaking, feature or fix from the previous version. Which one depends on the type of changes the new version contains. For example, if a breaking change was introduced after 6.4.1 the version number of the next release would be 7.0.0.

tip

Teams are encouraged to update to the most recent Arc version when possible. This allows access to new features and fixes, and also helps account for Figma's versioning style. Once changes to a Figma library have been brought into a Figma document, it is effectively impossible for that Figma document to use an old version of a library.