PackageTrack
Sign in Get early access

signals_core

The signals library exposes four core functions which are the building blocks to model any business logic you can think of.

7.0.0 29K downloads/mo #1874 most downloaded on pub.dev rodydavis/signals.dart

What this package is like to depend on

Last release 3 months ago

26 May 2026

Ships unpredictably

gaps range from 8 days to 10 months

Nearly every release is documented

notes for 33 of 33 stable releases

Nothing withdrawn

no release was ever pulled

3 years old

54 releases · first in 2023

5 releases in the last 12 months

see the full history below

Release timeline

54 releases · Dec 2023 to May 2026
2024 2025 2026
Release Pre-release

Releases

latest 54
  1. 7.0.0 26 May 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v6.0.1...v7.0.0

    Open source →
    Release notes

    ⚠️ BREAKING CHANGES

    • FutureSignal Direct AsyncSignal Base: FutureSignal no longer extends StreamSignal or supports stream-specific properties/methods. It now inherits directly from AsyncSignal to optimize future-based execution and eliminate stream event sink and subscription overhead.
    • Signal Options Encapsulation: Removed individual configuration named parameters (e.g. autoDispose, debugLabel / name) from all constructor signatures and global creator helper functions across signals_core. They must now be configured inside specific Options classes (e.g. SignalOptions, ListSignalOptions, AsyncSignalOptions, etc.).
    • debugLabel Deprecation: The debugLabel parameter has been deprecated across all constructors and creator methods. Use the name parameter inside their corresponding Options configuration objects to align with Preact/JS Signals options standards.

    🚀 New Features

    • Issue #433 Resolution: Resolved a double-triggering issue where awaiting a future signal re-executed the future callback a second time upon completion. Done by isolating context tracking and filtering out isLoading -> completed transitions.
    • Colocated Options Classes: Introduced highly modular options classes tailored for each domain (including ListSignalOptions, SetSignalOptions, IterableSignalOptions, ChangeSignalOptions, AsyncSignalOptions, and PersistedSignalOptions).
    • Readonly Options Getter: Added toSignalOptions on ReadonlySignalOptions to easily convert read-only signal configurations to writable signal configurations.
    • Writable Computed Signals (linkedSignal / linkedSignalOptions): Implementation of Angular-style writable computed signals.
    • Value Semantics: Added custom copyWith, operator ==, and hashCode overrides across all signals options classes for complete value semantics and immutable comparisons.
    • Doubly-Linked Node Traversals: Enhanced DevToolsSignalsObserver to traverse doubly-linked list nodes.
    Open source →
  2. 6.3.1 25 May 2026
    Release notes

    ci: restrict publish workflow to tag pushes to enable automated pub.d…

    Open source →
    Release notes
    • FIX: Doc comment package import.
    Open source →
    Release notes
    • REFACTOR: migrate signal mixins to mixin classes.
    • REFACTOR: Rename persisted signal classes to correct typo.
    • REFACTOR: Formatting.
    • REFACTOR: allow setting a signal value inside computed.
    • REFACTOR: inline signal subscribe.
    • REFACTOR: share peek() between signal/computed.
    • REFACTOR: inline cycle detection.
    • REFACTOR: use untracked for signal subscribe.
    • FIX: map.remove - only notify when value was removed.
    • FIX(signals): accessing cached SignalContainer in Effect cause loop.
    • FIX(signals): accessing cached SignalContainer in Effect cause loop.
    • FIX: untracked always reset evaluation context.
    • FIX: #179 and add overrideWith.
    • FIX: #175 - add missing autoDispose/equality on signals.
    • FIX: https://github.com/rodydavis/signals.dart/issues/156.
    • FEAT: Impl loading for state reloading and refreshing classes.
    • FEAT: Improve async state.
    • FEAT: Changed Async{Loading,Data,Error} to be const.
    • FEAT: Better type safety on Connect.
    • DOCS: rename _computed => _fn.
    • DOCS: rename some internal API methods.
    Open source →
  3. 6.2.1 30 Nov 2025
    Release notes
    • Replace benchmark with dart-reactivity-benchmark
    • Bump preact_signals to 1.9.4
    Open source →
  4. 6.2.0 30 Sep 2025
    Release notes
    • Adding SignalsAutoDisposeMixin
    • Computed/Signal now use SignalsAutoDisposeMixin but ReadonlySignalMixin no longer has dispose methods
    • Tests now check for SignalEffectException and not error
    • Exposing SignalEffectException from preact_signals
    • Bump preact_signals to 1.9.3
    • Computed not also can throw SignalEffectException instead of generic error
    Open source →
  5. 6.1.0 30 Sep 2025
    Release notes
    • Fix error in effect not showing StackTrace
    • Add extensions for List, Map, Set, Iterable, bool, String, int, double, num, Comparable, Pattern, Enum
    • Add persisted signals for bool, double, Enum, int, num, String and Json (including nullable for each)
    • Add SignalsKeyValueStore and SignalsInMemoryKeyValueStore for storage
    • Add $ extension method for common types to create signal and function for computed
    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.$;
    
    • Add SignalEffectException for getting the error and StackTrace for a failed effect callback
    Open source →
  6. 6.0.2 02 Dec 2024
    Release notes

    What's Changed

    Full Changelog: v6.0.0...v6.0.1

    Open source →
    Release notes
    • Fix cycle error with TrackedSignalMixin and Computed
    • Add AsyncErrorReloading, AsyncErrorRefreshing, AsyncDataReloading, AsyncDataRefreshing
    Open source →
  7. 6.0.1 29 Nov 2024
    Release notes
    • Fix issue with StreamSignal _stream not initialized
    Open source →
  8. 6.0.0 28 Nov 2024
    Release notes
    • Switching to preact_signals package for core implementation
    • Removing old deprecated methods
    • Add new mixins: EventSinkSignalMixin, SinkSignalMixin, StreamSignalMixin, SetSignalMixin, ListSignalMixin, MapSignalMixin, QueueSignalMixin, ChangeStackSignalMixin, IterableSignalMixin
    • Update AsyncSignal to implement EventSink
    • Removing previous/initial value from Signal and Computed in favor of TrackedSignal, TrackedSignalMixin and trackedSignal()
    • Update SignalsObserver to include value for signal created (instead of peek())
    • Updated examples
    • Remove callback to signal
    • Remove toSignal extension method (causing unintended casts) in favor of .$ for Object/Object?
    Open source →
  9. 6.0.0-rc.5 28 Nov 2024 pre-release

    Nothing published for this version

  10. 6.0.0-rc.4 28 Nov 2024 pre-release

    Nothing published for this version

  11. 6.0.0-rc.3 21 Nov 2024 pre-release

    Nothing published for this version

  12. 6.0.0-rc.2 21 Nov 2024 pre-release

    Nothing published for this version

  13. 6.0.0-rc.1 20 Nov 2024 pre-release

    Nothing published for this version

  14. 6.0.0-rc.0 26 Oct 2024 pre-release

    Nothing published for this version

  15. 5.5.0 02 Sep 2024
    Release notes
    • Fix for hot reload
    • Removing deprecation warning for watch/unwatch
    Open source →
  16. 5.4.0 17 Aug 2024
    Release notes
    • Adding SignalsMixin to replace SignalsAutoDisposeMixin, bindSignal, bindComputed, etc.
    • Signals now render with fewer rebuilds
    • Adding new deprecated warnings
    • Fix: https://github.com/rodydavis/signals.dart/issues/292
    Open source →
  17. 5.3.0 30 Jul 2024
    Release notes
    • Add Signal.lazy and lazySignal
    • Add signal.isLazy and computed.isLazy
    • Add await future to refresh/reload for FutureSignal
    Open source →
  18. 5.2.3 30 Jul 2024
    Release notes
    • FIX: https://github.com/rodydavis/signals.dart/issues/283
    • Changing toJson from T to dynamic
    Open source →
  19. 5.2.2 04 Jun 2024
    Release notes
    • FIX: https://github.com/rodydavis/signals.dart/issues/265
    Open source →
  20. 5.2.0 08 May 2024
    Release notes
    • FIX: https://github.com/rodydavis/signals.dart/issues/258
    • FIX: https://github.com/rodydavis/signals.dart/issues/262
    Open source →
  21. 5.1.0 22 Apr 2024
    Release notes
    • Sync core implementation with @preactjs/signals package
    • Allow mutations in computed
    • Share peek implementation for signal/computed
    • Inline various methods for performance
    Open source →
  22. 5.0.1 20 Apr 2024
    Release notes
    • Switching SignalsObserver to use log instead of print
    • Only setting SignalsObserver to use DevToolsSignalsObserver in kDebugMode
    Open source →
  23. 5.0.0 13 Apr 2024
    Release notes
    • Adding previousValue/initialValue to Signal
    • Removing SignalEquality
    • Deprecating ValueSignal in favor of Signal
    • Deprecating .forceUpdate in favor of .set(..., force: true)
    • Removing old deprecated methods
    • Adding more inline code documentation
    • ListSignal/SetSignal now extends IterableSignal
    • Fixing ChangeStackSignal getters for history/redos to return an iterable list
    • Fixing async signal isCompleted race condition
    Open source →
  24. 5.0.0-beta.14 13 Apr 2024 pre-release

    Nothing published for this version

  25. 5.0.0-beta.13 12 Apr 2024 pre-release

    Nothing published for this version

  26. 5.0.0-beta.12 11 Apr 2024 pre-release

    Nothing published for this version

  27. 5.0.0-beta.11 11 Apr 2024 pre-release

    Nothing published for this version

  28. 5.0.0-beta.10 10 Apr 2024 pre-release

    Nothing published for this version

  29. 5.0.0-beta.9 09 Apr 2024 pre-release

    Nothing published for this version

  30. 5.0.0-beta.8 06 Apr 2024 pre-release

    Nothing published for this version

  31. 5.0.0-beta.7 06 Apr 2024 pre-release

    Nothing published for this version

  32. 5.0.0-beta.6 06 Apr 2024 pre-release

    Nothing published for this version

  33. 5.0.0-beta.5 06 Apr 2024 pre-release

    Nothing published for this version

  34. 5.0.0-beta.4 06 Apr 2024 pre-release

    Nothing published for this version

  35. 5.0.0-beta.3 06 Apr 2024 pre-release

    Nothing published for this version

  36. 5.0.0-beta.2 05 Apr 2024 pre-release

    Nothing published for this version

  37. 5.0.0-beta.1 05 Apr 2024 pre-release

    Nothing published for this version

  38. 5.0.0-beta 05 Apr 2024 pre-release

    Nothing published for this version

  39. 4.5.0 29 Feb 2024
    Release notes
    • Updating documentation comments
    • Fixing signals observer bug on effect
    • Removing previousValue from value signal
    • Add ability to remove an onDispose callback
    Open source →
  40. 4.4.0 21 Feb 2024
    Release notes
    • adding overrideWith
    • fix autoDispose not passed in for some signals
    • fix equality not being passed in for some signals
    • fix for completed not being reset on async signal
    Open source →
  41. 4.2.1 15 Feb 2024
    Release notes
    • FIX: https://github.com/rodydavis/signals.dart/issues/171
    Open source →
  42. 4.2.0 11 Feb 2024
    Release notes
    • FIX: https://github.com/rodydavis/signals.dart/issues/156
    • FIX: https://github.com/rodydavis/signals.dart/issues/162
    • Add onDispose callback for effect
    • Fixing computed not updating on signal forced change
    Open source →
  43. 4.1.0 06 Feb 2024
    Release notes
    • Fix bug in auto dispose where signal dispose causes cycle
    • Dispose does not reset to initial value and will read the last value with a warning
    Open source →
  44. 4.0.3 05 Feb 2024
    Release notes
    • Removing SignalsReadAfterDisposeError in favor of debug print warning
    Open source →
  45. 4.0.1 05 Feb 2024
    Release notes
    • Adding SignalsWriteAfterDisposeError/SignalsReadAfterDisposeError for better error handling
    Open source →
  46. 4.0.0 05 Feb 2024
    Release notes
    • StreamSignal now will rebuild with signals are read in the callback to create the stream
    • Stream/Future signal both can take an optional list of dependencies to rebuild on
    • FutureSignal now extends StreamSignal
    • StreamSignal can now rebuild/refresh
    • StreamSignal can now pause/resume
    • Adding computedAsync/computedFrom for similar API to angular
    • Adding .set(..., force: true) to Signal/Computed to force a rebuild
    • Adding .recompute() for Computed to recall the callback
    • Adding autoDispose for Signal/Computed
    Open source →
  47. 3.0.0 17 Jan 2024
    Release notes
    • adding readonlySignalContainer to be existing signalContainer API
    • updating signalContainer to allow for mutable signals
    • adding SignalEquality to allow override of ==
    • adding select for signals to return a computed value
    • fix memory leak on signal container
    • adding ChangeStackSignal
    Open source →
  48. 1.0.6 20 Dec 2023
    Release notes
    • Adding onDone for passed stream in StreamSignal
    Open source →
  49. 1.0.5 20 Dec 2023
    Release notes
    • Adding SignalContainer remove and adding Signal generic
    Open source →
  50. 1.0.4 19 Dec 2023
    Release notes
    • Adding SignalContainer/signalContainer to create signals with args
    Open source →
  51. 1.0.3 18 Dec 2023
    Release notes
    • Adding dispose for FutureSignal, StreamSignal and AsyncSignal
    Open source →
  52. 1.0.2 18 Dec 2023
    Release notes
    • Adding dispose methods for signal, computed and effect
    • Adding initialValue getter for signal and computed
    Open source →
  53. 1.0.1 14 Dec 2023
    Release notes
    • Exposing reloadSignalsDevTools for hot reload support
    Open source →
  54. 1.0.0 14 Dec 2023
    Release notes
    • Moving core api from signals package to signals_core package
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive