solidart-v3.0.0-dev.1
Pre-release
Pre-release
- BREAKING:
SolidartConfig.autoDisposenow defaults tofalse— auto-dispose is opt-in from v3. Enable it globally (SolidartConfig.autoDispose = true) or perSignal/Computed/Effectvia theautoDisposeparameter. - FIX:
Effectnow honours its per-instanceautoDisposeflag (defaulted fromSolidartConfig.autoDisposeat creation), consistent withSignalandComputed. Previously an effect only auto-disposed when the globalSolidartConfig.autoDisposewas enabled, ignoring a per-instanceautoDispose: true. - CHORE: Upgrade
alien_signalsto^2.3.1and adapt the internal reactive adapter to its preset/system APIs. - FIX: A lazy nullable
Signal(e.g.Signal<int?>.lazy()) now notifies when it is first set tonull; previously theNone→Some(null)transition was treated as "no change". - FIX: Disposing a signal now fully unlinks its subscribers on both sides of each dependency link — and does so regardless of
SolidartConfig.autoDispose(a disposed signal is destroyed, likeEffect/Computeddisposal) — so a later write to the disposed signal can no longer propagate into an already-detached computed. - FIX:
Computed.listenerCountnow reports the number of subscribers instead of the number of dependencies. This also correctsResource's source cleanup, which useslistenerCountto decide whether to dispose aComputedpassed as itssource. - FIX: Disposing a
Computednow unlinks all of its subscribers instead of only the first (leaving no dangling links back to it) and offers each subscriber the chance to auto-dispose, matching signal disposal. - REFACTOR:
ReactiveSystem,reactiveSystem, and theMayDisposeDependenciesextension are no longer exported from the publicsolidart.dartbarrel — they expose internalalien_signalstypes and are implementation detail. Sibling packages consume them viapackage:solidart/solidart_internal.dart.