Skip to content

Releases

PRNext 0.1.22-alpha

PRNext 0.1.22-alpha Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 20:55
5c542ac

PRNext 0.1.22-alpha is available on npm as an alpha prerelease. Next.js compatibility remains partial; check your application's routes, forms, dependencies and production build before upgrading.

npm install @thomas.f/prnext@0.1.22-alpha

Keep the React protocol packages aligned with the package peer dependencies, then rebuild and restart your application.

The attached archives passed the required CI, six-platform artifact qualification, twelve independent installations, eighteen Node.js lifecycle checks and the controlled performance gate. This does not establish a general speed gain, maximum capacity or absence of memory leaks.

Qualified source: 315647a8de783261d0a2190ab6c29ed0ed0b98b9.
Release commit: 5c542ac85d47f1ee3e9ea7ebc9b2e45b1643458c.
Read the compatibility guide.

Changes

  • Automatically compact eligible production Node App Router presentation
    components. No source directive or configuration opt-in is required.
  • Evaluate expressions and private inputs on the server; transfer only rendered
    values and a static display template. Preserve complete SSR and ordinary React
    rendering for unsupported components and custom compilation pipelines.
  • Preserve component identity across compact/ordinary size transitions. Keep
    development, Pages, Edge and HTML-only rendering on their existing paths.
  • Expose build eligibility in .prnext/presentation-report.json; configure
    presentationComponents: false to compare or disable this optimization.
  • Add deployment/rollback coverage for old browser tabs and a separate twenty-
    minute diagnostic. The existing two-hour qualification remains distinct.

See the upgrade guide for scope and verification.
Check release status for npm availability.

PRNext 0.1.20-alpha

PRNext 0.1.20-alpha Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Nov 15:04
8061e6d

PRNext 0.1.20-alpha is available on npm as an alpha prerelease. Next.js compatibility remains partial; check your application's routes, forms, dependencies and production build before upgrading.

npm install @thomas.f/prnext@0.1.20-alpha

Keep the React protocol packages aligned with the package peer dependencies, then rebuild and restart your application.

The attached archives passed the required CI, six-platform artifact qualification, twelve independent installations, eighteen Node.js lifecycle checks and the controlled performance gate. This does not establish a general speed gain, maximum capacity or absence of memory leaks.

Qualified source: 043084a7849c9d6bc93e6836e84980f4cf9b0318.
Release commit: 8061e6d4e78f35cc82935c7ae28d8244968217ef.
Read the compatibility guide.

Changes

  • Add opt-in native PPR document shells, emitted before Node initialization
    and resumed from the same checked build artifact. Keep private, rewritten,
    expired and invalidated requests on the ordinary rendering path.
  • Target development refreshes through certified Server Action import closures,
    retain unrelated pending mutations and synchronize skipped tabs before navigation.
  • Add an experimental Oxc React Compiler backend with separate client/SSR
    transforms, source maps, cache identities and file-level diagnostics.
    Keep Babel as the default and preserve hydration and source inspection in development.
  • Plan and deduplicate production App styles before bounded parallel emission.
    Preserve ordering, custom transformation pipelines and the last good build on failure.
  • Stream App Route Handler request bodies over negotiated, demand-driven native
    transport. Bound chunks and total size, cancel unread uploads without replaying
    mutations and retain buffering for Server Actions and unsupported workers.

Installation, builds and cache storage

  • Share a configurable 256 MiB compiler-cache retention target. Add prnext cache
    statistics, pruning and dry-run with ownership checks and active-worker
    protection. Exclude runtime databases, invalidation history and page/image caches.
  • Compress large JSON cache records with decoded-size, key and checksum bounds,
    atomic publication and support for existing raw records. Keep cache failures
    optional and preserve the global compiler-cache opt-out.
  • Emit one OpenGraph renderer in production and omit it only when bounded
    compiled-graph analysis certifies it is unused. Retain conservative fallbacks,
    names, licenses, relative WASM loading and existing security guards.
  • Reclaim SQLite pages incrementally off the request path. Bound orphan page/image
    cleanup with publication and reader leases; retain invalidation generations,
    tags, fill leases and legacy database formats. Journal owned temporary build/dev
    directories, reclaim verifiably abandoned owners and preserve recovery backups.
  • Make Oxc React Compiler an explicitly installed optional peer, resolved from
    the application even with a global CLI. Report missing/version/native-binding
    errors; Babel and disabled builds need no Oxc compiler installation.
  • Bundle Fontkit's Node create() entry with upstream hashes, reproducible
    provenance and dependency licenses. Cover TTF, OTF/CFF, WOFF, WOFF2, TTC, DFONT
    and variable fonts without installing the external Fontkit dependency tree.

