NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #1815 most downloaded on pub.dev
The signals library exposes four core functions which are the building blocks to model any business logic you can think of.
Last release 4 months ago
29 May 2026
Ships unpredictably
gaps range from 8 days to 10 months
Nearly every release is documented
notes for 41 of 41 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
61 releases · first in 2023
chore(deps): bump actions/deploy-pages from 4 to 5 by @dependabot [bot] in #468
Full Changelog: v7.0.0...v7.1.0
One column per month.
SignalProvider: Decoupled SignalProvider from FlutterReadonlySignal (which implements Listenable) and generalized it to accept any standard core ReadonlySignal from signals_core.Listenable are automatically wrapped in a lightweight, lifecycle-managed Listenable adapter internally under InheritedNotifier, maintaining maximum efficiency without manual boilerplate.docs/content/guides/dependency-injection.md.Update event-sink.md by @Koichi5 in #367
debugLabel to hooks by @dickermoshe in #412ValueListenable.toSignal() not removing listener on dispose by @google-labs-jules[bot] in #425Full Changelog: v6.0.1...v7.0.0
SignalBuilder to accept a required named parameter required Widget Function(BuildContext) builder instead of a positional function argument. This aligns it perfectly as a drop-in replacement for Flutter's native Builder widget.SignalProvider as a StatefulWidget to maintain the reactive signal instance across parent rebuild cycles. Adds automatic dispose() teardown of created signals when unmounted, custom dispose callback support, and SignalProvider.value constructor to expose managed signals without teardown. Also adds SignalProvider.multi / MultiSignalProvider to flatten deeply nested builder hierarchies into a convenient flat list..value in their build() methods will automatically schedule surgical, frame-coalesced rebuilds.child widget which is cached and never rebuilt when signal values mutate.markNeedsPaint() directly.toSignalWidget() on StatelessWidget and toSignalStatefulWidget() on StatefulWidget to seamlessly upgrade standard widgets to reactive versions. Also added watchSignal extensions on StatelessElement and StatefulElement.Watch, WatchBuilder, SignalsMixin, and the .watch(context) context watch extensions.Watch and WatchBuilder under the hood to act as lightweight, stateless adapters delegating directly to SignalBuilder and SignalAnimatedBuilder to achieve zero-allocation state overhead..watch(context) extension with a memory-safe Expando/WeakReference/Finalizer engine preventing lapsed-listener memory leaks and object identity hash collisions.ci: restrict publish workflow to tag pushes to enable automated pub.d…
ci: restrict publish workflow to tag pushes to enable automated pub.d…
Fix listener on dispose for ValueListenable.toSignal()
Computed/Signal now use SignalsAutoDisposeMixin but ReadonlySignalMixin no longer has dispose methods
Fix error in effect not showing StackTrace
Signal<int> count = 0.$;
Computed<double> doubleValue => (() => count() * 2).$;
Signal<String> name = 'Flutter'.$;
Signal<bool> isTrue = true.$;
Signal<Brightness> brightness = Brightness.light.$;
Signal<double> progress = 0.5.$;
chore: Add update all pubspec script by @mcmah309 in #353
Full Changelog: v6.0.0...v6.0.1
AsyncErrorReloading, AsyncErrorRefreshing, AsyncDataReloading, AsyncDataRefreshingFix issue with StreamSignal _stream not initialized
_stream not initializedRemoving old deprecated methods
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix for Watch.builder not rebuilding with InheritedWidget
Removing deprecation warning for watch/unwatch
Add SignalsMixin to replace .watch, createComputed/createSignal, SignalsAutoDisposeMixin and implementation for Watch
signals_core 5.4.0Add signal.isLazy and computed.isLazy
signals_core 5.3.0FIX: https://github.com/rodydavis/signals.dart/issues/283
signals_core 5.2.3FIX: https://github.com/rodydavis/signals.dart/issues/265
signals_core 5.2.2FIX: https://github.com/rodydavis/signals.dart/issues/258
signals_core 5.2.0Sync core implementation with `@preactjs/signals` package
signals_core 5.1.0@preactjs/signals packageFix #247 - element watcher causing effect cycle error
InheritedSignalProvider and ReadonlySignalProvider for Fluttersignals_core 5.0.1SignalsObserver to use log instead of printSignalsObserver to use DevToolsSignalsObserver in kDebugModeSignalProvider default constructor to use createDeprecating ValueSignal in favor of Signal
previousValue/initialValue to SignalSignalEqualityValueSignal in favor of Signal.forceUpdate in favor of .set(..., force: true)createSignal/createComputed/createEffect for FlutterSignalsAutoDisposeMixin for Fluttersignals_core 5.0.0Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fixing Watch in hot reload with auto dispose signals
Updating documentation comments
signals_core 4.5.0fix autoDispose not passed in for some signals
signals_core 4.4.0Add valueNotifierToSignal, valueListenableToSignal
FIX: https://github.com/rodydavis/signals.dart/issues/171
signals_core 4.2.1- Update to signals_core 4.2.0
signals_core 4.2.0FIX: https://github.com/rodydavis/signals.dart/issues/155.
Fix bug in auto dispose where signal dispose causes cycle
Removing SignalsReadAfterDisposeError in favor of debug print warning
Adding SignalsWriteAfterDisposeError/SignalsReadAfterDisposeError for better error handling
Fix for listen causing multiple callbacks on non static methods
StreamSignal now will rebuild with signals are read in the callback to create the stream
.set(..., force: true) to Signal/Computed to force a rebuild.recompute() for Computed to recall the callbackadding readonlySignalContainer to be existing signalContainer API
select for signals to return a computed valueUpdating signals_core package 1.0.6
signals_core package 1.0.6Fixing listen in extension with multiple signals
listen in extension with multiple signalsFixing watch in extension with multiple signals
watch in extension with multiple signalsUpdating signals_core package 1.0.3
signals_core package 1.0.3Updating signals_core package 1.0.2
signals_core package 1.0.2Watch.builder for non positional argument usage and direct replacement for BuilderFixing memory leak for watch/listen
watch/listenFixing memory leak for watch/listen
watch/listenWatch widget improvements (reducing extra first frame build)
Watch widget improvements (reducing extra first frame build)Your coding agent can read these notes before it upgrades. Set up the MCP server →