NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #135 most downloaded on pub.dev
Format definition and support for parsing `build.yaml` configuration.
Last release 1 months ago
02 Sep 2026
Release timing varies
gaps range from 3 weeks to 2.2 years
Nearly every release is documented
notes for 37 of 37 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
37 releases · first in 2017
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 "artifactReject builder names with the wrong package name.
One column per quarter.
Document that --define values are parsed as JSON with a fallback.
--define values are parsed as JSON with a fallback.Add build_to key to post_process_builders. Like the builders key, it controls where the builder output is written: by default cache, the hidden build
build_to key to post_process_builders. Like the builders key, it
controls where the builder output is written: by default cache, the hidden
build cache, or source to write next to source files.Add top level key triggers. See the docs for more information.
triggers. See
the docs
for more information.yaml.Stop using deprecated JsonKey.ignore.
JsonKey.ignore.Expand pubspec description to improve pub score.
Support runsBefore global configuration for builders. This allows users to have some control over builder ordering.
runsBefore global configuration for builders. This allows users to
have some control over builder ordering.- Migrate to null safety.
Allow the latest pubspec_parse and checked_yaml.
pubspec_parse and checked_yaml.Comment out dev dependency temporarily to break source_gen/json_serializable dependency loop.
Allow package:json_annotation v4.x.
package:json_annotation v4.x.- Support the latest pkg:yaml.
pkg:yaml.Added the additional_public_assets option, which describes the assets readable when the configured package is not the root of the build.
additional_public_assets option, which describes the assets
readable when the configured package is not the root of the build.Add support for an auto_apply_builders option to the target config.
auto_apply_builders option to the target config.
true (the previous behavior), setting it to false
means all builders have to be explicitly enabled.Added optional configYamlPath parameter to BuildConfig.parse. When provided, errors reported when parsing build configuration will include the file pa
configYamlPath parameter to BuildConfig.parse. When
provided, errors reported when parsing build configuration will include
the file path.Support the latest release of package:json_annotation.
package:json_annotation.>=2.3.0.Breaking for build systems - change type of BuilderOptions fields to Map to drop dependency on build. Does not impact packages only depending on build
BuilderOptions fields to
Map<String, dynamic> to drop dependency on build. Does not impact packages
only depending on build.yaml parsing.package:build. Changes which are breaking to users - those with
build.yaml files will be indicated with a breaking major version bump.
Changed which are breaking to build system implementors - those who use the
Dart API for this package, will be indicated with a minor version bump.Add an explicit error when buildExtensions is configured to overwrite it's input.
buildExtensions is configured to overwrite it's
input.InputSet has an empty or null value in a glob
list.| separator to use : instead.Improve validation and errors when parsing build.yaml.
build.yaml.BuildConfig.globalOptions support.Increased the upper bound for the sdk to <3.0.0.
<3.0.0.Support package:json_annotation v1.
package:json_annotation v1.Support package:build version 1.x.x.
package:build version 1.x.x.Support the latest package:json_annotation.
package:json_annotation.Parsing of build.yaml files is now done with the json_serializable package and is Dart 2 compatible.
Parsing of build.yaml files is now done with the json_serializable package
and is Dart 2 compatible.
There are no changes to the build.yaml format, the following changes only
affect the imperative apis of this package.
BuildConfig
itself now have to be ran inside a build config zone, which can be done using
the runInBuildConfigZone function. This gives the context about what package
is currently being parsed, as well as what the default dependencies should be
for targets.package parameter (it is now read off the zone).The target and build_extensions keys for builder definitions are now optional and should be omitted in most cases since they are currently unused.
target and build_extensions keys for builder definitions are now
optional and should be omitted in most cases since they are currently unused.devOptions and releaseOptions on
TargetBuilderConfig.option,
devOptions, and releaseOptions to TargetBuilderConfigDefaults.defaults and generateFor fields are never null.InputSet.anything to name the input sets that don't filter out any
assets.Restore error for missing build extensions.
Restore error for missing default target.
Added post_process_builders section to build.yaml. See README.md for more information.-dev
post_process_builders section to build.yaml. See README.md for more
information.-dev$default as a dependency, i.e.:targets:
$default:
...
foo:
dependencies:
- $default
Add support for runs_before in BuilderDefinition.
runs_before in BuilderDefinition.Expose key normalization methods publicly, these include:
normalizeBuilderKeyUsagenormalizeTargetKeyUsageBug fix: Empty build.yaml files no longer fail to parse.
$default as a target name to get he package name automatically filled
in.Expand support for package:build to include version 0.12.0.
package:build to include version 0.12.0.Change the default for BuilderDefinition.buildTo to BuildTo.cache. Builders which want to operate on the source tree will need to explicitly opt in. A
BuilderDefinition.buildTo to BuildTo.cache.
Builders which want to operate on the source tree will need to explicitly opt
in. Allow this regardless of the value of autoApply and the build system
will need to filter out the builders that can't run.Add build_to option to Builder configuration.
build_to option to Builder configuration.BuildConfig.fromBuildConfigDir for cases where the package name and
dependencies are already known.TargetBuilderConfig class to configure builders applied to specific
targets.TargetBuilderConfigDefaults class for Builder authors to provide default
configuration.InputSet and change sources and generate_for to use it.BuildTarget.isDefault and related config parsing. The default will be
determined by the target which matches the package name.BuildConfigSet class. This was unused.Pubspec class. Construct BuildConfig instances with a package path
rather than an already created Pubspec instance.Add auto_apply option to Builder configuration.
auto_apply option to Builder configuration.required_inputs option to Builder configuration.is_optional option to Builder configuration.Initial release - pulled from package:dazel. Updated to support build_extensions instead of input_extension and output_extensions.
package:dazel. Updated to support
build_extensions instead of input_extension and output_extensions.Your coding agent can read these notes before it upgrades. Set up the MCP server →