KloradDocs

Versions and releases

How Klorad packages are versioned, released and checked before they reach you.

Versioning

Every package follows semantic versioning and is versioned on its own: a release of @klorad/notify does not bump @klorad/react. While a package is at 0.x, a minor release may change its public API and a patch release only fixes; from 1.0 a breaking change needs a major release.

Versions are decided by the commits, not by hand. Every change to the repository is a Conventional Commit. Before 1.0, fix: and feat: make a patch release and a breaking change a minor one; from 1.0, fix: makes a patch, feat: a minor and a breaking change a major release.

Changelogs

Each package ships a CHANGELOG.md, written from those commits at release time. Read it in node_modules/@klorad/<name>/CHANGELOG.md before you upgrade.

What every release passes

  • type checking, lint and the package's unit tests, with coverage thresholds of 95% of lines, 90% of functions and 85% of branches;
  • publint, which checks the package's exports, files and types are consistent;
  • Are the Types Wrong, which checks the types resolve for ESM consumers;
  • publishing from CI through npm trusted publishing, so no long lived token can publish a Klorad package.

The packages are private; see Install for access.

Something wrong or unclear? Tell your contact at Prieston Technologies.