Production behavior and failure recovery

  • Add server.publicOrigin and explicit trusted-proxy IP/CIDR ranges. Preserve
    HTTPS in request URLs, middleware and redirects. Only the immediate allowed TCP
    peer may supply forwarded host/protocol; the configured public origin wins.
  • Add bounded native readiness and optional application health probes. Require
    complete HTTP 200 responses, reject redirects and clear readiness immediately
    when graceful draining starts.
  • Qualify rollback after an initially healthy replacement later fails or exits.
    Restore a still-healthy previous instance, drain responses and never replay a
    failed request or a mutation whose response was lost.
  • Add prnext check --production --json for deployment settings, artifact drift,
    authentication retention and experimental options. With navigationCache.authCookies,
    reset the whole retained document across changed or unknown account identities,
    while preserving verified same-account drafts. Defer strict PPR previews until
    fresh identity is known; static/unknown identities require a document request.
  • Add transactional, account-scoped idempotency to the SaaS reference. Qualify
    PostgreSQL outage/recovery, concurrent claims, response loss after confirmed
    COMMIT, SQLite lock/SQLITE_FULL recovery and a real Redis crash/restart. An
    explicit retry with the same key writes once; automatic mutation replay stays disabled.
  • Add a separate two-hour SaaS endurance campaign under verified CPU/RAM ceilings,
    covering authenticated SQL reads/writes, cancelled streams, session renewals,
    worker rotations and process/file-descriptor observations.
  • Add opt-in bearer-protected HTTP metrics with bounded labels, duration histograms,
    active requests, response outcomes, admission saturation and worker lifecycle
    counters. Expose bounded OTLP export loss, queue overflow, retry and partial
    rejection counters with rate-limited, sanitized diagnostics.
  • Check npm, Cargo and embedded renderer/font dependencies daily; retain weekly
    dependency updates, vendored provenance and a documented security-reporting path.

Build and browser work

  • Rewrite App chunk imports in memory before their first write. Share parent
    directory discovery within a build and retain bounded Oxc directive/export
    summaries without retaining full syntax trees; preserve Babel fallbacks.
  • Index existing stylesheet links once per adoption operation, avoiding repeated
    document scans while preserving stylesheet order and ownership.
  • Borrow ordinary Rust route paths and segments where possible, preserving
    decoding, route precedence and request-owned parameters.
  • Avoid an intermediate Flight copy only for internally owned buffers; preserve
    defensive copies for external producers and partial views. Keep stream EOF,
    React commit and cancellation distinct when retaining navigation state.
  • Run Flight compression probes asynchronously with bounded concurrency and
    ordinary-Flight fallback at saturation. Reuse native base64 decoding for PPR
    preloads, retaining the browser fallback.

Experimental options remain disabled by default. Scoped storage and operation-count
measurements are described in RELEASE.md; they do not establish a
whole-build or general HTTP speed gain, a production SLA or absence of memory leaks.

PRNext 0.1.19-alpha

PRNext 0.1.19-alpha Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Nov 19:29
0e85ff8

PRNext 0.1.19-alpha is available on npm as an alpha prerelease. Next.js compatibility remains partial; check your application's routes, forms, dependencies and production build before upgrading.

npm install @thomas.f/prnext@0.1.19-alpha

Keep the React protocol packages aligned with the package peer dependencies, then rebuild and restart your application.

The attached archives passed the required CI, six-platform artifact qualification, twelve independent installations, eighteen Node.js lifecycle checks and the controlled performance gate. This does not establish a general speed gain, maximum capacity or absence of memory leaks.

Qualified source: 2346d5cf37f8cd36bf522867b3efcdb61ceadaeb.
Release commit: 0e85ff878132fe0949e749319c4b092d015ffa68.
Read the compatibility guide.

