Repository navigation
Next.js Engine v2.0.0 — Official Release Notes
The Next.js Engine v2.0.0 is a milestone release introducing comprehensive layout patching, custom runtimes for scroll and media, robust server-side analytics/compilers, and deeply integrated form-to-network orchestration.
This log tracks every major technical change, API specification, and operational update to guide your transition from previous versions.
📱 1. Server-Side Mobile Schema Patching (EngineMobile)
We have completely overhaul how the engine handles device-specific responsive layouts. Instead of traditional client-side media queries that cause layout shift, structural changes are now injected server-side.
-
What Changed: * Introduced the
EngineMobilePatcherwhich applies aMobileSchemaConfigpatch list directly to your layout schema tree on the server before rendering. -
The desktop schema object is never mutated; patches apply non-destructively based on incoming request headers.
-
Added a new stable targeting property
nameontoSchemaNodeobjects (e.g.,name: "feature-grid") to let patches cleanly pinpoint targets within nested structures. -
Added top-level utility patch directives:
"remove-all-prop"and"remove-all-cprop"to clean up desktop constraints before laying out mobile replacements. -
Hardware Detection: Added full client/server detection matching across 12+ hardware brands, including Apple, Samsung, Xiaomi, Huawei, Pixel, and generic Android units.
-
📚 Where to learn more: Read
engine-components/enginemobile.mdor jump to the EngineMobile — Server-Side Mobile Schema Patching breakdown insideDOCUMENT.md.
📜 2. The EngineScroll Runtime
Native browser scroll mechanisms and scroll-behavior: smooth have been fully replaced with a deterministic, requestAnimationFrame (RAF) based scroll runtime.
-
What Changed: *
createPagenow automatically binds a global<EngineScrollProvider>context wrapper to every single page. You can now invoke theuseEngineScroll()hook anywhere to fetch a uniform{ move }navigation controller. -
Added
EngineScrollPointManagerto register named target semantic markers via a nativepointlayout prop. -
The
#-es?Protocol: Shipped a custom URL handler (EngineScrollURL) allowing deep-linking into specific scroll segments directly from URLs using parameters likemove,offset, andduration(e.g.,#-es?move=hero&duration=600). The runtime strips this string from the address bar cleanly viahistory.replaceState()once execution finishes. -
📚 Where to learn more: Read
engine-components/enginescroll.mdor view the EngineScroll — Runtime Scroll System implementation guide insideDOCUMENT.md.
🌐 3. EngineBrowser Abstractions
The framework's client-side window utility footprint has been consolidated into five modular, SSR-safe execution pillars via EngineBrowser:
- Subsystems Added:
clipboard: Secure async clipboard reading, block validation, HTML copy configurations, and runtime permission status inquiries.interact: Safe abstraction layers for native Web Notifications, Web Share hooks, modern File System Access permissions, Screen Wake Locks, Geolocation coordinates, and PWA system notification badges.media: Simplified interface hooks mapping camera, microphone, and viewport stream capturing, built with strict hardware context release lifecycle loops.speech: Built-in client bindings executing Text-to-Speech (TTS) pipelines and multi-language Speech-to-Text (STT) listeners.network: Continuous snapshot monitoring and state subscription hooks tracking changes in active bandwidth (downlink), round-trip time (rtt), and device-enforcedsaveDatadata-saver policies.
- 📚 Where to learn more: Read
engine-components/enginebrowser.mdor look up EngineBrowser definitions insideDOCUMENT.md.
🛠️ 4. Static Schema Validation (schemaAnalyzer)
To eliminate runtime validation crashes during layout assembly, v2.0.0 incorporates a compiler-grade static validation engine.
-
What Changed: The new
schemaAnalyzerscans nestedPageSchemaarrays at build time and throws localized TypeScript-compiler-style diagnostic objects. -
Diagnostics Traced:
-
E001(Levenshtein Suggestion): Analyzes key strings and offers a "did you mean?" output for misspelled layout keys. -
E002/E003/E004: Catches missing structural properties, detects duplicate DOMidelements, and maps circular node layout references. -
Warnings (
W001-W005): Tracks a11y parameters (missingaltfields, broken labels) and marks performance bottlenecks like excessive DOM nesting depths. -
📚 Where to learn more: Reference the full diagnostics error matrix table directly in the Static Schema Analyzer portion of
DOCUMENT.md.
🔌 5. Multi-Tiered Declarative API Networking (EngineAPI)
Networking is now declared natively via build-integrated environment manifests, eliminating arbitrary client fetch definitions.
- What Changed: Introduces support for a centralized
.apiformat managed inside a specialized.EngineAPIConfig/workspace folder. This structure uses a fresh Webpack build plugin (engineApiPlugin.js) to parse text profiles down to lightweight optimized JSON structures directly during your Next.js application build stage. - Security & Auth Integration: Standardizes data-transport protocols by native handling of multiple secure signature tiers including HMAC, JWT tokens, Bearer tokens, HTTP Basic authentication, and decentralized cryptographic PnP key verification pairs.
- Anti-Fingerprinting: Built-in network transport handlers actively sanitize outbound payloads, scrubbing header signatures like
X-Engine-*or default framework markers to maintain privacy across servers. - 📚 Where to learn more: Read
engine-components/engineapi.mdand check the networking guide insideDOCUMENT.md.
🧩 6. New Core Layout Primitives & Markdown Features
-
The
createComponentAPI: Enables the declaration of app chrome shells (such as top-tier persistent site structures) that accept layout nodes as standard runtime React slots inside the layout schema. -
Markdown Updates (
EngineMarkdown): Added afilePathproperty to let the server read, parse, and process content blocks directly from local file structures on mount. Headings natively auto-generate clean string-slug hashes matchingEngineScrollrouting targets. -
Animations: Added
textAnimation,blockAnimation, and millisecond staggered animation properties onto markdown schemas. -
New Nodes Shipped:
-
EngineLink: Transition-aware hyper-links incorporating Next.js router mappings and native View Transitions hooks. -
EngineHero: Layout sections with"centered","split", or"fullbleed"alignment, supporting custom parallax effects. -
EngineSuspense: Bound placeholders loading five responsive variations ("skeleton","shimmer","spinner","pulse","blur") alongside smart network timeout fallbacks. -
EngineForms: Standardized form validation tracking (form,input,textarea,checkbox) backed by automated data collection attributes. -
📚 Where to learn more: Check out
readme.mdforcreateComponent, and seeengine-components/enginemarkdown.mdfor content rendering properties.
🎨 7. The Graphics Layer (EngineCanvas & EngineManim)
- Pluggable Architecture:
EngineCanvasnow supports direct declaratively compiled scenes via agraphicslayout prop. You can wire flat geometries usingecCircle,ecRect, or structural vector mapping viaecPath. - Stylized Engines: Shipped native support for non-photorealistic visual shading tiers including
"flat"cell shading styles. - EngineSVG Integration: Includes dedicated vector compilation hooks (
importSVG/exportSVG) capable of transmuting real vector document files directly into activeECMeshstructures or rendering native crisp vector layout frames via a custom"svg"canvas mode engine. - Fixes Implemented: Resolved an operational race condition where canvas initial setups fired before node physical attachments concluded inside the DOM. Fixed a frame freeze bug inside
EngineManimcaused by a faulty reliance on global clock counters instead of real frame delta parameters. - 📚 Where to learn more: Read
engine-components/enginecanvas.mdandengine-components/enginemanim.md.
🐛 8. Technical Fixes & Cascade Performance Tweaks
- Hydration Fix (
BUG-001): Rewrote the internalStyleCollectorclass to emit finalized style properties sequentially in a precise, deterministic layout order. Dev-only injection comments have been completely scrubbed from build streams to enforce byte-for-byte matching between server-generated and client-rendered style trees, resolving server mismatch crashes. - Deduplication Engine (
staticClass): Exposes a global utility method to compress rawCSSPropertiesobjects down into shared, individual static CSS class allocations. Reused style footprints across multiple nodes map back to a singular identifier, radically cleaning up the overall DOM structure. - CSS Scoping Hierarchy: Explicitly separated compiled stylesheet generation cascades into three clean evaluation passes: Global Layout rules, Group Rules, and strict Local overrides.
- Lazy Loading Enhancements: Video asset frames are fully deferred; the underlying DOM
srcstring is dynamically withheld until layout components navigate to within 800px of the active client browser window viewport boundary. Images dynamically shift load limits using size dimensions (ranging from 400px to 800px). - 📚 Where to learn more: Inspect
staticClass— Deduplicated CSS Classes and the architecture section insideDOCUMENT.md.
Full Changelog: release-v1-0-0...release-v2-0-0
Contribute by https://github.com/Kate-alt-69