PackageTrack
Sign in Get early access

brick_build

Code generation library and interface for Brick components. Useful for creating serdes generators for adapters.

4.1.0 8.0K downloads/mo #3234 most downloaded on pub.dev GetDutchie/brick

What this package is like to depend on

Last release 9 months ago

01 Nov 2025

Ships unpredictably

gaps range from 9 days to 1.3 years

Most releases are documented

notes for 39 of 44 stable releases

Nothing withdrawn

no release was ever pulled

7 years old

54 releases · first in 2020

1 release in the last 12 months

see the full history below

Release timeline

54 releases · Jan 2020 to Nov 2025
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 54
  1. 4.1.0 01 Nov 2025
    Release notes
    • Support analyzer >=8.0.0 <10.0.0
    • Support build >=3.0.0 <5.0.0
    • Support source_gen >=3.0.0 <5.0.0
    Open source →
  2. 4.0.0 18 Feb 2025
    Release notes
    • Dart minimum SDK is updated to 3.4.0
    • All dependency restrictions are updated to include the minimum released version.
    Open source →
  3. 3.3.1 02 Jan 2025
    Release notes
    • Remove FieldSerializable#nullable requirement on deserializerNullableClause
    • Update minimum brick_core to 1.4.0
    Open source →
  4. 3.3.0 24 Dec 2024
    Release notes
    • Add documentation to increase pub.dev score
    • Update minimum brick_core to 1.3.0
    • Update analysis to modern lints
    Open source →
  5. 3.2.1 06 Sep 2024
    Release notes
    • Revert .getDisplayString() change due to Flutter 3.22 being restricted to analyzer <6.4.1. meta is pinned to 1.12 in this version of Flutter, and analyzer >=6.5.0, where the change was made, requires meta >= 1.15. This change will eventually be re-reverted.
    Open source →
  6. 3.2.0 27 Aug 2024
    Release notes
    • Add convenience mixin AnnotationFinderWithFieldRename for field renames in generators
    • Add SharedChecker#withoutNullResultType for retrieving the final typed version of a field. "withoutNull" was used instead of the more idiomatic "non-null" because non-null in the Dart ecosystem and lower-level analyzer means "not null-safe." This method strips null suffixes and type symbols like < and >.
    • BREAKING CHANGE Remove StringHelpers.kebabCase and StringHelpers.pascalCase. These should be invoked from the AnnotationFinderWithFieldRename#renameField method.
    Open source →
  7. 3.1.0 26 Aug 2024
    Release notes
    • Apply standardized lints
    • constantize AggregateBuilder
    • Update analyzer constraints to >=6.0.0 <7.0.0
    • Format CHANGELOG.md
    Open source →
  8. 3.0.1 23 May 2023
    Release notes
    • Support Dart 3
    Open source →
  9. 3.0.0 10 Mar 2023
    Release notes
    • Update AggregateBuilder#requiredImports docs
    • Remove unnecessary assignment in BaseBuilder#replaceWithinFile
    • Update minimum analyzer constraint to 5.0.0
    Open source →
  10. 3.0.0-pre.1 03 Mar 2023 pre-release

    Nothing published for this version

  11. 2.1.2 09 Jan 2023
    Release notes
    • Remove // This file should NOT be version controlled and should not be manually edited. from adapter generator and model dictionary generator. Both file types can be version controlled; manually edited is redundant givent the preceding GENERATED CODE DO NOT EDIT warning
    Open source →
  12. 2.1.1 03 Oct 2022
    Release notes
    • Add #hasEnumDeserializeFactory and #hasEnumSerializeMethod to SharedChecker
    Open source →
  13. 2.1.0 09 Sep 2022
    Release notes
    • Upgrade analyzer to version 4
    Open source →
  14. 2.0.2 18 Aug 2022
    Release notes
    • Loosen dependency restrictions to major versions
    • Fix duplicate imports to brick.g.dart when class names start with the same prefix
    Open source →
  15. 2.0.1 25 Feb 2022
    Release notes
    • Add fromJsonConstructor and toJsonMethod to SharedChecker, supporting easy discovery of standard methods factory fromJson and #toJson.
    Open source →
  16. 2.0.1+1 25 Feb 2022

    Nothing published for this version

  17. 2.0.1+2 25 Feb 2022

    Nothing published for this version

  18. 2.0.1+3 25 Feb 2022

    Nothing published for this version

  19. 2.0.0 16 Feb 2022
    Release notes
    • BREAKING CHANGE brick.g.dart and adapters are now saved to a brick/ folder. This replaces the app folder. Please rename app to brick to safely migrate.
    • BREAKING CHANGE models are now discovered by the .model.dart suffix. This permits models to be stored anywhere in a package. Please rename your models/*.dart files to models/*.model.dart.
    • Fix adapters builder
    • Fix brick.g.dart imports
    Open source →
  20. 2.0.0-rc.3 07 Feb 2022 pre-release
    Release notes
    • Include 1.4.0+1 changes
    Open source →
  21. 2.0.0-rc.2 02 Feb 2022 pre-release
    Release notes
    • Fix adapters builder
    • Fix brick.g.dart imports
    Open source →
  22. 2.0.0-rc.1 02 Feb 2022 pre-release
    Release notes
    • BREAKING CHANGE brick.g.dart and adapters are now saved to a brick/ folder. This replaces the app folder. Please rename app to brick to safely migrate.
    • BREAKING CHANGE models are now discovered by the .model.dart suffix. This permits models to be stored anywhere in a package. Please rename your models/*.dart files to models/*.model.dart.
    Open source →
  23. 1.4.0 07 Feb 2022
    Release notes
    • Alphabetize methods (internal refactor)
    • Upgrade analyzer dependency to 3.2.0
    Open source →
  24. 1.4.0+1 07 Feb 2022
    Release notes
    • Fix field sorting and discovery error
    Open source →
  25. 1.3.0 20 Jan 2022
    Release notes
    • Upgrade brick_core
    Open source →
  26. 1.2.3 09 Dec 2021
    Release notes
    • Allow forced type nullability on getAssociationMethod for improved null safety on future internals.
    Open source →
  27. 1.2.2 24 Sep 2021
    Release notes
    • Add checkForField method to enforce constructor preference over field definition for type inference in adapter generation.
    Open source →
  28. 1.2.2+1 27 Sep 2021
    Release notes
    • Access checkForField by default only when deserializing for fields instead of constructor overrides
    Open source →
  29. 1.2.1 19 Sep 2021
    Release notes
    • Remove // ignore_for_file: prefer_null_aware_operators
    Open source →
  30. 1.2.0 10 Sep 2021
    Release notes
    • Add Dart Lints
    • Improve null safe checking in example
    • Add repositoryHasBeenForceCast to determine whether a repository needs to use the null operator !. Warnings clutter the console when running flutter build or flutter test and they cannot be disabled with --no-sound-null-safety
    • Convert SerdesGenerator.getAssociationMethod to SerdesGenerator#getAssociationMethod to access repositoryHasBeenForceCast
    Open source →
  31. 1.2.0+1 10 Sep 2021

    Nothing published for this version

  32. 1.2.0+2 10 Sep 2021
    Release notes
    • Remove @visibleForOverriding annotation from SerdesGenerator#deserializeNullableClause
    Open source →
  33. 1.2.0+3 10 Sep 2021
    Release notes
    • Remove // ignore_for_file: unnecessary_non_null_assertion and // ignore_for_file: invalid_null_aware_operator from all adapters and add // ignore_for_file: prefer_null_aware_operators
    • Remove setting repositoryHasBeenForceCast in SerdesGenerator#getAssociationMethod
    Open source →
  34. 1.1.0 16 Apr 2021
    Release notes
    • BREAKING CHANGE removing testing.dart in favor of new package brick_build_test. Please use import 'package:brick_build_test/brick_build_test.dart' instead. source_gen_test is not null safe, and testing shouldn't be in distributed packages anyway.
    Open source →
  35. 1.1.0+1 18 Apr 2021
    Release notes
    • Do not generate null-safe return values in adapters if the member cannot be null. For example, this would remove data['name'] == null ? null : in the REST adapter function of field that cannot be null in Dart >=2.12
    Open source →
  36. 1.1.0+2 22 Jun 2021
    Release notes
    • Remove part and export directives during build
    Open source →
  37. 1.1.0+3 28 Jun 2021
    Release notes
    • Ignore unnecessary_non_null_assertion and invalid_null_aware_operator in adapter generated code. If a repository is forced to a non-null value (repository!) subsequent access of the repository must not have an operator (repository. instead of repository?). Brick determines properties on a per-member basis, requiring a break in architecture to resolve subsquent access. These are linter warnings, not errors, and therefore they're safe to ignore for adapters.
    Open source →
  38. 1.0.0 05 Apr 2021
    Release notes
    • Null safety
    Open source →
  39. 1.0.0-nullsafety.5 21 Mar 2021 pre-release

    Nothing published for this version

  40. 1.0.0-nullsafety.4 21 Mar 2021 pre-release

    Nothing published for this version

  41. 1.0.0-nullsafety.3 21 Mar 2021 pre-release

    Nothing published for this version

  42. 1.0.0-nullsafety.2 21 Mar 2021 pre-release

    Nothing published for this version

  43. 1.0.0-nullsafety.1 21 Mar 2021 pre-release

    Nothing published for this version

  44. 1.0.0-nullsafety.0 15 Mar 2021 pre-release

    Nothing published for this version

  45. 0.0.9 21 Feb 2021
    Release notes
    • If fromGenerator or toGenerator is declared, the field will be generated for deserializing and serializing adapters, respectively
    • Strictly assign analyzer ahead of nullability release versions
    Open source →
  46. 0.0.8 06 Feb 2021
    Release notes
    • Add method ignoreCoderForField to SerdesGenerator. This doesn't change existing functionality; it only moves it to an overridable method.
    Open source →
  47. 0.0.8+1 06 Feb 2021
    Release notes
    • Remove getInheritedConcreteMap from fields_for_class.dart as it's no longer used.
    Open source →
  48. 0.0.8+2 14 Feb 2021
    Release notes
    • Override build methods
    Open source →
  49. 0.0.7 17 Jun 2020
    Release notes
    • Use assignable instead of super type comparison when checking for siblings to account for inherited classes (#55)
    • Add ability to overwrite the nullable check for deserializing members
    Open source →
  50. 0.0.6 03 Mar 2020
    Release notes
    • Rename ProviderSerializable to ProviderSerializableGenerator to be more explicit
    • Rename SharedChecker#mapArgs to SharedChecker#typeArguments
    Open source →
  51. 0.0.4 21 Jan 2020
    Release notes
    • Update for new brick_core API on Where
    • Move shareable methods from OfflineFirstSerdesGenerator to SerdesGenerator
    • Constrain version of brick_core
    • Split code to separate projects: rest_serdes to brick_rest_generators, sqlite_serdes and subsequent SQLite builders to brick_sqlite_generators, and all OfflineFirst-specific logic to brick_offline_first_with_rest_build.
    • testing.dart is available for useful testing methods
    • This package is now a series of utilities and interfaces; it no longer produces generated code.
    Open source →
  52. 0.0.3 14 Jan 2020
    Release notes
    • Use ConnectOfflineFirstWithRest
    Open source →
  53. 0.0.2 13 Jan 2020
    Release notes
    • Uses getDisplayString instead of deprecated name
    • Fix linter hints
    Open source →
  54. 0.0.1 10 Jan 2020

    Nothing published for this version

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