LearnNewsExamplesServices
Frontmatter
tagName10.0.0-beta.2
name>-
publishedAt6/30/2025, 2:18:54 AM
isPrerelease
isDraft

Neo.mjs v10.0.0-beta.2: Polishing the Core, Securing the UI, and Enriching the Docs

Neo.mjs v10.0.0-beta.2 Release Notes

This beta release brings significant enhancements across documentation, core framework capabilities, and a major focus on improving component rendering performance and security, alongside an enhanced developer experience.

Documentation & Learning Content

We've made substantial updates to the learn section to provide clearer, more comprehensive guidance:

  • Enhanced Benefits Guides:
  • Forms Engine: Improved introduction, detailed benefits, and business value connections for state management, unmounted
  • validation, and nested/lazy-loaded forms.
  • Multi-Window Applications: Expanded use cases and clearer explanations of seamless data/state sharing.
  • Quick Application Development: Detailed how property lifecycle hooks, elegant state management, and powerful debugging
  • contribute to rapid development.
  • Effort vs. Complexity: Refined explanation of Neo.mjs's linear scaling of effort with complexity, including the initial learning curve.
  • Speed: Improved introduction highlighting web worker benefits for performance.
  • Features Summary: Updated with direct links to detailed benefit guides for easier navigation.
  • New RPC Layer Guide: A dedicated guide (learn/benefits/RPCLayer.md) explaining the RPC layer's role in seamless
  • communication across Web Workers, Main Threads, and backend services, including practical examples.
  • Updated Glossary: The learn/Glossary.md has been significantly expanded and polished
  • Instance Lifecycle Guide: New comprehensive guide (learn/guides/InstanceLifecycle.md) detailing the synchronous and asynchronous phases of component creation and destruction, including constructor() vs. construct() and isReady concepts.
  • Main Thread Addons Guide: Enhanced with visualizations for remote method access and explanations of interceptRemotes for automatic method caching.
  • Learning Path Refinements: The learn/tree.json structure has been reordered to provide a more logical learning progression for guides.
  • Code Block Improvements: Various formatting and rendering fixes for code blocks across documentation.

Core Framework & Features

  • Remote Method Interception for Addons: addon.Base now intercepts remote calls that arrive before an addon is fully isReady, enabling more robust asynchronous initialization for addon methods.
  • New Class Hierarchy Manager: Introduction of manager.ClassHierarchy (#6876), a new core manager that provides robust class hierarchy information, including memoized isA() queries and integration into Neo.Main and other workers.

Rendering & Components

  • Enhanced VDom Security & Performance (DomApiRenderer Integration): A major internal refactoring has been completed to replace html with text on VDom node properties across hundreds of components (app/*, Neo.*, component.*, form.field.FileUpload, Neo.calendar.view.*, Portal.view.*). This significant change leverages the DomApiRenderer introduced in v10 to:
    • Improve Security: By defaulting to text content, Neo.mjs now inherently prevents Cross-Site Scripting (XSS) vulnerabilities by escaping HTML, making applications more secure by design.
    • Boost Performance: Direct text manipulation is generally more performant than parsing and injecting HTML, leading to faster and more efficient DOM updates.
    • component.Base text_ Config: Added a new text_ config to component.Base for direct text content management.
    • Grid/Table Rendering: grid.Body and table.Body now support the text property in applyRendererOutput(), offering an alternative to html for rendering.

Internal Improvements & Refactoring

  • main.DeltaUpdates Enhanced Initialization: The main.DeltaUpdates module now utilizes initAsync(), a significant improvement for its initialization process, alongside updated JSDoc comments.
  • Minor code cleanups and method reordering in vdom.Helper.
  • Minor fixes in component.MagicMoveText and Portal.view.learn.ContentComponent.

This release focuses heavily on improving the learning experience and solidifying core architectural patterns. We encourage you to explore the updated documentation and leverage the new features for more robust and performant applications.

All changes in 1 commit: https://github.com/neomjs/neo/commit/ee8ccd1943a4fc198ec440dcb44146c9f1787193

Call To Action

We're excited for you to dive into the enhanced learning experience!