NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3944 most downloaded on pub.dev
Code generation library and interface for Brick components. Useful for creating serdes generators for adapters.
Last release 11 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
One column per quarter.
Support analyzer >=8.0.0 <10.0.0
analyzer >=8.0.0 <10.0.0build >=3.0.0 <5.0.0source_gen >=3.0.0 <5.0.0Dart minimum SDK is updated to 3.4.0
3.4.0Remove FieldSerializable#nullable requirement on deserializerNullableClause
FieldSerializable#nullable requirement on deserializerNullableClausebrick_core to 1.4.0Add documentation to increase pub.dev score
brick_core to 1.3.0Revert .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 anal
.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.BREAKING CHANGE Remove StringHelpers.kebabCase and StringHelpers.pascalCase. These should be invoked from the AnnotationFinderWithFieldRename#renameFi…
AnnotationFinderWithFieldRename for field renames in generatorsSharedChecker#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 >.StringHelpers.kebabCase and StringHelpers.pascalCase. These should be invoked from the AnnotationFinderWithFieldRename#renameField method.Update analyzer constraints to >=6.0.0 <7.0.0
constantize AggregateBuilderanalyzer constraints to >=6.0.0 <7.0.0- Support Dart 3
Update AggregateBuilder#requiredImports docs
AggregateBuilder#requiredImports docsBaseBuilder#replaceWithinFileanalyzer constraint to 5.0.0Nothing published for this version
Remove // This file should NOT be version controlled and should not be manually edited. from adapter generator and model dictionary generator. Both fi
// 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 warningAdd #hasEnumDeserializeFactory and #hasEnumSerializeMethod to SharedChecker
#hasEnumDeserializeFactory and #hasEnumSerializeMethod to SharedChecker- Upgrade analyzer to version 4
Loosen dependency restrictions to major versions
brick.g.dart when class names start with the same prefixAdd fromJsonConstructor and toJsonMethod to SharedChecker, supporting easy discovery of standard methods factory fromJson and #toJson.
fromJsonConstructor and toJsonMethod to SharedChecker, supporting easy discovery of standard methods factory fromJson and #toJson.Nothing published for this version
Nothing published for this version
Nothing published for this version
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…
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..model.dart suffix. This permits models to be stored anywhere in a package. Please rename your models/*.dart files to models/*.model.dart.brick.g.dart imports- Include 1.4.0+1 changes
1.4.0+1 changes- Fix adapters builder - Fix brick.g.dart imports
brick.g.dart importsBREAKING 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…
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..model.dart suffix. This permits models to be stored anywhere in a package. Please rename your models/*.dart files to models/*.model.dart.Alphabetize methods (internal refactor)
analyzer dependency to 3.2.0Fix field sorting and discovery error
- Upgrade brick_core
brick_coreAllow forced type nullability on getAssociationMethod for improved null safety on future internals.
getAssociationMethod for improved null safety on future internals.Add checkForField method to enforce constructor preference over field definition for type inference in adapter generation.
checkForField method to enforce constructor preference over field definition for type inference in adapter generation.Access checkForField by default only when deserializing for fields instead of constructor overrides
checkForField by default only when deserializing for fields instead of constructor overridesRemove // ignore_for_file: prefer_null_aware_operators
// ignore_for_file: prefer_null_aware_operatorsImprove null safe checking in example
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-safetySerdesGenerator.getAssociationMethod to SerdesGenerator#getAssociationMethod to access repositoryHasBeenForceCastNothing published for this version
Remove @visibleForOverriding annotation from SerdesGenerator#deserializeNullableClause
@visibleForOverriding annotation from SerdesGenerator#deserializeNullableClauseRemove // ignore_for_file: unnecessary_non_null_assertion and // ignore_for_file: invalid_null_aware_operator from all adapters and add // ignore_for_
// 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_operatorsrepositoryHasBeenForceCast in SerdesGenerator#getAssociationMethodBREAKING CHANGE removing testing.dart in favor of new package brick_build_test. Please use import 'package:brick_build_test/brick_build_test.dart' ins…
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.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
data['name'] == null ? null : in the REST adapter function of field that cannot be null in Dart >=2.12Remove part and export directives during build
part and export directives during buildIgnore unnecessary_non_null_assertion and invalid_null_aware_operator in adapter generated code. If a repository is forced to a non-null value (reposi
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.- Null safety
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
If fromGenerator or toGenerator is declared, the field will be generated for deserializing and serializing adapters, respectively
fromGenerator or toGenerator is declared, the field will be generated for deserializing and serializing adapters, respectivelyAdd method ignoreCoderForField to SerdesGenerator. This doesn't change existing functionality; it only moves it to an overridable method.
ignoreCoderForField to SerdesGenerator. This doesn't change existing functionality; it only moves it to an overridable method.Remove getInheritedConcreteMap from fields_for_class.dart as it's no longer used.
getInheritedConcreteMap from fields_for_class.dart as it's no longer used.- Override build methods
Use assignable instead of super type comparison when checking for siblings to account for inherited classes
Rename ProviderSerializable to ProviderSerializableGenerator to be more explicit
ProviderSerializable to ProviderSerializableGenerator to be more explicitSharedChecker#mapArgs to SharedChecker#typeArgumentsUpdate for new brick_core API on Where
WhereOfflineFirstSerdesGenerator to SerdesGeneratorrest_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 methodsUse ConnectOfflineFirstWithRest
ConnectOfflineFirstWithRestUses getDisplayString instead of deprecated name
getDisplayString instead of deprecated nameNothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →