NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #266 most downloaded on pub.dev
Resolve Dart code in a Builder
Last release 1 years ago
02 Sep 2025
Ships unpredictably
gaps range from 8 days to 12 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
86 releases · first in 2018
- Use build 4.0.0. - Use build_runner 2.7.2.
build 4.0.0.build_runner 2.7.2.- Use build 3.1.0. - Use build_runner 2.7.1.
build 3.1.0.build_runner 2.7.1.Remove unused TransitiveDigestsBuilder.
build 3.0.2.build_runner 2.7.0.TransitiveDigestsBuilder.convert, crypto.One column per quarter.
- Use build 3.0.1. - Allow analyzer 8.0.0.
build 3.0.1.analyzer 8.0.0.Remove unused deps: graphs, logging, stream_transform.
graphs, logging, stream_transform.element2 APIs in analyzer. Builders that do
resolution need to switch to the new API, see
https://github.com/dart-lang/sdk/blob/main/pkg/analyzer/doc/element_model_migration_guide.md.
For questions please use https://github.com/dart-lang/build/discussions.Remove unused deps: graphs, logging, stream_transform.
graphs, logging, stream_transform.Breaking: use the new element2 APIs in analyzer. Builders that do resolution need to switch to the new API, see https://github.com/dart-lang/sdk/blob/
element2 APIs in analyzer. Builders that do
resolution need to switch to the new API, see
https://github.com/dart-lang/sdk/blob/main/pkg/analyzer/doc/element_model_migration_guide.md.
For questions please use https://github.com/dart-lang/build/discussions.- Use build_runner_core 9.1.2.
build_runner_core 9.1.2.- Use build_runner_core 9.1.1.
build_runner_core 9.1.1.Simplify warnings for outdated analyzer.
analyzer.- Use build_runner_core 9.0.1.
build_runner_core 9.0.1.Ignore deprecated analyzer API usages.
User-visible changes:
build_runner performance
then please consider sharing details at
https://github.com/dart-lang/build/discussions.Versions:
build_test 3.0.0.build_runner_core 9.0.0.package:build/src/internal.dart.Internal changes:
BuildAssetUriResolver dependency crawl to an iterative
algorithm, preventing stack overflows.BuildStepImpl to build_runner_core, use SingleStepReader directly.transitive_digest files by default.LibraryCycleGraphLoader to load transitive deps for analysis.Refactor BuildAssetUriResolver into AnalysisDriverModel and AnalysisDriverFilesystem. Add new implementation of AnalysisDriverModel.
BuildAssetUriResolver into AnalysisDriverModel and
AnalysisDriverFilesystem. Add new implementation of
AnalysisDriverModel.SyntaxErrorInAssetException on severe syntax errorsBuildAssetUriResolver.useExperimentalResolver for
--use-experimental-resolver flag. This will be removed.Require the latest analyzer, and stop passing the withNullability parameter which was previously required and is now deprecated.
withNullability
parameter which was previously required and is now deprecated.Add a builder to clean up transitive digest files from the build output.
Fix an issue where deleted files were not removed from the analysis engine, and were still accessible via the analyzer apis.
Deprecate the unnamed AnalyzerResolvers constructor, an replace it with the AnalyzerResolvers.sharedInstance getter and AnalyzerResolvers.custom const…
AnalyzerResolvers constructor, an replace it with the
AnalyzerResolvers.sharedInstance getter and AnalyzerResolvers.custom
constructor. These new apis enforce a 1:1 relationship between the
BuildAssetUriResolver instances and AnalyzerResolvers instances, which is
necessary to ensure correct builds in the presence of multiple resolvers.Skip file delete for SDK summary and deps file. This will only impact behavior for usage in build_test where there may be multiple resolvers used conc
build_test where there may be multiple resolvers used
concurrently.Fix a bug in the transitive digest builder, ensure we check if assets are readable before asking for their digest.
Improve performance for resolves by adding a builder which serializes transitive digests to disk.
Allow the latest analyzer (6.x.x).
Add support for CompilationUnitElement to AnalysisResolver.astNodeFor().
CompilationUnitElement to AnalysisResolver.astNodeFor().Migrate off deprecated analyzer apis.
Resolver.libraries, making the implementation
consistent with the documentation.Migrate from LibraryElement#parts to LibraryElement#parts2.
LibraryElement#parts to LibraryElement#parts2.2.17.0 since this is the minimum selectable
(and testable) sdk.package:analyzer.Fix a new case of InconsistentAnalysisException errors that can occur with the newer analyzer.
InconsistentAnalysisException errors that can occur with
the newer analyzer.- Allow analyzer version 4.x.
Updated error messages to use dart pub instead of pub.
dart pub instead of pub.- Allow the latest analyzer.
Update usages of deprecated analyzer apis.
.dart extension as not Dart libraries. Previously
the isLibrary getter was behaving like isNotDartPartFile which included
many assets that weren't Dart at all. This is potentially breaking if any
builders were intentionally resolving files with different extensions, but
will give a more predictable result for the majority of cases.2.1.0.UriResolver.- Allow analyzer version 2.x.x.
Fix an issue where the build process would hang if the resolver fails to properly initialize.
Add more context to the outdated analyzer version message. It now provides different suggestions depending on if you are on the latest analyzer.
Update to allow package:graphs 2.0.0.
- Migrate to null-safety - Update to build 2.x.
2.x.- Allow analyzer 1.0.0.
Allow the null safe pre-release of package_config.
package_config.Allow the null safe pre-releases of all migrated deps.
Fix a potential nullability issue in the astNodeFor api.
astNodeFor api.Support the latest build package (1.6.x).
build package (1.6.x).
Future<AstNode> astNodeFor(Element, {bool resolve})
method.Allow the latest analyzer verion 0.41.x.
0.41.x.Change the error to a warning when enabling experiments with mismatched analyzer/sdk versions since this will still work for experiments with release
Fix a bug around assets that appear missing to the analyzer even when they should be visible to the build step using the resolver.
Update the exception thrown when using experiments without an exactly matching analyzer version to instead ensure that the sdk version is not ahead of
Support versions 1.5.x of the build package.
1.5.x of the build package.
compilationUnitFor method on Resolver.Migrate off of other deprecated analyzer apis.
buildSdkSummary api from the analyzer instead of the
private one.Migrate to new analyzer API for creating an SDK summary after the old approach was broken.
Fix isLibrary for unreadable assets to return false.
isLibrary for unreadable assets to return false.libraryFor to do an explicit canRead check and throw an
AssetNotFound exception if it cannot be read.Enables the non-nullable experiment when summarizing the SDK, see https://github.com/dart-lang/sdk/issues/41820.
non-nullable experiment when summarizing the SDK, see
https://github.com/dart-lang/sdk/issues/41820.enableExperiments option on AnalyzerResolvers.
withEnabledExperiments function from
package:build/experiments.dart.Pass an explicit FeatureSet to the analyzer based on the current sdk version.
FeatureSet to the analyzer based on the current sdk
version.enableExperiments to AnalyzerResolvers.~
1.3.8 and replaced with a different mechanism.Fix bug when a package has no language version (as a result of having no sdk constraint).
Create and pass a correct Packages argument to analysis driver, this enables getting the proper language version for a given LibraryElement using the
Packages argument to analysis driver, this
enables getting the proper language version for a given LibraryElement
using the languageVersionMajor and languageVersionMinor getters.Remove dependency on package_resolver.
package_resolver.featureSet argument to SummaryBuilder.build call.Clarify terminology: refer to .dart_tool/build/generated as the "artifact tree", and the normal output location as the "package path".
.dart_tool/build/generated as the "artifactImprove detection of the flutter SDK for older flutter versions.
Add an exception on trying to resolve an AssetId that is not a Dart library with libraryFor to fit the contract expressed by the doc comment on Resolv
AssetId that is not a Dart
library with libraryFor to fit the contract expressed by the doc comment on
Resolver.You can now resolve additional libraries other than those imported by the primary entrypoint.
You can now resolve additional libraries other than those imported by the primary entrypoint.
isLibrary and libraryFor methods on
Resolver, which will now resolve the provided asset if it is not already
resolved.resolver.libraries and resolver.findLibraryByName if new libraries are
discovered.Note: If using build_runner then this will also require you to upgrade
to version 4.2.0 of build_runner_core .
hide declaration to a show declaration to support a
package:analyzer change.Update to package:analyzer version 0.39.0.
package:analyzer version 0.39.0.Check the build_resolvers version as a part of sdk summary invalidation.
Check the build_resolvers version as a part of sdk summary invalidation.
Add flutters embedded sdk to the summary if available. This has the effect of making dart:ui and any future libraries available if using the flutter s
Add flutters embedded sdk to the summary if available. This has the effect of
making dart:ui and any future libraries available if using the flutter sdk
instead of the dart sdk.
Check the analyzer path before reading cached summaries in addition to the SDK version.
Check the analyzer path before reading cached summaries in addition to the SDK version.
Your coding agent can read these notes before it upgrades. Set up the MCP server →