Acronis UIKit
Guides

Versioning

Versioning strategy using Changesets and Conventional Commits.

Versioning Guide

This monorepo versions its published packages with Changesets. Each published workspace (@acronis-platform/ui-react, shadcn-uikit, icons-react, icons-sprite, tokens-pd, design-tokens, design-assets) is versioned independently following Semantic Versioning.

Commit messages additionally follow Conventional Commits (enforced by commitlint), but commits do not drive version bumps — Changesets does. The two are separate concerns: Conventional Commits keep history readable; the Changeset you attach to a PR declares the bump.

How It Works

  1. Add a Changeset to your PR — declares which packages changed and the bump type (patch / minor / major).
  2. Merge to main — the Release workflow opens a "Version Packages" PR aggregating all pending changesets.
  3. Merge that PR — versions in package.json, the CHANGELOG.md files, and git tags are updated, and the bumped packages publish to npm.

See the Publishing guide for the full release flow.

Creating a Changeset

From the repo root:

pnpm changeset

The interactive prompt asks:

  • which package(s) the change affects,
  • the bump type for each, and
  • a one-line summary (this becomes the changelog entry).

It writes a markdown file under .changeset/. Commit that file with your code change.

Bump Type Rules

BumpWhenExample
patchBug fixes, internal refactors, consumer-invisible dep bumps0.34.00.34.1
minorAdditive, backwards-compatible (new export/prop/option)0.34.00.35.0
majorBreaking change (removed export, rename, changed default)0.34.01.0.0

Prefer minor for new components and props; reserve major for planned breaking releases.

Conventional Commits

All commit messages must follow Conventional Commits — commitlint enforces this on every commit and on PR titles. Common types in this repo:

  • feat — new user-facing functionality
  • fix — bug fix
  • chore — repo plumbing, tooling, dependencies
  • docs — documentation only (including AGENTS.md, context/, apps/docs/)
  • refactor — neither a fix nor a feature
  • test — adding or correcting tests
  • ci — CI workflow changes

Scope is encouraged — use the workspace or component:

feat(button): add loading state
fix(card-filter): correct chip wrapping
chore(deps): bump vitest

What NOT to Do

  • Don't bump versions manually. Changesets owns package.json versions.
  • Don't edit or delete .changeset/*.md files by hand. The Version Packages PR consumes them automatically.
  • Don't run npm publish locally. CI publishes on the Version Packages PR merge.

Root Scripts

These back the Release workflow; you rarely run version/release locally:

ScriptRunsPurpose
pnpm changesetchangesetAdd a changeset for your PR
pnpm versionchangeset versionRewrite versions + changelogs (CI)
pnpm releasechangeset publishPublish to npm (CI)

Resources

Edit on GitHub

On this page