---
tagName: 10.0.0-beta.2
name: >-
  Neo.mjs v10.0.0-beta.2: Polishing the Core, Securing the UI, and Enriching the
  Docs
publishedAt: '2025-06-30T02:18:54Z'
isPrerelease: false
isDraft: false
---
# 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!

*   **Explore the New Guides**: Discover the power of Neo.mjs by exploring updated sections like
    * [Main Thread Addons Guide](
https://neomjs.com/dist/esm/apps/portal/#/learn/guides.MainThreadAddons)
    * [Forms Engine benefits](https://neomjs.com/dist/esm/apps/portal/#/learn/benefits.FormsEngine)
    * [Glossary](https://neomjs.com/dist/esm/apps/portal/#/learn/Glossary).
*   **Share Your Feedback**: Your input is invaluable! Please let us know what you think, report any issues, or suggest further 
improvements via [GitHub Issues](https://github.com/neomjs/neo/issues) or our [Slack Channel](https://join.slack.com/t/neomjs/shared_invite/zt-6c50ueeu-3E1~M4T9xkNnb~M_prEEOA).

