Skip to main content


· 3 min read

This is a relatively big release but should not require any changes to your project configuration.

Node.js LTS is now 20.10 and bud.js has adopted it. We are still not doing anything that requires it but bud doctor will warn you to upgrade Node.js if you're still on 18 and will really warn you if you are using an even earlier version.

Previously, @roots/browserslist-config would update the can-i-use database as a post install script. This check has been moved into the bud.js application, running before compilation. It runs once per week and only if you have defined a browserslist property in package.json. It can be disabled by setting an environment variable (BUD_BROWSERSLIST_UPDATE=false), or with the --no-browserslist-update flag.


  • Fixes an issue where sometimes a stale error notification would persist in the browser even after it was fixed in source.
  • Fixes an issue where sometimes installations could hang when using Yarn v3+.


  • bud.addConfig: config function which accepts a path to another config file to run.
  • bud.lazy: config function to configure lazy compilation settings.


  • bud.devtool, bud.hash bud.minimize, bud.persist, and bud.runtime now accept Bud as an argument so they can be more readily combined with functions like bud.when (e.g. bud.when(bud.isDevelopment, bud.devtool)).
  • bud.hash: Now accepts the hash generation function as a string, if you want to customize it.
  • --runtime flag: now accepts a string argument (e.g. --runtime=single, --runtime=multiple). It can still be used as a boolean flag: (e.g. --runtime, --no-runtime).
  • bud build development: Help menu with keyboard shortcuts (toggle with h).
  • YML configs now support dot notation in config keys. See updated documentation.
  • bud repl: This command is now more responsive to terminal window sizing (it was previously capped at 10 rows).
  • bud clean: This command now only lists directories which it actually removed.
  • All extensions now have a done method which returns the bud instance, for better chaining.
  • General improvements to logging (--log).
  • General improvements to exception handling.
  • Code minimizers (terser, etc.) are lazy loaded only when they are used, which is a performance gain.
  • html-webpack-plugin is lazy loaded only when it is being used, which is a performance gain.

What's Changed

Full Changelog: