Skip to main content

Versioning and support

Pre-release

Nothing is published to npm yet, so the install commands on this site do not work today. The first release will be 0.1.0. See Releases.

Version numbers​

Zeno follows semantic versioning. Every @usezeno/* package is released together and shares one version number. Install the same version of each package you use.

Before 1.0:

  • A minor release (0.1 to 0.2) can change or remove names and behaviour. Each such change is listed under "Breaking changes" on the Releases page.
  • A patch release (0.1.0 to 0.1.1) only fixes bugs.

npm treats ^0.1.0 as "0.1.x only", so the range npm writes when you install keeps you on patch releases. Move to the next minor when you have read what changed.

From 1.0 on, a breaking change needs a new major version.

What a version covers​

The public API is what the element pages and the token tables list: tag names, attributes, properties, methods, events, slots, CSS parts, the names of the --zeno-* custom properties, and the import paths of each package.

Not covered: the markup inside an element's shadow tree, class names inside it, and the exact value of a token. A colour or a space can be adjusted in any release.

Which versions get fixes​

Only the latest release. Fixes are not carried back to older versions.

Browsers​

The elements need these browser features: custom elements with form association (ElementInternals), the <dialog> element, the popover attribute, color-mix(), :focus-visible and inert. The first versions that have all of them are:

BrowserFrom version
Chrome and Edge114
Firefox125
Safari17

The automated tests run in headless Chromium only. Firefox and Safari are not tested yet, so the two rows for them say what the browsers support, not what has been checked.

Frameworks​

PackageWorks with
@usezeno/reactReact 18 and 19. Tested with 19.
@usezeno/vueVue 3.5 and newer
@usezeno/svelteSvelte 5

Server rendering is not covered. See Frameworks.

The packages are ES modules. There is no CommonJS build. Building the repository needs Node.js 22.12 or newer.

Report a bug​

Open an issue at github.com/cipherlabs-hq/zeno/issues. Say which element and which browser, and include the smallest markup that shows the problem. Check the "Tests and known gaps" section of the element's page first: the problem may already be listed there.

Report a security issue​

Do not open a public issue. Report it privately through GitHub's private vulnerability reporting. The repository's SECURITY.md has the same instructions.