Skip to content
This repository was archived by the owner on Aug 2, 2026. It is now read-only.

v0.4.11

Choose a tag to compare

@l7aromeo l7aromeo released this 21 Nov 08:16
· 161 commits to main since this release

MeoNode UI v0.4.11 – Unmounter Enhancements, Performance Tests & Dependency Upgrades

Release Date: 2025-11-21

Fix

  • core: enhance MeoNodeUnmounter cleanup logic and support additional props cloning (02c17f7)
    • Refactor MeoNodeUnmounter to use useEffectEvent for stable cleanup on unmount
    • Cleanup removes node from BaseNode.elementCache, untracks mount via MountTrackerUtil, unregisters from BaseNode.cacheCleanupRegistry, and clears lastSignature to prevent memory leaks
    • Support cloning and forwarding additional props to valid React children elements

Refactor

  • node.util: enhance documentation for utility methods and improve clarity (ee42c24)
  • theme: reorder ThemeResolverCache methods for clarity (cb842c8)
    • Moved _generateCacheKey and _evict methods below the main logic in ThemeResolverCache for better readability and organization
    • Removed duplicate declaration of _instance property
    • Kept functionality unchanged, improving code structure and maintainability

Test

  • perf: add memory leak detection test for navigation cycles and improve formatMemory function (ba139fc)
    • Added a new performance test to detect memory leaks during repeated navigation cycles between pages
    • The test measures heap memory usage before, during, and after navigation, ensuring memory growth stays within acceptable limits
    • Enhanced the formatMemory utility to correctly handle negative byte values and added JSDoc comments for clarity
    • Removed an obsolete shallowly equal props performance test to streamline the test suite
  • unmounter: add regression test for MeoNodeUnmounter to forward implicit props in MUI RadioGroup integration (2ecaabd)
    • Added a test to ensure MeoNodeUnmounter correctly forwards props injected via React.cloneElement, addressing issues with libraries like MUI where RadioGroup injects 'checked' and 'onChange' into Radio components
    • This prevents swallowing of props and verifies proper behavior of controlled radio inputs
    • Also updated an existing cache size assertion to allow equality, reflecting improved mount tracking
  • perf: update react-createelement comparison tests with 5000 nested nodes and fix typings (b345ec0)
    • Changed rerender to use React.cloneElement for proper typing
    • Updated NUM_NODES constant to 5000 for nested structure tests
    • Removed redundant comments about node count reduction to prevent stack overflow

Chore

  • deps: upgrade devDependencies and update test scripts (2ea128e)
    • add new devDependencies: @emotion/is-prop-valid@1.4.0, @emotion/styled@11.14.1, @mui/material@7.3.5, and related packages
    • update yarn to version 4.11.0
    • update test scripts to increase max-old-space-size to 8192 and include react-createelement-comparison.test.ts in test and perf runs
    • update various package resolutions in yarn.lock to align with new versions and dependencies
  • babel: add "builtIns": false to minify plugin configuration (e16cdfb)
  • yarn: update yarnPath to version 4.11.0 (ecb6c68)

Docs

  • CONTRIBUTING: improve formatting and readability of contribution guidelines (a7462ed)

Version Update

  • Current version: 0.4.11

Changelog & Commits