build_resolvers
Resolve Dart code in a Builder
3.0.4
2.4M downloads/mo
#237 most downloaded on pub.dev
dart-lang/build
What this package is like to depend on
Last release 11 months ago
02 Sep 2025
Ships unpredictably
gaps range from 8 days to 12 months
Nearly every release is documented
notes for 84 of 84 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
86 releases · first in 2018
2 releases in the last 12 months
see the full history below
Release timeline
86 releases · Feb 2018 to Sep 2025Releases
latest 60 of 86-
3.0.402 Sep 2025 -
3.0.302 Sep 2025 -
3.0.215 Aug 2025Release notes
Open source →- Use
build3.0.2. - Use
build_runner2.7.0. - Remove unused
TransitiveDigestsBuilder. - Remove unused deps:
convert,crypto.
- Use
-
3.0.107 Aug 2025 -
3.0.017 Jul 2025Release notes
Open source →- Remove unused deps:
graphs,logging,stream_transform. - Breaking: use the new
element2APIs inanalyzer. 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:
-
3.0.0-dev.216 Jul 2025 pre-release -
3.0.0-dev.124 Jun 2025 pre-releaseRelease notes
Open source →- Breaking: use the new
element2APIs inanalyzer. 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.
- Breaking: use the new
-
2.5.423 Jun 2025 -
2.5.320 Jun 2025 -
2.5.218 Jun 2025 -
2.5.117 Jun 2025 -
2.5.016 Jun 2025Release notes
Open source →User-visible changes:
- Improved performance for large builds. More performance improvements
will follow, if your workflow is affected by slow
build_runnerperformance then please consider sharing details at https://github.com/dart-lang/build/discussions. - Improved logging: show what builders are running and, for long-running builders, where the time is spent.
- Bug fix: fix delay on shutdown for fast builds when the "analyzer out of date" warning is displayed.
Versions:
- Bump the min SDK to 3.7.0.
- Use
build_test3.0.0. - Use
build_runner_core9.0.0. - Start using
package:build/src/internal.dart.
Internal changes:
- Switch
BuildAssetUriResolverdependency crawl to an iterative algorithm, preventing stack overflows. - Move
BuildStepImpltobuild_runner_core, useSingleStepReaderdirectly. - Stop building
transitive_digestfiles by default. - Use
LibraryCycleGraphLoaderto load transitive deps for analysis. - Track resolver dependencies as library cycle graphs.
- Ignore deprecated analyzer API usages.
- Improved performance for large builds. More performance improvements
will follow, if your workflow is affected by slow
-
2.4.411 Feb 2025Release notes
Open source →- Refactor
BuildAssetUriResolverintoAnalysisDriverModelandAnalysisDriverFilesystem. Add new implementation ofAnalysisDriverModel. - Make resolver only throw
SyntaxErrorInAssetExceptionon severe syntax errors - Add
BuildAssetUriResolver.useExperimentalResolverfor--use-experimental-resolverflag. This will be removed.
- Refactor
-
2.4.316 Dec 2024Release notes
Open source →- Require the latest analyzer, and stop passing the
withNullabilityparameter which was previously required and is now deprecated. - Bump the min sdk to 3.6.0.
- Fix SDK summary reads when multiple isolates are using build resolvers (not recommended).
- Fix analyzer deprecations.
- Support analyzer version 7.x.
- Require the latest analyzer, and stop passing the
-
2.4.213 Dec 2023Release notes
Open source →- Add a builder to clean up transitive digest files from the build output.
-
2.4.129 Sep 2023Release notes
Open source →- Fix an issue where deleted files were not removed from the analysis engine, and were still accessible via the analyzer apis.
- Bump the min sdk to 3.0.0.
-
2.4.025 Sep 2023Release notes
Open source →- Deprecate the unnamed
AnalyzerResolversconstructor, an replace it with theAnalyzerResolvers.sharedInstancegetter andAnalyzerResolvers.customconstructor. These new apis enforce a 1:1 relationship between theBuildAssetUriResolverinstances andAnalyzerResolversinstances, which is necessary to ensure correct builds in the presence of multiple resolvers.
- Deprecate the unnamed
-
2.3.208 Sep 2023Release notes
Open source →- Skip file delete for SDK summary and deps file. This will only impact behavior
for usage in
build_testwhere there may be multiple resolvers used concurrently.
- Skip file delete for SDK summary and deps file. This will only impact behavior
for usage in
-
2.3.130 Aug 2023Release notes
Open source →- Fix a bug in the transitive digest builder, ensure we check if assets are readable before asking for their digest.
-
2.3.030 Aug 2023Release notes
Open source →- Improve performance for resolves by adding a builder which serializes transitive digests to disk.
-
2.2.129 Jun 2023 -
2.2.016 Feb 2023Release notes
Open source →- Add support for
CompilationUnitElementtoAnalysisResolver.astNodeFor().
- Add support for
-
2.1.027 Oct 2022Release notes
Open source →- Migrate off deprecated analyzer apis.
- Update min sdk constraint to 2.18.0.
- Return all SDK libraries in
Resolver.libraries, making the implementation consistent with the documentation.
-
2.0.1013 Sep 2022Release notes
Open source →- Migrate from
LibraryElement#partstoLibraryElement#parts2. - Update min sdk constraint to
2.17.0since this is the minimum selectable (and testable) sdk. - Use a constructor tearoff since our min sdk now supports them.
- Allow the latest
package:analyzer.
- Migrate from
-
2.0.926 May 2022Release notes
Open source →- Fix a new case of
InconsistentAnalysisExceptionerrors that can occur with the newer analyzer.
- Fix a new case of
-
2.0.814 Apr 2022 -
2.0.713 Apr 2022Release notes
Open source →- Updated error messages to use
dart pubinstead ofpub. - Add performance tracking stages to all the per-action resolver calls.
- Updated error messages to use
-
2.0.616 Dec 2021 -
2.0.519 Nov 2021Release notes
Open source →- Consider files without a
.dartextension as not Dart libraries. Previously theisLibrarygetter was behaving likeisNotDartPartFilewhich 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. - Update usages of deprecated analyzer apis.
- Require at least analyzer
2.1.0. - Support upcoming analyzer changes to
UriResolver.
- Consider files without a
-
2.0.409 Jul 2021 -
2.0.327 May 2021Release notes
Open source →- Fix an issue where the build process would hang if the resolver fails to properly initialize.
-
2.0.219 May 2021Release notes
Open source →- Add more context to the outdated analyzer version message. It now provides different suggestions depending on if you are on the latest analyzer.
-
2.0.120 Apr 2021 -
2.0.012 Mar 2021 -
1.5.417 Feb 2021 -
1.5.301 Feb 2021 -
1.5.207 Jan 2021 -
1.5.116 Dec 2020 -
1.5.015 Dec 2020Release notes
Open source →- Support the latest
buildpackage (1.6.x).- Implements the new
Future<AstNode> astNodeFor(Element, {bool resolve})method.
- Implements the new
- Support the latest
-
1.4.402 Dec 2020 -
1.4.330 Oct 2020Release notes
Open source →- Change the error to a warning when enabling experiments with mismatched analyzer/sdk versions since this will still work for experiments with release versions (such as null safety).
-
1.4.220 Oct 2020Release notes
Open source →- Fix a bug around assets that appear missing to the analyzer even when they should be visible to the build step using the resolver.
-
1.4.125 Sep 2020Release notes
Open source →- Update the exception thrown when using experiments without an exactly matching analyzer version to instead ensure that the sdk version is not ahead of the analyzer version.
-
1.4.022 Sep 2020Release notes
Open source →- Support versions
1.5.xof thebuildpackage.- Implements the
compilationUnitFormethod onResolver.
- Implements the
- Support versions
-
1.3.1110 Aug 2020Release notes
Open source →- Use the public
buildSdkSummaryapi from the analyzer instead of the private one. - Migrate off of other deprecated analyzer apis.
- Use the public
-
1.3.1006 Jul 2020Release notes
Open source →- Migrate to new analyzer API for creating an SDK summary after the old approach was broken.
-
1.3.915 May 2020Release notes
Open source →- Fix
isLibraryfor unreadable assets to returnfalse. - Fix
libraryForto do an explicitcanReadcheck and throw anAssetNotFoundexception if it cannot be read.
- Fix
-
1.3.811 May 2020Release notes
Open source →- Enables the
non-nullableexperiment when summarizing the SDK, see https://github.com/dart-lang/sdk/issues/41820. - Reverts the
enableExperimentsoption onAnalyzerResolvers.- To enable experiments you should instead run your code in an experiment
Zone using the
withEnabledExperimentsfunction frompackage:build/experiments.dart.
- To enable experiments you should instead run your code in an experiment
Zone using the
- Enables the
-
1.3.721 Apr 2020Release notes
Open source →- Pass an explicit
FeatureSetto the analyzer based on the current sdk version. - ~Add an extra option
enableExperimentstoAnalyzerResolvers.~- This was reverted in
1.3.8and replaced with a different mechanism.
- This was reverted in
- Added a warning if the current analyzers language version does not support the current SDK language version.
- Pass an explicit
-
1.3.620 Apr 2020Release notes
Open source →- Fix bug when a package has no language version (as a result of having no sdk constraint).
-
1.3.515 Apr 2020Release notes
Open source →- Create and pass a correct
Packagesargument to analysis driver, this enables getting the proper language version for a givenLibraryElementusing thelanguageVersionMajorandlanguageVersionMinorgetters.
- Create and pass a correct
-
1.3.406 Apr 2020Release notes
Open source →- Remove dependency on
package_resolver. - Add new required
featureSetargument toSummaryBuilder.buildcall.
- Remove dependency on
-
1.3.305 Feb 2020Release notes
Open source →- Fix an issue where non-existing Dart assets weren't visible to the analyzer, even when they are created later.
-
1.3.224 Jan 2020 -
1.3.109 Jan 2020Release notes
Open source →- Add an exception on trying to resolve an
AssetIdthat is not a Dart library withlibraryForto fit the contract expressed by the doc comment onResolver.
- Add an exception on trying to resolve an
-
1.3.015 Nov 2019Release notes
Open source →New feature
You can now resolve additional libraries other than those imported by the primary entrypoint.
- This is supported through the
isLibraryandlibraryFormethods onResolver, which will now resolve the provided asset if it is not already resolved. - Note: Doing this may affect the result of subsequent calls to
resolver.librariesandresolver.findLibraryByNameif new libraries are discovered.
Note: If using
build_runnerthen this will also require you to upgrade to version4.2.0ofbuild_runner_core.Other
- Changed a
hidedeclaration to ashowdeclaration to support apackage:analyzerchange.
- This is supported through the
-
1.2.229 Oct 2019 -
1.2.115 Oct 2019Release notes
Open source →Check the build_resolvers version as a part of sdk summary invalidation.
-
1.2.015 Oct 2019Release notes
Open source →Add flutters embedded sdk to the summary if available. This has the effect of making
dart:uiand any future libraries available if using the flutter sdk instead of the dart sdk. -
1.1.126 Sep 2019Release notes
Open source →Bug Fix
Check the analyzer path before reading cached summaries in addition to the SDK version.