Help

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.

PackageVersionType
nextrush3.1.0Meta package
@nextrush/types3.1.0Core
@nextrush/errors3.1.0Core
@nextrush/core3.1.0Core
@nextrush/router3.1.0Core
@nextrush/runtime3.1.0Core
@nextrush/di3.1.0Core
@nextrush/class3.1.0Class runtime
@nextrush/adapter-node3.1.0Adapter
@nextrush/cors3.1.0Middleware
@nextrush/helmet3.1.0Middleware
@nextrush/body-parser3.1.0Middleware
@nextrush/compression3.1.0Middleware
@nextrush/stream3.1.0Extension

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.

PackageVersionType
create-nextrush1.0.0Scaffolder
@nextrush/dev1.0.0Tooling
@nextrush/adapter-bun1.0.0Adapter
@nextrush/adapter-deno1.0.0Adapter
@nextrush/adapter-edge1.0.0-beta.0Adapter
@nextrush/adapter-serverless1.0.0-beta.0Adapter
@nextrush/cookies1.0.0Middleware
@nextrush/csrf1.0.0Middleware
@nextrush/form-data1.0.0Middleware
@nextrush/rate-limit1.0.0Middleware
@nextrush/request-id1.0.0Middleware
@nextrush/timer1.0.0Middleware
@nextrush/validation1.0.0Middleware
@nextrush/static1.0.0Middleware
@nextrush/template1.0.0Middleware
@nextrush/logger1.0.0Middleware
@nextrush/openapi1.0.0Middleware
@nextrush/health1.0.0Middleware
@nextrush/events1.0.0Extension
@nextrush/websocket1.0.0Extension
@nextrush/testing1.0.0Tooling

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

RuntimeAdapter packageAdapter versionStatusProof
Node.js 22+@nextrush/adapter-node3.1.0Stable🟢 real-runtime (native)
Bun@nextrush/adapter-bun1.0.0Stable🟢 real-runtime (CI, real Bun)
Deno@nextrush/adapter-deno1.0.0Stable🟢 real-runtime (CI, real Deno)
Cloudflare Workers@nextrush/adapter-edge1.0.0-beta.0Beta (Internal tier)🟢 real-runtime (CI, real workerd/miniflare)
Vercel Edge@nextrush/adapter-edge1.0.0-beta.0Beta (Internal tier)🟡 simulated (shares the edge adapter's conformance suite; not yet executed on the real platform in CI)
Netlify Edge@nextrush/adapter-edge1.0.0-beta.0Beta (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-serverless1.0.0-beta.0Beta (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 | sort

If your output differs from the table above, the table is stale — please open an issue.

See also

Was this helpful?

On this page