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

Flutter extensions and bindings for BlocSignal state management library.

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.flutter-io.cn 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.flutter-io.cn.

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
2.09k
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