# Releases and compatibility

Canonical URL: https://catofjupit3r.github.io/enumwaii/docs/release-and-compatibility/



## Runtime and modules [#runtime-and-modules]

* Node.js 18 or newer is supported by both published packages. The final Node 18 release loads both ESM and CommonJS builds in extended validation. The ESLint plugin is specifically a Node-based development tool.
* The core package's ESM entry is additionally exercised under Bun 1.4, Deno 2.9, and Cloudflare Workers. The Worker configuration explicitly disables both Node compatibility modes.
* Both packages publish ESM and CommonJS entry points, declarations, and source maps.
* Package exports define the public compatibility contract; import through the declared root and adapter subpaths.
* Runtime package code is marked side-effect free.

The [Hono compatibility application](https://github.com/CatOfJupit3r/enumwaii/tree/main/examples/hono) runs its complete Drizzle + PGlite order console through native Node, Bun, and Deno servers. Its database-free status routes are also bundled and executed in Cloudflare `workerd`, where both Node compatibility modes are disabled. Every non-Node host exercises one shared HTTP contract, and a Wrangler dry-run checks the production Worker bundle. These pinned CI versions are compatibility canaries, not a promise that every older Bun or Deno release is supported.

## Dependencies [#dependencies]

The core package has one regular dependency: `@standard-schema/spec`, whose types are part of the public declaration surface. Zod and Valibot are optional peer dependencies loaded only through `enumwaii/zod` and `enumwaii/valibot`.

The ESLint package supports ESLint 8, 9, and 10 and TypeScript 5.5 through the current 6.x line. TypeScript is optional for the syntax-only preset and required for the type-aware preset.

## Versioning [#versioning]

The project uses Changesets. A user-visible package change includes a changeset that records the affected package and release level. Releases are deliberately two-step and maintainer initiated: one manual workflow run creates or updates the version pull request, and a second manual run after that pull request is merged publishes the prepared versions from GitHub Actions with npm provenance.

Stable releases follow semantic versioning. Read the package changelog before upgrading across major versions.

## Support and security [#support-and-security]

Only the latest published version receives fixes. For usage questions and bug reports, follow the repository's [support guide](https://github.com/CatOfJupit3r/enumwaii/blob/main/SUPPORT.md). Report vulnerabilities privately according to the [security policy](https://github.com/CatOfJupit3r/enumwaii/blob/main/SECURITY.md).
