Frontmatter
| tagName | 10.0.0-beta.2 |
| name | >- |
| publishedAt | 6/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.mdhas 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, includingconstructor()vs.construct()andisReadyconcepts. - Main Thread Addons Guide: Enhanced with visualizations for remote method access and explanations of
interceptRemotesfor automatic method caching. - Learning Path Refinements: The
learn/tree.jsonstructure 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.Basenow intercepts remote calls that arrive before an addon is fullyisReady, 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 memoizedisA()queries and integration intoNeo.Mainand other workers.
Rendering & Components
- Enhanced VDom Security & Performance (DomApiRenderer Integration): A major internal refactoring has been completed to
replace
htmlwithtexton VDom node properties across hundreds of components (app/*,Neo.*,component.*,form.field.FileUpload,Neo.calendar.view.*,Portal.view.*). This significant change leverages theDomApiRendererintroduced in v10 to:- Improve Security: By defaulting to
textcontent, 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.Basetext_Config: Added a newtext_config tocomponent.Basefor direct text content management.- Grid/Table Rendering:
grid.Bodyandtable.Bodynow support thetextproperty inapplyRendererOutput(), offering an alternative tohtmlfor rendering.
- Improve Security: By defaulting to
Internal Improvements & Refactoring
main.DeltaUpdatesEnhanced Initialization: Themain.DeltaUpdatesmodule now utilizesinitAsync(), a significant improvement for its initialization process, alongside updated JSDoc comments.- Minor code cleanups and method reordering in
vdom.Helper. - Minor fixes in
component.MagicMoveTextandPortal.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
- Share Your Feedback: Your input is invaluable! Please let us know what you think, report any issues, or suggest further improvements via GitHub Issues or our Slack Channel.