Skip to content

Versioning

Every @kyralabs package follows semantic versioning from 1.0.0 and shares one version number (DECISIONS D16).

The current version is 1.8.0. All @kyralabs/* packages release together with the same version, so @kyralabs/m3exp-web@1.8.0 pairs with @kyralabs/m3e-tokens@1.8.0, @kyralabs/m3e-react@1.8.0 and the rest.

What changes within 1.x

  • Minor releases add components, tokens, package entries and options.
  • Patch releases fix bugs and fidelity: behavior or pixels moving closer to the pinned Jetpack Compose source or m3.material.io. A fix that adds API is a minor release.
  • A source pin bump (a newer Compose Material3) is a minor release if no token name disappears; otherwise it waits for 2.0.

What waits for 2.0

Anything that breaks a consumer:

  • removing or renaming an export, package entry, CSS class, part or modifier, custom property, attribute or event;
  • changing a component's DOM contract;
  • raising a peer-dependency floor (React is 18.3+ or 19).

A renamed API keeps its old name until 2.0. The old name is marked @deprecated, and in React it warns once in development. The deprecated Material 3 components (DECISIONS D4) are also removed in 2.0.

Depending on it

A caret range such as ^1.8.0 takes every compatible release. Keep all @kyralabs/* packages on the same version: they are released and tested together. Each package's CHANGELOG.md lists what changed.