Compatibility
Styles, React, and Alpine release with independent SemVer. Each package receives only the bump its own public surface requires; an unchanged package keeps its version. When a shared CSS, markup, state, or behavior contract changes, the affected packages still release in one documented window with a shared compatibility and migration record.
Release target
The pending patch changeset produces the release-facing versions below. Package manifests remain at their previously published versions until release automation applies that changeset.
| Package | Release version | Peers |
|---|---|---|
@lyra-ds/styles | 1.0.2 | none |
@lyra-ds/react | 1.0.2 | react >=18 <20, react-dom >=18 <20 |
@lyra-ds/alpine | 1.0.0 | alpinejs >=3.13 <4 |
Tested compatibility
| Styles range | React range | Alpine range | Status |
|---|---|---|---|
=1.0.2 | =1.0.2 | =1.0.0 | Qualified for the 1.0.2 release |
These exact ranges are deliberately narrow: they record combinations the project has tested, not every combination an npm resolver can install. A later package release expands or replaces the row only after the shared contract has been verified.
Reading the matrix
- Styles is the shared visual contract. React and Alpine emit its
.lyra-*classes, so use a tested row instead of assuming matching version numbers are compatible. - React and Alpine do not depend on each other. Install only the adapter your application uses, or both when separate surfaces need them.
- Shared-contract releases are coordinated, not forced. Every affected package receives its own bump in the same release window; unaffected packages retain their versions.
Lyra v1.0 suite
The Lyra v1.0 suite release target is the qualified Styles 1.0.2, React 1.0.2, and Alpine 1.0.0
tuple above. Later package releases expand or replace the tested row only after the shared contract
has been verified.
Blade compatibility
The current downstream release is lyra-ds/blade v0.10.0, a separately released Composer package
with independent SemVer. It does not block the Lyra v1.0 suite, and compatibility with Styles and
Alpine must come from the
Blade compatibility matrix, not from the npm tuple
above.
Fonts
Plus Jakarta Sans and JetBrains Mono are peers of the whole system, never bundled:
npm i @fontsource/plus-jakarta-sans @fontsource/jetbrains-monoInstalling them yourself is what lets you control how they load — self-hosted, subset, preloaded or
swapped for your own brand face through --brand-font.