flutter_bloc
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.
9.1.1
1000K downloads/mo
#27 most downloaded on pub.dev
felangel/bloc
What this package is like to depend on
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 98 of 98 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
121 releases · first in 2018
0 releases in the last 12 months
see the full history below
Release timeline
121 releases · Oct 2018 to May 2025
2019
2020
2021
2022
2023
2024
2025
2026
Releases
latest 60 of 121-
9.1.102 May 2025 -
9.1.001 Mar 2025 -
9.0.012 Jan 2025 -
8.1.611 Jun 2024 -
8.1.524 Mar 2024 -
8.1.412 Feb 2024 -
8.1.320 May 2023 -
8.1.207 Feb 2023Release notes
Open source →- chore: add screenshots to
pubspec.yaml(#3717) - chore(deps): upgrade to
bloc ^8.1.1(#3716) - chore: update example to Dart 2.19 (#3715)
- refactor:
BlocObserverinstances to useconstconstructors (#3713) - refactor: remove unnecessary single child widget mixins (#3675)
- refactor: upgrade to Flutter 3.7 (#3699)
- remove deprecated
invariant_booleanslint rule
- remove deprecated
- chore: add screenshots to
-
8.1.114 Aug 2022 -
8.1.014 Aug 2022 -
8.0.129 Dec 2021 -
8.0.018 Nov 2021 -
8.0.0-dev.314 Nov 2021 pre-release -
8.0.0-dev.214 Oct 2021 pre-release -
8.0.0-dev.106 Oct 2021 pre-release -
7.3.307 Nov 2021Release notes
Open source →- fix: add missing child assertion to
BlocListenerandBlocProvider(#2924)
- fix: add missing child assertion to
-
7.3.203 Nov 2021Release notes
Open source →- fix:
BlocProviderexplicitly defaultlazytotrueto supportavoid_redundant_argument_values(#2917)
- fix:
-
7.3.114 Oct 2021Release notes
Open source →- fix: determine bloc reference changes via
identical- Previously
identityHashCodewas 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 samehashCodeas a result of hash collisions. The fix usesidenticalto determine whether the bloc reference has changed.
- Previously
- docs: add inline docs to library
- docs: minor improvements to example and
README - chore: remove unneeded imports
- fix: determine bloc reference changes via
-
7.3.021 Sep 2021 -
7.2.023 Aug 2021 -
7.1.029 Jul 2021 -
7.0.129 May 2021Release notes
Open source →- fix:
BlocConsumer,BlocBuilder, andBlocListenerdepend on bloc/cubit instance- when a provided bloc instance changes,
BlocConsumer,BlocBuilder, andBlocListenerwill all update to use the new instance
- when a provided bloc instance changes,
- docs: update
BlocBuilderandBlocListenerinline API docs to includebuildWhenandlistenWhen
- fix:
-
7.0.018 Mar 2021Release notes
Open source →- BREAKING: refactor: rename
cubitparameter tobloc- refactor: rename
cubitparameter inBlocListenertobloc - refactor: rename
cubitparameter inBlocBuildertobloc - refactor: rename
cubitparameter inBlocConsumertobloc
- refactor: rename
- BREAKING: opt into null safety
- upgrade Dart SDK constraints to
>=2.12.0-0 <3.0.0
- upgrade Dart SDK constraints to
- BREAKING: refactor: remove deprecated
context.repository - feat: upgrade to
bloc: ^7.0.0 - feat: upgrade to
provider: ^5.0.0
- BREAKING: refactor: rename
-
7.0.0-nullsafety.617 Mar 2021 pre-release -
7.0.0-nullsafety.511 Mar 2021 pre-release -
7.0.0-nullsafety.408 Mar 2021 pre-release -
7.0.0-nullsafety.303 Mar 2021 pre-releaseRelease notes
Open source →- chore: bump to
bloc: ^7.0.0-nullsafety.3 - chore: bump to
provider: ^5.0.0-nullsafety.5
- chore: bump to
-
7.0.0-nullsafety.211 Feb 2021 pre-release -
7.0.0-nullsafety.119 Jan 2021 pre-releaseRelease notes
Open source →- BREAKING: refactor: upgrade to
bloc ^7.0.0-nullsafety.1- refactor: rename
cubitparameter inBlocListenertobloc - refactor: rename
cubitparameter inBlocBuildertobloc - refactor: rename
cubitparameter inBlocConsumertobloc
- refactor: rename
- feat: upgrade to
provider ^5.0.0-nullsafety.3
- BREAKING: refactor: upgrade to
-
7.0.0-nullsafety.021 Dec 2020 pre-releaseRelease notes
Open source →- BREAKING: opt into null safety
- feat!: upgrade Dart SDK constraints to
>=2.12.0-0 <3.0.0
-
7.0.0-dev.214 Nov 2020 pre-releaseRelease notes
Open source →- BREAKING: revert
7.0.0-dev.1 - BREAKING: remove
context.blocextension - BREAKING: rename
cubitparameter inBlocListenertovalue - BREAKING: rename
cubitparameter inBlocBuildertovalue - BREAKING: rename
cubitparameter inBlocConsumertovalue - docs: update inline API docs
- BREAKING: revert
-
7.0.0-dev.104 Nov 2020 pre-releaseRelease notes
Open source →- BREAKING: remove dependency on
package:provider - feat: add optional listen to
BlocProvider - feat: add ListenProviderExtension
- docs: improve inline documentation for
BlocProviderandRepositoryProvider
- BREAKING: remove dependency on
-
6.1.303 Mar 2021Release notes
Open source →- feat: expose
ProviderNotFoundException - chore: upgrade to
bloc ^6.1.3 - chore: upgrade to
provider ^4.3.3
- feat: expose
-
6.1.208 Feb 2021 -
6.1.111 Nov 2020Release notes
Open source →- fix:
BlocConsumerdoes not respectbuildWhenand results in unnecessary rebuilds
- fix:
-
6.1.007 Nov 2020Release notes
Open source →- feat: add optional
listentoBlocProviderandRepositoryProvider - feat: add
context.select<T, R>(R Function(T value))which allows widgets to listen to only a small part of the state ofT(R) - feat: add
context.watch<T>()which allows widgets to listen to changes in the state ofT - feat: add
context.read<T>()which allows widgets to accessTwithout listening for changes - deprecated:
context.blocin favor ofcontext.readandcontext.watch - deprecated:
context.repositoryin favor ofcontext.readandcontext.watch - fix: rethrow
ProviderNotFoundExceptionfromRepositoryProviderfor external dependencies - docs: improve inline documentation for
BlocProviderandRepositoryProvider - docs: update list of examples in
README
- feat: add optional
-
6.0.605 Oct 2020 -
6.0.504 Sep 2020 -
6.0.401 Sep 2020 -
6.0.330 Aug 2020Release notes
Open source →- refactor:
BlocConsumerrequires a single subscription - refactor:
BlocBuilderextendsBlocListener - refactor:
MultiRepositoryProviderextendsMultiProvider
- refactor:
-
6.0.226 Aug 2020 -
6.0.122 Jul 2020 -
6.0.022 Jul 2020Release notes
Open source →- BREAKING: upgrade to
bloc ^6.0.0 - BREAKING:
BlocBuilderinterop withcubit(blocparameter renamed tocubit) - BREAKING:
BlocListenerinterop withcubit(blocparameter renamed tocubit) - BREAKING:
BlocConsumerinterop withcubit(blocparameter renamed tocubit) - feat: remove external dependency on package:flutter_cubit
- docs: inline documentation updates
- docs: README updates
- docs: example application updates
- BREAKING: upgrade to
-
6.0.0-dev.113 Jul 2020 pre-releaseRelease notes
Open source →- BREAKING: upgrade to
bloc ^6.0.0-dev.1 - BREAKING:
BlocBuilderinterop withcubit(blocparameter renamed tocubit) - BREAKING:
BlocListenerinterop withcubit(blocparameter renamed tocubit) - BREAKING:
BlocConsumerinterop withcubit(blocparameter renamed tocubit) - feat: remove external dependency on package:flutter_cubit
- docs: inline documentation updates
- docs: README updates
- docs: example application updates
- BREAKING: upgrade to
-
5.0.106 Jul 2020 -
5.0.002 Jul 2020Release notes
Open source →- BREAKING:
conditiononBlocBuilderrenamed tobuildWhen - BREAKING:
conditiononBlocListenerrenamed tolistenWhen - BREAKING: upgrade to
bloc v5.0.0 - refactor: internal implementation updates to use flutter_cubit
- docs: various improvements
- docs: logo updates
- BREAKING:
-
5.0.0-dev.530 Jun 2020 pre-release -
5.0.0-dev.428 Jun 2020 pre-release -
5.0.0-dev.324 Jun 2020 pre-release -
5.0.0-dev.224 Jun 2020 pre-releaseRelease notes
Open source →- Update to
bloc: ^5.0.0-dev.6 - Update to
flutter_cubit ^0.0.12 - Various Documentation Updates
- Update to
-
5.0.0-dev.123 Jun 2020 pre-releaseRelease notes
Open source →- Update to
bloc: ^5.0.0-dev.3 - Internal implementation updates to use flutter_cubit
- Update to
-
4.0.113 Jun 2020 -
4.0.021 Apr 2020 -
4.0.0-dev.420 Apr 2020 pre-release -
4.0.0-dev.319 Apr 2020 pre-release -
4.0.0-dev.215 Apr 2020 pre-release -
4.0.0-dev.106 Apr 2020 pre-release -
3.2.030 Jan 2020 -
3.1.001 Jan 2020 -
3.0.025 Dec 2019