Next.js Engine v2.5.0 — APIStatic, Runtime Correctness & Performance
Released: 2026-08-27 GitHub tag:
Release-v2.5.0Previous major release: v2.0.0
v2.5.0 was a large runtime-correctness and performance release. Its biggest new feature was APIStatic, alongside major EngineCanvas/graphics, EngineManim, EngineScroll, EngineBrowser, lazy-loading, package-sync, and CI work.
This file preserves the v2.5.0 release history inside the official documentation tree.
At a glance
Since v2.0.0, the original release summary counted:
- 🐛 50+ bug fixes
- ⚡ 20+ performance optimizations
- ✨ 8+ new features
- 🔧 25+ API/runtime improvements
- 📦 10+ build/package improvements
- 📚 15+ documentation updates
- 🧪 6+ new CI/regression checks
Highlights
- New APIStatic system for compiled
.routeendpoints. - Major EngineCanvas / Engine2D / Engine3D / EngineSVG performance rewrite.
- Major EngineManim performance and lifecycle improvements.
- EngineScroll scheduler/navigation overhaul.
- Hardened EngineBrowser SSR behavior.
- Better lazy loading, observer pooling, media loading, and code splitting.
- Large EngineAPIResolver correctness pass.
- Automatic
main → main-emptypackage synchronization. - Production build, APIStatic, SSR, package, and bundle-size CI checks.
APIStatic
APIStatic introduced build-time compilation for:
data/endpoint/**/*.routeThe system can:
- compile
.routefiles into browser-loadable static endpoint modules; - generate a route manifest automatically;
- use stable logical endpoint names without requiring application code to know generated hashes;
- support multiple operations per endpoint;
- support
run.query,run.body,run.input, andrun.proxy; - validate and coerce typed input schemas;
- support defaults and optional values;
- use normal async functions,
fetch(), objects, arrays, and TypeScript syntax; - return normal values or explicit
response(...); - throw controlled
error(...)responses; - call configured backend bridges through
proxy(); - discover endpoints with
APIStatic.names(),has(), andgetEndpoints(); - watch and recompile
.routefiles during development; - preserve the last-known-good build when compilation fails;
- publish endpoint JavaScript and its manifest atomically;
- handle lexical scopes correctly;
- support compact
helper[...]call syntax without corrupting normal arrays/strings/comments/regex/shadowed values; - integrate directly with
EngineAPIResolver; - run dedicated compiler/runtime regression checks in CI.
Read: ../engine-components/apistatic.md
Runtime and graphics work
v2.5.0 also focused heavily on making previously documented runtime behavior match the actual implementation.
Major work included:
- demand-driven / more efficient Canvas and graphics execution;
- retained 2D/3D/SVG rendering improvements;
- EngineManim lifecycle and allocation reductions;
- EngineScroll scheduling and point navigation fixes;
- improved media loading and lazy behavior;
- EngineBrowser SSR hardening;
- schema/type/API corrections;
- bundle and package synchronization improvements.
Build and package workflow
The release established stronger automated package behavior around the two main branches:
main
→ workspace/source branch
main-empty
→ distributable package branchThe repository gained automated synchronization and stronger integration/build checks so package output could be verified rather than copied manually.
Release links
- GitHub release:
https://github.com/Kate-alt-69/nextjs-engine/releases/tag/Release-v2.5.0 - v2.0.0 notes:
./NE-v2-0-0.md - v2.6.0 notes:
./NE-v2-6-0.md
Historical note
This document summarizes the original v2.5.0 GitHub Release in the maintained docs tree. Current component documentation may describe later behavior introduced after v2.5.0.