GioJS
Changelog

Releases

What's new in each version of GioJS. Updated on every release and patch.

  1. 0.1.0-beta.5

    latest

    The big one: client-side hydration, API routes, dev watch mode, worker supervision, and a hardened Rust↔Node boundary.

    New
    • Client-side hydration: per-route esbuild bundles, a #__gio hydration boundary, and props serialized safely into the page - interactive React with zero hydration-mismatch surface. getServerSideProps and its server-only imports are stripped from client bundles.
    • API routes: route.ts files export GET/POST/PUT/PATCH/DELETE handlers receiving params, query, headers, parsed cookies, and the request body - return JSON, a web Response, or a GioEventStream (SSE). Unexported methods get a proper 405.
    • getServerSideProps now receives the full request (method, path, headers, cookies) and can return response headers like set-cookie - such pages are automatically uncacheable.
    • app/not-found.tsx and app/error.tsx render real 404/500 pages through your layouts; static export writes 404.html so hosts like Cloudflare Pages return a real 404 for unknown URLs instead of the home page.
    • Dev watch mode: edit a file and the server clears caches, restarts the worker, and reloads your browser - about 1.5 seconds edit-to-browser.
    • Alpine/musl Linux binaries (@gio.js/server-linux-x64-musl) with automatic libc detection.
    Reliability & security
    • The Node worker is supervised: crashes respawn in ~300 ms instead of taking the server down, and a hard-killed server can never orphan the worker (Windows Job Objects).
    • Renders are never shared across users: coalescing is credential-aware and only ever shares explicitly cacheable pages.
    • The IPC boundary is versioned (enforced at handshake), authenticated with per-instance tokens, and carries request bodies - binary-safe - plus vary/cacheTags/cancel frames.
    • Client disconnects and timeouts now abort in-flight React renders instead of finishing work nobody reads.
    • All @gio.js/* packages, platform binaries, and templates are version-locked; releases publish with npm provenance; CI runs a real Rust↔Node integration suite on Linux and Windows.
  2. 0.1.0-beta.4

    Packaging and clean-install fixes following beta.3.

    Fixed
    • Clean-install issues found while testing the published packages end-to-end: tsx as a runtime dependency, package file lists, and template fixes.
  3. 0.1.0-beta.3

    SEO-ready static exports.

    New
    • Static export auto-generates robots.txt and a full sitemap.xml (absolute URLs from GIO_SITE_URL).
    • Exported pages no longer reference a client bootstrap script that 404s on static hosts.
  4. 0.1.0-beta.2

    Static export - build to plain HTML and deploy anywhere, for free.

    New
    • Static export: gio export pre-renders your whole app to out/ as plain HTML - deploy free to Cloudflare Pages, GitHub Pages, or any static host.
    • create-giojs now asks "Server app or Static site?" and wires npm run build accordingly (gio export for static).
    • getStaticPaths() convention to pre-render dynamic routes during export.
    • getServerSideProps runs at build time, baking its data into the exported HTML.
  5. 0.1.0-beta.1

    First public beta on npm, published under the @gio.js scope.

    Highlights
    • Published to npm: @gio.js/server, @gio.js/core, @gio.js/react, create-giojs, and prebuilt platform binaries (linux-x64, win32-x64, darwin-x64, darwin-arm64).
    • npm create giojs@latest - interactive scaffolder with an arrow-key picker for TypeScript / JavaScript.
    Framework
    • Rust HTTP/2 server with brotli/gzip compression, static file serving, and rustls TLS.
    • Image optimization endpoint (/_gio/image): AVIF → WebP → JPEG with a two-layer cache.
    • ISR page cache with stale-while-revalidate and deployment-aware invalidation.
    • React SSR via renderToReadableStream, getServerSideProps, nested layouts, and file-based routing for .tsx / .jsx / .js.
    • Route handlers, Server-Sent Events, and WebSockets over a dedicated IPC pipe.
    • Self-hosted fonts (WOFF2), i18n routing, Prometheus metrics, and a dev dashboard.

Subscribe on GitHub to be notified when a new version ships.