NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #890 most downloaded on pub.dev
Builder implementations wrapping the dart2js and DDC compilers.
Last release 6 days ago
30 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
164 releases · first in 2017
Allow version 3.2.x of the Dart SDK.
Allow the latest analyzer (6.x.x).
canary option for build_web_compilers:ddc and
build_web_compilers:sdk_jsbuilders to enable canary features
in DDC. This setting is disabled by default but can be enabled
by setting it to true globally:global_options:
build_web_compilers:ddc:
options:
canary: true
build_web_compilers:sdk_js:
options:
canary: true
One column per quarter.
- Support Dart 3.1 releases.
Allow the compiler to choose the default for the native null assertions option when one is not explicitly provided.
Add support for dart:js_interop.
dart:js_interop.Drop support for unsound null safety.
Migrate off deprecated analyzer apis.
Allow the latest package:analyzer.
package:analyzer.Use a standalone process to compile the ddc sdk.js file.
Use dart compile js instead of running dart2js from its sdk snapshot.
dart compile js instead of running dart2js from its sdk snapshot.- Allow analyzer 4.x.
- Allow the latest analyzer.
Add deprecation warning for the old experiments config.
experiments config.pub run references to dart run.doctor command warnings for this package.- Allow analyzer version 2.x.x.
Add the emit-debug-symbols option for the build_web_compilers:ddc builder. The debug symbols output is used by the debugger in webdev for variable ins
emit-debug-symbols option for the build_web_compilers:ddc
builder. The debug symbols output is used by the debugger in webdev for
variable inspection. This setting is disabled by default but can be
enabled by setting it to true globally:global_options:
build_web_compilers:ddc:
options:
emit-debug-symbols: true
Update to the latest build_modules.
build_modules.skipPlatformCheckPackages.- Update to build 2.x. - Update to scratch_space 1.x.
2.x.1.x.- Update analyzer to 1.x. - Update glob to 2.x.
1.x.2.x.Allow the null safety pre-release of bazel_worker.
bazel_worker.Allow the null safety pre-release of logging.
logging.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 "artifactserve and daemon modes, source files not involved in the build are no--keep-modified-outputs and--only-check.New default output behavior: always fix incorrect generated files. For example: if you "dart run build_runner build", modify a generated file, then bu
--keep-modified-outputs. Use this to get the old outputdart run build_runner clean.--only-check, for use in continuous builds and tests. With thisbuild_runner writes nothing, but builds and compares with the filespackage_config 3.0.0.Allow the latest analyzer version 0.41.x.
0.41.x.Fix stack trace mapping for sound mode DDC tests and dart2js apps.
Add native_null_asserts boolean option to the build_web_compilers:entrypoint builder. This is disabled by default but will be enabled by default in a
native_null_asserts boolean option to the
build_web_compilers:entrypoint builder. This is disabled by default but
will be enabled by default in a later release.Fix parsing of environment config for DDC when using a bool or numeric value.
environment config for DDC when using a bool or numeric
value.sound_null_safety and null_assertions boolean options to the
build_web_compilers|entrypoint builder.Require build_modules version ^3.0.0.
build_modules version ^3.0.0.Support sound null safety in ddc/dart2js, based on the standard entrypoint detection (enable null safety if the entrypoint opts in).
build version >=1.5.0.Fix stripping scratch paths in metadata.
Add the generate-full-dill option for the build_web_compilers:ddc builder. The full dill output is used by expression evaluation service in webdev for
generate-full-dill option for the build_web_compilers:ddc
builder. The full dill output is used by expression evaluation service
in webdev for expression evaluation feature. This setting is disabled by
default but can be enabled by setting it to true globally:global_options:
build_web_compilers:ddc:
options:
generate-full-dill: true
Migrate off of deprecated analyzer apis.
build_web_compilers|ddc builder to produce a .metadata file.build_web_compilers|entrypoint builder to produce a
.ddc_merged_metadata file which consists of new line separated
.metadata content produced by DDC.0.40.x.Deprecated support for the experiments configuration in favor of the general mechanism exposed by the build package(exposed through the --enable-exper…
experiments configuration in favor of the
general mechanism exposed by the build package(exposed through the
--enable-experiment flag to match other Dart tools).Pass the package_config.json file when compiling with ddc/dart2js instead of the .packages file.
Add support for enabling experiments through the experiments option on the build_web_compilers|ddc builder. This must be configured globally.
experiments option on the
build_web_compilers|ddc builder. This must be configured globally.
--enable-experiment=<name> arguments.Enable asserts in dev mode with dart2js by default.
Fix a bug with hot restart, #2586.
- Allow analyzer version 0.39.x.
0.39.x.Added an environment option to the DevCompilerBuilder.
environment option to the DevCompilerBuilder.
environment option of the
build_web_compilers|ddc builder.Map<String, String> and is equivalent to
providing -D<key>=<value> command line arguments.Enforce builder application ordering between the SDK JS copy builder and the DDC entrypoint builder.
Fix the skipPlatformCheck option which was accidentally doing the opposite of what it claimed.
Fix the skipPlatformCheck option which was accidentally doing the opposite of what it claimed.
Use the kernel version of dart_sdk.js rather than the analyzer version.
dart_sdk.js rather than the analyzer version.Add an option to globally skip the platform checks instead of only skipping them for a set of allowed packages.
Add an option to globally skip the platform checks instead of only skipping them for a set of allowed packages.
Republish of 2.5.0 with the proper min sdk contraint.
Republish of 2.5.0 with the proper min sdk contraint.
Ignore the trackUnusedInputs option that was added in 2.5.0.
Ignore the trackUnusedInputs option that was added in 2.5.0.
This option will be respected again in the next release which will have the proper minimum sdk constraint.
Add support for dependency pruning to the DevCompilerBuilder. This should greatly improve the invalidation semantics for builds, meaning that less cod
Add support for dependency pruning to the DevCompilerBuilder. This should
greatly improve the invalidation semantics for builds, meaning that less code
will be recompiled for each edit you make.
This is enabled by default when using build_runner, and can be disabled using
the track-unused-inputs: false option if you run into issues, so in your
build.yaml it would look like this:
targets:
$default:
build_web_compilers:ddc:
options:
track-unused-inputs: false
When using the builder programatically it is disabled by default and can be
enabled by passing trackUnusedInputs: true to the DevCompilerBuilder
constructor.
Make the required assets for DDC applications configurable in the bootstrapDdc method instead of hard coded. This allows custom integrations like flut
Make the required assets for DDC applications configurable in the
bootstrapDdc method instead of hard coded. This allows custom integrations
like flutter web to not require the same assets, or require additional custom
assets.
You can now build a basic app or test in isolation by only requesting the *.dart.js file using a build filter, for example adding this argument to any
You can now build a basic app or test in isolation by only requesting the
*.dart.js file using a build filter, for example adding this argument to any
build_runner command would build the web/main.dart app only:
--build-filter=web/main.dart.js.
For tests you will need to specify the bootstrapped test file, so:
--build-filter=test/hello_world.dart.browser_test.dart.js.
Previously you also had to explicitly require the SDK resources like:
--build-filter="package:build_web_compilers/**.js" or similar.
Note: If your app relies on any non-Dart generated files you will likely have to ask for those explicitly as well with additinal filters.
Add an option to the DDC bootstrap to skip the checks around modules that have imports to unsupported SDK libraries like dart:io when the module is fr
dart:io when the module is from a
specified package. This is not used in the default build, but is available for
custom DDC integrations.- Allow analyzer version 0.38.0.
Re-publish 2.2.0 with proper minimum sdk constraint of >=2.4.0.
Revert of bad 2.2.0 release (had a bad min sdk).
Make librariesPath configurable in DevCompilerBuilder.
librariesPath configurable in DevCompilerBuilder.Add pre-emptive support for an upcoming breaking change in ddc around entrypoint naming.
- Allow analyzer version 0.37.0.
Improve error message when dart2js_args is configured improperly.
dart2js_args is configured improperly.Fix hot restart bootstrapping logic for dart scripts that live in a different directory than the html file.
Prepare for source map change from dartdevc, don't modify relative paths in source maps.
Make platformSdk, sdkKernelPath, and platform configurable in DevCompilerBuilder.
platformSdk, sdkKernelPath, and platform configurable in
DevCompilerBuilder.Prepare for the next sdk release, which changes what the uris look like for non-package sources, and breaks our existing hot restart logic.
Fix issue #2269, which could cause applications to fail to properly bootstrap.
Your coding agent can read these notes before it upgrades. Set up the MCP server →