PackageTrack
Sign in Get early access

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
Release Pre-release

Releases

latest 60 of 121
  1. 9.1.1 02 May 2025
    Release notes
    • fix: BlocSelector rebuilds when selector changes (#4415)
    Open source →
  2. 9.1.0 01 Mar 2025
    Release notes
    • feat: expose dispose callback on RepositoryProvider (#4356)
    Open source →
  3. 9.0.0 12 Jan 2025
    Release notes
    • fix: ensure widget is mounted before invoking listener (#4237)
    • chore(deps): upgrade to bloc ^9.0.0
    • chore(deps): bump minimum Dart SDK version to 2.14
    • chore: update sponsors
    • chore: add funding to pubspec.yaml (#4200)
    Open source →
  4. 8.1.6 11 Jun 2024
    Release notes
    • docs: fix gallery image urls (#4184)
    Open source →
  5. 8.1.5 24 Mar 2024
    Release notes
    • feat: override debugFillProperties (#4082)
    • docs: add missing comma to BlocListener API docs (#4106)
    • chore: update copyright year
    • chore: update sponsors
    Open source →
  6. 8.1.4 12 Feb 2024
    Release notes
    • chore: update sponsors (#4054)
    • chore: adjust example themes
    • chore: fix require_trailing_commas (#3977)
    • chore: add topics to pubspec.yaml (#3914)
    Open source →
  7. 8.1.3 20 May 2023
    Release notes
    • docs: remove graphql sample references from README (#3820)
    • docs: upgrade to Dart 3 (#3809)
    • refactor: standardize analysis_options (#3809)
    • refactor: update sdk constraints and fix analysis warnings (#3809)
    Open source →
  8. 8.1.2 07 Feb 2023
    Release notes
    • 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: BlocObserver instances to use const constructors (#3713)
    • refactor: remove unnecessary single child widget mixins (#3675)
    • refactor: upgrade to Flutter 3.7 (#3699)
      • remove deprecated invariant_booleans lint rule
    Open source →
  9. 8.1.1 14 Aug 2022
    Release notes
    • chore: remove dependency overrides from example to fix pana score
    Open source →
  10. 8.1.0 14 Aug 2022
    Release notes
    • feat: upgrade to bloc: ^8.1.0
    • chore: upgrade example to latest bloc and hydrated_bloc (#3481)
    • docs: update GetStream utm tags (#3136)
    • docs: update VGV sponsors logo (#3125)
    Open source →
  11. 8.0.1 29 Dec 2021
    Release notes
    • refactor: use core interfaces from bloc v8.0.2 (#3012)
    • docs: update example to follow naming conventions (#3027)
    Open source →
  12. 8.0.0 18 Nov 2021
    Release notes
    • BREAKING: feat: upgrade to bloc v8.0.0
    Open source →
  13. 8.0.0-dev.3 14 Nov 2021 pre-release
    Release notes
    • BREAKING: feat: upgrade to bloc v8.0.0-dev.5
    Open source →
  14. 8.0.0-dev.2 14 Oct 2021 pre-release
    Release notes
    • BREAKING: feat: upgrade to bloc v8.0.0-dev.3
    Open source →
  15. 8.0.0-dev.1 06 Oct 2021 pre-release
    Release notes
    • BREAKING: feat: upgrade to bloc v8.0.0-dev.2
    Open source →
  16. 7.3.3 07 Nov 2021
    Release notes
    • fix: add missing child assertion to BlocListener and BlocProvider (#2924)
    Open source →
  17. 7.3.2 03 Nov 2021
    Release notes
    • fix: BlocProvider explicitly default lazy to true to support avoid_redundant_argument_values (#2917)
    Open source →
  18. 7.3.1 14 Oct 2021
    Release notes
    • fix: determine bloc reference changes via identical
      • Previously 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.
    • docs: add inline docs to library
    • docs: minor improvements to example and README
    • chore: remove unneeded imports
    Open source →
  19. 7.3.0 21 Sep 2021
    Release notes
    • feat: upgrade to bloc: ^7.2.0
    Open source →
  20. 7.2.0 23 Aug 2021
    Release notes
    • feat: upgrade to provider: ^6.0.0
    Open source →
  21. 7.1.0 29 Jul 2021
    Release notes
    • feat: add BlocSelector widget
    Open source →
  22. 7.0.1 29 May 2021
    Release notes
    • fix: BlocConsumer, BlocBuilder, and BlocListener depend on bloc/cubit instance
      • when a provided bloc instance changes, BlocConsumer, BlocBuilder, and BlocListener will all update to use the new instance
    • docs: update BlocBuilder and BlocListener inline API docs to include buildWhen and listenWhen
    Open source →
  23. 7.0.0 18 Mar 2021
    Release notes
    • BREAKING: refactor: rename cubit parameter to bloc
      • refactor: rename cubit parameter in BlocListener to bloc
      • refactor: rename cubit parameter in BlocBuilder to bloc
      • refactor: rename cubit parameter in BlocConsumer to bloc
    • BREAKING: opt into null safety
      • upgrade Dart SDK constraints to >=2.12.0-0 <3.0.0
    • BREAKING: refactor: remove deprecated context.repository
    • feat: upgrade to bloc: ^7.0.0
    • feat: upgrade to provider: ^5.0.0
    Open source →
  24. 7.0.0-nullsafety.6 17 Mar 2021 pre-release
    Release notes
    • chore: bump to bloc: ^7.0.0-nullsafety.4
    Open source →
  25. 7.0.0-nullsafety.5 11 Mar 2021 pre-release
    Release notes
    • BREAKING: refactor: remove deprecated context.repository
    Open source →
  26. 7.0.0-nullsafety.4 08 Mar 2021 pre-release
    Release notes
    • chore: bump to provider: ^5.0.0
    Open source →
  27. 7.0.0-nullsafety.3 03 Mar 2021 pre-release
    Release notes
    • chore: bump to bloc: ^7.0.0-nullsafety.3
    • chore: bump to provider: ^5.0.0-nullsafety.5
    Open source →
  28. 7.0.0-nullsafety.2 11 Feb 2021 pre-release
    Release notes
    • chore: bump to bloc: ^7.0.0-nullsafety.2
    Open source →
  29. 7.0.0-nullsafety.1 19 Jan 2021 pre-release
    Release notes
    • BREAKING: refactor: upgrade to bloc ^7.0.0-nullsafety.1
      • refactor: rename cubit parameter in BlocListener to bloc
      • refactor: rename cubit parameter in BlocBuilder to bloc
      • refactor: rename cubit parameter in BlocConsumer to bloc
    • feat: upgrade to provider ^5.0.0-nullsafety.3
    Open source →
  30. 7.0.0-nullsafety.0 21 Dec 2020 pre-release
    Release notes
    • BREAKING: opt into null safety
    • feat!: upgrade Dart SDK constraints to >=2.12.0-0 <3.0.0
    Open source →
  31. 7.0.0-dev.2 14 Nov 2020 pre-release
    Release notes
    • BREAKING: revert 7.0.0-dev.1
    • BREAKING: remove context.bloc extension
    • BREAKING: rename cubit parameter in BlocListener to value
    • BREAKING: rename cubit parameter in BlocBuilder to value
    • BREAKING: rename cubit parameter in BlocConsumer to value
    • docs: update inline API docs
    Open source →
  32. 7.0.0-dev.1 04 Nov 2020 pre-release
    Release notes
    • BREAKING: remove dependency on package:provider
    • feat: add optional listen to BlocProvider
    • feat: add ListenProviderExtension
    • docs: improve inline documentation for BlocProvider and RepositoryProvider
    Open source →
  33. 6.1.3 03 Mar 2021
    Release notes
    • feat: expose ProviderNotFoundException
    • chore: upgrade to bloc ^6.1.3
    • chore: upgrade to provider ^4.3.3
    Open source →
  34. 6.1.2 08 Feb 2021
    Release notes
    • fix: BlocProvider.value use InheritedProvider.value
    Open source →
  35. 6.1.1 11 Nov 2020
    Release notes
    • fix: BlocConsumer does not respect buildWhen and results in unnecessary rebuilds
    Open source →
  36. 6.1.0 07 Nov 2020
    Release notes
    • feat: add optional listen to BlocProvider and RepositoryProvider
    • feat: add context.select<T, R>(R Function(T value)) which allows widgets to listen to only a small part of the state of T (R)
    • feat: add context.watch<T>() which allows widgets to listen to changes in the state of T
    • feat: add context.read<T>() which allows widgets to access T without listening for changes
    • deprecated: context.bloc in favor of context.read and context.watch
    • deprecated: context.repository in favor of context.read and context.watch
    • fix: rethrow ProviderNotFoundException from RepositoryProvider for external dependencies
    • docs: improve inline documentation for BlocProvider and RepositoryProvider
    • docs: update list of examples in README
    Open source →
  37. 6.0.6 05 Oct 2020
    Release notes
    • docs: improve inline documentation for buildWhen
    Open source →
  38. 6.0.5 04 Sep 2020
    Release notes
    • fix: BlocBuilder builder and buildWhen state mismatch
    Open source →
  39. 6.0.4 01 Sep 2020
    Release notes
    • fix: state synchronization issue when providing a condition
    Open source →
  40. 6.0.3 30 Aug 2020
    Release notes
    • refactor: BlocConsumer requires a single subscription
    • refactor: BlocBuilder extends BlocListener
    • refactor: MultiRepositoryProvider extends MultiProvider
    Open source →
  41. 6.0.2 26 Aug 2020
    Release notes
    • docs: fix missing API documentation generated by dartdoc
    Open source →
  42. 6.0.1 22 Jul 2020
    Release notes
    • docs: minor documentation fixes and improvements
    Open source →
  43. 6.0.0 22 Jul 2020
    Release notes
    • BREAKING: upgrade to bloc ^6.0.0
    • BREAKING: BlocBuilder interop with cubit (bloc parameter renamed to cubit)
    • BREAKING: BlocListener interop with cubit (bloc parameter renamed to cubit)
    • BREAKING: BlocConsumer interop with cubit (bloc parameter renamed to cubit)
    • feat: remove external dependency on package:flutter_cubit
    • docs: inline documentation updates
    • docs: README updates
    • docs: example application updates
    Open source →
  44. 6.0.0-dev.1 13 Jul 2020 pre-release
    Release notes
    • BREAKING: upgrade to bloc ^6.0.0-dev.1
    • BREAKING: BlocBuilder interop with cubit (bloc parameter renamed to cubit)
    • BREAKING: BlocListener interop with cubit (bloc parameter renamed to cubit)
    • BREAKING: BlocConsumer interop with cubit (bloc parameter renamed to cubit)
    • feat: remove external dependency on package:flutter_cubit
    • docs: inline documentation updates
    • docs: README updates
    • docs: example application updates
    Open source →
  45. 5.0.1 06 Jul 2020
    Release notes
    • fix: upgrade to bloc ^5.0.1
    • docs: minor documentation updates
    Open source →
  46. 5.0.0 02 Jul 2020
    Release notes
    • BREAKING: condition on BlocBuilder renamed to buildWhen
    • BREAKING: condition on BlocListener renamed to listenWhen
    • BREAKING: upgrade to bloc v5.0.0
    • refactor: internal implementation updates to use flutter_cubit
    • docs: various improvements
    • docs: logo updates
    Open source →
  47. 5.0.0-dev.5 30 Jun 2020 pre-release
    Release notes
    • Update to bloc: ^5.0.0-dev.11
    • Minor README updates
    Open source →
  48. 5.0.0-dev.4 28 Jun 2020 pre-release
    Release notes
    • Update to bloc: ^5.0.0-dev.10
    • Minor README updates
    Open source →
  49. 5.0.0-dev.3 24 Jun 2020 pre-release
    Release notes
    • Update to bloc: ^5.0.0-dev.7
    Open source →
  50. 5.0.0-dev.2 24 Jun 2020 pre-release
    Release notes
    • Update to bloc: ^5.0.0-dev.6
    • Update to flutter_cubit ^0.0.12
    • Various Documentation Updates
    Open source →
  51. 5.0.0-dev.1 23 Jun 2020 pre-release
    Release notes
    • Update to bloc: ^5.0.0-dev.3
    • Internal implementation updates to use flutter_cubit
    Open source →
  52. 4.0.1 13 Jun 2020
    Release notes
    • Fix ProviderNotFoundException handling (#1286)
    Open source →
  53. 4.0.0 21 Apr 2020
    Release notes
    • Update to bloc: ^4.0.0
    • Update to provider: ^4.0.5
    Open source →
  54. 4.0.0-dev.4 20 Apr 2020 pre-release
    Release notes
    • Update to bloc: ^4.0.0-dev.4
    Open source →
  55. 4.0.0-dev.3 19 Apr 2020 pre-release
    Release notes
    • Update to bloc: ^4.0.0-dev.3
    Open source →
  56. 4.0.0-dev.2 15 Apr 2020 pre-release
    Release notes
    • Update to bloc: ^4.0.0-dev.2
    Open source →
  57. 4.0.0-dev.1 06 Apr 2020 pre-release
    Release notes
    • Update to bloc: ^4.0.0-dev.1
    Open source →
  58. 3.2.0 30 Jan 2020
    Release notes
    • Fix type inference for: MultiBlocProvider, MultiRepositoryProvider, MultiBlocListener (#773)
    • Fix swallowed exceptions within BlocProvider and RepositoryProvider (#807)
    • Add BlocProviderExtension and RepositoryProviderExtension on BuildContext (#608)
    Open source →
  59. 3.1.0 01 Jan 2020
    Release notes
    • Expose lazy parameter on RepositoryProvider and BlocProvider (#749)
    • Updated to provider: ^4.0.1 (#748)
    • Add BlocConsumer (#545)
    • Export bloc as part of flutter_bloc
    Open source →
  60. 3.0.0 25 Dec 2019
    Release notes
    • Updated to bloc: ^3.0.0 (#700)
    • Updated to flutter >=1.12.1 (#700)
    • Updated to provider: ^4.0.0 (#700, #734)
    • Revert BlocBuilder and BlocListener condition behavior to set previousState to the previous bloc state (#709)
    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