Changes

  • Preserve mounted App layout state when a development Server Action overlaps
    Fast Refresh. Keep unchanged Action identities stable within one development
    session, including Cache Components, while invalidating changed source and
    keeping production build identities independent. Never replay a mutation.
  • Restore the last committed App view before canceling an unfinished streamed
    navigation. Preserve completed Action results, layout state, styles and
    destination history when a newer navigation supersedes its pending render.
  • Detect deep source edits from coalesced macOS directory notifications. Compare
    bounded content snapshots against the compiler's consumed inputs, preserve
    identical generated output and report incomplete coverage explicitly.
  • Follow reachable application and dependency imports in migration checks,
    including conditional exports and the React Server Component import context.
    Report bounded, actionable file/line/import-chain evidence and distinguish
    unknown behavior from checked behavior. Add explicit, application-owned browser
    scenarios for checking both the reference and the candidate server.
  • Keep middleware packages bundled when a native dependency is declared but
    never imported. Follow the resolved dependency graph while preserving
    conservative discovery for computed loads and package-owned native addons.
  • Build Linux standalone deployments with libc and environment detection without
    packaging the build host's ELF/ldd, kernel, cgroup or container probes. Leave
    these exact host resources on the runtime host and preserve tracing-root
    validation for ordinary application files and dependency links.
  • Add opt-in development compilation of literal dynamic client imports with
    experimental.lazyDynamicImports. Compile on first use, retain native ESM
    identity and live bindings, load deferred CSS on activation and preserve Fast
    Refresh state. Activated styles remain loaded for the generation; prefer CSS
    Modules or feature-local selectors. Bound activation queues, generated assets
    and retained registries; reject unsupported configurations explicitly.
  • Preserve query and fragment module identities with their styles in App
    builds. Keep qualified literal imports on the ordinary compiler path and
    reject resolved suffixes that cannot safely reuse deferred export bridges.
  • Add an independently installed SaaS reference using Better Auth, PostgreSQL,
    Drizzle and French/English next-intl routing. Its qualification covers account
    ownership, session renewal/revocation, verified OpenID Connect and a relocated
    two-worker standalone deployment.
  • Add Chromium/Firefox/WebKit compatibility checks, actual production worker
    retirement qualification at the default 30/300-second deadlines, and repeated
    paired archive-to-archive performance comparisons with explicit regression,
    noise and load-generator budgets. Inconclusive evidence is never a pass.
  • Protect pending Flight imports from obsolete HMR generations and preserve
    Server Action errors when navigation replaces their render. Release the
    development commit wait when a newer interaction supersedes that render.
  • Share JSON module identity across deferred importers. Publish complete deferred
    assets exclusively from private staging so a partial write can be retried
    without overwriting immutable assets or losing their quota accounting.
  • Recognize module-level Server Action boundaries in migration import checks.
    Diagnose Node-only imports in client graphs while retaining browser package
    mappings and installed browser implementations.
  • Add shared PostgreSQL authentication budgets to the SaaS reference and qualify
    secure cookies, invalid OIDC callbacks, CSRF, revoked-session mutations and
    relocated standalone authentication through a controlled local HTTPS proxy.
  • Use the unchanged MIT-licensed Node File Trace 1.11.0 distribution with explicit
    patched glob/minimatch dependencies, including independent npm consumers.
  • Retain fine latency histograms and bounded descendant CPU/RSS observations.
    New performance evidence requires verified CPU/memory controls and complete
    measurement coverage. Add scoped diagnostics for development state publication
    failures while retaining the last complete state file. Keep obsolete runtime
    retirement and snapshot retention active when a readiness publication fails,
    while draining existing requests.
  • Share bounded incremental compilation graphs across development projects and
    CSS roles. Preserve lexical build options while canonicalizing graph ownership,
    invalidation and disposal, including macOS system and Windows short-path aliases.
  • Publish affected CSS bundles as small overlays with bounded provenance and
    generation retention. Keep unchanged assets available when another bundle changes.
  • Compile only the deferred client graph for experimental dynamic imports. Validate
    complete asset receipts before publication, retain native module identities and
    reuse existing Server Action proxies without accepting new Action boundaries.
  • Expire idle differential Flight bases automatically and avoid a redundant copy
    for already-owned single cache chunks without exposing mutable producer buffers.
  • Extend migration diagnostics for Redis adapters, server/client directives and
    rendering realms. Detect unsupported .mts/.cts boundaries without executing
    application modules.
  • Honor explicit Link prefetch={true} outside Cache Components. Revalidate the
    destination on click so a prefetch cannot bypass current route authorization.
  • Skip unnecessary Flight indexing for very short initial chunks while preserving
    the exact protocol and fallback. No general HTTP speedup is inferred from the
    focused CPU profile.

PRNext 0.1.18-alpha

PRNext 0.1.18-alpha Pre-release
Pre-release

Choose a tag to compare

@Lorkydey Lorkydey released this 30 Oct 02:25
eddd283

PRNext 0.1.18-alpha is available on npm for all six native platforms. Both latest and alpha select this version. It remains an experimental alpha with partial Next.js compatibility.

Install in an existing project:

npm i @thomas.f/prnext

Or create a minimal TypeScript App Router project:

npx @thomas.f/prnext create my-app
cd my-app
npm run dev

