PackageTrack
Sign in Get early access

build_runner_core

Core tools to organize the structure of a build and run Builders.

9.3.2 2.4M downloads/mo #239 most downloaded on pub.dev dart-lang/build

What this package is like to depend on

Last release 11 months ago

02 Sep 2025

Release timing varies

gaps range from 8 days to 6 months

Nearly every release is documented

notes for 96 of 96 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

98 releases · first in 2018

2 releases in the last 12 months

see the full history below

Release timeline

98 releases · Jun 2018 to Sep 2025
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 98
  1. 9.3.2 02 Sep 2025
    Release notes
    • Use build 4.0.0.
    Open source →
  2. 9.3.1 02 Sep 2025
    Release notes
    • Move runBuilder to here from package:build. Please note that all of build_runner_core is intended to be internal to build_runner: the supported ways to run builders are build_runner on the command line and build_test in tests. If you need ongoing support for a different way to run builders please get in touch at https://github.com/dart-lang/build/discussions.
    • Similarly, move runPostProcessBuilder to here from package:build.
    • Use build 3.1.0.
    • Use build_runner 2.7.1.
    • Remove overrideGeneratedOutputDirectory, pubBinary.
    Open source →
  3. 9.3.0 15 Aug 2025
    Release notes
    • Add support for build.yaml triggers. See build_runner 2.7.0 for usage.
    • Remove interactive prompts for whether to delete files.
    • Ignore -d flag: always delete files as if -d was passed.
    • Bug fix: delete transitive generated outputs as well as direct generated outputs. So, a generated file now gets deleted if its input was a generated file that is no longer output.
    • Bug fix: fix crash creating a merged output dir with a file called lib.
    Open source →
  4. 9.2.1 07 Aug 2025
    Release notes
    • Use build 3.0.1.
    • Allow analyzer 8.0.0.
    Open source →
  5. 9.2.0 17 Jul 2025
    Release notes
    • Removed unused dev_deps: test_process.
    • Bug fix: fix incremental build after build with import of missing package.
    • Testing: read build configs using AssetReader so they're easier to test.
    • Use build 3.0.0.
    • Use build_resolvers 3.0.0.
    Open source →
  6. 9.2.0-dev.2 16 Jul 2025 pre-release
    Release notes
    • Removed unused dev_deps: test_process.
    • Bug fix: fix incremental build after build with import of missing package.
    • Testing: read build configs using AssetReader so they're easier to test.
    Open source →
  7. 9.2.0-dev.1 24 Jun 2025 pre-release
    Release notes
    • Use build 3.0.0-dev.1.
    • Use build_resolvers 3.0.0-dev.1.
    Open source →
  8. 9.1.2 23 Jun 2025
    Release notes
    • Bug fix: fix incremental build when previous build had package: import of a missing dep or a missing file.
    Open source →
  9. 9.1.1 20 Jun 2025
    Release notes
    • Bug fix: fix corner case with checked in generated output that could cause a crash.
    • Bug fix: during initial build cleanup, really delete files that correspond to hidden generated files.
    Open source →
  10. 9.1.0 18 Jun 2025
    Release notes
    • More detailed tracking of reads for the benefit of build_test.
    Open source →
  11. 9.0.1 17 Jun 2025
    Release notes
    • Don't log stack traces for subclasses of Exception.
    • Bug fix: don't run builders with multiple outputs once per output.
    Open source →
  12. 9.0.0 16 Jun 2025
    Release notes
    • Improved performance for large builds. More performance improvements will follow, if your workflow is affected by slow build_runner performance 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.

    Breaking changes:

    • Breaking: refactor OverridableEnvironment and IOEnvironment into BuildEnvironment
    • Breaking: add deleteDirectory to RunnerAssetWriter, make delete return Future<void>, remove deprecated OnDelete.

    Versions:

    • Bump the min SDK to 3.7.0.
    • Use build_test 3.0.0.

    Internal changes:

    • Fix crash when running on assets ending in a dot.
    • Start using `package:build/src/internal.dart'.
    • Refactor PathProvidingAssetReader to AssetPathProvider.
    • Refactor MultiPackageAssetReader to internal AssetFinder.
    • FinalizedReader no longer implements AssetReader.
    • Add internal Filesystem that backs AssetReader and AssetWriter implementations.
    • Refactor CachingAssetReader to FilesystemCache.
    • Refactor BuildCacheReader to GeneratedAssetHider.
    • Refactor FileBasedAssetReader and FileBasedAssetWriter to ReaderWriter.
    • Move BuildStepImpl to build_runner_core, use SingleStepReader directly.
    • Remove BuildCacheWriter, functionality is handled by AssetPathProvider.
    • Refactor SingleStepReader to SingleStepReaderWriter, incorporating AssetWriterSpy functionality.
    • Add NodeType to AssetNode, remove subtypes. Make mutations explicit.
    • Use built_value for AssetNode and related types, and for serialization.
    • Add details of what changed and what is built to --verbose logging.
    • New change detection algorithm.
    • Add reportUnusedAssetsForInput to BuildOptions, to listen for when a builder notifies that an asset is unused.
    • Use LibraryCycleGraphLoader to load transitive deps for analysis.
    • Track post process builder outputs separately from the main graph Instead of in postProcessAnchor nodes.
    • Compute outputs as needed instead of storing them in the asset graph.
    • Check build options for changes in the phase setup instead of storing them in the asset graph.
    • Refactor invalidation to track current build progress in Build instead of in the asset graph.
    • Track resolver dependencies as library cycle graphs.
    • Ignore deprecated analyzer API usages.
    • Store errors in the asset graph instead of separate files.
    Open source →
  13. 8.0.0 16 Dec 2024
    Release notes
    • Breaking: Add completeBuild to RunnerAssetWriter, a method expected to be called by the build system at the end of a completed build.
    • Add wrapInBatch to obtain a reader/writer pair that will batch writes before flushing them at the end of a build.
    • Bump the min sdk to 3.6.0.
    • Require analyzer ^6.9.0, allow version 7.x.
    • Fix analyzer deprecations.
    Open source →
  14. 7.3.2 30 Jul 2024
    Release notes
    • Additional fixes for pub workspace repos
    • Migrate deprecates uses of whereNotNull() to nonNulls.
    • Bump the min sdk to 3.5.0-259.0.dev.
    Open source →
  15. 7.3.1 05 Jun 2024
    Release notes
    • Support the upcoming pub workspaces feature.
    • Bump the min sdk to 3.4.0.
    • Remove some unnecessary casts and non-null assertions now that we have private field promotion.
    Open source →
  16. 7.3.0 30 Jan 2024
    Release notes
    • Bump the min sdk to 3.0.0.
    • Add integration_test as a default top level directory for sources.
    Open source →
  17. 7.2.11 25 Sep 2023
    Release notes
    • Add better error messages for incomplete package configs when creating a package graph.
    • Update to build_resolvers 2.4.0 and use the shared analyzer resolvers instance.
    Open source →
  18. 7.2.10 05 Jun 2023
    Release notes
    • Fix build script invalidation check for custom build scripts from other packages.
    Open source →
  19. 7.2.9 24 May 2023
    Release notes
    • Fix compatibility with package:logging version 1.2.0.
    Open source →
  20. 7.2.8 08 May 2023
    Release notes
    • Raise the minimum SDK constraint to 2.18.
    • Optimize BuildStep.packageConfig
    Open source →
  21. 7.2.7 25 Oct 2022
    Release notes
    • Handle generation of hidden assets in a way consistent with the definition of public assets used in other parts of the build system.
    Open source →
  22. 7.2.7+1 24 May 2023
    Release notes
    • Backport the fix for package:logging version 1.2.0.
    Open source →
  23. 7.2.6 18 Oct 2022
    Release notes
    • Add supported platforms to pubspec.
    Open source →
  24. 7.2.5 18 Oct 2022
    Release notes
    • Expand pubspec description.
    Open source →
  25. 7.2.4 13 Sep 2022
    Release notes
    • Fix some new lints.
    • Fix a bug in the LRU cache.
    • Fix a bug when manually deleting outputs of multiple output builders.
    Open source →
  26. 7.2.3 16 Dec 2021
    Release notes
    • Allow the latest analyzer.
    Open source →
  27. 7.2.2 01 Oct 2021
    Release notes
    • Fix a bug compilation bug on the 2.14 sdk.
    Open source →
  28. 7.2.1 01 Oct 2021
    Release notes
    • Drop package:pedantic dependency and replace it with package:lints.
    Open source →
  29. 7.1.0 02 Aug 2021
    Release notes
    • Support capture groups, a feature introduced in build: 2.1.0.
    Open source →
  30. 7.0.1 09 Jul 2021
    Release notes
    • Allow analyzer version 2.x.x.
    Open source →
  31. 7.0.0 20 Apr 2021
    Release notes
    • Migrate to null safety.
    • Add an early error if any output extensions overlap with any input extensions to avoid infinite loops.
    Open source →
  32. 6.1.12 12 Mar 2021
    Release notes
    • Allow build_config 0.4.7
    Open source →
  33. 6.1.11 12 Mar 2021
    Release notes
    • Update to graphs 1.x.
    • Update to build 2.x.
    • Update to build_resolvers 2.x.
    Open source →
  34. 6.1.10 18 Feb 2021
    Release notes
    • Don't count packages in dependency_overrides as immediate dependencies when building package graphs. This allows you to override transitive builder deps without accidentally applying those builders to the root package.
    Open source →
  35. 6.1.9 17 Feb 2021
    Release notes
    • Allow the latest build_config.
    Open source →
  36. 6.1.8 17 Feb 2021
    Release notes
    • Update glob to 2.x.
    Open source →
  37. 6.1.7 01 Feb 2021
    Release notes
    • Allow the null safe pre-release of package_config and watcher.
    Open source →
  38. 6.1.6 07 Jan 2021
    Release notes
    • Allow the null safe pre-releases of all migrated deps.
    Open source →
  39. 6.1.5 15 Dec 2020
    Release notes
    • Allow build version 1.6.x.
    Open source →
  40. 6.1.4 09 Dec 2020
    Release notes
    • Allow build_config version '>=0.4.1 <0.4.6'.
    • Allow yaml version '>=2.1.11 <4.0.0'.
    Open source →
  41. 6.1.3 08 Dec 2020
    Release notes
    • Allow package:json_annotation v4.x.
    Open source →
  42. 6.1.2 02 Dec 2020
    Release notes
    • Support the latest package:build_config.
    Open source →
  43. 6.1.1 19 Nov 2020
    Release notes
    • Fix a bug where canRead would throw if the package was unknown, instead of returning false.
    Open source →
  44. 6.1.0 18 Nov 2020
    Release notes
    • Require the latest build version (1.5.1).
    • Support the additional_public_assets option in build configurations.
    • Fix a bug where the server would respond with a 500 instead of a 404 for files that don't match any build filters but had previously failed.
    • Fix the generated package config to include the full output directory for the root package.
    Open source →
  45. 6.0.3 29 Sep 2020
    Release notes
    • Fix https://github.com/dart-lang/build/issues/1804.
    Open source →
  46. 6.0.2 22 Sep 2020
    Release notes
    • Require the latest build version (1.5.x).
    Open source →
  47. 6.0.1 03 Aug 2020
    Release notes
    • Add back the overrideGeneratedOutputDirectory method.
    Open source →
  48. 6.0.0 04 Jun 2020
    Release notes
    • Remove some constants and utilities which are implementation details.
    Open source →
  49. 5.2.0 11 May 2020
    Release notes
    • Dart language experiments are now tracked on the asset graph and will invalidate the build if they change.
      • Experiments are enabled for a zone by using the withEnabledExperiments function from package:build/experiments.dart.
    Open source →
  50. 5.1.0 22 Apr 2020
    Release notes
    • Add a warning if a package is missing some required placholder files, including $package$ and lib/$lib$.
    • Reduce chances for changing apparent build phases across machines with a different order of packages from package_config.json.
    Open source →
  51. 5.0.0 31 Mar 2020
    Release notes

    Breaking changes

    • PackageGraph.forPath and PackageGraph.forThisPackage are now static methods which return a Future<PackageGraph> instead of constructors.
    • PackageNode now requires a LanguageVersion.

    Other changes

    • Builds no longer depend on the contents of the package_config.json file, instead they depend only on the language versions inside of it.
      • This should help CI builds that want to share a cache across runs.
    • Improve the error message for build.yaml parsing errors, suggesting a clean build if you believe the parse error is incorrect.
    • Remove unused dev dependency on package_resolver.
    Open source →
  52. 4.5.3 25 Mar 2020
    Release notes
    • Don't throw a BuildScriptInvalidated exception on package_config.json updates unless running from snapshot.
    Open source →
  53. 4.5.2 06 Mar 2020
    Release notes
    • Don't assume the existence of a .dart_tool/package_config.json file when creating output directories.
    Open source →
  54. 4.5.1 05 Mar 2020
    Release notes
    • Don't fail if there is no .dart_tool/package_config.json file.
    Open source →
  55. 4.5.0 05 Mar 2020
    Release notes
    • Add the package_config.json file as an internal source, and invalidate builds when it changes.
    • Avoid treating AssetId paths as URIs.
    Open source →
  56. 4.4.0 05 Feb 2020
    Release notes
    • Support the auto_apply_builders target configuration added in build_config version 0.4.2.
    Open source →
  57. 4.3.0 12 Dec 2019
    Release notes
    • Add the $package$ synthetic placeholder file and update the docs to prefer using only that or lib/$lib$.
    • Add the assets directory and $package$ placeholders to the default sources allow list.
    Open source →
  58. 4.2.1 11 Dec 2019
    Release notes
    • Bug fix: Changing the root package name will no longer cause subsequent builds to fail (Issue #2566).
    Open source →
  59. 4.2.0 15 Nov 2019
    Release notes

    New Feature

    • Allow reading assets created previously by the same BuildStep.
    Open source →
  60. 4.1.0 20 Sep 2019
    Release notes
    • Add support for trimming builds based on BuildStep.reportUnusedAssets calls. See the build package for more details.
    • Include node/** in the default set of sources (when there is no target defined) for the root package.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive