Skip to content

v0.0.9

Choose a tag to compare

@ZtaMDev ZtaMDev released this 21 Dec 16:12
· 47 commits to main since this release

Round v0.0.9 Release Notes

High Performance Reactivity Engine

This release completely overhauls the internal signals architecture, transitioning RoundJS from a basic reactive system to a professional, high-performance engine.

  • Linked-List Dependency Tracking: Swapped the Set-based dependency tracking for a highly optimized doubly-linked list structure. This eliminates the overhead of object allocations during iteration and provides constant-time management of subscriptions.
  • Global Versioning (Clock): Implemented a global versioning system. Signals and derived (computed) values now use version snapshots to determine if they are "dirty", avoiding redundant recalculations and achieving true lazyness.
  • Automatic Batching: Multiple signal updates are now automatically batched. Effects only trigger once at the end of the update cycle, significantly reducing DOM operations and improving runtime response.
  • Optimized onMount: Eliminated unnecessary setTimeout delays in the lifecycle system when effects are created outside of component rendering, resulting in massive speedups for micro-benchmarks.

Fixes & Improvements

  • Bindable Compatibility: Fixed a regression where bindable.object and pick() views were not correctly identified as signals by the bind:* directive handler.
  • Proxy Stability: Improved the has and get traps in reactivity proxies to ensure perfect compatibility with standard JavaScript patterns and framework internals.