Compatibility Matrix
Real, current package versions and Node.js/runtime requirements — re-derived directly from every package.json in the monorepo.
This table was generated by reading every packages/*/package.json in the repository directly
— not copied from an earlier phase's registry — so it reflects the actual current state.
NextRush intentionally runs a mixed-version monorepo: the original core line publishes at
3.1.0, while packages added after the initial release start at 1.0.0 and version
independently. A 1.0.0 package is not less mature than a 3.1.0 one — it started its own
semver line later. See Versioning for the policy.
Runtime requirement
All packages require Node.js >=22.0.0 (from the repository root package.json's
engines field). Bun, Deno, and Edge targets are supported via dedicated adapter packages —
they do not lower the underlying Node.js baseline used for tooling/build.
Core line (3.1.0)
Packages that shipped with the original v3 release and version together.
| Package | Version | Type |
|---|---|---|
nextrush | 3.1.0 | Meta package |
@nextrush/types | 3.1.0 | Core |
@nextrush/errors | 3.1.0 | Core |
@nextrush/core | 3.1.0 | Core |
@nextrush/router | 3.1.0 | Core |
@nextrush/runtime | 3.1.0 | Core |
@nextrush/di | 3.1.0 | Core |
@nextrush/class | 3.1.0 | Class runtime |
@nextrush/adapter-node | 3.1.0 | Adapter |
@nextrush/cors | 3.1.0 | Middleware |
@nextrush/helmet | 3.1.0 | Middleware |
@nextrush/body-parser | 3.1.0 | Middleware |
@nextrush/compression | 3.1.0 | Middleware |
@nextrush/stream | 3.1.0 | Extension |
Independently-versioned packages (1.0.0)
Packages added after the initial release. Each versions independently — a patch to one does not bump any other package.
| Package | Version | Type |
|---|---|---|
create-nextrush | 1.0.0 | Scaffolder |
@nextrush/dev | 1.0.0 | Tooling |
@nextrush/adapter-bun | 1.0.0 | Adapter |
@nextrush/adapter-deno | 1.0.0 | Adapter |
@nextrush/adapter-edge | 1.0.0-beta.0 | Adapter |
@nextrush/adapter-serverless | 1.0.0-beta.0 | Adapter |
@nextrush/cookies | 1.0.0 | Middleware |
@nextrush/csrf | 1.0.0 | Middleware |
@nextrush/form-data | 1.0.0 | Middleware |
@nextrush/rate-limit | 1.0.0 | Middleware |
@nextrush/request-id | 1.0.0 | Middleware |
@nextrush/timer | 1.0.0 | Middleware |
@nextrush/validation | 1.0.0 | Middleware |
@nextrush/static | 1.0.0 | Middleware |
@nextrush/template | 1.0.0 | Middleware |
@nextrush/logger | 1.0.0 | Middleware |
@nextrush/openapi | 1.0.0 | Middleware |
@nextrush/health | 1.0.0 | Middleware |
@nextrush/events | 1.0.0 | Extension |
@nextrush/websocket | 1.0.0 | Extension |
@nextrush/testing | 1.0.0 | Tooling |
Total: 35 publishable packages (36 packages exist in the monorepo; @nextrush/adapter-conformance
is "private": true — an internal conformance-test harness for adapters, not published to npm).
Runtime support matrix
| Runtime | Adapter package | Adapter version | Status | Proof |
|---|---|---|---|---|
| Node.js 22+ | @nextrush/adapter-node | 3.1.0 | Stable | 🟢 real-runtime (native) |
| Bun | @nextrush/adapter-bun | 1.0.0 | Stable | 🟢 real-runtime (CI, real Bun) |
| Deno | @nextrush/adapter-deno | 1.0.0 | Stable | 🟢 real-runtime (CI, real Deno) |
| Cloudflare Workers | @nextrush/adapter-edge | 1.0.0-beta.0 | Beta (Internal tier) | 🟢 real-runtime (CI, real workerd/miniflare) |
| Vercel Edge | @nextrush/adapter-edge | 1.0.0-beta.0 | Beta (Internal tier) | 🟡 simulated (shares the edge adapter's conformance suite; not yet executed on the real platform in CI) |
| Netlify Edge | @nextrush/adapter-edge | 1.0.0-beta.0 | Beta (Internal tier) | 🟡 simulated (runs on Deno under the hood; not yet executed on the real platform in CI) |
| AWS Lambda / GCF / Azure Functions | @nextrush/adapter-serverless | 1.0.0-beta.0 | Beta (Internal tier) | 🟡 simulated (built on @nextrush/adapter-edge's fetch engine; not yet executed on a real serverless platform in CI) |
What 🟢/🟡 means
🟢 real-runtime — the conformance suite executes on the actual runtime in CI (a real Bun/
Deno process, or a real Cloudflare workerd/miniflare isolate), not simulated under Node. 🟡
simulated — the adapter is implemented and passes the shared conformance suite, but that
suite currently runs in-process under Node/vitest for this target, not on the real platform.
See docs/audits/08-runtime-compatibility-gap-analysis.md for the full breakdown and the
work tracked to close the remaining 🟡 rows.
Known, unresolved conflict with ADR-0005
This table classifies every non-Node adapter as Stable, based on adapter version and
conformance-suite results. ADR-0005
classifies runtime and every non--node adapter as Internal — may change without a major
bump, until GA, a stricter tier than "Stable" implies. This is a real, unresolved
disagreement between two source-of-truth documents, first identified during Wave B1 of the
v4 documentation rebuild — it is deliberately left logged here rather than silently resolved
in either direction pending a maintainer decision. Readers relying on this page for a
stability guarantee on Bun, Deno, Edge, or Serverless should also read ADR-0005's tier table
before treating "Stable" as a semver commitment.
How to check this yourself
Version drift between this page and reality is a documentation bug. Re-derive the table with:
for f in packages/*/package.json packages/*/*/package.json; do
node -e "const p=require('./$f'); if(!p.private) console.log(p.name + '\t' + p.version)"
done | sortIf your output differs from the table above, the table is stale — please open an issue.
See also
- Changelog — what changed in each release.
- Package Hierarchy — the dependency chain between packages.
- Packages directory — browse all 35 packages with descriptions and category filters.