NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #850 most downloaded on pub.dev
Utilities for writing unit tests of Builders.
Last release today
07 Oct 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 58 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
118 releases · first in 2016
Use build_runner 2.16.2.
build_runner 2.16.2.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 "artifactbuild_runner 2.16.1.One column per quarter.
Use build_runner 2.16.0. Allow package_config 3.x.
build_runner 2.16.0.package_config 3.x.Add visibleOutputPostProcessBuilders to testBuilders.
visibleOutputPostProcessBuilders to testBuilders.build_runner 2.15.3.Allow analyzer 14.x, require 13.3.0.
analyzer 14.x, require 13.3.0.- Use build_runner 2.15.1. - Require Dart 3.8.0.
build_runner 2.15.1.Remove enableLowResourceMode parameters as there is no longer a low resource mode.
build_runner 2.15.0.enableLowResourceMode parameters as there is no longer a low resource
mode.analyzer 13.0.0.- Use build_runner 2.14.1.
build_runner 2.14.1.- Use build_runner 2.14.0.
build_runner 2.14.0.- Use build_runner 2.13.1.
build_runner 2.13.1.- Use build_runner 2.13.0.
build_runner 2.13.0.- Use build_runner 2.12.2.
build_runner 2.12.2.- Use build_runner 2.12.1.
build_runner 2.12.1.- Use build_runner 2.12.0.
build_runner 2.12.0.- Use build_runner 2.11.1.
build_runner 2.11.1.Add documentation about reading generated assets as String using TestReaderWriter and testBuilder with flattenOutput.
String using
TestReaderWriter and testBuilder with flattenOutput.resolveSources with readAllSourcesFromFilesystem,
skip reading real asset_graph.json files. This prevents the test build from
deleting, in RAM only, generated outputs of the real build.build_runner 2.11.0.- Use build_runner 2.10.5.
build_runner 2.10.5.- Use build_runner 2.10.4.
build_runner 2.10.4.- Use build_runner 2.10.3.
build_runner 2.10.3.- Use build_runner 2.10.2.
build_runner 2.10.2.- Use build_runner 2.10.1.
build_runner 2.10.1.Improve TestBuilderResult: add succeeded, outputs and errors. Deprecate buildResult in favor of these new members.
TestBuilderResult: add succeeded, outputs and errors.
Deprecate buildResult in favor of these new members.verbose to testBuilders and related methods. Like the command line
flag it enables info logging from builders.flattenOutput to testBuilders. Use it for a less realistic but simpler
build in which generated outputs are always written directly to each package
instead of "hidden" output being written to .dart_tool/build/generated.- Use build_runner 2.9.0. - Use build 4.0.1.
build_runner 2.9.0.build 4.0.1.Support post process builders in testBuilders. And, add appliesBuilders so that builders can apply post process builders.
testBuilders. And, add appliesBuilders
so that builders can apply post process builders.testBuilderFactories: like testBuilders, but provide the builder
factories instead of the builders. Use this to allow config read from
build.yaml to be passed in to the factory.TestBuilder now accepts a name: this is the name that will be shown
in logging and can be used to refer to the builder in build.yaml.resolveSources and testBuilders, stop
builders reading from .dart_tool.testBuilders, configure the root package correctly when it
has no sources.build_runner_core 9.4.0.build_resolvers.build_runner_core.- 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.- Use build 3.0.2. - Use build_runner 2.7.0. - Documentation revamp.
build 3.0.2.build_runner 2.7.0.- Use build 3.0.1. - Allow analyzer 8.0.0.
build 3.0.1.analyzer 8.0.0.Read build configs using AssetReader so they're easier to test: you can now pass in build.yaml like any other asset.
AssetReader so they're easier to test: you can now
pass in build.yaml like any other asset.testBuilder or
resolveSource call outside a test.async, convert.collection.resolveSources and testBuilders that are in
the same package as explicitly-passed test inputs are now loaded if they
match the default globs, such as lib/**, instead of ignored. This more
closely matches version 2 behavior.build 3.0.0.build_resolvers 3.0.0.Read build configs using AssetReader so they're easier to test: you can now pass in build.yaml like any other asset.
AssetReader so they're easier to test: you can now
pass in build.yaml like any other asset.testBuilder or
resolveSource call outside a test.async, convert.collection.Files loaded from disk for resolveSources and testBuilders that are in the same package as explicitly-passed test inputs are now loaded if they match
resolveSources and testBuilders that are in
the same package as explicitly-passed test inputs are now loaded if they
match the default globs, such as lib/**, instead of ignored. This more
closely matches version 2 behavior.Use build_resolvers 3.0.0-dev.1.
build 3.0.0-dev.1.build_resolvers 3.0.0-dev.1.Nothing published for this version
Fixes when passing a readerWriter to testBuilders: don't count initial assets as outputs; do set up packages for initial assets; only apply builders t
readerWriter to testBuilders: don't count initial
assets as outputs; do set up packages for initial assets; only apply builders
to packages mentioned in sourceAssets.readAllSourcesFromFilesystem parameter to resolveSources. Set it to
true to make the method behave as it did in build_test 2.2.0.resolveSources error handling.Nothing published for this version
Add inputsTrackedFor and resolverEntrypointsTrackedFor to ReaderWriterTesting, so tests can determine what each build step read and resolved.
inputsTrackedFor and resolverEntrypointsTrackedFor to
ReaderWriterTesting, so tests can determine what each build step
read and resolved.loadIsolateSources to ReaderWriterTesting. It loads all real
sources visible to the test into memory.testBuilder default onLog now works outside of tests: it falls
back to print instead of crashing.README.md.Breaking change: removed tearDown parameter to resolveSources for keeping resolvers across multiple tests.
Breaking changes:
tearDown parameter to resolveSources for
keeping resolvers across multiple tests.TestReaderWriter instead of
InMemoryAssetReader and InMemoryAssetWriter.testBuilder no longer accepts a reader and a writer.
Instead it returns a TestBuilderResult with the TestReaderWriter
that was used.resolveSources no longer automatically reads non-input
files from the filesystem; specify explicitly which non-input files the
test should read in nonInputsToReadFromFilesystem.MultiAssetReader. Load the source into one
TestReaderWriter instead.TestReaderWriter.assetsRead does not take into account
details of the build, it's just what was actually read. Use
TestReaderWriter.inputsTracked for what was recorded as an input. Note that
resolver entrypoints are now tracked separately from inputs, see
TestReaderWriter.resolverEntrypointsTracked.StubAssetReader. Use TestReaderWriter instead.Other user-visible changes:
resolveSources and testBuilder now do a full build_runner build, with
configuration as much as possible based on the some parameters.testBuilders to run a test build with multiple builders.optionalBuilders to testBuilders to have some builders be optional.visibleOutputBuilders to testBuilders to have some builders write
their output next to their inputs.testingBuilderConfig to testBuilders to control builder config
override.resolvers parameter to testBuild and testBuilders.readerWriter and enableLowResourceMode parameters to testBuild
and testBuilders.TestReaderWriter writes and deletes are notified to FakeWatcher.TestReaderWriter tracks assetsWritten.resolveSources.Versions:
build_runner_core 9.0.0.Internal changes:
package:build/src/internal.dart.BuildCacheReader to BuildCacheAssetPathProvider.FileBasedAssetReader and FileBasedAssetWriter to ReaderWriter.- Bump the min sdk to 3.6.0. - Allow analyzer version 7.x.
Support the latest version of package:test_core.
package:test_core.Avoid passing a nullable value to Future.value.
Future.value.Forward logs from testBuilder to printOnFailure by default.
testBuilder to printOnFailure by default.Allow the latest test_core (version 5.x).
Fix bug in package config file loading.
- Allow the latest analyzer.
Update pub run references to dart run.
pub run references to dart run.Use allowedOutputs in TestBuilder instead of computing them again.
allowedOutputs in TestBuilder instead of computing them again.Allow the latest package:test_core.
package:test_core.- Allow analyzer version 2.x.x.
Migrate internal builders of this package to null safety
Migrate package:build_test/build_test.dart to null safety.
package:build_test/build_test.dart to null safety.2.x.2.x.- Update to analyzer 1.x. - Update to glob 2.x.
1.x.2.x.Allow the null safe pre-release version of html.
html.Allow the null safe pre-release version of package_config and watcher.
package_config and watcher.Allow the null safe pre-release version of stream_transform.
stream_transform.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 "artifactPackageAssetReader.findAssets when passed a non-existing package name.crypto, glob,
logging, and package_config.Fix the test/index.html not generating by default.
test/index.html not generating by default.Use $package$ placeholder instead of $test$.
Allow build version 1.6.x.
Use $package$ placeholder instead of $test$.
Add support for running generated .browser_test.dart directly instead of expecting the test runner with the query string directRun=true. It is no long
.browser_test.dart directly instead of
expecting the test runner with the query string directRun=true. It is no
longer necessary to create a build config which generates for *_test.dart
files in build_web_compilers, the default config generates for
.browser_test.dart files which are used by debug.html.Allow package:build versions through 1.5.x.
1.5.x.Improve/fix testBuilder documentation.
testBuilder documentation.Your coding agent can read these notes before it upgrades. Set up the MCP server →