Skip to content

Next.js Engine v2.0.0 — Official Release Notes

Choose a tag to compare

@Kate-alt-69 Kate-alt-69 released this 07 Jul 18:19

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 EngineMobilePatcher which applies a MobileSchemaConfig patch 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 name onto SchemaNode objects (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.md or jump to the EngineMobile — Server-Side Mobile Schema Patching breakdown inside DOCUMENT.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: * createPage now automatically binds a global <EngineScrollProvider> context wrapper to every single page. You can now invoke the useEngineScroll() hook anywhere to fetch a uniform { move } navigation controller.

  • Added EngineScrollPointManager to register named target semantic markers via a native point layout prop.

  • The #-es? Protocol: Shipped a custom URL handler (EngineScrollURL) allowing deep-linking into specific scroll segments directly from URLs using parameters like move, offset, and duration (e.g., #-es?move=hero&duration=600). The runtime strips this string from the address bar cleanly via history.replaceState() once execution finishes.

  • 📚 Where to learn more: Read engine-components/enginescroll.md or view the EngineScroll — Runtime Scroll System implementation guide inside DOCUMENT.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:
  1. clipboard: Secure async clipboard reading, block validation, HTML copy configurations, and runtime permission status inquiries.
  2. 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.
  3. media: Simplified interface hooks mapping camera, microphone, and viewport stream capturing, built with strict hardware context release lifecycle loops.
  4. speech: Built-in client bindings executing Text-to-Speech (TTS) pipelines and multi-language Speech-to-Text (STT) listeners.
  5. network: Continuous snapshot monitoring and state subscription hooks tracking changes in active bandwidth (downlink), round-trip time (rtt), and device-enforced saveData data-saver policies.
  • 📚 Where to learn more: Read engine-components/enginebrowser.md or look up EngineBrowser definitions inside DOCUMENT.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 schemaAnalyzer scans nested PageSchema arrays 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 DOM id elements, and maps circular node layout references.

  • Warnings (W001 - W005): Tracks a11y parameters (missing alt fields, 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 .api format 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.md and check the networking guide inside DOCUMENT.md.

🧩 6. New Core Layout Primitives & Markdown Features

  • The createComponent API: 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 a filePath property 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 matching EngineScroll routing 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.md for createComponent, and see engine-components/enginemarkdown.md for content rendering properties.

🎨 7. The Graphics Layer (EngineCanvas & EngineManim)

  • Pluggable Architecture: EngineCanvas now supports direct declaratively compiled scenes via a graphics layout prop. You can wire flat geometries using ecCircle, ecRect, or structural vector mapping via ecPath.
  • 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 active ECMesh structures 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 EngineManim caused by a faulty reliance on global clock counters instead of real frame delta parameters.
  • 📚 Where to learn more: Read engine-components/enginecanvas.md and engine-components/enginemanim.md.

🐛 8. Technical Fixes & Cascade Performance Tweaks

  • Hydration Fix (BUG-001): Rewrote the internal StyleCollector class 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 raw CSSProperties objects 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 src string 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 inside DOCUMENT.md.

Full Changelog: release-v1-0-0...release-v2-0-0

Contribute by https://github.com/Kate-alt-69