[1.0.0-beta.53] - 2025-12-03
๐ฅ Breaking Changes
- Drop
i686-pc-windows-msvctarget support
๐ Chunk Merging Optimization
- Rolldown now automatically merges shared chunks when entries import each other (when
preserveEntrySignatureis notstrict)
Before:
entry.js โ imports โ shared.js (common chunk)
entry2.js โ imports โ shared.js
Output: 3 chunks (entry.js, entry2.js, shared.js)
After:
entry.js โ contains shared code
entry2.js โ imports โ entry.js
Output: 2 chunks (entry.js, entry2.js)๐ฅ BREAKING CHANGES
- drop
i686-pc-windows-msvctarget support (#7230) by @sapphi-red
๐ Features
- rolldown_plugin_vite_manifest: pass normalized options to
isLegacycallback (#7321) by @shulaoda - plugin/vite-resolve: add
disableCacheoption (#6763) by @sapphi-red - rolldown: export
createTokioRuntimefor tsdown (#7264) by @shulaoda - rolldown_plugin_vite_html: sync
moduleSideEffectsfor already loaded modules (#7254) by @shulaoda - rolldown_plugin_vite_html: load module scripts with side effects to prevent tree-shaking (#7244) by @shulaoda
- rolldown_plugin_vite_css_post: implement
cssScopeTofor scoped CSS tree-shaking (#7240) by @shulaoda
๐ Bug Fixes
- export default class decl __name runtime insertion (#7316) by @IWANABETHATGUY
- chunk side effects calculation (#7273) by @IWANABETHATGUY
- node:
output.generateCode.preset: 'es2015'should setoutput.generateCode.symbols: trueby default (#7314) by @sapphi-red - skip name helper for classes with static name property (#7312) by @IWANABETHATGUY
- preserve chunk imports relationship after chunk merging (#7303) by @shulaoda
- dev: make
register_modulesasync (#7289) by @hyf0 - preserve computed property in object destructuring (#7288) by @IWANABETHATGUY
- support dynamic imports with shared dependencies (#7261) by @IWANABETHATGUY
- call
defer_sync_scan_datain non-incremental build mode (#7255) by @shulaoda - optimize chunk merging for shared entry points (#7194) by @IWANABETHATGUY
- add indentation for UMD format output (#7263) by @IWANABETHATGUY
- rolldown_plugin_vite_css_post: pass options to
isLegacycallback for proper legacy detection (#7260) by @shulaoda - rolldown_plugin_vite_css_post: also detect
?inline=truequery for inlined CSS (#7245) by @shulaoda - rolldown_plugin_vite_css_post: distinguish empty CSS from no CSS (#7241) by @shulaoda
- add Windows support for t-run command (#7242) by @IWANABETHATGUY
- cjs: prevent duplicate require declarations for external modules with preserveModules (#7234) by @logaretm
- rolldown_plugin_vite_resolve: resolve from root for virtual modules (#7236) by @sapphi-red
- include entry level external modules in chunk exports (#7218) by @IWANABETHATGUY
๐ Refactor
- dev: make
removeClientasync (#7313) by @hyf0 - move chunk merging code out of code_splitting.rs (#7285) by @IWANABETHATGUY
- extract common function util for chunk merging (#7271) by @IWANABETHATGUY
- use iterative method to merge chunks (#7256) by @IWANABETHATGUY
- use concat_string! instead of string replace for generating chunk level exports (#7247) by @IWANABETHATGUY
๐ Documentation
- add warning to experimental.resolveNewUrlToAsset about JS/TS files (#7300) by @Copilot
- add sequential hook execution difference in plugin-api.md (#7308) by @Copilot
- add migration example from onwarn to onLog (#7299) by @Copilot
- add migration example for manualChunks to advancedChunks (#7298) by @Copilot
- deps: bump vitepress to fix build (#7307) by @sapphi-red
- examples & text for experimental.resolveNewUrlToAsset (#7259) by @TheAlexLichter
โก Performance
- rolldown_plugin_vite_css_post: lazily load
cssScopeTofrom JS module options (#7253) by @shulaoda - rolldown_plugin_vite_css_post: avoid unnecessary string clones in
resolve_asset_urls_in_css(#7250) by @shulaoda
๐งช Testing
- generate relative path like name in advanced chunks (#7267) by @IWANABETHATGUY
- add test case for preserveEntrySignatures with re-exports (#7279) by @IWANABETHATGUY
- add test262 integration tests (#7196) by @sapphi-red
โ๏ธ Miscellaneous Tasks
- deps: update dependency rolldown-plugin-dts to v0.18.1 (#7304) by @renovate[bot]
- enable tracing feature for napi (#7322) by @sapphi-red
- deps: update napi (#7320) by @renovate[bot]
- deps: update oxc (#7318) by @renovate[bot]
- deps: update napi (#7317) by @renovate[bot]
- deps: update oxc to v0.100.0 (#7301) by @renovate[bot]
- deps: downgrade pnpm to 10.23.0 to fix Netlify build (#7306) by @shulaoda
- add
trustPolicyExcludefor chokidar and semver (#7302) by @sapphi-red - update pnpm lockfile (#7291) by @IWANABETHATGUY
- deps: update npm packages (#7272) by @renovate[bot]
- deps: update rust crates (#7270) by @renovate[bot]
- deps: update oxc (#7262) by @renovate[bot]
- deps: update github-actions (#7269) by @renovate[bot]
- deps: update dependency dprint-typescript to v0.95.13 (#7268) by @renovate[bot]
- deps: update
html5gumto 0.8.1 (#7265) by @shulaoda - rolldown: remove unused
getModuleOptionsfromPluginContext(#7266) by @shulaoda - remove unnecessary justfile ignore (#7243) by @IWANABETHATGUY
- deps: update oxc apps (#7238) by @renovate[bot]
- add
nulto workaround https://github.com/anthropics/claude-cโฆ (#7237) by @IWANABETHATGUY - deps: update dependency valibot to v1.2.0 [security] (#7231) by @renovate[bot]
- deps: update crate-ci/typos action to v1.40.0 (#7232) by @renovate[bot]
โค๏ธ New Contributors
Co-authored-by: shulaoda 165626830+shulaoda@users.noreply.github.com