v3.3.11
-
GitHub Actions workflow (
.github/workflows/dart.yml):- Updated
actions/checkoutfrom v2 to v6. - Split test jobs into separate
test_vmandtest_chromejobs for VM and Chrome platforms respectively. - Updated
codecov/codecov-actionfrom v1 to v5. - Added
dart pub publish --dry-runstep to the main build job.
- Updated
-
LazyWeakReference:- Implemented
Comparable<LazyWeakReference>with a strict total order based on_unixTimeMsand uniqueid. - Added
idfield as a unique sequence identifier assigned by the manager. - Exposed
unixTimeMsgetter. - Removed direct
_unixTimeMsupdates fromstrong()method; now managed byLazyWeakReferenceManager. - Updated constructors to accept
idand defer_unixTimeMsassignment to manager.
- Implemented
-
LazyWeakReferenceManager:- Added
_refIdCountto assign uniqueids to references. - Changed internal strong reference queue from
QueuetoSplayTreeSetordered byLazyWeakReference.compareTo. - Updated
_handleNewStrongRefand_handleAccessStrongRefto update_unixTimeMsand maintain ordering in_strongRefs. - Updated
_handleNewWeakRefand_handleDisposedRefto remove references from_strongRefs. - Updated
_weakenStrongRefsto process references from_strongRefsin order, removing the oldest eligible references first. - Improved scheduling logic to debounce weakening with precise timing based on reference age.
- Added