NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #896 most downloaded on pub.dev
Builder implementations wrapping the dart2js and DDC compilers.
Last release 2 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
In this release, the Dart front end for the dev_compiler is changing from the [analyzer] to the common [front end][front_end]. This should unify error
In this release, the Dart front end for the dev_compiler is changing from the
analyzer to the common front end. This should unify error
messages and general consistency across platforms, as this was one of the last
compilers left still using the analyzer as a front end.
While this is intended to be a transparent change, it is likely that there will be unintended differences. Please file issues if you experience something that seems broken or not working as intended.
Previously, all files with a main that were matched by the input globs would
attempt to compile for the web. This caused an issue when there were non-web
applications in the default directories, which specifically happens a lot in the
test directory. Resolving this required custom globs in build.yaml files.
Two changes were made to help handle this issue more gracefully, in a way that
often doesn't require custom build.yaml files any more.
dart:
imports).
build.yaml than waiting for us to detect it. This may change based on
feedback.test directory to only include the
test/**.dart.browser_test.dart files (other dirs remain unchanged).
test dir and running tests that
way no longer works, as those entrypoints won't be compiled. You would need
to configure the generate_for to explicitly include test/**_test.dart
to restore that functionality (we will continue pushing on this in the
future though to restore similar functionality).build_test package will now output
<platform>_test.dart files based on your TestOn annotations, so using
those where possible will help reduce build platform support warnings as
well.package:analyzer to <0.37.0.build_root_app_summary configuration option.ddc_kernel and ddc workers under a single name (ddc)..dart.browser_test.dart files will be compiled under the
test directory, instead of all _test.dart files.
targets:
$default:
builders:
build_web_compilers|entrypoint:
generate_for:
- test/**_test.dart
- web/**.dart
use-incremental-compiler option for the build_web_compilers:ddc
builder. This is enabled by default but can be disabled if running into build
issues by setting it to false globally:global_options:
build_web_compilers:ddc:
options:
use-incremental-compiler: false
dart_sdk.js and require.js
files, which it deletes during production builds.
$sdk
package to resolve some issues with build output bloat.dartdevc as your production compiler, you will need to
disable the cleanup builder in build.yaml (globally) like this:global_options:
build_web_compilers|sdk_js_cleanup:
release_options:
enabled: false
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
- Allow build_config 0.4.x.
- Allow analyzer version 0.36.x.
Add a marker to inject code before the application main method is called.
Output a .digests file which contains transitive digests for an entrypoint.
.digests file which contains transitive digests for an entrypoint.Improved the time tracking for ddc actions by not reporting time spent waiting for a worker to be available.
Increased the upper bound for package:analyzer to <0.36.0.
package:analyzer to <0.36.0.Removed the enable_sync_async and ignore_cast_failures options for the build_web_compilers|entrypoint builder. These will no longer have any effect an
enable_sync_async and ignore_cast_failures options for the
build_web_compilers|entrypoint builder. These will no longer have any effect
and will give a build time warning if you try to use them.Support package:build_modules version 1.x.x.
package:build_modules version 1.x.x.Support package:analyzer version 0.33.x.
package:analyzer version 0.33.x.Increased the upper bound for package:analyzer to <0.35.0.
package:analyzer to <0.35.0.Track performance of different builder stages.
Removed dependency on cli_util.
Only call window.postMessage during initialization if the current context is a Window.
window.postMessage during initialization if the current context
is a Window.<base> tag is used.<base href="/.../"> tag should start and end with a / to be
used as the base url for require js.Restore new keyword for a working release on Dart 1 VM.
new keyword for a working release on Dart 1 VM.Add magic comment marker for build_runner to know where to inject live-reloading client code. This is only present when using the dartdevc compiler. (
dartdevc
compiler. (reapplied)Add magic comment marker for build_runner to know where to inject live-reloading client code. This is only present when using the dartdevc compiler.
dartdevc
compiler.Support the latest build_modules, with updated dart2js support so that it can do multiple builds concurrently and will restart workers periodically to
<3.0.0.Support package:analyzer 0.32.0.
package:analyzer 0.32.0.Expand support for package:archive to include version 2.x.x.
package:archive to include version 2.x.x.Expand support for package:build_config to include version 0.3.x.
package:build_config to include version 0.3.x.Changed the default for enable_sync_async to true for the build_web_compilers|entrypoint builder.
enable_sync_async to true for the
build_web_compilers|entrypoint builder.ignore_cast_failures to false for the
build_web_compilers|entrypoint builder.Remove .dart sources and .js.map files from the output directory in release mode.
.dart sources and .js.map files from the output directory in
release mode..tar.gz outputs produced by Dart2Js.Dart2Js outputs other than deferred part files.dartdevc compiler to detect correct base url for
require js.enable_sync_async option to the build_web_compilers|entrypoint
builder, which defaults to false.Reduce memory usage by requesting (and lazily building) lower level modules first when building for an entrypoint.
Add missing dependency on the pool package.
pool package.Fix sdk stack trace folding in the browser console and package:test.
The dartdevc compiler now respects the tags and will set them as the base url for require js.
dartdevc compiler now respects the <base href="/...."> tags and will
set them as the base url for require js.Add support for compiling with dart2js by default in release mode.
dart2js by default in release mode.Don't ignore cast failures by default. We expect most code to be clean with cast failures, and the option can be manually enabled with config.
Added support for dart2js deferred loading.
dartdevc.Use --use-old-frontend with dart2js as a stopgap until we can add support for .packages files.
--use-old-frontend with dart2js as a stopgap until we can add support
for .packages files.Create .packages file and use the new frontend with dart2js.
.packages file and use the new frontend with dart2js.Added support for --dump-info and the dart2js compiler. If you pass that argument with dart2js_args the .info.json file will be copied the output.
--dump-info and the dart2js compiler. If you pass that
argument with dart2js_args the .info.json file will be copied the output.Dart2JS now has minification (--minify) enabled by default, similar to how it worked in pub build. If you are adding custom dart2js options, make sure
--minify) enabled by default, similar to how
it worked in pub build. If you are adding custom dart2js options, make
sure you still keep the --minify flag. Here is an example:targets:
$default:
builders:
build_web_compilers|entrypoint:
generate_for:
- web/**.dart
options:
compiler: dart2js
dart2js_args:
- --fast-startup
- --minify
- --trust-type-annotations
- --trust-primitives
Cast failures will now be ignored in dartdevc by default (these were enabled in the latest sdk), and added an ignore_cast_failures option to the build
ignore_cast_failures option to the
build_web_compilers|entrypoint builder which you can set to true to enable
them.
Split ModuleBuilder, UnlinkedSummaryBuilder and LinkedSummaryBuilder into a separate build_modules package.
ModuleBuilder, UnlinkedSummaryBuilder and LinkedSummaryBuilder
into a separate build_modules package.All dart files under test are now compiled by default instead of only the _browser_test.dart files (minus vm/node test bootstrap files). This means th
test are now compiled by default instead of only the
_browser_test.dart files (minus vm/node test bootstrap files). This means
the original tests can be debugged directly (prior to package:test
bootstrapping).package:build version 0.12.0.Support the latest analyzer package.
analyzer package.Added support for dart2js. This can be configured using the top level compiler option for the build_web_compilers|entrypoint builder. The supported op
dart2js. This can be configured using the top level
compiler option for the build_web_compilers|entrypoint builder. The
supported options are dartdevc (the default) and dart2js. Args can be
passed to dart2js using the dart2js_args option. For example:targets:
<my_package>:
builders:
build_web_compilers|entrypoint:
options:
compiler: dart2js
dart2js_args:
- --minify
ddc_bootstrap builder to entrypoint, the exposed class also
changed from DevCompilerBootstrapBuilder to WebEntrypointBuilder.jsBootstrapExtension to ddcBootstrapExtension since it is only
required when using the dev compiler.Mark ddc_bootstrap builder with build_to: cache.
ddc_bootstrap builder with build_to: cache.build_web_compilersYour coding agent can read these notes before it upgrades. Set up the MCP server →