Skip to content

housekeeping

Choose a tag to compare

@tobiu tobiu released this 27 Jul 11:10
· 1254 commits to dev since this release

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.