NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #274 most downloaded on pub.dev
Flutter widgets that make it easy to implement the BLoC (Business Logic Component) design pattern. Built to be used with the bloc state management package.
Last release 1 years ago
02 May 2025
Release timing varies
gaps range from 2 weeks to 9 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
121 releases · first in 2018
fix: BlocSelector rebuilds when selector changes
BlocSelector rebuilds when selector changes (#4415)feat: expose dispose callback on RepositoryProvider
dispose callback on RepositoryProvider (#4356)One column per quarter.
fix: ensure widget is mounted before invoking listener
- docs: fix gallery image urls
feat: override debugFillProperties
chore: fix require_trailing_commas
docs: remove graphql sample references from README
remove deprecated invariant_booleans lint rule
pubspec.yaml (#3717)bloc ^8.1.1 (#3716)BlocObserver instances to use const constructors (#3713)invariant_booleans lint rulechore: remove dependency overrides from example to fix pana score
chore: upgrade example to latest bloc and hydrated_bloc
refactor: use core interfaces from bloc v8.0.2
BREAKING: feat: upgrade to bloc v8.0.0
bloc v8.0.0BREAKING: feat: upgrade to bloc v8.0.0-dev.5
bloc v8.0.0-dev.5BREAKING: feat: upgrade to bloc v8.0.0-dev.3
bloc v8.0.0-dev.3BREAKING: feat: upgrade to bloc v8.0.0-dev.2
bloc v8.0.0-dev.2fix: add missing child assertion to BlocListener and BlocProvider
BlocListener and BlocProvider (#2924)fix: BlocProvider explicitly default lazy to true to support avoid_redundant_argument_values
BlocProvider explicitly default lazy to true to support avoid_redundant_argument_values (#2917)fix: determine bloc reference changes via identical
identical
identityHashCode was used to determine if the bloc reference had changed to trigger a rebuild (#2482) however, it's possible for different bloc references to have the same hashCode as a result of hash collisions. The fix uses identical to determine whether the bloc reference has changed.README- feat: upgrade to bloc: ^7.2.0
bloc: ^7.2.0feat: upgrade to provider: ^6.0.0
provider: ^6.0.0- feat: add BlocSelector widget
BlocSelector widgetfix: BlocConsumer, BlocBuilder, and BlocListener depend on bloc/cubit instance
BlocConsumer, BlocBuilder, and BlocListener depend on bloc/cubit instance
BlocConsumer, BlocBuilder, and BlocListener will all update to use the new instanceBlocBuilder and BlocListener inline API docs to include buildWhen and listenWhenBREAKING: refactor: remove deprecated context.repository
cubit parameter to bloc
cubit parameter in BlocListener to bloccubit parameter in BlocBuilder to bloccubit parameter in BlocConsumer to bloc>=2.12.0-0 <3.0.0context.repositorybloc: ^7.0.0provider: ^5.0.0chore: bump to bloc: ^7.0.0-nullsafety.4
bloc: ^7.0.0-nullsafety.4BREAKING: refactor: remove deprecated context.repository
context.repositorychore: bump to provider: ^5.0.0
provider: ^5.0.0chore: bump to bloc: ^7.0.0-nullsafety.3
bloc: ^7.0.0-nullsafety.3provider: ^5.0.0-nullsafety.5chore: bump to bloc: ^7.0.0-nullsafety.2
bloc: ^7.0.0-nullsafety.2BREAKING: refactor: upgrade to bloc ^7.0.0-nullsafety.1
bloc ^7.0.0-nullsafety.1
cubit parameter in BlocListener to bloccubit parameter in BlocBuilder to bloccubit parameter in BlocConsumer to blocprovider ^5.0.0-nullsafety.3feat!: upgrade Dart SDK constraints to >=2.12.0-0 <3.0.0
>=2.12.0-0 <3.0.0BREAKING: remove context.bloc extension
7.0.0-dev.1context.bloc extensioncubit parameter in BlocListener to valuecubit parameter in BlocBuilder to valuecubit parameter in BlocConsumer to valueBREAKING: remove dependency on package:provider
package:providerBlocProviderBlocProvider and RepositoryProviderfeat: expose ProviderNotFoundException
ProviderNotFoundExceptionbloc ^6.1.3provider ^4.3.3fix: BlocProvider.value use InheritedProvider.value
BlocProvider.value use InheritedProvider.valuefix: BlocConsumer does not respect buildWhen and results in unnecessary rebuilds
BlocConsumer does not respect buildWhen and results in unnecessary rebuildsdeprecated: context.bloc in favor of context.read and context.watch
listen to BlocProvider and RepositoryProvidercontext.select<T, R>(R Function(T value)) which allows widgets to listen to only a small part of the state of T (R)context.watch<T>() which allows widgets to listen to changes in the state of Tcontext.read<T>() which allows widgets to access T without listening for changescontext.bloc in favor of context.read and context.watchcontext.repository in favor of context.read and context.watchProviderNotFoundException from RepositoryProvider for external dependenciesBlocProvider and RepositoryProviderREADMEdocs: improve inline documentation for buildWhen
buildWhenfix: BlocBuilder builder and buildWhen state mismatch
BlocBuilder builder and buildWhen state mismatchfix: state synchronization issue when providing a condition
refactor: BlocConsumer requires a single subscription
BlocConsumer requires a single subscriptionBlocBuilder extends BlocListenerMultiRepositoryProvider extends MultiProviderdocs: fix missing API documentation generated by dartdoc
docs: minor documentation fixes and improvements
BREAKING: upgrade to bloc ^6.0.0
bloc ^6.0.0BlocBuilder interop with cubit (bloc parameter renamed to cubit)BlocListener interop with cubit (bloc parameter renamed to cubit)BlocConsumer interop with cubit (bloc parameter renamed to cubit)BREAKING: upgrade to bloc ^6.0.0-dev.1
bloc ^6.0.0-dev.1BlocBuilder interop with cubit (bloc parameter renamed to cubit)BlocListener interop with cubit (bloc parameter renamed to cubit)BlocConsumer interop with cubit (bloc parameter renamed to cubit)docs: minor documentation updates
bloc ^5.0.1BREAKING: condition on BlocBuilder renamed to buildWhen
condition on BlocBuilder renamed to buildWhencondition on BlocListener renamed to listenWhenbloc v5.0.0- Update to bloc: ^5.0.0-dev.11 - Minor README updates
bloc: ^5.0.0-dev.11- Update to bloc: ^5.0.0-dev.10 - Minor README updates
bloc: ^5.0.0-dev.10- Update to bloc: ^5.0.0-dev.7
bloc: ^5.0.0-dev.7Update to flutter_cubit ^0.0.12
bloc: ^5.0.0-dev.6flutter_cubit ^0.0.12Internal implementation updates to use flutter_cubit
bloc: ^5.0.0-dev.3Fix ProviderNotFoundException handling
ProviderNotFoundException handling (#1286)- Update to bloc: ^4.0.0 - Update to provider: ^4.0.5
bloc: ^4.0.0provider: ^4.0.5- Update to bloc: ^4.0.0-dev.4
bloc: ^4.0.0-dev.4- Update to bloc: ^4.0.0-dev.3
bloc: ^4.0.0-dev.3- Update to bloc: ^4.0.0-dev.2
bloc: ^4.0.0-dev.2- Update to bloc: ^4.0.0-dev.1
bloc: ^4.0.0-dev.1Fix type inference for: MultiBlocProvider, MultiRepositoryProvider, MultiBlocListener
Expose lazy parameter on RepositoryProvider and BlocProvider
Your coding agent can read these notes before it upgrades. Set up the MCP server →