npm rolldown 1.0.0-rc.7
v1.0.0-rc.7

3 hours ago

[1.0.0-rc.7] - 2026-03-05

⚡ Smarter Code Generation Defaults

  • DCE-only minification and smart constant inlining are now enabled by default
  • Produces cleaner, smaller output bundles without requiring explicit configuration

💡 LLM-Friendly Bundle Analyzer Reports

  • New markdown output format for the bundle analyzer plugin with bundle summaries, module graphs, dependency chains, and optimization suggestions
  • Optimization suggestions now also recommend using the entriesAware option when common chunks contain modules only reachable from specific entries

💥 BREAKING CHANGES

🚀 Features

  • binding: add original getter to BindingMagicString (#8533) by @IWANABETHATGUY
  • native-magic-string: add offset property support (#8531) by @IWANABETHATGUY
  • add output.strict option to control "use strict" directive emission (#8489) by @Copilot
  • watch: expose watcher.compareContentsForPolling (#8526) by @hyf0
  • watch: use new watcher to support watch mode (#8475) by @hyf0
  • rust/watch: handle bulk-change (#8466) by @hyf0
  • add LLM-friendly markdown output format to bundle analyzer plugin (#8242) by @IWANABETHATGUY

🐛 Bug Fixes

🚜 Refactor

  • rust: use Oxc's SymbolFlags::ConstVariable instead of custom IsConst flag (#8543) by @Dunqing
  • rust: remove FacadeScoping, use Scoping::create_symbol for facade symbols (#8540) by @Dunqing
  • rust/watch: remove hacky reset_closed_for_watch_mode (#8530) by @hyf0
  • binding: return &str instead of String in filename() getter (#8534) by @IWANABETHATGUY
  • rust: remove old watch mode implementation (#8525) by @hyf0
  • rust/watch: simply watch logic in the binding layer (#8516) by @hyf0
  • rust/watch: tweak struct/function names (#8464) by @hyf0

📚 Documentation

⚡ Performance

  • string_wizard: reduce allocations and add ASCII fast paths (#8541) by @IWANABETHATGUY
  • use IndexBitSet to replace IndexVec<XXXIdx, bool> for module/stmt inclusion tracking (#8503) by @IWANABETHATGUY
  • plugin: use IndexBitSet to optimize skipped plugins checking (#8497) by @ShroXd
  • rust/tla: skip compute_tla if there is no module use TLA (#8487) by @ShroXd

🧪 Testing

  • node/watch: make watch tests run in concurrent and retry-able (#8512) by @hyf0
  • add test case for static flag tree-shaking (#8476) by @IWANABETHATGUY
  • migrate post-banner sourcemap-with-shebang to Rust (#8477) by @Copilot

⚙️ Miscellaneous Tasks

  • vscode: formatOnSave for markdown files using oxc formatter (#8536) by @minsoo-web
  • deps: update test262 submodule for tests (#8528) by @sapphi-red
  • remove retry workaround from output paths test fixtures (#8520) by @Copilot
  • docs: add Shuyuan Wang (h-a-n-a) and remove from acknowledgements (#8509) by @Copilot
  • consolidate top_level_var test cases using configVariants (#8508) by @IWANABETHATGUY
  • add s390x and ppc64le linux gnu targets (#8493) by @Brooooooklyn

◀️ Revert

  • fix(rolldown): increase tokio blocking threads size for watch mode (#8517) by @hyf0

❤️ New Contributors

Co-authored-by: shulaoda 165626830+shulaoda@users.noreply.github.com

Don't miss a new rolldown release

NewReleases is sending notifications on new releases.