Versions and support
Every lit-material package is released at the same version and follows semantic versioning; the previous major gets security fixes for a year.
One version for everything
All @lit-material/* packages and create-lit-material-app are published together at one version number. Install any set of them at the same version and they work together: there's no compatibility matrix to check.
npm install @lit-material/button@1.2.0 @lit-material/dialog@1.2.0
A new version doesn't mean every package changed: each package's CHANGELOG.md lists its own changes.
What a version number promises
Patches fix bugs (accessibility fixes included). Minors add components, properties, events, slots, parts, custom properties and messages, and can deprecate. Only a major removes or breaks anything, with a migration note. The public API is each package's exports and types, each element's tag, properties, attributes, events, slots, CSS parts and custom properties, the --md-sys-* tokens, the translation keys, and keyboard and ARIA behaviour. Internal shadow DOM and class names aren't.
Deprecations
An API is deprecated in a minor (marked @deprecated in the types and custom-elements.json, and in the changelog), keeps working for at least six months, and is removed in the next major. Where the change can be automated, @lit-material/codemod does it.
Support windows and platforms
The current major gets every fix. The previous major gets security and critical fixes for 12 months after the next major ships. Supported: the latest two versions of Chrome, Edge, Firefox and Safari (CI runs Chromium, Firefox and WebKit), and Node's active and maintenance LTS releases for server rendering and the CLIs.
Report vulnerabilities privately through GitHub. The full policy is VERSIONING.md.
>