This release adds project creation, retained App Router state, prioritized prefetching, bounded navigation recovery, differential Flight, opt-in React Compiler with decision reports, and native TypeScript 7 support. Production improvements include optional Redis cache adapters, deployment-aware asset retention, route-scoped styles, selected HTML-only output, stronger request/resource bounds and improved instrumentation.

Use Node ^22.23.4 || ^24.22.1 || >=26.12.1 with aligned React, React DOM and react-server-dom-webpack 19.3.1 peers. Keep optional native dependencies enabled. Rebuild and restart after upgrading. Adopt optional features separately and validate your application's routes, data access and Server Actions.

The full required CI passed on Linux, macOS and Windows, including Linux Next.js reference contracts. Two reference-contract jobs outside Linux are expected skips. Six-platform archive checks cover twelve isolated installations and eighteen lifecycle scenarios on Node.js 22, 24 and 26. All seven public archives match the validated bytes. Fresh public-registry checks also pass for an unversioned install, production SSR/Flight/POST requests and unversioned project creation with typecheck, build and development HTTP.

The tag points to PR27 merge eddd283e563efd2bc90facf47c7766c22746268b, whose tree matches validated archive source 05a9ccd20e86a20698b4a37bdf6a6baa3411ceaf. Historical VPS benchmarks retain their own tested source and are not new measurements of this release.

Release article · Article en français · Changes since 0.1.17

PRNext 0.1.17-alpha

PRNext 0.1.17-alpha Pre-release
Pre-release

Choose a tag to compare

@Lorkydey Lorkydey released this 26 Oct 22:19
7a0bfc1

PRNext 0.1.17-alpha

PRNext 0.1.17-alpha is available on npm with matching native packages for macOS, Linux GNU and Windows, on x64 and ARM64. Install PRNext:

npm i @thomas.f/prnext

The latest and alpha tags both select 0.1.17-alpha for the framework and its six native packages. This remains an experimental alpha. To pin this release, use npm i @thomas.f/prnext@0.1.17-alpha.

Development now compiles requested routes behind a stable Rust listener, reuses persistent caches and keeps a bounded set of Webpack compilers ready for edits. Selective CSS updates and atomic HMR transactions reduce unnecessary work while preserving React state where supported. Background TypeScript checking, opt-in typed routes, independent typegen and typecheck commands, and workspace-aware migration make development feedback easier to act on.

Production builds reuse validated transformation and runtime caches, generate Brotli sidecars and use indexed dynamic routing. The Rust pstart data plane preserves streaming, health-checked switching and bounded generation draining. SSR diagnostics expose stage outcomes and resource occupancy. The absolute HTTP request deadline remains opt-in and disabled by default. These changes do not add dynamic response caching or establish a universal performance multiplier.

The package also includes the development console, inspector, device previews and local MCP tools, together with documentation for AI assistants. prnext docs --ai reads the installed version's guides without network access or a native binary. prnext docs --ai --init adds a reference to an application's existing AGENTS.md only when requested; installation does not rewrite project instructions.

The exact seven npm archives passed twelve hoisted/nested installation checks and eighteen lifecycle checks across all six native targets on Node 22.23.4, 24.22.1 and 26.12.1. The final source passed the required Windows, Linux and macOS CI before merge.

Use Node ^22.23.4 || ^24.22.1 || >=26.12.1 and keep React, React DOM and react-server-dom-webpack aligned at 19.3.1. Keep optional dependencies enabled so npm can install the matching prebuilt executable. React server/client directives must use .ts or .tsx; .mts and .cts boundaries are rejected. Ordinary helper modules remain supported.

After upgrading, rebuild applications, restart their servers and replace the complete deployed runtime or standalone output. Build standalone output for its deployment OS and architecture. pstart users must rebuild before prestart. Existing builds do not acquire the new runtime by updating the CLI alone.

This remains an experimental alpha with partial Next.js compatibility. Consult the compatibility guide before migration, and use prnext dev --safe when diagnosing incremental development behavior.

PRNext 0.1.16-alpha

PRNext 0.1.16-alpha Pre-release
Pre-release

Choose a tag to compare

@Lorkydey Lorkydey released this 22 Oct 10:32
35a7230

npm availability: 0.1.16-alpha is published as @thomas.f/prnext (alpha and latest tags). All six native packages are published at the matching version. Registry tarballs were downloaded and verified byte-for-byte against the six-platform-tested archives. A fresh public-registry consumer passed installation, exact native binary verification, React19.3.1 resolution, production build, SSR and RSC checks. This remains an alpha release.

