[1.0.0-beta.38] - 2025-09-15
⚡ Windows Performance Boost
- ~10% faster bundling on Windows
- Powered by
oxc-resolveroptimizations
📦 OXC Runtime Helpers Now Embedded
- Instant loading: Memory access instead of file I/O
- 91% smaller: From 229 KB external package to ~25 KB in binary
- Universal support: Works seamlessly in all environments including browsers
- Zero dependencies: Helpers embedded directly, no
@oxc-project/runtimeneeded
Both improvements require zero configuration - just update to the latest version and enjoy! 🎉
Warning
💥 BREAKING CHANGES
🚀 Features
- rolldown: oxc v0.89.0 (#6220) by @Boshen
- rolldown_plugin_esm_external_require: add duplicate external detection (#6202) by @shulaoda
- cross module noop function optimization (#6199) by @IWANABETHATGUY
- support to specify
scan_modeinbundler.scan(#6204) by @IWANABETHATGUY - warn when transform options override tsconfig compiler options (#6197) by @shulaoda
- support
falseinresolve.aliasto ignore resolution (#6203) by @shulaoda - cli: remove
getJsonSchema(#6186) by @shulaoda - cli: add Node.js version warning for unsupported versions (#6150) by @Copilot
- rolldown_plugin_oxc_runtime: include version in virtual module paths (#6179) by @shulaoda
- add native react-refresh-wrapper plugin (#6144) by @sapphi-red
- rolldown_plugin_utils: add
to_string_literal(#6178) by @sapphi-red - improve error messages for builtin plugins (#6175) by @shulaoda
- indent module content in IIFE format (#6174) by @IWANABETHATGUY
- rolldown_error: improve N-API error handling logic (#6171) by @shulaoda
- rolldown_error: improve
ByteLocator#byte_offset(#6169) by @shulaoda - dev: skip writing to file (#6148) by @sapphi-red
- dev: add
skip_writeoption (#6151) by @sapphi-red - dev: ignore file metadata changes (#6138) by @sapphi-red
- dev: add PathsMut for debounced PollWatcher (#6139) by @sapphi-red
- dev: use PathsMut for debounced RecommendedWatcher (#6137) by @sapphi-red
- improve bundler initialization error handling (#6132) by @shulaoda
🐛 Bug Fixes
- rolldown_plugin_vite_resolve: correctly handle Windows drive paths with leading slash (#6209) by @shulaoda
- allow
jsx.pragmaFraginstead ofjsx.pragmaFlag(#6200) by @sapphi-red - improve import-glob plugin error handling without panic (#6106) by @hikomoon
- Panic with "jsx": "preserve" when rewrite a
memberExpression(#6192) by @IWANABETHATGUY - rolldown_error: use
byte_sliceinstead ofslicefor correct span handling (#6185) by @shulaoda - generate valid identifier for export names with
minifyInternalExports(#6166) by @sapphi-red - useless __export helper usage (#6160) by @IWANABETHATGUY
- incremental watch modify entry module (#6156) by @IWANABETHATGUY
- register trace subscriber (#6145) by @sapphi-red
- json imports error with
evalorargumentsin strict mode (#6140) by @IWANABETHATGUY processis not defined in repl (#6147) by @IWANABETHATGUY
💼 Other
- rolldown: support to build
rolldownwith.wasmbinding (#6153) by @hyf0 - rolldown: refactor
build.tsto prepare to support buildrolldownpackage with wasi binding (#6152) by @hyf0
🚜 Refactor
- share
FlatOptionsin whole build session (#6211) by @IWANABETHATGUY - remove unnecessary
commentsin ScopeHoistingFinalizerContext (#6205) by @IWANABETHATGUY - move external string/regex matching from JS to Rust (#6201) by @shulaoda
- rename
cross_module_inline_consttocross_module_optimization(#6193) by @IWANABETHATGUY - rename
classandfunctionvisitor toclass_decl,function_decl(#6176) by @IWANABETHATGUY - rolldown_error: tweak code (#6168) by @shulaoda
- improve
BuildDiagnostic(#6165) by @shulaoda - improve
RolldownBuild(#6136) by @shulaoda - rolldown_error: remove unused
EventKind::IoError(#6134) by @shulaoda - rename CustomPathsMut to NotifyPathsMutAdapter and move to utils (#6135) by @hyf0
📚 Documentation
- contrib-guide: add profiling instructions for macOS (#6183) by @sapphi-red
- contrib-guide: update just commands (#6181) by @sapphi-red
⚡ Performance
- pre calculate
side_effects_free_function_symbol_ref(#6206) by @IWANABETHATGUY - parallel clone ast (#6167) by @IWANABETHATGUY
- reserve capacity for rendered modules in
instantiate_chunk(#6159) by @sapphi-red
🧪 Testing
⚙️ Miscellaneous Tasks
- deps: lock file maintenance npm packages (#6219) by @renovate[bot]
- deps: lock file maintenance rust crates (#6217) by @renovate[bot]
- deps: update github-actions (#6213) by @renovate[bot]
- deps: lock file maintenance npm packages (#6215) by @renovate[bot]
- deps: update github-actions (major) (#6214) by @renovate[bot]
- tweak wordings (#6208) by @iiio2
- fix unused import warnings (#6196) by @shulaoda
- correct deprecated JSDoc reference for jsx option (#6195) by @shulaoda
- add
if: always()to wasi-test (#6190) by @sapphi-red - skip
@rolldown/browserbuild if no node related changes detected (#6189) by @sapphi-red - extract wasi build to reusable workflow (#6188) by @sapphi-red
- deps: update dependency tsdown to v0.15.1 (#6184) by @renovate[bot]
- deps: update dependency rolldown-plugin-dts to v0.16.5 (#6182) by @renovate[bot]
- deps: update dependency rolldown-plugin-dts to v0.16.4 (#6180) by @renovate[bot]
- dev: implement Debug trait for DevOptions (#6173) by @sapphi-red
- deps: update dependency rolldown-plugin-dts to v0.16.3 (#6172) by @renovate[bot]
- update @napi-rs/cli and js binding (#6157) by @Brooooooklyn
- ci: ensure
@rolldown/browserbuild without errors (#6155) by @hyf0 - ci: ensure running wasi tests correctly (#6154) by @hyf0
- add more tracing instrumentation (#6149) by @sapphi-red
- extend timeout for rollup test (#6143) by @IWANABETHATGUY
- rolldown_error: remove unnecessary
type_aliases.rs(#6133) by @shulaoda