PackageTrack
Sign in Get early access

mobx_codegen

Code generator for MobX that adds support for annotating your code with @observable, @computed, @action and also creating Store classes.

2.7.8 65K downloads/mo #1318 most downloaded on pub.dev mobxjs/mobx.dart

What this package is like to depend on

Last release 3 days ago

21 Aug 2026

Ships fairly regularly

a new release about every 3 months

Most releases are documented

notes for 66 of 96 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

98 releases · first in 2019

6 releases in the last 12 months

see the full history below

Release timeline

98 releases · Jan 2019 to Aug 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 98
  1. 2.7.8 21 Aug 2026
    Release notes

    Support analyzer v13 and v14 (#1078)

    Open source →
    Release notes
    • Update analyzer version to >=9.0.0 < 14.0.0
    Open source →
  2. 2.7.7 28 Mar 2026
    Release notes
    • ignore deprecations

    • support analyzer 10

    • version

    • support v11 too, no affected changes

    • changelog

    • support v12

    Open source →
    Release notes
    • Update analyzer version to >=9.0.0 < 13.0.0
    Open source →
  3. 2.7.6 09 Jan 2026
    Release notes

    chore: prepare mobx_codegen v2.7.6 release (#1068)

    Open source →
    Release notes
    • FEAT: Add support for analyzer 9.0.0 by migrating to the Element API (from deprecated Element2 API) (#1065)
    • FEAT: require analyzer: ^9.0.0 (#1065)

    2025-12-28

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:


    Open source →
    Release notes
    • Add support for analyzer 9.0.0 by migrating to the Element API (from deprecated Element2 API)
    • Require analyzer: ^9.0.0 (drop support for analyzer <9.0.0)
    Open source →
  4. 2.7.5 03 Jan 2026
    Release notes

    fix: upgrade SDK to 3.7.0 and use multiple underscore wildcards for u…

    Open source →
    Release notes
    • Upgrading sdk and Analyzer fixes

    • FIX: fixing lints in tests.

    • FIX: package upgrades, analysis issue fixes.

    • FIX: error with code generation when file has unnamed extension (#1020).

    • FIX: make readonly work with computed (#710).

    • FIX: ObservableStream.listen() should also keep observable values updated (#708).

    • FEAT: add keepAlive to Computed (#976).

    • FEAT: support late observables (#973).

    • FEAT: Adds useEquatable for creating observables (#971).

    • FEAT: require analyzer: ^5.12.0 (#934).

    • FEAT: Adds custom equals for creating observables. (#907).

    • FEAT: Adds support for annotations (#904).

    • FEAT: Allow use custom context (#770).

    2025-12-28

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:


    Open source →
    Release notes
    • Upgrading sdk and Analyzer fixes

    • FIX: fixing lints in tests.

    • FIX: package upgrades, analysis issue fixes.

    • FIX: error with code generation when file has unnamed extension (#1020).

    • FIX: make readonly work with computed (#710).

    • FIX: ObservableStream.listen() should also keep observable values updated (#708).

    • FEAT: add keepAlive to Computed (#976).

    • FEAT: support late observables (#973).

    • FEAT: Adds useEquatable for creating observables (#971).

    • FEAT: require analyzer: ^5.12.0 (#934).

    • FEAT: Adds custom equals for creating observables. (#907).

    • FEAT: Adds support for annotations (#904).

    • FEAT: Allow use custom context (#770).

    Open source →
  5. 2.7.4 20 Sep 2025
    Release notes

    Drop build_resolvers dependency (#1057)

    Open source →
    Release notes
    • Drop build_resolvers as a dependency, which enables support for build_runner 2.8.0
    Open source →
  6. 2.7.3 18 Sep 2025
    Release notes
    • Update some package versions including analyzer, and resolve deprecations

    • Run melos run set_version

    • Fix changelog version header

    • Widen supported analyzer versions, and revert deprecation fixes

    Open source →
    Release notes
    • Update analyzer version to >=7.4.0 < 9.0.0
    • Update source_gen version to >=3.0.0 < 5.0.0
    • Update build version to >=3.0.0 < 5.0.0
    • Update build_resolvers version to >=3.0.0 < 5.0.0
    Open source →
  7. 2.7.2 14 Aug 2025
    Release notes
    • Update codegen to use new analyzer element2 API (>= 7.4.0), and update build_test to 3.3.0

    • Bump mobx_codegen version to 2.7.2

    • Replace deprecated call to TypeChecker.fromRuntime


    Co-authored-by: Pavan Podila [email protected]

    Open source →
    Release notes
    • Update analyzer version to >=7.4.0 < 8.0.0
    • Update source_gen version to 3.0.0
    • Update build version to 3.0.0
    • Update build_resolvers version to 3.0.0
    Open source →
  8. 2.7.1 30 May 2025
    Release notes
    • Update source_gen package version

    FEAT: melos run command result
    FIX: update analyzer version
    FIX: removed in Dart 3.7 deprecated fields
    FIX: golden tests
    FIX: add dart_style in dev dependencies for consistent golden test results
    FIX: add deprecated ignore comments for support current analyzer version

    • fix: analyzer version constraint in changelog

    Co-authored-by: Mikhail Alenin - sunbro.marko [email protected]

    Open source →
    Release notes
    • Update source_gen package to 2.0.0
    • Update analyzer version to >=6.9.0 < 8.0.0
    Open source →
  9. 2.7.0 16 Dec 2024
    Release notes
    • FIX: package upgrades, analysis issue fixes.
    • FIX: error with code generation when file has unnamed extension (#1020).
    • FIX: make readonly work with computed (#710).
    • FIX: ObservableStream.listen() should also keep observable values updated (#708).
    • FEAT: add keepAlive to Computed (#976).
    • FEAT: support late observables (#973).
    • FEAT: Adds useEquatable for creating observables (#971).
    • FEAT: require analyzer: ^5.12.0 (#934).
    • FEAT: Adds custom equals for creating observables. (#907).
    • FEAT: Adds support for annotations (#904).
    • FEAT: Allow use custom context (#770).
    Open source →
  10. 2.6.2 31 Oct 2024
    Release notes Open source →
  11. 2.6.1 28 Mar 2024
    Release notes
    • Upgrading packages and sdk
    Open source →
  12. 2.6.1+1 26 Oct 2024
    Release notes
    • Fixing some analyzer errors related to deprecated types.
    Open source →
  13. 2.6.0 27 Dec 2023
    Release notes
    • Upgrading sdk and Analyzer fixes

    • FIX: update observableAlwaysNotEqual function signature to accept nullable Object parameters.

    • FIX: package upgrades, analysis issue fixes.

    • FIX: Observable.value setter (covariant) (#993).

    • FIX: stacktrace in computed (#988).

    • FIX: observableset and observablemap notify all listeners when one is added with fireimmediately true (#962).

    • FIX: revert #784 (#842).

    • FIX: ObservableStream.listen() should also keep observable values updated (#708).

    • FIX: Widgets failed to call super.dispose() (#334).

    • FIX: issue 62 (#64).

    • FEAT: add scheduler option to autorun and reaction (#979).

    • FEAT: add keepAlive to Computed (#976).

    • FEAT: Adds useEquatable for creating observables (#971).

    • FEAT: Adds custom equals for creating observables. (#907).

    • FEAT: Adds support for annotations (#904).

    • FEAT: Allow a custom equals parameter for ObservableStream (#771).

    • FEAT: Allow use custom context (#770).

    2024-12-16

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:


    Open source →
    Release notes
    • Add keepAlive to Computed to avoids suspending computed values when they are not being observed by anything.
    Open source →
  14. 2.6.0+1 04 Jan 2024
    Release notes
    • pubspec.yaml updated to include homepage and topics
    Open source →
  15. 2.5.0 27 Dec 2023
    Release notes
    • FIX: package upgrades, analysis issue fixes.
    • FIX: Observable.value setter (covariant) (#993).
    • FIX: stacktrace in computed (#988).
    • FIX: observableset and observablemap notify all listeners when one is added with fireimmediately true (#962).
    • FIX: revert #784 (#842).
    • FIX: ObservableStream.listen() should also keep observable values updated (#708).
    • FIX: Widgets failed to call super.dispose() (#334).
    • FIX: issue 62 (#64).
    • FEAT: add scheduler option to autorun and reaction (#979).
    • FEAT: add keepAlive to Computed (#976).
    • FEAT: Adds useEquatable for creating observables (#971).
    • FEAT: Adds custom equals for creating observables. (#907).
    • FEAT: Adds support for annotations (#904).
    • FEAT: Allow a custom equals parameter for ObservableStream (#771).
    • FEAT: Allow use custom context (#770).
    Open source →
    Release notes
    Open source →
  16. 2.4.1 21 Dec 2023
    Release notes
    • Adds useDeepEquality for creating observables by @amondnet
    Open source →
  17. 2.4.0 19 Sep 2023
    Release notes
    • Require analyzer: ^5.12.0
    • Support the latest package:analyzer
    • Require Dart 3.0
    Open source →
  18. 2.3.0 09 May 2023
    Release notes
    • REFACTOR: export MultiReactionBuilder from flutter_mobx.dart (#946).
    • FIX: package upgrades, analysis issue fixes.
    • FIX: stacktrace in computed (#988).
    • FIX: If builder of Observer errors, further error LateInitializationError: Local 'built' has not been initialized. will happen in addition to the actual error, reducing developer experience #780.
    • FIX: Disable button Remove Completed, when the completed task is occult on screen. (#73).
    • FEAT: add MultiReactionBuilder widget (#917).
    Open source →
    Release notes
    • Adds @alwaysNotify annotation support for creating always notify observables. @amondnet in #907
    • Adds custom equals for creating observables. @amondnet in #907
    Open source →
  19. 2.2.0 14 Apr 2023
    Release notes
    • Adds support for annotations @protected, @visibleForTesting and @visibleForOverriding for actions, observables futures and observables stream.
    Open source →
    Release notes
    • Observer is updated with the new Observer.withBuiltChild constructor, so you can exclude child branch from the re-rendering. - @subzero911
      In case if you use Observer.withBuiltChild, you should provide two parameters: builderWithChild and child:
      Observer.withBuiltChild(
        builderWithChild: (context, child) => FooWidget(foo: foo, bar: child),
        child: BarWidget(), // won't rebuild
      ),
      
    Open source →
  20. 2.1.1 18 Nov 2022
    Release notes
    • refactor: export MultiReactionBuilder from flutter_mobx.dart by @amondnet
    Open source →
  21. 2.1.0 14 Nov 2022
    Release notes
    • Update analyzer version to >=4.4.0 <6.0.0
    • Dart formatting fixes
    Open source →
    Release notes
    • feat: add MultiReactionBuilder widget by @amondnet
    Open source →
  22. 2.0.7 17 May 2022
    Release notes
    • Update codegen templates to ignore newly recommended lint rules in generated code
    Open source →
  23. 2.0.7+1 18 Sep 2022
    Release notes
    • Fixed issue in showing issue tracker link on pub.dev
    Open source →
  24. 2.0.7+2 18 Sep 2022
    Release notes
    • Moved the version into its own file (version.dart) and exported from the main library file
    • Bringing the version.dart file in sync with pubspec.yaml
    Open source →
  25. 2.0.7+3 19 Sep 2022

    Nothing published for this version

  26. 2.0.6 22 Apr 2022
    Release notes
    • Globally disable toString() method generation
    Open source →
    Release notes
    • Adding support for previous versions of Flutter SDK
    Open source →
  27. 2.0.6+1 13 May 2022
    Release notes
    • Upgrading mobx to 2.0.7 - @amondnet
    Open source →
  28. 2.0.6+2 14 May 2022
    Release notes
    • Package upgrades
    Open source →
  29. 2.0.5 23 Dec 2021
    Release notes
    • Fixed some tests not picking the right path for data files
    • Package upgrades
    • Adopting the recommended linting for Dart
    Open source →
    Release notes
    • Improve debugFindConstructingStackFrame to let the message be less confusing to the reader
    • Allow disabling No observables detected in the build method of Observer
    • The analyzer: ^3.0.0 in master branch is incompatible with Flutter stable
    • If builder of Observer errors, further error LateInitializationError: Local 'built' has not been initialized. will happen in addition to the actual error, reducing developer experience
    Open source →
  30. 2.0.5+1 23 Dec 2021
    Release notes
    • Package upgrades
    Open source →
  31. 2.0.5+2 24 Dec 2021

    Nothing published for this version

  32. 2.0.4 07 Oct 2021
    Release notes
    • make readonly work with computed - @Ascenio
    Open source →
    Release notes
    • Introducing a ReactionBuilder widget that helps you create an inline reaction and eliminates the need to have a wrapper-StatefulWidget that uses the initState to do the same. You can read more in the docs for ReactionBuilder.
    Open source →
  33. 2.0.3 07 Aug 2021
    Release notes
    • Moved analyzer package to 2.0.0 - @davidmartos96
    Open source →
    Release notes
    • Package upgrades
    • Minor cleanups
    • Adopting the recommended linting for Dart
    Open source →
  34. 2.0.2 25 Jul 2021
    Release notes
    • Package upgrades
    Open source →
    Release notes
    • Moved analyzer package to 2.0.0 - @davidmartos96
    Open source →
  35. 2.0.1 04 Apr 2021
    Release notes
    • Adds @readonly annotation support for creating read-only observables. Thanks to Ascenio for the PR.
    Open source →
    Release notes
    • Moving from mockito to mocktail
    Open source →
  36. 2.0.1+2 04 Apr 2021

    Nothing published for this version

  37. 2.0.1+3 11 Apr 2021
    Release notes
    • Adding a test specifically for late observables
    Open source →
  38. 2.0.0 01 Apr 2021
    Release notes
    • Full support for Null Safety
    Open source →
  39. 2.0.0-nullsafety.2 21 Mar 2021 pre-release

    Nothing published for this version

  40. 2.0.0-nullsafety.1 21 Mar 2021 pre-release

    Nothing published for this version

  41. 1.1.2 02 Nov 2020
    Release notes
    • Fixing some analyzer errors related to deprecated types. Now using the newer types as the analyzer package has been upgraded to ^0.39
    Open source →
  42. 1.1.1 08 Oct 2020
    Release notes
    • Upgraded our analyzer dependency's to support a range from 0.39.1, up to latest 0.40.x in order to be compatible with other packages.
    • Formatting changes to improve pub.dev score
    Open source →
  43. 1.1.1+1 09 Oct 2020

    Nothing published for this version

  44. 1.1.1+2 27 Oct 2020
    Release notes
    • Fixed a test related to typedef-ed identifiers with prefixes
    • Fixed analyzer errors for the dev channel
    Open source →
  45. 1.1.1+3 27 Oct 2020

    Nothing published for this version

  46. 1.1.0 13 May 2020
    Release notes
    • FEAT: Adds support for annotations (#904).
    Open source →
    Release notes
    • Added the ability to spy on changes happening inside MobX. You can now setup a spy() to see all these changes. See this for an example. The changes in mobx_codegen help in the reporting of updates to observables.
    • Simplified the handling of tests and coverage. We are no longer dependent on the test_coverage package, which was causing issues on CI.
    • Adding an ignore for the analyzer warning for unnecessary_brace_in_string_interps
    • Syncing versions with pubspec.yaml
    • Fixes a test that was not including an analyzer warning
    Open source →
    Release notes
    • Exceptions are reported more reliably with FlutterError.reportError. This also includes the stack trace, as all caught exceptions are now wrapped inside MobXCaughtException.
    • Syncing versions with pubspec.yaml
    Open source →
  47. 1.1.0+1 20 Jun 2020

    Nothing published for this version

  48. 1.1.0+2 28 Sep 2020
    Release notes
    • Reformatting for improving the pub.dev score
    Open source →
  49. 1.0.3 24 Mar 2020
    Release notes
    • Upgrading mobx to 1.1.0
    Open source →
  50. 1.0.2 13 Feb 2020
    Release notes
    • Added automatic generation of toString method with @StoreConfig annotation

    Thanks to @hawkbee1

    Open source →
  51. 1.0.1 28 Jan 2020

    Nothing published for this version

  52. 1.0.0 28 Jan 2020
    Release notes
    • Ready for prime time!
    • Fixing version resolution
    Open source →
  53. 0.4.2 25 Jan 2020
    Release notes
    • Upgraded the build_resolvers dependency to 1.3.2, which fixes issues with certain versions of Dart being unable to resolve dart:ui types.
    Open source →
  54. 0.4.1 17 Jan 2020
    Release notes

    There were a number of bugs with the previous implementation of the LibraryScopedNameFinder. This resolves them, as well as ensures that a single code path is followed whether or not the analyzed source code contains named imports, reducing the potential for future bugs.

    The following bugs have been corrected when using named imports:

    • Missing type arguments on classes
    • Missing type arguments on function typedefs
    • Missing prefixes from imported typedefs
    • Missing prefixes from implicit type argument bounds
    Open source →
  55. 0.4.1+1 23 Jan 2020
    Release notes
    • README updates
    • Switching to Github Actions for all builds and publishing
    Open source →
  56. 0.4.1+2 24 Jan 2020
    Release notes
    • Going back to original test_coverage package
    Open source →
  57. 0.4.0 04 Jan 2020
    Release notes
    • Upgraded our analyzer dependency's minimum version to 0.38.5 in order to workaround a bug where collection types would resolve to dynamic
    • Updated pubspec.yaml to not include the reference to the @store annotation. It has been removed.
    Open source →
  58. 0.4.0+1 04 Jan 2020

    Nothing published for this version

  59. 0.3.13 03 Jan 2020
    Release notes
    • Fixes the extraction of generic return-types which have nested generic type arguments, eg: Future<List<User>>
    • Also fixes the issue reported in #367
    Open source →
  60. 0.3.12 30 Dec 2019
    Release notes
    • Removed the experimental use of @store annotation. It fails for some cases and has now been removed. We will explore other use cases with this annotation in future PRs.
    • Package updates
    • Added the Flutter Favorite logo
    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