- Jan 14, 2026
- Parsed from source:Jan 14, 2026
- Detected by Releasebot:Jan 14, 2026
[1.0.0-beta.60] - 2026-01-14
A sweeping release introduces default auto-discovery, clearer transformer diagnostics, output.codeSplitting, and a host of nativeMagicString enhancements plus widespread fixes and refactors across core, docs, and tests.
BREAKING CHANGES
- tsconfig: enable auto-discovery by default (#7817) by @shulaoda
Features
- distinguish transformer diagnostics from parse errors (#7872) by @shulaoda
- emit transformer warnings instead of ignoring them (#7850) by @shulaoda
- node: add output.codeSplitting option and deprecate output.advancedChunks (#7855) by @hyf0
- nativeMagicString reset (#7828) by @IWANABETHATGUY
- nativeMagicString lastChar (#7819) by @IWANABETHATGUY
- dev/lazy: inject lazy compilation runtime automatically (#7816) by @hyf0
- nativeMagicString snip (#7818) by @IWANABETHATGUY
- nativeMagicString construct with options (#7814) by @IWANABETHATGUY
- nativeMagicString clone (#7813) by @IWANABETHATGUY
- nativeMagicString insert (#7812) by @IWANABETHATGUY
- nativeMagicString slice (#7807) by @IWANABETHATGUY
- nativeMagicString trim methods (#7800) by @IWANABETHATGUY
- make closeBundle hook receive the last error (#7278) by @Copilot
Bug Fixes
- when package only contains export default, cjsDefault didn't resolve correctly (#7873) by @IWANABETHATGUY
- inline __name calls for default exports (#7862) by @IWANABETHATGUY
- improve variable renaming to avoid unnecessary shadowing in nested scopes (#7859) by @IWANABETHATGUY
- use correct index when inserting keepNames statements during export default transformation (#7853) by @IWANABETHATGUY
- transform non-static dynamic imports when dynamicImportInCjs is false (#7823) by @shulaoda
- dev/lazy: should include imported and non-executed modules in the patch (#7815) by @hyf0
- set ExportsKind to Esm when json is none object literal (#7808) by @IWANABETHATGUY
- nativeMagicString move api (#7796) by @IWANABETHATGUY
- remove unnecessary exports after merging into commong and user defined entry (#7789) by @IWANABETHATGUY
- use output.name instead of chunk.name in mixed export warning (#7788) by @Copilot
π Refactor
- generalize ParseError to OxcError with dynamic EventKind (#7868) by @shulaoda
- rust: rename advanced_chunks to manual_code_splitting (#7856) by @hyf0
- string_wizard error hanlding (#7830) by @IWANABETHATGUY
- remove experimental.disableLiveBindings option (#7820) by @sapphi-red
- node/test: run fixture tests in concurrent (#7790) by @hyf0
- move ConfigExport and RolldownOptionsFunction types to define-config (#7799) by @shulaoda
- cli: validate config after resolving and improve error message (#7798) by @shulaoda
Documentation
- rebrand (#7670) by @yyx990803
- fix incorrect default value for propertyReadSideEffects (#7847) by @Copilot
- remove options pages and redirect to reference pages (#7834) by @sapphi-red
- options: inline types to option property pages (#7831) by @sapphi-red
- options: port checks.pluginTimings content from options page to reference page (#7832) by @sapphi-red
- options: use @linkcode where possible (#7824) by @sapphi-red
- options: port content from options page to reference page (#7822) by @sapphi-red
- options: add descriptions for output options (#7821) by @sapphi-red
- options: add description for input options (#7802) by @sapphi-red
- options: add description for checks.* (#7801) by @sapphi-red
- apis: add hook graph (#7671) by @sapphi-red
π§ͺ Testing
- add all valid combination of chunk exports related test (#7851) by @IWANABETHATGUY
- enable MagicString test after api return type alignment (#7797) by @IWANABETHATGUY
- init magic-string test (#7794) by @IWANABETHATGUY
βοΈ Miscellaneous Tasks
- vite-tests: configure git user for rebase operation (#7875) by @shulaoda
- rolldown_binding: remove v3 native plugins (#7837) by @shulaoda
- rolldown_binding: allow crate-type as lib (#7866) by @Brooooooklyn
- README.md: adjust position and size of rolldown logo (#7861) by @hyf0
- deps: update test262 submodule for tests (#7857) by @sapphi-red
- deps: update oxc to v0.108.0 (#7845) by @renovate[bot]
- deps: update dependency oxlint to v1.39.0 (#7849) by @renovate[bot]
- deps: update dependency oxfmt to ^0.24.0 (#7844) by @renovate[bot]
- deps: update npm packages (#7841) by @renovate[bot]
- deps: update rust crates (#7839) by @renovate[bot]
- deps: update github-actions (#7840) by @renovate[bot]
- use workspace edition for all crates (#7829) by @IWANABETHATGUY
- deps: update dependency oxlint-tsgolint to v0.11.0 (#7827) by @renovate[bot]
- deps: update napi to v3.8.2 (#7810) by @renovate[bot]
- remove outdated snapshot files (#7806) by @shulaoda
- deps: update crate-ci/typos action to v1.42.0 (#7792) by @renovate[bot]
- Jan 7, 2026
- Parsed from source:Jan 7, 2026
- Detected by Releasebot:Jan 8, 2026
[1.0.0-beta.59] - 2026-01-07
A new release brings plugin timings thresholds, improved treeshaking, and full dynamic import support with lazy loading optimizations. It also adds an experimental chunk optimization option and fixes numerous entry, module loading, and wrapβkind issues for CJS/ESM compatibility.
Features
- plugin_timings: add 3s threshold and doc link to warning message (#7741) by @shulaoda
- improve treeshaking logic to handle empty parameter list in dynamic import .then() callbacks (#7781) by @Copilot
- dev/lazy: don't include already executed modules (#7745) by @hyf0
- dev/lazy: support dynamic import(..) (#7726) by @hyf0
- inline dynamic imports that imports statically imported modules (#7742) by @IWANABETHATGUY
- option: add experimental option to control chunk optimization (#7738) by @IWANABETHATGUY
Bug Fixes
- inline dynamic entry to user defined entry with esm wrap kind (#7783) by @IWANABETHATGUY
- use canonical namespace reference for property access (#7777) by @IWANABETHATGUY
- dynamic entry merged into common chunk with cjs and esm wrap kind (#7771) by @IWANABETHATGUY
- tla: should not await non-tla-related modules (#7768) by @hyf0
- dynamic entry captured by common chunk with CJS format (#7757) by @IWANABETHATGUY
- module_loader: mark emitted chunks as user-defined entry when already loaded (#7765) by @shulaoda
- normalize preserveModulesRoot path (#7737) by @IWANABETHATGUY
- linker: resolve race condition in side effects computation for export-star (#7728) by @camc314
Refactor
- plugin_timings: filter out plugins with duration < 1s from timing warnings (#7785) by @shulaoda
- module_loader: remove unnecessary collect before extend (#7769) by @shulaoda
- rename _id suffixes to _idx for oxc_index types (#7767) by @IWANABETHATGUY
- remove duplicate preserve_entry_signatures from AddEntryModuleMsg (#7762) by @shulaoda
- module_loader: pass user_defined_entries by reference (#7756) by @shulaoda
- dev/lazy: get proxy entry's ResolvedId correctly (#7746) by @hyf0
- simplify try_rewrite_import_expression control flow (#7753) by @IWANABETHATGUY
- module_loader: remove unnecessary dynamic import handling for runtime module (#7754) by @shulaoda
- inline __toDynamicImportESM (#7747) by @IWANABETHATGUY
- use From impl for ModuleLoaderOutput conversion (#7732) by @shulaoda
- remove duplicate fields from ModuleLoader (#7731) by @shulaoda
- tweak resolve_user_defined_entries (#7727) by @shulaoda
Documentation
- add rolldown-string reference to native MagicString compatibility section (#7778) by @Copilot
- improve comments for export star side effects handling (#7730) by @IWANABETHATGUY
Testing
- use assertion instead of console.log for some testcase (#7744) by @IWANABETHATGUY
Miscellaneous Tasks
- tweak some output.dynamicImportInCjs related rollup test results (#7776) by @sapphi-red
- mark esbuild/dce/dce_of_symbol_ctor_call as passed (#7775) by @sapphi-red
- deps: update oxc apps (#7772) by @renovate[bot]
- vite-tests: allow running on PRs with test: vite-tests label (#7770) by @shulaoda
- deps: update oxc apps (#7760) by @renovate[bot]
- deps: update rollup submodule for tests to v4.55.1 (#7763) by @sapphi-red
- deps: update test262 submodule for tests (#7764) by @sapphi-red
- deps: update oxc to v0.107.0 (#7758) by @camc314
- deps: update taiki-e/install-action action to v2.65.13 (#7751) by @renovate[bot]
- deps: update rust crates (#7750) by @renovate[bot]
- deps: update npm packages (#7749) by @renovate[bot]
- deps: update github-actions (#7748) by @renovate[bot]
- deps: update dependency oxlint-tsgolint to v0.10.1 (#7729) by @renovate[bot]
- deps: update crate-ci/typos action to v1.41.0 (#7725) by @renovate[bot]
- Dec 31, 2025
- Parsed from source:Dec 31, 2025
- Detected by Releasebot:Dec 31, 2025
[1.0.0-beta.58] - 2025-12-31
Rolldown project releases breaking changes plus new features, fixes and refactors across devtools, runtime, and docs. Expect improved stability, better error handling, and expanded type exposure with rust and JS toolchain updates.
BREAKING CHANGES
- experimental/devtools: rename InputOptions#debug to InputOptions#devtools (#7686) by @Copilot
Features
- implement target feature check in should_transform_js for raw options (#7697) by @shulaoda
- support output.dynamicImportInCjs option (#7677) by @shulaoda
- types: expose ChecksOptions type (#7653) by @sapphi-red
Bug Fixes
- export runtime helpers for cross-chunk access (#7658) by @shulaoda
- cjs namespace merging regression (#7665) by @IWANABETHATGUY
- replace panic with proper error handling for hash placeholder generation (#7661) by @shulaoda
- remove the blank line between shebang and postBanner (#7643) by @btea
- rolldown_plugin_vite_reporter: apply padding before ANSI coloring for proper size column alignment (#7649) by @shulaoda
Refactor
- rust: use StableModuleId as the map key if possible (#7718) by @hyf0
- rust: return StableModuleId instead of &str from Module#stable_id() (#7717) by @hyf0
- rust: return correct stable id of external module from Module#stable_id() (#7716) by @hyf0
- rust: introduce StableModuleId type (#7715) by @hyf0
- rust: reduce unnecessary id.as_arc_str().clone().into() (#7714) by @hyf0
- rust: remove ModuleId#resource_id and use as_arc_str directly (#7710) by @hyf0
- rust: remove unused Module#id_clone (#7709) by @hyf0
- rust: remove Module#id_as_str and use Module#id directly (#7708) by @hyf0
- consolidate namespace call analysis into import analyzer (#7657) by @IWANABETHATGUY
- rust: make ExternalModule#id have the type ModuleId (#7707) by @hyf0
- rust: rename Module#id to Module#id_as_str (#7706) by @hyf0
- rust: use ModuleId instead of raw ArcStr for ScanStageCache (#7701) by @hyf0
- simplify error propagation in cache merge (#7702) by @shulaoda
- use ModuleId as the type of ResolvedId#id (#7694) by @hyf0
- types: rename resolved_request_info.rs to resolved_id.rs and move its contents (#7687) by @hyf0
- devtools: emit data to /node_modules/.rolldown (#7692) by @hyf0
- use InvalidOption for hash placeholder generation errors (#7674) by @shulaoda
- rolldown_error: remove dependency on rolldown_utils (#7672) by @shulaoda
- use nodejs-built-in-modules v1.0.0 directly in callsites (#7667) by @Boshen
Documentation
- migrate input options content from options to auto gen docs (#7663) by @mdong1909
- create reference index page (#7659) by @mdong1909
- tweak auto-generated reference output (#7654) by @sapphi-red
- initialize auto-gen docs (#7252) by @mdong1909
Miscellaneous Tasks
- deps: update napi (#7705) by @renovate[bot]
- pin Node.js version to 24.12.0 LTS in .node-version file (#7713) by @Copilot
- update esbuild test reasons (#7703) by @sapphi-red
- deps: update crate-ci/typos action to v1.40.1 (#7696) by @renovate[bot]
- deps: update oxc to v0.106.0 (#7512) by @renovate[bot]
- js: replace dprint with oxfmt (#7214) by @Boshen
- deps: update dependency oxlint to v1.36.0 (#7691) by @renovate[bot]
- deps: update github-actions (#7679) by @renovate[bot]
- deps: update npm packages (#7680) by @renovate[bot]
- deps: update rust crates (#7678) by @renovate[bot]
- deps: update oxc resolver to v11.16.2 (#7668) by @renovate[bot]
- add API reference files to knip entry points (#7669) by @Copilot
- deps: update notify (#7651) by @sapphi-red
- add homepage field to package.json (#7648) by @trivikr
- deps: update oxc resolver to v11.16.1 (#7647) by @renovate[bot]
- deps: update rolldown-plugin-dts to 0.20.0 (#7645) by @shulaoda
- Dec 24, 2025
- Parsed from source:Dec 24, 2025
- Detected by Releasebot:Dec 24, 2025
[1.0.0-beta.57] - 2025-12-24
A new release brings breaking tsconfig changes, new warnings and unresolved import diagnostics, and performance boosts, plus bug fixes for BOM handling and export naming. It also expands diagnostics, updates testing, and tweaks docs and tooling.
π₯ BREAKING CHANGES
- tsconfig: enable project references support in manual mode (#7545) by @shulaoda
π Features
- add CANNOT_CALL_NAMESPACE warning (#7636) by @sapphi-red
- add import path for unresolved import diagnostics (#7625) by @sapphi-red
- optimize dynamic entry facade chunks by merging with common chunks when they are captured by common chunks (#7486) by @IWANABETHATGUY
π Bug Fixes
- rename __export to __exportAll to be compatible with cjs-module-lexer (#7640) by @IWANABETHATGUY
- strip UTF-8 BOM when using text loader (#7635) by @sapphi-red
- rolldown_plugin_replace: avoid crashing with invalid delimiters (#7621) by @sapphi-red
π Refactor
- export all filter functions (#7622) by @sxzz
- allow multiple help messages in diagnostics (#7624) by @sapphi-red
π Documentation
- add README.md to packages/rolldown (#7556) by @Copilot
β‘ Performance
- use fsevents on macOS for file watching (#7596) by @sapphi-red
π§ͺ Testing
- handle re-exports of external modules in CJS format (#7641) by @IWANABETHATGUY
- update integration to use vite's rolldown-canary branch (#7633) by @shulaoda
βοΈ Miscellaneous Tasks
- docs: fix Netlify ignore condition to detect docs changes across all PR commits (#7637) by @Copilot
- deps: update rollup submodule for tests to v4.54.0 (#7630) by @sapphi-red
- skip benchmarks for PRs with 'graphite: merge-when-ready' label (#7631) by @Boshen
- deps: update esbuild for tests to 0.27.2 (#7629) by @sapphi-red
- fix "update-test-dependencies" workflow (#7628) by @sapphi-red
- deps: update test262 submodule for tests (#7626) by @sapphi-red
- deps: update dependency oxlint to v1.35.0 (#7623) by @renovate[bot]
- Dec 22, 2025
- Parsed from source:Dec 22, 2025
- Detected by Releasebot:Dec 22, 2025
[1.0.0-beta.56] - 2025-12-22
Studio release rolls out breaking changes and a flurry of features and fixes across errors, dev mode, and imports. Highlights include renamed errors, new exporter/id properties, devTools tweaks, and numerous bug fixes and refactors.
π₯ BREAKING CHANGES
- rename MIXED_EXPORT error to MIXED_EXPORTS (#7565) by @sapphi-red
π Features
- rename id property to exporter in CIRCULAR_REEXPORT error (#7592) by @sapphi-red
- add ids property to CIRCULAR_DEPENDENCY error (#7591) by @sapphi-red
- node/dev: expose devMode.lazy (#7549) by @hyf0
- set log and pos properties for parseAst function errors (#7568) by @sapphi-red
- set log and pos properties for logs (#7567) by @sapphi-red
- test-dev-sever: support to manually configure port, run tests in concurrent (#7576) by @hyf0
- add exporter property to MISSING_EXPORT error (#7564) by @sapphi-red
- add id property to PARSE_ERROR error (#7563) by @sapphi-red
- support ImporterId hook filter (#7540) by @IWANABETHATGUY
π Bug Fixes
- types: better "go to definition" experience for interface OutputPlugin (#7610) by @KazariEX
- postBanner content should be placed after shebang (#7583) by @btea
- use sanitized filename for preserve modules chunk name (#7603) by @IWANABETHATGUY
- correct filter out unused cjs namespace (#7602) by @IWANABETHATGUY
- watch: property respect notify.pollInternal and notify.compareContents (#7595) by @sapphi-red
- make cleanDir work with default output directory (#7579) by @shulaoda
- merge MISSING_NAME_OPTION_FOR_UMD_EXPORT error to MISSING_NAME_OPTION_FOR_IIFE_EXPORT error (#7566) by @sapphi-red
- dev/hmr: ensure cjs modules with no exports reference correct module identifier (#7544) by @leegeunhyeok
π Refactor
- remove stable_id field from PARSE_ERROR error (#7593) by @sapphi-red
- make include_runtime_symbol reuseable after linking stage (#7580) by @IWANABETHATGUY
- rust/dev: construct the bundler within itself (#7553) by @hyf0
- rust/watcher: polish API of Watcher struct (#7551) by @hyf0
- use LinkingMetadata::stmt_info_included to check if a stmt_info is included (#7572) by @IWANABETHATGUY
- use LinkingMetadata::is_included to check if a module is included (#7571) by @IWANABETHATGUY
- store module and stmt_info is included info to module meta (#7570) by @IWANABETHATGUY
- make include_* method reunsable after linking stage (#7552) by @IWANABETHATGUY
- rust/watcher: construct the bundler within watcher itself (#7550) by @hyf0
- extract make include_runtime_symbol reusable (#7546) by @IWANABETHATGUY
βοΈ Miscellaneous Tasks
- renovate: add kill-port in ignoreDeps in renovate.json (#7619) by @sapphi-red
- deps: update rust crates (#7617) by @renovate[bot]
- deps: update npm packages (#7616) by @renovate[bot]
- deps: update github-actions (#7615) by @renovate[bot]
- ci: skip benchmark workflows on draft PRs (#7611) by @Copilot
- deps: update dependency rolldown-plugin-dts to ^0.19.0 (#7607) by @renovate[bot]
- deps: update dependency oxlint-tsgolint to v0.10.0 (#7601) by @renovate[bot]
- deps: update dependency rolldown-plugin-dts to v0.18.4 (#7599) by @renovate[bot]
- deps: update notify (#7594) by @sapphi-red
- test-dev-server: add retry mechanism to hmr-full-bundle-mode tests (#7588) by @Copilot
- deps: update napi to v3.7.1 (#7590) by @renovate[bot]
- add JSDoc documentation for memfs type (#7587) by @Copilot
- deps: update dependency oxlint to v1.34.0 (#7589) by @renovate[bot]
- move some tests in ignored-by-unsupported-features that are passing (#7569) by @sapphi-red
- deps: update dependency oxlint-tsgolint to v0.9.2 (#7582) by @renovate[bot]
- deps: update oxc resolver to v11.16.0 (#7574) by @renovate[bot]
- test/dev-server: don't run pnpm install during tests (#7560) by @hyf0
- test/dev-server: use kill-port@1 to improve performance (#7575) by @hyf0
- normalize error object to make some Rollup tests pass (#7562) by @sapphi-red
- ci: separate dev-server(hmr) tests and normal tests (#7558) by @hyf0
- ci: make native rolldown build reusable (#7557) by @hyf0
- resolve some TODOs (#7561) by @sapphi-red
β€οΈ New Contributors
- @KazariEX made their first contribution in #7610
- @leegeunhyeok made their first contribution in #7544
- Dec 17, 2025
- Parsed from source:Dec 17, 2025
- Detected by Releasebot:Dec 17, 2025
[1.0.0-beta.55] - 2025-12-17
Rolldown release brings improved validation and warnings for dynamic imports, browser build support, new postBanner and postFooter, enhanced log filtering, and broader CJS optimizations. Dozens of bug fixes and refactors boost stability and tests.
π Features
- add validation errors for incompatible inlineDynamicImports options (#7539) by @Copilot
- rolldown_plugin_vite_reporter: truncate long importer lists in ineffective dynamic import warnings (#7528) by @Copilot
- export memfs from rolldown/experimental for browser builds (#7490) by @Copilot
- implement postBanner and postFooter (#7487) by @sevenc-nanashi
- port getLogFilter helper from Rollup for advanced log filtering (#6890) by @taearls
- dev: initialize rolldown_plugin_lazy_compilation (#7488) by @hyf0
- enable experimental.transform_hires_sourcemap: 'boundary' by default (#7478) by @sapphi-red
- apply merge CJS namespace optimizations more generally (#7475) by @sapphi-red
π Bug Fixes
- avoid panic on invalid values for output.exports , output.format , output.hash_characters (#7542) by @sapphi-red
- handle proto export for module namespace correctly (#7534) by @sapphi-red
- handle proto export correctly (#7533) by @sapphi-red
- rolldown_plugin_vite_resolve: acquire resolver lock before package json resolution (#7524) by @sapphi-red
- disable syntax transform optimization for minify: 'dce-only' (#7520) by @sapphi-red
- arrow function expression keep names (#7519) by @IWANABETHATGUY
- skip symbols that are imported from other module when deconflicting module symbols (#7510) by @IWANABETHATGUY
- preserve class names in assignment expressions with keepNames option (#7491) by @IWANABETHATGUY
- accessor with decorators should be kept (#7499) by @Copilot
- rolldown_plugin_vite_reporter: support Infinity for chunk_limit (#7497) by @shulaoda
- change filename template validation errors from UNHANDLEABLE_ERROR to INVALID_OPTION (#7472) by @Copilot
- no entry found for key error when merging CJS namespace exports (#7474) by @sapphi-red
- generate output with syntax error when wrapped esm module using tla syntax (#7468) by @IWANABETHATGUY
π Refactor
- dev: rename experimental.hmr to experimental.devMode (#7527) by @hyf0
- pass addon option to rust as it is (#7526) by @hyf0
- remove unused stmtinfo meta flag (#7518) by @IWANABETHATGUY
π Documentation
- clarify closeBundle behavior (#7525) by @sapphi-red
π§ͺ Testing
- add tests for static string postBanner and postFooter (#7516) by @Copilot
- disable pluginTimings in Rust integration tests to avoid snapshot noise (#7485) by @shulaoda
- port Rollup JSX tests to crates/rolldown/tests/rollup (#7480) by @sapphi-red
- re-triage some esbuild JSX preserve tests (#7479) by @sapphi-red
- disable pluginTimings by default to avoid snapshot noise (#7471) by @shulaoda
βοΈ Miscellaneous Tasks
- mark feature that will not be supported as ignored in rollup test status (#7535) by @sapphi-red
- support banner / footer / intro / outro for config variants (#7532) by @sapphi-red
- dce/dce_of_decorators esbuild test is now passing (#7531) by @sapphi-red
- deps: update github-actions (major) (#7495) by @renovate[bot]
- deps: update npm packages (#7493) by @renovate[bot]
- add a check to verify failedReasons are updated (#7521) by @sapphi-red
- deps: update test262 submodule for tests (#7523) by @sapphi-red
- deps: update taiki-e/install-action action to v2.63.2 (#7496) by @renovate[bot]
- deps: update oxc apps (#7511) by @renovate[bot]
- deps: update oxc to v0.103.0 (#7513) by @camc314
- fix format in .github/instructions/bug-investigation.instructions.md (#7506) by @sapphi-red
- add instructions for REPL decoding (#7502) by @sapphi-red
- deps: update github-actions (#7492) by @renovate[bot]
- deps: cargo-shear v1.9.0 (#7483) by @Boshen
- deps: update dependency oxlint-tsgolint to v0.9.0 (#7484) by @renovate[bot]
- deps: update dependency oxlint-tsgolint to v0.8.6 (#7470) by @renovate[bot]
- add syntax validation for test output chunks that are not executed (#7466) by @IWANABETHATGUY
- deps: update dependency rust to v1.92.0 (#7467) by @renovate[bot]
- deps: update test262 submodule for tests (#7457) by @sapphi-red
β€οΈ New Contributors
- @sevenc-nanashi made their first contribution in #7487
- @taearls made their first contribution in #6890
- Dec 11, 2025
- Parsed from source:Dec 11, 2025
- Detected by Releasebot:Dec 12, 2025
- Modified by Releasebot:Dec 30, 2025
[1.0.0-beta.54] - 2025-12-11
Major release with new v2 implementations for rollup plugins and improved build logging. Adds timings, new error context, and prebuilt chunk support plus numerous bug fixes across JSON parsing, CJS/ESM symbols, and HMR. Includes docs, tests, and refactors for faster, more reliable builds.
π Features
- rolldown_plugin_vite_reporter: add newline after build summary for better log separation (#7458) by @shulaoda
- plugin: collect plugin hook execution timings (#7364) by @shulaoda
- test-dev-server: reload page when detecting hmr reload message (#7422) by @hyf0
- rolldown_plugin_vite_dynamic_import_vars: add transform-based v2 implementation (#7400) by @shulaoda
- rolldown_plugin_vite_import_glob: add transform-based v2 implementation (#7394) by @shulaoda
- rolldown_plugin_vite_wasm_helper: add v2 implementation (#7402) by @shulaoda
- expose error location and context fields on JS API error objects (#7341) by @Copilot
- add CIRCULAR_REEXPORT error (#7337) by @Copilot
- support emit prebuilt chunk (#7277) by @Copilot
π Bug Fixes
- preserve object key order when parse json with serde_json (#7443) by @IWANABETHATGUY
- improve JSON parsing with serde_json to emit proper diagnostic (#7442) by @IWANABETHATGUY
- deconflict external symbols in CJS modules (#7447) by @IWANABETHATGUY
- rolldown_plugin_vite_transform,rolldown_plugin_vite_resolve: enable yarnPnp option when pnp is detected (#5791) by @sapphi-red
- skip deconflicting top-level symbols for CJS modules (#7425) by @IWANABETHATGUY
- rolldown_plugin_esm_external_require: run resolveId hook before other plugins (#7426) by @shulaoda
- avoid duplicate underscores in legitimized identifiers (#7418) by @IWANABETHATGUY
- use process.on('exit') instead of signal-exit on webcontainers (#7421) by @sapphi-red
- dev: remove imports when an import is removed (#7348) by @sapphi-red
- bench: access latency.mean instead of mean in tinybench result (#7417) by @shulaoda
- path compression in symbol linking (#7392) by @IWANABETHATGUY
- rolldown_plugin_vite_resolve: add RwLock to avoid clearing cache while resolving (#7386) by @sapphi-red
- handle JSON prototype properties correctly (#7383) by @IWANABETHATGUY
- preserve entry signature strict chunk merging (#7343) by @IWANABETHATGUY
- support eliminating multiple unused dynamic imports in a single statement (#7361) by @IWANABETHATGUY
- eliminate unreachable dynamic entry (#7356) by @IWANABETHATGUY
- NormalizedInputOptions#cwd should always exists (#7360) by @hyf0
- cli: support multiple comma-separated define arguments (#7340) by @Copilot
- remove redundant symbol param in __reExport runtime helper (#7346) by @IWANABETHATGUY
- always use __export for empty namespace objects when symbols enabled (#7345) by @IWANABETHATGUY
- relax the restriction of preserveEntrySignatures when merging chunks (#7339) by @IWANABETHATGUY
π Refactor
- builtin-plugin: make config parameter required for vite plugins (#7451) by @shulaoda
- move esbuild test related scripts to scripts/src/esbuild-tests (#7377) by @sapphi-red
- rewrite gen-esbuild-test in TypeScript (#7376) by @sapphi-red
- remove unnecessary Option in current_stmt_idx (#7359) by @IWANABETHATGUY
- move more code into chunk optimizer (#7335) by @IWANABETHATGUY
π Documentation
- checks: clarify pluginTimings measures CPU time due to concurrent execution (#7448) by @shulaoda
- checks: add accuracy note to pluginTimings documentation (#7441) by @shulaoda
- development-guide: add esbuild test description (#7439) by @sapphi-red
- checks: expand pluginTimings documentation with detection mechanism (#7428) by @shulaoda
- add checks options documentation (#7427) by @shulaoda
- development-guide: add test262 integration test description (#7430) by @sapphi-red
- guide: fix grammer in getting-started (#7331) by @jakeparis
π§ͺ Testing
- rollup-tests: make --grep work and document it (#7431) by @sapphi-red
- add a way to run some test262 test cases by name (#7429) by @sapphi-red
- rolldown_plugin_vite_dynamic_import_vars: add test cases for v2 implementation (#7401) by @shulaoda
- rolldown_plugin_vite_import_glob: add test cases for v2 implementation (#7395) by @shulaoda
- triage new esbuild tests (#7405) by @sapphi-red
- hmr: delete file used (#5933) by @sapphi-red
- watch: add watchChange hook create/delete tests (#7349) by @sapphi-red
- hmr: delete file not used anymore (#5932) by @sapphi-red
- triage esbuild failed reasons (#7391) by @sapphi-red
- change esbuild tests stats and diff generation (#7379) by @sapphi-red
- dev: add continuous generate hmr patch and debounce bundle tests (#7368) by @hyf0
- add new esbuild tests (#7353) by @sapphi-red
β€οΈ New Contributors
- @sevenc-nanashi made their first contribution in #7487
- @taearls made their first contribution in #6890
- Dec 3, 2025
- Parsed from source:Dec 3, 2025
- Detected by Releasebot:Dec 9, 2025
- Modified by Releasebot:Dec 20, 2025
[1.0.0-beta.53] - 2025-12-03
A major release drops i686-pc-windows-msvc support and rolls out new Vite plugin features, runtime exports, and CSS/tree-shaking improvements. It also includes extensive bug fixes, refactors, and stability tweaks across rolldown and plugins.
BREAKING CHANGES
- drop i686-pc-windows-msvc target support (#7230) by @sapphi-red
Features
- rolldown_plugin_vite_manifest: pass normalized options to isLegacy callback (#7321) by @shulaoda
- plugin/vite-resolve: add disableCache option (#6763) by @sapphi-red
- rolldown: export createTokioRuntime for tsdown (#7264) by @shulaoda
- rolldown_plugin_vite_html: sync moduleSideEffects for 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 cssScopeTo for 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 set output.generateCode.symbols: true by 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_modules async (#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_data in 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 isLegacy callback for proper legacy detection (#7260) by @shulaoda
- rolldown_plugin_vite_css_post: also detect ?inline=true query 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 removeClient async (#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 cssScopeTo from 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 trustPolicyExclude for chokidar and semver (#7302) by @sapphi-red
- update pnpm lockfile (#7291) by @IWANABETHATGUY
- deps: update npm packages (#7272) by @renovate[bot]
New Contributors
- @logaretm made their first contribution in #7234
- Nov 26, 2025
- Parsed from source:Nov 26, 2025
- Detected by Releasebot:Dec 20, 2025
[1.0.0-beta.52] - 2025-11-26
This release highlights a breaking change to output.generatedCode.profilerNames and rolls out a broad feature set from vite-style tsconfig resolution to enhanced asset URL handling, HTML/CSS fixes, and multiple refactors. Itβs accompanied by extensive bug fixes and stability improvements aimed at faster, cleaner builds.
BREAKING CHANGES
- change output.generatedCode.profilerNames default to false (#7139) by @Copilot
Features
- support vite-style tsconfig resolution (#6873) by @shulaoda
- rolldown: oxc v0.99.0 (#7165) by @camc314
- browser: export plugins (#7210) by @sxzz
- rolldown_plugin_vite_css_post: add inline parameter to cssMinify callback (#7191) by @shulaoda
- rolldown_plugin_vite_build_import_analysis: implement render_chunk to replace VITE_IS_MODERN flag (#7178) by @shulaoda
- rolldown_plugin_utils: optimize SVG data URL encoding (#7156) by @shulaoda
- dev: replace DevEngine::hasLatestBuildOutput with DevEngine::getBundleState (#7145) by @sapphi-red
- rolldown_plugin_vite_asset_import_meta_url: support @vite-ignore comment (#7141) by @shulaoda
- rolldown_plugin_vite_asset_import_meta_url: implement static URL processing (#7140) by @shulaoda
- rolldown_plugin_vite_asset_import_meta_url: align asset_resolver logic (#7137) by @shulaoda
- rolldown_plugin_vite_asset_import_meta_url: align try_fs_resolve logic (#7136) by @shulaoda
- rolldown_plugin_vite_asset_import_meta_url: validate relative paths (#7120) by @shulaoda
- export viteAssetImportMetaUrlPlugin and add dynamic URL tests (#7119) by @shulaoda
Bug Fixes
- watch overwrite rename event on linux (#7201) by @sapphi-red
- preserve name for parenthesized anonymous default exports and arrow functions with keepNames (#7159) by @Copilot
- rolldown_plugin_vite_html: add missing async attribute for inlined entry scripts (#7202) by @shulaoda
- respect target setting in DCE to prevent modern syntax generation (#7128) by @Copilot
- rolldown_plugin_vite_html: add semicolon to import statement in CSS removal (#7200) by @shulaoda
- rolldown_plugin_vite_html: use correct CSS asset filename in HTML injection (#7199) by @shulaoda
- rolldown_plugin_vite_css_post: handle scoped package names in lib CSS filename (#7198) by @shulaoda
- rolldown_plugin_vite_html: use patched html5gum with correct span tracking (#7193) by @shulaoda
- rolldown_plugin_vite_html: handle HTML strings in script tags correctly (#7192) by @shulaoda
- handle JSON import namespace property access correctly (#7190) by @IWANABETHATGUY
- only include runtime helpers from included modules (#7183) by @IWANABETHATGUY
- rolldown_plugin_vite_html: normalize paths to use forward slashes in original_file_name (#7175) by @shulaoda
- rolldown_plugin_vite_css_post: use filename instead of reference_id for imported assets (#7174) by @shulaoda
- rolldown_plugin_vite_css_post: correct regex escaping in pure CSS chunk pruning (#7173) by @shulaoda
- rolldown_plugin_vite_html: use correct dependency path for modulepreload links (#7172) by @shulaoda
- update cur_stmt_index when processing top level statements (#7157) by @IWANABETHATGUY
- rolldown_plugin_utils: strip leading character from public asset URL (#7170) by @shulaoda
- rolldown_plugin_utils: correct runtime handling and escape single quotes in asset paths (#7168) by @shulaoda
- rolldown_plugin_utils: prevent data race in file_to_url cache (#7166) by @shulaoda
- rolldown_plugin_vite_asset_import_meta_url: correct glob pattern and query string handling in dynamic URLs (#7162) by @shulaoda
- rolldown_plugin_vite_css_post: use correct start position in magic string updates (#7158) by @shulaoda
- data race in FileEmitter::emit_file causing duplicate asset emissions (#7164) by @shulaoda
- dev: watch files even if the build failed (#7149) by @sapphi-red
- rolldown_plugin_utils: always use base64 encoding for data URLs (#7148) by @shulaoda
- preserve "default" name for anonymous default exports with keepNames (#7151) by @Copilot
- correctly handle cjs json module as entry point (#7147) by @IWANABETHATGUY
- rolldown_plugin_utils: correct reference_id parsing in render_asset_url_in_js (#7143) by @shulaoda
- rolldown_plugin_vite_asset_import_meta_url: exclude quotes from URL span (#7142) by @shulaoda
- rolldown_plugin_vite_asset_import_meta_url: use template literal for glob result indexing (#7134) by @shulaoda
- tree shake unused dynamic entry when inlineDynamicImports is enabled (#7129) by @IWANABETHATGUY
- correct return value of parse/parseSync functions (#7127) by @sapphi-red
Refactor
- rolldown_plugin_vite_transform: use oxc_resolver for tsconfig discovery (#7220) by @shulaoda
- rolldown_plugin_vite_resolve: use resolve_file for tsconfig discovery (#7216) by @shulaoda
- rolldown_plugin_utils: remove redundant ViteMetadata::get_or_insert_default() (#7189) by @shulaoda
- rolldown_plugin_utils: simplify ViteMetadata::get() to always return a value (#7188) by @shulaoda
- rolldown_utils: add guess_mime_skip_utf8_check for binary assets (#7161) by @shulaoda
- rolldown_plugin_utils: extract asset URL parsing into AssetUrlIter (#7144) by @shulaoda
- store pattern name in FilenameTemplate (#7132) by @IWANABETHATGUY
Documentation
- tsconfig: document auto-discovery mode and improve structure (#7228) by @shulaoda
- add plugin hook filter compatibility and fallback guide (#7138) by @Copilot
- update top level navigation (#7092) by @mdong1909
Testing
- add tsconfig include/exclude/files matching test cases (#6899) by @shulaoda
- vite-tests: run playwright install in case playwright binary is missing (#7226) by @sapphi-red
- watch: close watcher when an error occured in the test cases (#7225) by @sapphi-red
- watch: reject waitBuildFinished if ERROR event occurs (#7224) by @sapphi-red
βοΈ Miscellaneous Tasks
- example: revert accidental changes to basic-typescript (#7227) by @shulaoda
- deps: update oxc apps (#7212) by @renovate[bot]
- deps: update rust crates (#7204) by @renovate[bot]
- deps: update oxc_resolver_napi to 11.14.0 (#7217) by @shulaoda
- deps: update oxc_resolver (#6909) by @shulaoda
- deps: update dependency glob to v13 (#7208) by @renovate[bot]
- deps: update actions/checkout action to v6 (#7207) by @renovate[bot]
- add nul to 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
- @logaretm made their first contribution in #7234
- Nov 19, 2025
- Parsed from source:Nov 19, 2025
- Detected by Releasebot:Dec 20, 2025
[1.0.0-beta.51] - 2025-11-19
A release announces broad Vite integration changes with new prefix updates across many plugins, plus fresh features like export sync APIs and enhanced asset URL handling. Numerous bug fixes, refactors, and docs updates round out this upgrade.
BREAKING CHANGES
- rolldown_plugin_vite_react_refresh_wrapper: add vite prefix (#7086) by @shulaoda
- rolldown_plugin_vite_web_worker_post: add vite prefix (#7085) by @shulaoda
- rolldown_plugin_vite_wasm_helper: add vite prefix (#7084) by @shulaoda
- rolldown_plugin_vite_wasm_fallback: add vite prefix (#7083) by @shulaoda
- rolldown_plugin_vite_transform: add vite prefix (#7082) by @shulaoda
- rolldown_plugin_vite_reporter: add vite prefix (#7081) by @shulaoda
- rolldown_plugin_vite_module_preload_polyfill: add vite prefix (#7080) by @shulaoda
- rolldown_plugin_vite_manifest: add vite prefix (#7079) by @shulaoda
- rolldown_plugin_vite_load_fallback: add vite prefix (#7072) by @shulaoda
- rolldown_plugin_vite_json: add vite prefix (#7071) by @shulaoda
- rolldown_plugin_vite_import_glob: add vite prefix (#7070) by @shulaoda
- rolldown_plugin_vite_html_inline_proxy: add vite prefix (#7069) by @shulaoda
- rolldown_plugin_vite_dynamic_import_vars: add vite prefix (#7068) by @shulaoda
- rolldown_plugin_vite_build_import_analysis: add vite prefix (#7067) by @shulaoda
- rolldown_plugin_vite_asset_import_meta_url: add vite prefix (#7066) by @shulaoda
- rolldown_plugin_vite_alias: add vite prefix (#7065) by @shulaoda
- rolldown_plugin_vite_asset_plugin: add vite prefix (#7064) by @shulaoda
Features
- export sync APIs to experimental (#7122) by @shulaoda
- rolldown_plugin_vite_asset_import_meta_url: implement template literal support for dynamic URLs (#7118) by @shulaoda
- rolldown_plugin_vite_asset_import_meta_url: implement AST-based URL detection (#7113) by @shulaoda
- add isPathFragment validation for filename patterns (rollup compat) (#7101) by @IWANABETHATGUY
- rolldown_plugin_vite_asset_import_meta_url: align filter logic (#7103) by @shulaoda
- rolldown: oxc v0.98.0 (#6961) by @camc314
- show error contexts for unhandleable errors (#7095) by @sapphi-red
- rolldown_plugin_utils: extract get_hash utility function (#7059) by @shulaoda
- rolldown_plugin_asset: initialize CSSEntriesCache (#7015) by @shulaoda
- rolldown_plugin_vite_html: align transformIndexHtml logic (#7010) by @shulaoda
- builtin-plugin: support bindingifyViteHtmlPlugin (#7008) by @shulaoda
- impl generatedCode.symbols for reexport dynamic modules. (#6993) by @IWANABETHATGUY
- rolldown_plugin_manifest: support v2 logic (#6979) by @shulaoda
- support Node.js module.exports ESM export (#6967) by @Copilot
- change "could not clean directory" from error to warning (#6955) by @Copilot
- rolldown_binding: add context to errors thrown by plugin hooks (#6964) by @sapphi-red
Bug Fixes
- content hash should be affected by the minify behavior (#7102) by @hyf0
- canonical name not found for "__toESM" error when only named imports are used from a CJS module (#7094) by @sapphi-red
- preserve directory structure in chunk names with preserveModules (#6872) by @IWANABETHATGUY
- rolldown_plugin_asset: correct bundle deletion index calculation (#7063) by @shulaoda
- rolldown_plugin_utils: correct string slicing in render_asset_url_in_js (#7061) by @shulaoda
- rolldown_plugin_vite_html: use transformed result in asset URL handling (#7060) by @shulaoda
- rolldown_plugin_vite_html: skip redundant path resolution for processed URLs (#7058) by @shulaoda
- rolldown_plugin_vite_css_post: data race in CSS URL processing (#7055) by @shulaoda
- rolldown_plugin_vite_css_post: always compute css asset dirname in build command (#7054) by @shulaoda
- rolldown_plugin_vite_css: ensure consistent url in import and export (#7053) by @shulaoda
- rolldown_plugin_vite_css_post: use get_or_insert_default for HTMLProxyResult (#7052) by @shulaoda
- rolldown_plugin_vite_css: skip commonjs-proxy CSS requests (#7050) by @shulaoda
- rolldown_plugin_utils: correct is_css_module (#7049) by @shulaoda
- rolldown_plugin_utils: correct is_css_request (#7048) by @shulaoda
- rolldown_plugin_vite_html: use correct inline module index (#7046) by @shulaoda
- rolldown_plugin_vite_html: correct scripts url update logic (#7045) by @shulaoda
- rolldown_plugin_vite_html: fallback to original url on NotFound error (#7043) by @shulaoda
- rolldown_plugin_vite_html: move src_tasks to correct branch (#7040) by @shulaoda
- rolldown_plugin_vite_html: correct handle_style_tag_or_attribute (#7038) by @shulaoda
- builtin-plugin: add config to htmlInlineProxyPlugin (#7036) by @shulaoda
- missing CJS default export when SafelyMergeCjsNs optimization is enabled (#7006) by @Copilot
- reserve global names before deconflicting external symbols (#7022) by @IWANABETHATGUY
- rolldown_plugin_build_import_analysis: process all bundle outputs correctly (#7020) by @shulaoda
- rolldown_plugin_vite_css_post: process all bundle outputs correctly (#7019) by @shulaoda
- rolldown_plugin_vite_css_post: remove /$vite$:1/ correctly (#7018) by @shulaoda
- rolldown_plugin_vite_html: use correct span for style_urls (#7017) by @shulaoda
- rolldown_plugin_vite_html: track full element span from start to end tag (#7016) by @shulaoda
- builtin-plugin: correct viteHtmlPlugin related logic (#7013) by @shulaoda
- remove unused module namespace object exporting (#7002) by @IWANABETHATGUY
- rust/dev: allow to recover from hmr rebuild failure (#6991) by @hyf0
- rust/dev: ensure_latest_bundle_output shouldn't loop infinitely (#6974) by @hyf0
- rust/dev: DevEngine#ensure_latest_bundle_output should schedule a rebuild task if there're no queued tasks (#6968) by @hyf0
- add Symbol.toStringTag to module facades when generatedCode.symbols is enabled (#6784) by @Copilot
Refactor
- extension checking to use constant array (#7057) by @Copilot
- rust/devtools: tweak namings and introduction comments (#7028) by @hyf0
- rolldown_plugin_vite_html: use root instead of cwd (#7035) by @shulaoda
- rolldown_plugin_vite_css_post: use root instead of cwd (#7034) by @shulaoda
- rolldown_plugin_vite_css: use root instead of cwd (#7033) by @shulaoda
- rolldown_plugin_transform: use root instead of cwd (#7032) by @shulaoda
- rolldown_plugin_reporter: use root instead of cwd (#7031) by @shulaoda
- rolldown_plugin_asset: use root instead of cwd (#7030) by @shulaoda
- rolldown_plugin_html_inline_proxy: use root instead of cwd (#7029) by @shulaoda
- rust/dev: remove dead code of rolldown_dev crate (#6997) by @hyf0
- rust: move dev related code into new rolldown_dev crate (#6996) by @hyf0
- rolldown_resolver: use consistent generic parameter name Fs (#6998) by @shulaoda
- rolldown_resolver: improve resolve method clarity and documentation (#6986) by @shulaoda
- rename is_module_facade() to is_entry_point() for clarity (#6994) by @IWANABETHATGUY
- rust/dev: unwrap Result<_> from the return type of BundleCoordinator::schedule_build_if_stale (#6980) by @sapphi-red
- rolldown_resolver: reorganize impl blocks (#6984) by @shulaoda
- rolldown_resolver: extract configuration logic into separate module (#6983) by @shulaoda
- rolldown_resolver: improve error messages (#6982) by @shulaoda
- rust/dev: rename CoordinatorStatus to CoordinatorStateSnapshot (#6973) by @hyf0
- rust/dev: replace InitialBuildState with CoordinatorState (#6972) by @hyf0
- ast_scanner: derive Debug , Clone , Copy for CjsGlobalAssignmentType (#6971) by @camc314
- rust: filter out devtools specific events for normal tracing (#6965) by @hyf0
- rust/dev: replace CoordinatorMsg::HasLatestBuildOutput with GetStatus (#6960) by @hyf0
- rust/dev: ensure_current_build_finish shouldn't block the coordinator's event loop (#6959) by @hyf0
Documentation
- in-depth/directives: remove TODOs and fix code (#7112) by @sapphi-red
- clarify concepts of rolldown's test infra (#7047) by @hyf0
- contrib/style: add suggestions about choosing file names (#6989) by @hyf0
Performance
- rolldown_plugin_vite_css_post: cache CSS URL processing results (#7056) by @shulaoda
- remove unnecessary collect_vec (#6999) by @IWANABETHATGUY
Testing
- add testcase for #6880 and #6879 (#7107) by @IWANABETHATGUY
- vite-tests: use integration branch for vite compatibility tests (#7091) by @shulaoda
Miscellaneous Tasks
- deps: update dependency rolldown-plugin-dts to v0.18.1 (#7304) by @renovate[bot]
New Contributors
- @mdong1909 made their first contribution in #6929