LearnNewsExamplesServices
Frontmatter
tagName10.1.0
namehousekeeping
publishedAt7/27/2025, 11:10:13 AM
isPrerelease
isDraft

housekeeping

Neo.mjs v10.1.0 Release Notes

This release includes important fixes and minor improvements, primarily focusing on VDOM optimization, collection performance, and selection model improvements.

Key Updates:

  • VDOM Optimization & neo-ignore Refinement (Addresses #7114): The internal handling of the neo-ignore flag has been significantly improved. Previously, neo-ignore could interfere with the VDOM's structural integrity, potentially leading to rendering anomalies, especially in complex layouts like grids, where elements might overlap. Now, a dedicated neoIgnore: true flag is added to VDOM nodes, preserving the original componentId and id. This ensures the VDOM engine can correctly identify and skip sub-trees during diffing, leading to more robust and efficient asymmetric VDOM updates and resolving visual rendering issues such as those observed in grid components.

  • Collection Performance Enhancements (Addresses #7115): Several methods within src/collection/Base.mjs (e.g., clear, findBy, pop, remove) have been optimized by replacing this.getCount() method calls with direct access to this.count. This change streamlines collection operations, leading to improved performance.

  • Enhanced Selection Model (Addresses #7116): The src/selection/Model.mjs has been updated to provide more comprehensive data during selection changes. A new getController() method has been added, and the selectionChange event now includes the records array, offering richer context for selection handling and better integration with view controllers.

  • Minor Fixes & Improvements (Addresses #7117): This release also includes minor cleanups and documentation improvements, such as an updated JSDoc comment in src/grid/Body.mjs and the removal of a debug console.log statement in src/main/DeltaUpdates.mjs.