Skip to main content

bloc_signals_flutter 1.5.0 copy "bloc_signals_flutter: ^1.5.0" to clipboard
bloc_signals_flutter: ^1.5.0 copied to clipboard

Flutter extensions and bindings for BlocSignal state management library.

1.5.0 #

  • Fix (flutter): Narrow ListenableBlocSignal._onListenableChanged from on Object catch to on Exception catch so programming defects in readValue propagate while runtime exceptions route to onError, and upgrade bare catch in BlocSignalProvider lazy factory caching to explicit on Object catch (#340).
  • Feat (flutter): Replace List<dynamic> in MultiBlocSignalProvider and MultiBlocSignalListener with typed BlocSignalProviderSingleChildWidget and BlocSignalListenerSingleChildWidget interfaces (#331).

1.4.0 #

  • Feat (flutter): Respect container bloc.equals(previous, current) in BlocSignalBuilder and BlocSignalListener, support custom equals and SignalOptions.equalityCheck in BlocSignalSelector while re-initializing computed when options or equals changes in didUpdateWidget, and pass listen: true when falling back to BlocSignalProvider.of<T>(context, listen: true) in didUpdateWidget (#320).
  • Fix (flutter): Lazily subscribe to the source container in BlocSignalListenableExtension.toValueListenable() and toListenable() (0 -> 1 listener attach, 1 -> 0 detach) and delegate .value directly to bloc.stateValue, preventing permanent effect leaks when passed inline to ValueListenableBuilder (#316).
  • Dependencies: Bump bloc_signals to ^1.6.0.

1.3.3 #

  • Fix BlocSignalProvider:
    • Skip spurious rebuild on lazy BlocSignalProvider when old container was null and initialized in-frame (F5, #298).
    • Wrap lazy provider factory invocation in try/finally to cache errors and prevent unbounded retry loops (F24, #298).
    • Deterministically release selector subscriptions when element unmounts or leaves the tree (F23, #298).
    • Clean up orphaned selector subscriptions on conditional select branches without pruning unnotified dependents (F25, #298).

1.3.2 #

  • Fix BlocSignalListener and BlocSignalConsumer subscription transfer when ancestor provider container instance is swapped above const subtrees (#273).

1.3.1 #

  • Update context.value<T, S>() implementation to delegate to bloc.value (#251).
  • Bump minimum bloc_signals dependency constraint to ^1.4.0 (#251).

1.3.0 #

  • Add context.value<T, S>() extension to subscribe to state emissions and return current state value in build() (#248).
  • Add context.state<T, S>() extension to look up the underlying ReadonlySignal<S> without registering an element rebuild dependency for computed() or effect() composition (#248).

1.2.2 #

  • Refactor example application to showcase declarative routing with Kaisel 1.1 reevaluateOn and loginBloc.toValueListenable() (#222, #223).
  • Eliminate imperative navigation side effects (WidgetsBinding.instance.addPostFrameCallback) from example screen builders.
  • Bump example kaisel dependency constraint to ^1.1.0.

1.2.1 #

  • Fix context.select subscription transfer when provider container instance is swapped above const subtrees (#204).

1.2.0 #

  • Fix generic type erasure in MultiBlocSignalProvider when passed list literals (#136).
  • Add buildWhen predicate parameter to BlocSignalBuilder and BlocSignalConsumer.
  • Update MultiBlocSignalListener.listeners parameter to List<dynamic> for list literal generic type preservation.

1.1.0 #

  • Make child parameter optional in BlocSignalProvider and BlocSignalListener, defaulting to const SizedBox.shrink().
  • Eliminate required dummy child: arguments when using MultiBlocSignalProvider or MultiBlocSignalListener.

1.0.0+1 #

  • Re-trigger pub.dev Pana static analysis.

1.0.0 #

  • Official 1.0.0 production release.
  • Update bloc_signals dependency constraint to ^1.0.0.

0.9.0 #

  • Staging release candidate for the 1.0.0 production milestone.
  • Add widget unmount cleanup test suite for slow async operations.
  • Update bloc_signals dependency constraint to ^0.9.0.

0.2.9 #

  • Add flush-left side-by-side header logo table to README.
  • Update bloc_signals dependency to ^0.2.9.

0.2.8 #

  • Add direct links to the Migration Guide and Universal Interoperability Guide skills in README documentation.
  • Add complete @example code blocks across all Flutter UI bindings and context extensions (context.read, context.watch, context.select, BlocSignalSelector, ListenableBlocSignal).
  • Update bloc_signals dependency to ^0.2.8.

0.2.6 #

  • Add comprehensive ecosystem package cross-linking table and motto to README.
  • Add quick inlined Flutter UI widget code examples (BlocSignalBuilder, BlocSignalListener, BlocSignalConsumer, BlocSignalSelector).
  • Update bloc_signals dependency to ^0.2.6.

0.2.4 #

  • Add optional equals: parameter to ListenableBlocSignal constructors and .toBlocSignal() extensions (Listenable.toBlocSignal() & ValueListenable.toBlocSignal()).

0.2.3 #

  • Route exceptions thrown by readState() inside ListenableBlocSignal._onListenableChanged() directly to onError(error, stackTrace) and observers.

0.2.2 #

  • Added bidirectional Flutter Listenable & ValueListenable interop adapters:
    • listenable.toBlocSignal(readState: ...) & valueListenable.toBlocSignal(): Convert any Flutter Listenable, ChangeNotifier, or ValueNotifier into a BlocSignalBase.
    • blocSignal.toValueListenable(): Expose any BlocSignalBase as a Flutter ValueListenable<T> for classic package:provider (ChangeNotifierProvider) or ValueListenableBuilder.

0.2.1 #

  • Refactor example app BLoCs (LoginBloc and TimerBloc) to use constructor-scoped on<E> event handler syntax.
  • Add unit tests for example BLoCs and update example documentation.

0.2.0 #

  • Complete Flutter Bloc API Parity alignments:
    • Update BlocSignalProvider to default to lazy: true.
    • Convert BlocSignalListener to StatefulWidget to align listener execution lifecycle.
    • Add listenWhen filter parameter to BlocSignalListener and BlocSignalConsumer.
    • Implement MultiBlocSignalListener to compose multiple listeners cleanly.
    • Implement BuildContext.select extension to efficiently watch state slices via element-cached computed signals.

0.1.9 #

  • Add BlocSignalListener, BlocSignalConsumer, and BlocSignalSelector widgets to achieve 100% widget-level API parity with classic flutter_bloc.
  • Fix inherited dependency lookup bug in BlocSignalBuilder, BlocSignalListener, BlocSignalConsumer, and BlocSignalSelector to ensure proper rebuilds and reactiveness when ancestor provided bloc instances change.

0.1.8 #

  • Update bloc_signals dependency constraint to ^0.1.12.

0.1.7 #

  • Widen providers, builders, and lookup extensions to accept BlocSignalBase to support both Blocs and Cubits.
  • Optimize provider lookup performance in BlocSignalProvider.of to run in O(1) time.

0.1.6 #

  • Remove pre-release Dart SDK constraints in favor of stable ^3.10.0.
  • Update documentation and link package READMEs to the primary consumable AI coding assistant skill.
  • Clarify stateful widget effect disposal guidelines and provide Flutter Hooks integration examples.

0.1.5 #

  • Widen Dart SDK constraint to include pre-release versions of Dart 3.10.0.

0.1.4 #

  • Relax Dart SDK constraints to ^3.10.0.

0.1.3 #

  • Fix relative Migration Guide link in README for pub.dev.

0.1.2 #

  • Acknowledge Felix Angelov & Rody Davis in documentation.
  • Add comprehensive Timer showcase example.

0.1.1 #

  • Add Cubit migration guide to documentation.

0.1.0 #

  • Initial release of bloc_signals_flutter bindings.
  • Added BlocSignalProvider, MultiBlocSignalProvider, and BlocSignalBuilder widgets.
8
likes
160
points
3.37k
downloads

Documentation

API reference

Publisher

verified publisherblocsignal.dev

Weekly Downloads

Flutter extensions and bindings for BlocSignal state management library.

Repository (GitHub)
View/report issues
Contributing

License

MIT (license)

Dependencies

bloc_signals, flutter, signals_flutter

More

Packages that depend on bloc_signals_flutter