PRNext 0.1.16-alpha updates React, React DOM and React Server Components together to 19.3.1, addressing GHSA-xqc2-xf4c-x3h3 (RCE) and GHSA-h3gv-c5rc-p453 (Server Functions denial of service).

  • Pin all three React peers to the patched, aligned 19.3.1 versions.
  • Refuse release validation with the affected RSC version, even when npm audit reports no vulnerabilities.
  • Update runnable Next.js migration examples and conformance tests to Next.js 16.4.1.
  • Document rebuild/redeployment requirements and the patched Node 22.23.4, 24.22.1 and 26.12.1 baselines.

Validation: required Linux, Windows and macOS CI (native/Rust, unit/type, integration and browser checks), plus all six native package targets with normal/nested installs and lifecycle tests on Node 22 and Node 24. Archive and executable hashes are retained in the release receipts.

Upgrade PRNext AND the three React peers, then rebuild and redeploy each application. Existing images and running processes do not acquire this fix automatically. Use a patched supported Node binary. Application-specific dependencies and legacy Next.js servers need their own updates. Next.js compatibility remains partial; this is an alpha release.

Upstream advisories: GHSA-xqc2-xf4c-x3h3 and GHSA-h3gv-c5rc-p453.

PRNext 0.1.15-alpha

PRNext 0.1.15-alpha Pre-release
Pre-release

Choose a tag to compare

@Lorkydey Lorkydey released this 21 Oct 20:38
3b4c02f

npm availability: this GitHub prerelease does not publish npm. The public alpha tag is still 0.1.13-alpha; do not assume npm update installs this version.

PRNext 0.1.15-alpha updates the framework security dependencies and requires patched Node releases: 22.23.4+, 24.22.1+, or 26.12.1+ on the supported release lines.

  • Update rustls 0.23.46, rustls-webpki 0.103.16 and the trusted root bundle.
  • Update source-map-js 1.2.2 and the vendored Open Graph renderer's sharp dependency to 0.35.5.
  • Refuse optional sharp native backends with an affected librsvg version; preserve the safe renderer fallback.
  • Pin CI and package validation to the patched Node 22/24 releases.

Validation: required Windows/Linux/macOS CI, including native builds, Rust/JavaScript/type checks, integration and browser tests. The six native npm package targets also passed isolated default/nested installs and lifecycle/compatibility checks on the supported Node 22 and 24 patches. Package receipts retain their actual source/archive hashes.

Upgrade Node as well as PRNext. Updating a JavaScript package does not replace the Node binary or existing deployment/container images. PHP is not a PRNext runtime dependency. Application-specific dependencies remain the responsibility of each hosted project.

Next.js compatibility remains partial. This is an alpha release.

PRNext 0.1.14-alpha

PRNext 0.1.14-alpha Pre-release
Pre-release

Choose a tag to compare

@Lorkydey Lorkydey released this 21 Oct 03:42
0393510

GitHub source prerelease. The published npm alpha tag is still
@thomas.f/prnext@0.1.13-alpha. This release publishes the versioned source;
it does not publish npm packages or provide prebuilt native/npm archives.

What's new

  • A versioned static adapter imports completed browser builds, including Vite
    output and explicit HTML-only SPA fallback, and serves them without React
    render workers.
  • Cross-process project locks protect React builds and static imports. Recovery
    is conservative, and failed imports preserve the previously published build.
  • Bounded gzip precompression validates existing static sidecars.
  • Opt-in inspection includes sampled headers latency, server errors, worker
    startup, memory and queue observations, with an OTLP/JSON histogram export.
  • Fixes cover contained credential aliases, native image callbacks on dynamic
    ports, tracked stdio/RSC shutdown and browser prefetch observation. The source
    also includes the reviewed ImageResponse renderer dependency follow-up.

Using this prerelease

Use the source archives below or check out the v0.1.14-alpha tag. Source builds
require Node.js 22+, the repository's Rust toolchain and the platform build tools
listed in the README.
Rebuild each application and restart or redeploy the complete output. Keep
framework and native versions aligned.

Installations from npm continue to use the published version. npm publication of
0.1.14-alpha requires freshly verified archives for all supported platforms and
the package/lifecycle checks in
RELEASE.md.

Known limits

PRNext remains an early alpha with partial Next.js compatibility. The static
adapter does not add arbitrary framework SSR. Inspector timings measure time to
response headers and are bounded diagnostic samples, not complete-response or
billing metrics. Existing hosting and compatibility limitations still apply.

Changelog
· Compatibility

Verified source: 03935103a354. Runtime source was validated by PR #7's full platform CI; the final README-only adjustment passed documentation checks.