Rolldown Release Notes

Follow

59 release notes curated from 1 source by the Releasebot Team. Last updated: Oct 14, 2026

Get this feed:
  • Oct 14, 2026
    • Date parsed from source:
      Oct 14, 2026
    • First seen by Releasebot:
      Oct 14, 2026
    Rolldown logo

    Rolldown

    [1.2.14] - 2026-10-14

    Rolldown adds configurable output character encoding and improves code-splitting, tree-shaking, source maps, and module handling. The release also fixes numerous issues in renaming, CommonJS output, and development file watching.

    ๐Ÿš€ Features

    • add output.charset option (#11194) by @sapphi-red
    • code-splitting: route independent ESM re-exports per consumer (#11177) by @hyfdev

    ๐Ÿ› Bug Fixes

    • handle output.charset: 'ascii' + output.minify: false (#11207) by @sapphi-red
    • tree-shaking: preserve initialization of wrapped ESM re-exports (#11167) by @hyfdev
    • sourcemap: preserve boundaries when tracing has no mapping (#11170) by @sapphi-red
    • strict-execution-order: account for init imports during code splitting (#11162) by @hyfdev
    • strict-execution-order: avoid eager loading through mixed re-exports (#11151) by @hyfdev
    • tree-shake expression statements that coerce known constants (#10825) by @IWANABETHATGUY
    • shim-missing-exports: shim deep namespace reads through default imports (#11184) by @IWANABETHATGUY
    • shim-missing-exports: shim missing static namespace members (#11179) by @hyfdev
    • preserve-entry-signatures: keep internal bindings out of entry exports (#11094) by @hyfdev
    • report ASSIGN_TO_IMPORT for writes to re-exported namespace members (#11148) by @IWANABETHATGUY
    • dev: keep files loaded by the HMR stage watched when the same task rebuilds (#11154) by @Brooooooklyn
    • dev: watch lazily compiled files even when a build starts first (#11152) by @Brooooooklyn
    • cjs: print a CommonJS module's top-level this as a wrapper parameter rolldown names (#11135) by @IWANABETHATGUY
    • renamer: keep fixed names off the bindings that would capture them (#11134) by @IWANABETHATGUY
    • renamer: keep an external require() local in a CJS module off the top-level names (#11133) by @IWANABETHATGUY
    • rolldown: make a repeated close() a no-op (#11142) by @Brooooooklyn
    • avoid renaming entry top-level bindings onto their nested bindings (#11122) by @IWANABETHATGUY
    • renamer: keep generated top-level names off inner bindings (#11121) by @IWANABETHATGUY

    ๐Ÿšœ Refactor

    • renamer: treat a CJS-wrapped module's root scope as an inner scope (#11130) by @IWANABETHATGUY

    ๐Ÿ“š Documentation

    • add renaming design and implementation docs (#11131) by @IWANABETHATGUY

    โšก Performance

    • ci: overlap independent setup, checks, and artifacts (#11169) by @hyfdev

    ๐Ÿงช Testing

    • dev: use dunce::canonicalize so dev engine tests pass on Windows (#11192) by @shulaoda
    • preserve-entry-signatures: cover nested dynamic imports (#11164) by @hyfdev

    โš™๏ธ Miscellaneous Tasks

    • deps: upgrade oxc to 0.154.0 (#11209) by @shulaoda
    • make Security Analysis pass again (security-action v1.0.10, serde_yaml -> saphyr) (#11197) by @Brooooooklyn
    • deps: update rollup submodule for tests to v4.64.5 (#11190) by @rolldown-guard[bot]
    • deps: update test262 submodule for tests (#11191) by @rolldown-guard[bot]
    • deps: update crate-ci/typos action to v1.51.1 (#11174) by @renovate[bot]
    • vite-tests: link the workspace rolldown into the Vite clone again (#11147) by @Brooooooklyn
    Original source
  • Oct 7, 2026
    • Date parsed from source:
      Oct 7, 2026
    • First seen by Releasebot:
      Oct 7, 2026
    Rolldown logo

    Rolldown

    [1.2.13] - 2026-10-07

    Rolldown adds stronger dev-mode hot update and file watching support, improves inline chunk deduplication, and fixes a wide range of HMR, code-splitting, export escaping, and module handling issues. It also includes performance wins and updated docs.

    ๐Ÿš€ Features

    • rolldown_plugin_vite_import_glob: follow file creation and deletion via hotUpdate (#10550) by @shulaoda
    • inline-common-chunks: deduplicate shared code along known loading paths (#11093) by @hyfdev
    • rolldown_plugin_vite_import_glob: record a matcher per glob call in dev (#10592) by @shulaoda
    • rolldown_plugin_vite_import_glob: watch the directory each glob reads (#10549) by @shulaoda
    • watch: hand watch.exclude to notify as its ignore filter (#11008) by @shulaoda
    • dev: add experimental.devMode.hotUpdate option (#11123) by @h-a-n-a

    ๐Ÿ› Bug Fixes

    • renamer: check the printed name of namespace-alias imports for captures (#11129) by @IWANABETHATGUY
    • devtools: honor devtools.sessionId by @Brooooooklyn
    • renamer: keep a renamed nested binding off its module's top-level bindings (#11128) by @IWANABETHATGUY
    • dev: keep this undefined when calling an imported function in HMR patches and lazy chunks (#11126) by @h-a-n-a
    • dev: read string-named imports correctly in HMR patches and lazy chunks (#11127) by @h-a-n-a
    • sanitize preserveModules chunk names after resolving the relative path (#11087) by @waltuov
    • keep the with clause on bare external imports (#11100) by @IWANABETHATGUY
    • generator: filter DISABLE_JS_HOOK bits from generated HookUsage (#10346) by @Brooooooklyn
    • dev: make the module factory async for top-level await (#11118) by @h-a-n-a
    • node: give each renderChunk call its own meta object (#11115) by @Brooooooklyn
    • honor externalLiveBindings for imported exports (#11048) by @camc314
    • dev: keep a late payload from replacing newer module code (#11030) by @h-a-n-a
    • binding: use-after-free in async transform with a TsconfigCache (#11080) by @shulaoda
    • fail on chunk syntax errors and escape export names once (#11051) by @hyfdev
    • dev: ship newly imported modules the client never received (#11029) by @h-a-n-a
    • code-splitting: avoid cycles from redundant re-export initialization (#11073) by @hyfdev
    • link: treat re-exports of the same external binding as one export (#11069) by @IWANABETHATGUY
    • escape namespace properties in IIFE and UMD output (#11085) by @hyfdev
    • escape dependency paths in CJS and UMD output (#11084) by @hyfdev
    • use computed access for arbitrary import names (#11083) by @hyfdev
    • generate valid bindings for shimmed exports (#11082) by @hyfdev
    • dev: reload the page when an HMR update fails after merging its edit (#11031) by @h-a-n-a
    • dev/lazy: ship the deps of a module that a patch shipped but never ran (#11028) by @h-a-n-a
    • code-splitting: don't move init calls in front of unwrapped JSON modules (#11062) by @IWANABETHATGUY
    • escape export names in defineProperty calls (#11047) by @camc314

    ๐Ÿ“š Documentation

    • say the CLI bundles multiple configs one after another (#11111) by @Brooooooklyn
    • add renderChunk hook filter docs (#11065) by @sapphi-red

    โšก Performance

    • use concat_string! instead of format! for plain string joins (#11139) by @IWANABETHATGUY
    • utils: evaluate each concat_string! argument once (#11105) by @IWANABETHATGUY
    • json: escape JSON.parse string with json-escape-simd (#11104) by @IWANABETHATGUY
    • unwrap JSON modules with a non-object root (#11066) by @IWANABETHATGUY

    ๐Ÿงช Testing

    • inline-common-chunks: fix flaky inlineCommonChunks concurrent imports (#11088) by @hyfdev

    โš™๏ธ Miscellaneous Tasks

    • deps: upgrade oxc to 0.153.0 (#11109) by @camc314
    • update pnpm to v12 (#10876) by @btea
    • deps: update pnpm to v11.28.0 (#11049) by @renovate[bot]
    • deps: update rollup submodule for tests to v4.64.0 (#11116) by @rolldown-guard[bot]
    • deps: update napi (#11137) by @renovate[bot]
    • scripts: spawn the rolldown CLI without a shell in setup-vite (#10875) by @Brooooooklyn
    • deps: bump @napi-rs/wasm-runtime to ~1.2.5 (#11117) by @shulaoda
    • deps: update napi (#11108) by @renovate[bot]
    • deps: update taiki-e/install-action action to v2.87.22 (#11096) by @renovate[bot]
    • deps: update npm packages (#11095) by @renovate[bot]
    • deps: update rust crates (#11097) by @renovate[bot]
    • deps: update napi (#11063) by @renovate[bot]
    • deps: update dependency rust to v1.99.0 (#11071) by @renovate[bot]
    • deps: update dependency vite-plus to v1 (#11056) by @renovate[bot]
    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from Rolldown and hundreds of other software products.

    Create account
  • Sep 30, 2026
    • Date parsed from source:
      Sep 30, 2026
    • First seen by Releasebot:
      Sep 30, 2026
    Rolldown logo

    Rolldown

    [1.2.12] - 2026-09-30

    Rolldown adds experimental inlineCommonChunks support, deduplicates shared code in lazy chunks, and improves dev HMR, code-splitting, and watcher behavior with several bug fixes and performance updates.

    ๐Ÿš€ Features

    • inline common chunks containing import() and deduplicate shared code in lazy chunks (#11034) by @hyfdev
    • experimental inlineCommonChunks support (#10899) by @hyfdev
    • dev: ship imported bindings for HMR partial accept (#10856) by @h-a-n-a

    ๐Ÿ› Bug Fixes

    • chunking: re-derive chunk exec orders after the runtime leaves its host chunk (#11005) by @hyfdev
    • code-splitting: gate member-read init paths on the reading statement (#11039) by @hyfdev
    • code-splitting: retain initialization paths through re-exported namespaces (#11037) by @hyfdev
    • dev: reject non-ESM output formats in dev mode (#11038) by @h-a-n-a
    • dev: align import.meta.hot.accept deps with Vite (#10997) by @h-a-n-a
    • dev: clear the resolver cache when a file is created or deleted (#10986) by @waltuov
    • error: name the resolved specifier in unresolved import diagnostics (#11014) by @linyiru
    • make entries-aware chunk merging deterministic (#11002) by @hyfdev
    • watch: avoid restarting macOS watcher for unchanged paths (#10992) by @sep2

    ๐Ÿšœ Refactor

    • dev: ship the dev runtime entry as one file (#10998) by @h-a-n-a
    • binding: remove __internalForcePanic (#10989) by @IWANABETHATGUY

    ๐Ÿ“š Documentation

    • fix cloudflare preview builds (#10996) by @sapphi-red
    • fix build config loader warning (#10994) by @sapphi-red
    • deps: use Vite 8 (#10993) by @sapphi-red

    โšก Performance

    • dev: only ship rows with dynamic edges in registerGraph (#11019) by @h-a-n-a

    ๐Ÿงช Testing

    • code-splitting: cover more re-exported namespace shapes (#11042) by @hyfdev
    • webcontainer: cover the WebContainer download fallback in plain Node (#10966) by @shulaoda
    • dev: pin the runtime entry file layout that Vite serves (#10983) by @h-a-n-a

    โš™๏ธ Miscellaneous Tasks

    • pin VOID_API_URL for the docs deploy (#11041) by @shulaoda
    • opt into the WebContainer smoke test for napi bumps and loader changes (#10967) by @shulaoda
    • deps: upgrade oxc to 0.152.0 (#11018) by @camc314
    • deps: update rust crates (#11012) by @renovate[bot]
    • deps: update npm packages (#11011) by @renovate[bot]
    • deps: update crate-ci/typos action to v1.50.3 (#11023) by @renovate[bot]
    • deps: update test262 submodule for tests (#11022) by @rolldown-guard[bot]
    • deps: update rollup submodule for tests to v4.63.5 (#11021) by @rolldown-guard[bot]
    • deps: update dependency vite-plus to v1 (#11017) by @renovate[bot]
    • deps: update github actions (#11010) by @renovate[bot]
    • remove CLAUDE.md (#10925) by @iiio2
    • verify release debug info by matching file IDs (#10988) by @IWANABETHATGUY
    • deps: update rollup submodule for tests to v4.63.4 (#10940) by @rolldown-guard[bot]

    โค๏ธ New Contributors

    • @waltuov made their first contribution in #10986
    • @linyiru made their first contribution in #11014
    • @sep2 made their first contribution in #10992
    Original source
  • Sep 24, 2026
    • Date parsed from source:
      Sep 24, 2026
    • First seen by Releasebot:
      Sep 25, 2026
    Rolldown logo

    Rolldown

    [1.2.11] - 2026-09-24

    Rolldown adds watch support that reports only file events, improves sourcemap name preservation, and refines FsWatcher event handling and mapping. The release also updates documentation and reverts one prior dev lazy-loading change.

    ๐Ÿš€ Features

    • watch: report only file events (#10974) by @shulaoda

    ๐Ÿ› Bug Fixes

    • sourcemap: preserve names through collapse_sourcemaps (#9486) by @eoin
    • watch: map metadata events by kind and missing paths as deleted (#10973) by @shulaoda

    ๐Ÿšœ Refactor

    • rolldown_fs_watcher: hand the handler file events instead of notify results (#10980) by @shulaoda
    • rolldown_fs_watcher: share one event handler adapter between the notify watchers (#10979) by @shulaoda
    • rolldown_fs_watcher: register every path with one watch mode (#10978) by @shulaoda
    • rolldown_fs_watcher: tweak the backend traits and the event mapping (#10977) by @shulaoda
    • watch: translate notify events inside FsWatcher (#10972) by @shulaoda

    ๐Ÿ“š Documentation

    • watch: update the fs watcher layout and the dev coordinator message (#10981) by @shulaoda
    • watch: document the event translation in FsWatcher (#10975) by @shulaoda

    โ—€๏ธ Revert

    • "perf(dev/lazy): fetch a lazy route in one request" (#10789) (#10982) by @h-a-n-a

    โค๏ธ New Contributors

    • @eoin made their first contribution in #9486
    Original source
  • Sep 23, 2026
    • Date parsed from source:
      Sep 23, 2026
    • First seen by Releasebot:
      Sep 23, 2026
    Rolldown logo

    Rolldown

    [1.2.10] - 2026-09-23

    Rolldown ships watcher, code-splitting, and timing report improvements, plus tree-shaking and dev build bug fixes. It also adds bundler timing checks, batches sourcemap calls for better performance, and refreshes docs and internal refactors.

    ๐Ÿš€ Features

    • rolldown_plugin_esm_external_require: prefer 'module.exports' over a namespace spread (#10901) by @isker
    • watch: support directories in addWatchFile (#10944) by @shulaoda
    • label code-splitting timing rows (#10896) by @IWANABETHATGUY
    • separate code-splitting group timing rows (#10892) by @IWANABETHATGUY
    • clarify callback owners in the timing report (#10890) by @IWANABETHATGUY
    • add checks.bundlerTimings with deprecated pluginTimings alias (#10883) by @IWANABETHATGUY

    ๐Ÿ› Bug Fixes

    • code-splitting: initialize leaves behind a re-exported namespace import (#10694) by @hyfdev
    • node: record the WASI target on the WebContainer binding fallback (#10952) by @shulaoda
    • dev: force incremental build on in DevEngine::new (#10958) by @o-alexandrov
    • tree-shaking: propagate side effects through cycles (#10893) by @IWANABETHATGUY
    • deconflict CJS locals that shadow a renamed require wrapper (#10793) by @logaretm
    • include group indexes in labeled codeSplitting timing rows (#10916) by @IWANABETHATGUY
    • docs: type-check Algolia indices option (#10934) by @shulaoda
    • docs: restore Algolia search (#10929) by @isker
    • tell code-splitting timing rows apart by position (#10903) by @IWANABETHATGUY

    ๐Ÿšœ Refactor

    • rolldown_fs_watcher: remove the single-path API (#10950) by @shulaoda
    • dev: register watch files through FsWatcher (#10949) by @shulaoda
    • watch: let FsWatcher own the watched paths (#10948) by @shulaoda
    • watch: identify watch files by normalized absolute path (#10943) by @shulaoda
    • plugin: build a plugin-resolved ResolvedId in one place (#10921) by @IWANABETHATGUY

    ๐Ÿ“š Documentation

    • dev: add HMR design, align dev docs and engine comments (#10271) by @h-a-n-a

    โšก Performance

    • batch sourcemapPathTransform calls (#10763) by @IWANABETHATGUY
    • batch sourcemapIgnoreList calls (#10762) by @IWANABETHATGUY
    • hmr: drop the unused kind argument from registerFactory (#10915) by @h-a-n-a

    ๐Ÿงช Testing

    • handle Windows paths in sourcemap callback tests (#10942) by @IWANABETHATGUY

    โš™๏ธ Miscellaneous Tasks

    • replace custom ban-expect-assertions JS lint with builtin no-restricted-properties (#10933) by @isker
    • deps: update napi (#10959) by @renovate[bot]
    • deps: upgrade oxc to 0.151.0 (#10939) by @camc314
    • deps: update test262 submodule for tests (#10941) by @rolldown-guard[bot]
    • deps: update npm packages (#10931) by @renovate[bot]
    • deps: update napi (#10928) by @renovate[bot]
    • deps: update dependency vite-plus to v0.3.3 (#10914) by @renovate[bot]
    • deps: update rust crates (#10932) by @renovate[bot]
    • deps: update github actions (#10930) by @renovate[bot]
    • deps: update dependency rolldown-plugin-dts to v0.28.6 (#10924) by @renovate[bot]
    • deps: update crate-ci/typos action to v1.50.2 (#10917) by @renovate[bot]
    • deps: update dependency @napi-rs/cli to v3.10.4 (#10913) by @renovate[bot]
    • deps: update napi (#10897) by @renovate[bot]

    โค๏ธ New Contributors

    • @o-alexandrov made their first contribution in #10958
    Original source
  • Similar to Rolldown with recent updates:

  • Sep 16, 2026
    • Date parsed from source:
      Sep 16, 2026
    • First seen by Releasebot:
      Sep 18, 2026
    Rolldown logo

    Rolldown

    [1.2.9] - 2026-09-16

    Rolldown adds a new MODULE_LEVEL_DIRECTIVE warning and ships bug fixes for CommonJS exports, top-level await handling, Windows CLI setup, bundle proxy output, and minification comments, while also improving performance in lazy routing, plugins, and sourcemap reporting.

    ๐Ÿš€ Features

    • add MODULE_LEVEL_DIRECTIVE warning (#10791) by @sapphi-red

    ๐Ÿ› Bug Fixes

    • handle CommonJS exports through top-level this (#10872) by @IWANABETHATGUY
    • scripts: make setup-vite CLI invocation work on Windows (#10885) by @shulaoda
    • remove deleted property from output bundle proxy target (#10815) by @Vladexy88x
    • treat module-scope await using as top-level await (#10739) by @MarshallOfSound
    • watch: preserve plugin attribution in warnings (#10473) by @Nic-Polumeyv
    • test-dev-server: link the workspace rolldown before building vite (#10857) by @h-a-n-a
    • minify: preserve annotation comments when minified (#10854) (#10855) by @justonemorenight

    โšก Performance

    • dev/lazy: fetch a lazy route in one request (#10789) by @h-a-n-a
    • plugin: reduce binding binary size (#10776) by @Boshen
    • vite-reporter: reuse emitted sourcemap sizes (#10841) by @hyfdev

    ๐Ÿงช Testing

    • dev: full-bundle-mode regression test for cyclic import binding (#9946) (#9947) by @ShMcK
    • cover asset option callback timings (#10870) by @IWANABETHATGUY

    โš™๏ธ Miscellaneous Tasks

    • wait for npm bindings before publishing rolldown (#10866) by @shulaoda
    • deps: update dependency @napi-rs/cli to v3.10.1 (#10889) by @renovate[bot]
    • deps: update napi (#10888) by @renovate[bot]
    • compress debug info archives with zstd (#10778) by @IWANABETHATGUY
    • publish split debug info for release bindings (#10777) by @IWANABETHATGUY
    • rolldown_utils: simplify MIME guessing and remove UTF-8 check bypass (#10884) by @shulaoda
    • add npm bugs metadata for rolldown (#9694) by @kingshuaishuai
    • deps: upgrade oxc to 0.150.0 (#10877) by @camc314
    • deps: update rust crates (#10869) by @renovate[bot]
    • deps: update dependency vite-plus to v0.3.2 (#10878) by @renovate[bot]
    • deps: update rollup submodule for tests to v4.63.3 (#10880) by @rolldown-guard[bot]
    • deps: update test262 submodule for tests (#10881) by @rolldown-guard[bot]
    • deps: update github actions (#10867) by @renovate[bot]
    • deps: update npm packages (#10868) by @renovate[bot]
    • deps: update napi to v3.12.4 (#10862) by @renovate[bot]
    • deps: update napi (#10861) by @renovate[bot]

    โค๏ธ New Contributors

    • @Vladexy88x made their first contribution in #10815
    • @MarshallOfSound made their first contribution in #10739
    • @kingshuaishuai made their first contribution in #9694
    • @ShMcK made their first contribution in #9947
    • @justonemorenight made their first contribution in #10855
    Original source
  • Sep 9, 2026
    • Date parsed from source:
      Sep 9, 2026
    • First seen by Releasebot:
      Sep 9, 2026
    Rolldown logo

    Rolldown

    [1.2.8] - 2026-09-09

    Rolldown adds a hotUpdate dev option to gate the hotUpdate hook, improves partial-scan handling and chunk import accuracy, and boosts code-splitting performance with better getModuleInfo caching. It also updates documentation and dependency versions.

    ๐Ÿš€ Features

    • dev: add hotUpdate dev option to gate the hotUpdate hook (#10837) by @h-a-n-a
    • docs: add wrangler (#10821) by @mdong1909

    ๐Ÿ› Bug Fixes

    • dev: clean stale dynamic entry references after partial scans (#10846) by @shulaoda
    • include external wildcard re-exports in OutputChunk.imports (#10845) by @isker

    ๐Ÿ“š Documentation

    • document dynamic entry cache merging after partial scans (#10848) by @shulaoda

    โšก Performance

    • cache getModuleInfo during code splitting (#10838) by @hyfdev

    ๐Ÿงช Testing

    • dev: cover stale dynamic entry references after partial scans (#10847) by @shulaoda

    โš™๏ธ Miscellaneous Tasks

    • deps: update dependency @napi-rs/cli to v3.9.0 (#10816) by @renovate[bot]
    • deps: update dependency rolldown-plugin-dts to v0.28.5 (#10827) by @renovate[bot]
    • deps: update dependency vite-plus to v0.3.1 (#10842) by @renovate[bot]
    • deps: upgrade oxc to 0.149.0 (#10834) by @camc314
    • deps: update rust crates (#10830) by @renovate[bot]
    • deps: update npm packages (#10832) by @renovate[bot]
    • deps: update crate-ci/typos action to v1.50.1 (#10824) by @renovate[bot]
    • deps: update test262 submodule for tests (#10836) by @rolldown-guard[bot]
    • deps: update github actions (#10831) by @renovate[bot]
    • deps: update dependency rust to v1.98.1 (#10819) by @renovate[bot]

    โค๏ธ New Contributors

    • @isker made their first contribution in #10845
    Original source
  • Sep 2, 2026
    • Date parsed from source:
      Sep 2, 2026
    • First seen by Releasebot:
      Sep 2, 2026
    Rolldown logo

    Rolldown

    [1.2.7] - 2026-09-02

    Rolldown fixes facade chunk handling, clarifies plugin timing warnings, and improves fold cycle checks. It also adds a circular reexport test and refreshes several dependencies and tooling updates.

    ๐Ÿ› Bug Fixes

    • rolldown_binding: make PreRenderedChunk.facadeModuleId nullable like Rollup (#10810) by @IWANABETHATGUY
    • plugin_timings: reword the warning so it does not contradict itself (#10788) by @IWANABETHATGUY
    • model a facade's host import in the fold cycle check (#10743) by @ulrichstark

    ๐Ÿงช Testing

    • dev: add circular reexport test (#10563) by @sapphi-red

    โš™๏ธ Miscellaneous Tasks

    • deps: update npm packages (#10795) by @renovate[bot]
    • deps: update rust crates (#10794) by @renovate[bot]
    • deps: update dependency rolldown-plugin-dts to v0.28.3 (#10805) by @renovate[bot]
    • renovate: disable oxc auto-updates (#10813) by @IWANABETHATGUY
    • deps: upgrade oxc to 0.148.0 (#10809) by @camc314
    • deps: update pnpm to v11.24.0 (#10803) by @renovate[bot]
    • deps: update crate-ci/typos action to v1.50.0 (#10806) by @renovate[bot]
    • deps: update test262 submodule for tests (#10808) by @rolldown-guard[bot]
    • deps: update rollup submodule for tests to v4.63.1 (#10807) by @rolldown-guard[bot]
    • deps: update crate-ci/typos action to v1.49.1 (#10796) by @renovate[bot]
    • deps: update github actions (#10749) by @renovate[bot]
    Original source
  • Aug 26, 2026
    • Date parsed from source:
      Aug 26, 2026
    • First seen by Releasebot:
      Aug 26, 2026
    Rolldown logo

    Rolldown

    [1.2.6] - 2026-08-26

    Rolldown adds property name mangling for minify, new tsconfig options for transform and Vite plugins, and dev engine module graph queries. It also ships bug fixes, performance improvements, watcher refactors, and dependency updates.

    ๐Ÿš€ Features

    • minify: support property name mangling (#10374) by @Dunqing
    • add tsconfig: string option to transform (#10727) by @sapphi-red
    • rolldown_plugin_vite_transform: add tsconfig option (#10725) by @sapphi-red
    • rolldown_plugin_vite_resolve: add top-level tsconfig option (#10724) by @sapphi-red
    • dev: expose module graph queries on the dev engine handle (#10716) by @h-a-n-a

    ๐Ÿ› Bug Fixes

    • dev: assign import bindings before initializing dependencies (#10783) by @h-a-n-a
    • dev: copy star re-exports before initializing dependencies (#10761) by @h-a-n-a
    • dev: register an empty exports object for a module without exports (#10772) by @h-a-n-a
    • name the module when a codeSplitting group callback returns a wrong type (#10753) by @IWANABETHATGUY
    • dev: map dev rename events like build watch (#10758) by @shulaoda
    • clear resolution cache when TsconfigCache::clear is called (#10726) by @sapphi-red
    • dev: resolve in-flight ensureLatestBuildOutput when the engine closes (#10730) by @h-a-n-a
    • binding: replace undeclared BindingErrorsOr with BindingResult in hook types (#10717) by @h-a-n-a

    ๐Ÿšœ Refactor

    • rolldown_fs_watcher: collapse fs-watcher backends behind a single FsWatcher (#10735) by @shulaoda
    • hoist invariants out of the codeSplitting group loop (#10744) by @IWANABETHATGUY

    ๐Ÿ“š Documentation

    • document shared notify rename mapping (#10759) by @shulaoda
    • update watch-mode internals for unified FsWatcher (#10736) by @shulaoda

    โšก Performance

    • batch codeSplitting group test / name calls (#10745) by @IWANABETHATGUY
    • deduplicate used symbol ref readers (#10742) by @Boshen
    • reduce release debug formatting (#10728) by @Boshen
    • enable compiler cache via module.enableCompileCache() (#10678) by @btea
    • deduplicate regress codegen (#10732) by @Boshen

    ๐Ÿงช Testing

    • define: add expected failure for default parameter scope (#10780) by @hyfdev
    • use an absolute filename for transform tsconfig path (#10782) by @shulaoda

    โš™๏ธ Miscellaneous Tasks

    • deps: upgrade oxc to 0.147.0 (#10767) by @camc314
    • deps: update resolver dependencies (#10766) by @Boshen
    • deps: update rollup submodule for tests to v4.62.5 (#10770) by @rolldown-guard[bot]
    • deps: update dependency vite-plus to ^0.3.0 (#10757) by @renovate[bot]
    • deps: update npm packages (#10750) by @renovate[bot]
    • deps: update rust crates (#10748) by @renovate[bot]
    • deps: update rust crate napi to v3.12.2 (#10738) by @renovate[bot]
    • deps: update dependency rust to v1.98.0 (#10733) by @renovate[bot]
    • wasi: cap each Node Test attempt with timeout to survive hangs (#10709) by @hyfdev
    Original source
  • Aug 19, 2026
    • Date parsed from source:
      Aug 19, 2026
    • First seen by Releasebot:
      Aug 19, 2026
    Rolldown logo

    Rolldown

    [1.2.5] - 2026-08-19

    Rolldown adds benchmark memory tracking, armv7 Android support, and a new NAMESPACE_CONFLICT warning for star re-exports, while improving code splitting, dev asset flushing, Yarn PnP handling, and CJS renaming fixes.

    ๐Ÿš€ Features

    • bench: record per-suite peak memory in the node benchmark (#10704) by @IWANABETHATGUY
    • binding: allocation-tracking global allocator behind the tracking_allocator feature (#10703) by @IWANABETHATGUY
    • add armv7 android (armv7-linux-androideabi) support (#10691) by @shulaoda
    • add NAMESPACE_CONFLICT warning for conflicting star re-exports (#7452) by @AliceLanniste

    ๐Ÿ› Bug Fixes

    • rolldown_plugin_vite_reporter: avoid ANSI erase-line escape in non-TTY output (#10692) by @shulaoda
    • rolldown_plugin_vite_resolve: preserve Yarn PnP virtual importer (#10591) by @Freakazo
    • exclude hash placeholders from case-insensitive filename deconfliction (#10590) by @Nic-Polumeyv
    • code-splitting: fold already-loaded side-effectful libraries into eager entries (#10645) by @JoviDeCroock
    • dev: flush re-emitted assets when their content changes (#10637) by @btea
    • renamer: rename nested require/__filename/__dirname bindings in CJS output (#10655) by @marcoroth
    • silence two wasm-only warnings (#10668) by @IWANABETHATGUY

    ๐Ÿšœ Refactor

    • skip case folding for filenames with hash placeholders (#10689) by @hyfdev
    • code-splitting: remove redundant synthetic statement owner (#10503) by @hyfdev
    • renamer: move the cjs check into rename_bindings_shadowing_cjs_ambient_names (#10672) by @IWANABETHATGUY

    ๐Ÿ“š Documentation

    • agents: point the never-edit list at the binding files that exist (#10719) by @melbinjp

    ๐Ÿงช Testing

    • deconflict: pin renaming the external process binding away from the global (#10702) by @hyfdev
    • dev: expect a hot update across a circular import (#10700) by @hyfdev

    โš™๏ธ Miscellaneous Tasks

    • deps: upgrade oxc to 0.146.0 (#10707) by @Boshen
    • deps: update rust crates (#10684) by @renovate[bot]
    • deps: update npm packages (#10685) by @renovate[bot]
    • build the benchmark comparison window from the JSON lines (#10701) by @IWANABETHATGUY
    • wasi: retry the Node Test step to absorb the shared-dlmalloc flake (#10699) by @hyfdev
    • append benchmark results to storage as JSON lines (#10682) by @IWANABETHATGUY
    • deps: update github actions (#10683) by @renovate[bot]
    • deps: update dependency rolldown-plugin-dts to v0.28.2 (#10679) by @renovate[bot]
    • deps: update dependency rolldown-plugin-dts to v0.28.1 (#10674) by @renovate[bot]

    โค๏ธ New Contributors

    • @melbinjp made their first contribution in #10719
    • @Freakazo made their first contribution in #10591
    • @marcoroth made their first contribution in #10655
    Original source
  • Aug 12, 2026
    • Date parsed from source:
      Aug 12, 2026
    • First seen by Releasebot:
      Aug 13, 2026
    Rolldown logo

    Rolldown

    [1.2.4] - 2026-08-12

    Rolldown adds broader code-splitting namespace extraction, fixes Android arm64 crashes and sideEffects module retention, and improves devtools path handling. It also expands testing coverage and refreshes docs and dependencies.

    ๐Ÿš€ Features

    • code-splitting: widen namespace extraction for already-loaded merges (#10594) by @IWANABETHATGUY

    ๐Ÿ› Bug Fixes

    • binding: illegal instruction crash on Android arm64 (#10638) by @shulaoda
    • code-splitting: stop negated sideEffects globs retaining modules (#10660) by @JoviDeCroock
    • devtools: resolve log paths against the build cwd (#10622) by @hyfdev

    ๐Ÿ“š Documentation

    • plugin-api: document sourcemap differences from Rollup (#10636) by @IWANABETHATGUY

    ๐Ÿงช Testing

    • browser: smoke test the packed @rolldown/browser in a real browser page (#10634) by @hyfdev
    • node-wasi: run the full node test suite against the WASI binding (#10616) by @hyfdev
    • webcontainer: smoke test the packed WASI artifacts inside a WebContainer (#10626) by @hyfdev

    โš™๏ธ Miscellaneous Tasks

    • deps: update napi (#10649) by @renovate[bot]
    • deps: update esbuild for tests to 0.28.2 (#10662) by @rolldown-guard[bot]
    • deps: update test262 submodule for tests (#10663) by @rolldown-guard[bot]
    • deps: update npm packages (#10653) by @renovate[bot]
    • deps: update github actions (#10651) by @renovate[bot]
    • deps: update crate-ci/typos action to v1.49.0 (#10642) by @renovate[bot]
    • deps: update dependency vite-plus to v0.2.9 (#10627) by @renovate[bot]
    • deps: update rust crates (#10652) by @renovate[bot]
    • deps: upgrade oxc to 0.144.0 (#10657) by @camc314
    • ignore napi-rs temp files (#10658) by @camc314
    • deps: tighten @napi-rs/wasm-runtime range to ~1.2.2 (#10615) by @hyfdev
    • wasi: point the wasm skips at the right place (#10644) by @hyfdev
    Original source
  • Aug 5, 2026
    • Date parsed from source:
      Aug 5, 2026
    • First seen by Releasebot:
      Aug 6, 2026
    Rolldown logo

    Rolldown

    [1.2.3] - 2026-08-05

    Rolldown ships bug fixes, performance improvements, and cleanup updates, including safer watch handling, lower memory usage, minified name generation without extra allocations, and refreshed test and dependency versions.

    ๐Ÿ› Bug Fixes

    • dev: don't let a failed watch registration abort the batch (#10548) by @shulaoda

    ๐Ÿšœ Refactor

    • remove deprecated watch.notify option (#10628) by @sapphi-red

    ๐Ÿ“š Documentation

    • fix the dangling spec link on generate_minified_names (#10617) by @IWANABETHATGUY

    โšก Performance

    • reduce finalization memory usage (#10554) by @ericclemmons
    • chunk-naming: build minified export names without allocating (#10618) by @IWANABETHATGUY

    ๐Ÿงช Testing

    • resolve-file-url: allow a reference id to start with a digit (#10623) by @jjb
    • code-splitting: pin the already-loaded namespace-extraction boundaries (#10593) by @IWANABETHATGUY

    โš™๏ธ Miscellaneous Tasks

    • deps: upgrade oxc to 0.143.0 (#10603) by @camc314
    • deps: update rollup submodule for tests to v4.62.4 (#10607) by @rolldown-guard[bot]
    • deps: update test262 submodule for tests (#10608) by @rolldown-guard[bot]

    โค๏ธ New Contributors

    • @ericclemmons made their first contribution in #10554
    • @jjb made their first contribution in #10623
    Original source
  • Aug 3, 2026
    • Date parsed from source:
      Aug 3, 2026
    • First seen by Releasebot:
      Aug 5, 2026
    Rolldown logo

    Rolldown

    [1.2.2] - 2026-08-03

    Rolldown ships code-splitting improvements, stronger plugin timing insights, and a handful of dev and transform bug fixes. It also trims runtime overhead, updates documentation, and adds new support for inlining shared deps in dynamic entries.

    ๐Ÿš€ Features

    • code-splitting: support inlining of shared deps in dynamic entries (#10526) by @nicolo-ribaudo
    • plugin: time the user callbacks configured on the options (#10509) by @IWANABETHATGUY

    ๐Ÿ› Bug Fixes

    • dev: force cleanDir off in dev mode (#10579) by @shulaoda
    • dev: keep ?rolldown-lazy proxy ids out of user resolveId hooks (#10580) by @btea
    • initialize re-exported wrapped ESM modules at the entry chunk (#10567) by @hyfdev
    • link: resolve circular star reexports as null (#10445) by @Nic-Polumeyv
    • transform: transformer gate skips newer syntax that oxc can lower (#10564) by @sekyungk
    • code-splitting: materialize consumer-local barrel routing when the order-wrap plan is empty (#10544) by @hyfdev
    • plugin: measure plugin hooks in JavaScript, report them from Rust (#10508) by @IWANABETHATGUY
    • plugin: include external dynamic imports in chunk metadata (#10557) by @hyfdev
    • plugin: report plugin timings after closeBundle has run (#10521) by @IWANABETHATGUY
    • browser: avoid using node builtin modules (#10542) by @sapphi-red

    ๐Ÿšœ Refactor

    • plugin: give the build's own clocks their own type (#10520) by @shulaoda

    ๐Ÿ“š Documentation

    • correct stale buildStart comment in ScanStageCache::merge (#10577) by @shulaoda
    • update outdated pluginutils references (#10574) by @dogledogle

    โšก Performance

    • external: drop the runtime import from chunks that never wrap (#10517) by @IWANABETHATGUY
    • plugin: clock the build only when it is being measured (#10558) by @IWANABETHATGUY

    ๐Ÿงช Testing

    • vite-tests: drop the dead @rolldown/pluginutils pnpm override (#10575) by @IWANABETHATGUY
    • transform: group the transform-target fixtures and say why each exists (#10569) by @IWANABETHATGUY
    • dev: fix hmr-hot-update-hook-vite fixture on Windows (#10565) by @h-a-n-a
    • dev: match Vite's renamed full-reload log (#10547) by @shulaoda

    โš™๏ธ Miscellaneous Tasks

    • deps: update napi (#10576) by @renovate[bot]
    • deps: bump @napi-rs/wasm-runtime to 1.2.2 (#10570) by @shulaoda
    • deps: update npm packages (#10583) by @renovate[bot]
    • deps: update dependency rolldown-plugin-dts to ^0.28.0 (#10588) by @renovate[bot]
    • deps: update taiki-e/install-action action to v2.85.5 (#10587) by @renovate[bot]
    • deps: update codspeedhq/action action to v5 (#10584) by @renovate[bot]
    • deps: update github actions (#10582) by @renovate[bot]
    • deps: update rust crates (#10581) by @renovate[bot]
    • deps: update dependency vite-plus to v0.2.7 (#10568) by @renovate[bot]
    • deps: update dependency rolldown-plugin-dts to v0.27.14 (#10531) by @renovate[bot]
    • deps: update pnpm to v11.17.0 (#10571) by @renovate[bot]
    • deps: update @napi-rs/wasm-runtime to 1.2.1 (#10545) by @sapphi-red

    โค๏ธ New Contributors

    • @sekyungk made their first contribution in #10564
    • @nicolo-ribaudo made their first contribution in #10526
    Original source
  • Jul 29, 2026
    • Date parsed from source:
      Jul 29, 2026
    • First seen by Releasebot:
      Jul 31, 2026
    • Modified by Releasebot:
      Aug 6, 2026
    Rolldown logo

    Rolldown

    [1.2.1] - 2026-07-29

    Rolldown ships expanded dev and code-splitting capabilities, including hotUpdate support, new resolveFileUrl and import.meta.ROLLDOWN_FILE_URL handling, smarter HMR, and stricter chunk execution behavior, while also landing major bug fixes, performance gains, and refactors.

    ๐Ÿš€ Features

    • dev: support hotUpdate hook (#10305) by @h-a-n-a
    • dev: expose disableWatcher through the dev engine bindings (#10474) by @shulaoda
    • plugin: surface output-option callbacks in [PLUGIN_TIMINGS] (#10411) by @IWANABETHATGUY
    • import.meta.ROLLDOWN_FILE_URL_<referenceId>_<urlId> support to pass context to resolveFileUrl hook (#10297) by @sapphi-red
    • dev: skip the HMR update when a module's rebuilt output is unchanged (#10333) by @h-a-n-a
    • code-splitting: wrap strict execution order modules on demand (#10104) by @hyfdev
    • support import.meta.ROLLDOWN_FILE_URL_* (#10296) by @sapphi-red
    • implement resolveFileUrl plugin hook (#10291) by @sapphi-red
    • magic-string: support storeName on overwrite/update (#10312) by @IWANABETHATGUY

    ๐Ÿ› Bug Fixes

    • external: keep __toESM when the importing module is tree-shaken (#10516) by @IWANABETHATGUY
    • dev: resolve re-exports from externals through a real import (#10489) by @tbvjaos510
    • code-splitting: route CJS barrel initialization per consumer (#10488) by @hyfdev
    • error: align filename-pattern diagnostics with Rollup's wording (#10501) by @IWANABETHATGUY
    • plugin: validate emitted prebuilt-chunk file names (#10399) by @IWANABETHATGUY
    • code-splitting: point a two-argument dynamic import at the chunk that holds the module (#10479) by @hyfdev
    • common: align is_path_fragment with Rollup's isPathFragment (#10398) by @IWANABETHATGUY
    • code-splitting: never name an internal chunk export then (#10480) by @hyfdev
    • code-splitting: avoid creating call-site-triggered entry facades (#10485) by @hyfdev
    • code-splitting: collect top-level eager order reasons in every strict build (#10463) by @hyfdev
    • code-splitting: let a cross-chunk dynamic importer carry the order trigger (#10456) by @hyfdev
    • code-splitting: avoid the dynamic-entry facade when the same-chunk collapse carries the trigger (#10433) by @hyfdev
    • binding: forward resolveId options.kind to callable builtin plugins (#10440) by @IWANABETHATGUY
    • dev: keep the export name of export * as ns from (#10476) by @tbvjaos510
    • code-splitting: only split an entry facade when something else can load its chunk (#10441) by @hyfdev
    • code-splitting: fold the runtime chunk back after order lowering (#10414) by @hyfdev
    • runtime: don't leave default undefined for cjs that fakes __esModule (#10453) by @IWANABETHATGUY
    • import-glob: escape generated string literals (#10438) by @shantanuraj
    • preserve-modules: don't assume every chunk mirrors a module (#10442) by @hyfdev
    • filter: treat missing hook inputs as non-matches, not panics (#10443) by @IWANABETHATGUY
    • code-splitting: keep CommonJS modules wrapped under strict execution order (#10405) by @hyfdev
    • code-splitting: align dynamicImports metadata with the rewritten import() specifier (#10430) by @hyfdev
    • dev: skip user plugin hooks for ?rolldown-lazy proxy modules (#10426) by @unknownjedi
    • treeshake: preserve side-effect-free spread arguments in manual-pure chains (#10432) by @IWANABETHATGUY
    • treeshake: preserve eagerly evaluated child effects of manual pure chains (#10427) by @Nic-Polumeyv
    • code-splitting: initialize pure definers behind star re-export barrels under strict execution order (#10409) by @hyfdev
    • resolveId: reject string id filters (must be a RegExp) (#10412) by @IWANABETHATGUY
    • code-splitting: collect eager order reasons for on-demand wrapping (#10387) by @hyfdev
    • rolldown: apply output.paths to CJS export-star of external modules (#10406) by @IWANABETHATGUY
    • dev: sourcemaps of lazily compiled chunks (#10386) by @tbvjaos510
    • plugin: validate emitted file names at emitFile time (#10377) by @Nic-Polumeyv
    • guarantee tokio runtime release when close rejects (#10381) by @shulaoda
    • code-splitting: make strict transitive init registration deterministic and constant-time (#10320) by @hyfdev
    • pair tokio runtime acquire and release on wasm to prevent premature shutdown (#10363) by @shulaoda
    • don't body-demand modules from simulated facade chunk includes (#10351) by @IWANABETHATGUY
    • tracing: invalid RD_LOG filter and RD_LOG_OUTPUT=json no longer panic (#10343) by @Brooooooklyn
    • code-splitting: treat class definition-time global reads as order-sensitive (#10322) by @hyfdev
    • code-splitting: deconflict force-included runtime helper statements (#10336) by @hyfdev
    • binding: forward all missing parallel JS plugin hooks (#10345) by @Brooooooklyn
    • code-splitting: re-derive chunk exec order after the runtime sweep (#10334) by @hyfdev
    • types: add undefined to ExistingRawSourceMap optional properties (#10355) by @ocavue
    • magic-string: validate relocate ranges before rewiring (#10327) by @IWANABETHATGUY
    • add EMPTY_IMPORT_META warning for non-node CJS output (#10222) by @sapphi-red
    • call resolveFileUrl in a deterministic order (#10330) by @sapphi-red
    • magic-string: refuse repeated sendMagicString on a consumed instance (#10331) by @IWANABETHATGUY
    • magic-string: refuse to use a MagicString after sendMagicString consumed it (#10326) by @IWANABETHATGUY
    • magic-string: reject non-contiguous moves before rewiring the chunk list (#10311) by @IWANABETHATGUY
    • handle ./foo/bar glob pattern the same as foo/bar (#10313) by @sapphi-red
    • magic-string: throw instead of panicking when append/prepend splits an edited chunk (#10301) by @IWANABETHATGUY
    • output: skip separator for empty hoisted functions (#10310) by @hyfdev
    • magic-string: don't report a change when edits cancel out (#10299) by @IWANABETHATGUY
    • sourcemap: map wrapped imported callees (#10288) by @hyfdev
    • magic-string: count positional inserts at index 0 on an empty source (#10306) by @IWANABETHATGUY
    • magic-string: return UTF-16 code units from length() (#10295) by @IWANABETHATGUY
    • output: skip separator for empty import prelude (#10289) by @hyfdev

    ๐Ÿšœ Refactor

    • dev: make it easier to customize the runtime (#10338) by @sapphi-red
    • code-splitting: declare CJS carrier namespaces initializer-free (#10513) by @hyfdev
    • rollup-tests: avoid relying on NODE_PATH env var resolution (#10496) by @sapphi-red
    • code-splitting: derive symbol chunk ownership as pass-local link data (#10449) by @hyfdev
    • plugin: share asset emission helpers between copy_module and asset_module (#10450) by @Nic-Polumeyv
    • plugin: dedupe hook binding boilerplate (#10428) by @Nic-Polumeyv
    • plugin: share the oxc parse preamble between import-glob and dynamic-import-vars (#10452) by @Nic-Polumeyv
    • implement GetAstBuilder on visitor/pass types (#10424) by @overlookmotel
    • pass arrays to AST builder methods (#10419) by @overlookmotel
    • shorten AST builder code (#10418) by @overlookmotel
    • centralize final ESM init metadata (#10376) by @hyfdev
    • descriptor-based parallel-plugin detection (getParallelPluginInfo) (#10349) by @Brooooooklyn
    • remove AstFactory in favor of new_* construction traits (#10353) by @Boshen
    • enable oxc_ast's disable_old_builder feature (#10316) by @Boshen

    ๐Ÿ“š Documentation

    • development-guide: update config.json link line reference (#10523) by @dogledogle
    • clarify slash normalization for id hook filter (#10511) by @sapphi-red
    • code-splitting: record the thenable-namespace rule (#10502) by @hyfdev
    • clarify that esmExternalRequirePlugin must own its externals (#10439) by @TheAlexLichter
    • add troubleshooting entry for the @rolldown/binding-... resolution error (#10390) by @Nic-Polumeyv
    • add Code Splitting API reference category (#10382) by @vittorioexp

    โšก Performance

    • use VisitJsMut in JavaScript-only AST passes (#10507) by @Boshen
    • cache the resolved glob matcher for Id/ImporterId filters (#10410) by @IWANABETHATGUY
    • scope_hoisting: remove alloc field from ScopeHoistingFinalizer (#10425) by @overlookmotel
    • reduce string allocations (#10423) by @overlookmotel
    • hmr: remove unnecessary string allocations (#10422) by @overlookmotel
    • avoid allocating static strings via custom builder methods (#10421) by @overlookmotel
    • pass string literals to AST builder methods (#10420) by @overlookmotel
    • use VisitJs in JavaScript-only AST passes (#10396) by @Boshen
    • plugin: shrink erased plugin debug vtables (#10370) by @Boshen
    • reuse normalized path buffers (#10315) by @hyfdev

    ๐Ÿงช Testing

    • code-splitting: pin CJS barrel fallback triggers and flag-off equivalence (#10514) by @hyfdev
    • plugin: cover chunk fileName, absolute chunk name, and Windows drive names (#10400) by @IWANABETHATGUY
    • code-splitting: cover a single-chunk dynamic import of a wrapped module (#10505) by @hyfdev
    • file: remove the unused .dynamic_import fixture (#10481) by @hyfdev
    • treeshake: reduce manual-pure fixture to a minimal smoke test, move matrix to unit tests (#10436) by @IWANABETHATGUY
    • dev: run vite playgrounds under bundled dev (test-serve-bundled) (#10434) by @h-a-n-a
    • stop snapshots from silently hiding user code inside the runtime region (#10431) by @hyfdev
    • wasi: add tokio runtime lifecycle regression test (#10379) by @shulaoda
    • dev: expect preserved hot.data in hmr-whole-chain-dispose (#10380) by @h-a-n-a
    • code-splitting: pin flag-off wrapped-esm init emission (#10324) by @hyfdev
    • sourcemap: fix Windows-only failures in composition fixtures (#10368) by @shulaoda
    • generated-code: mark assert external in symbols_ns2 for deterministic output (#10339) by @hyfdev
    • code-splitting: cover entries-aware strict init cycle (#10307) by @hyfdev
    • make just setup-vite the only entry point that touches vite/ (#10332) by @shulaoda
    • vite-tests: reuse the shared root vite checkout (#10325) by @shulaoda
    • test-dev-server: drop the vite submodule, track rolldown-canary (#10319) by @shulaoda
    • vite-tests: track the latest rolldown-canary rebased onto vite main (#10318) by @shulaoda
    • unify Vite in vite-test and test-dev-server (#10293) by @h-a-n-a

    โš™๏ธ Miscellaneous Tasks

    • scope the binding artifact download to bindings-* (#10525) by @shulaoda
    • deps: update napi (#10506) by @renovate[bot]
    • deps: update rollup submodule for tests to v4.62.3 (#10494) by @rolldown-guard[bot]
    • deps: upgrade oxc to 0.142.0 (#10497) by @shulaoda
    • deps: update test262 submodule for tests (#10495) by @rolldown-guard[bot]
    • deps: update github actions (#10460) by @renovate[bot]
    • deps: update rust crates (#10462) by @renovate[bot]
    • deps: update npm packages (#10461) by @renovate[bot]
    • metric: alert Discord when the metric workflow fails (#10447) by @IWANABETHATGUY
    • metric: mint a short-lived GitHub App token instead of a PAT (#10446) by @IWANABETHATGUY
    • repo: repair dangling CLAUDE.md symlink (#10451) by @hanayashiki
    • publint/package-metadata fixes and small correctness fixes (#10344) by @Brooooooklyn
    • deps: update dependency vite-plus to v0.2.6 (#10404) by @renovate[bot]
    • add Semgrep scan workflow (#10395) by @Boshen
    • enable Windows CI with a PR label (#10375) by @hyfdev
    • deps: upgrade oxc to 0.141.0 (#10373) by @camc314
    • deps: update napi (#10369) by @renovate[bot]
    • deps: update test262 submodule for tests (#10367) by @rolldown-guard[bot]
    • deps: update taiki-e/install-action action to v2.83.3 (#10358) by @renovate[bot]
    • deps: update rust crates (#10357) by @renovate[bot]
    • deps: update npm packages (#10359) by @renovate[bot]
    • deps: update rust crate syn to v3 (#10362) by @renovate[bot]
    • deps: update rust crate oxc_sourcemap to v8.1.2 (#10356) by @renovate[bot]
    • deps: update dependency vite-plus to v0.2.5 (#10329) by @renovate[bot]
    • docs: migrate Netlify redirects to Void config (#10282) by @tux-tn
    • deps: update dependency rust to v1.97.1 (#10317) by @renovate[bot]
    • runtime: remove unused runtime/index.js (#10302) by @IWANABETHATGUY

    โค๏ธ New Contributors

    • @dogledogle made their first contribution in #10523
    • @tbvjaos510 made their first contribution in #10489
    • @martijnwalraven made their first contribution in #10440
    • @shantanuraj made their first contribution in #10438
    • @Nic-Polumeyv made their first contribution in #10450
    • @hanayashiki made their first contribution in #10451
    • @unknownjedi made their first contribution in #10426
    • @vittorioexp made their first contribution in #10382
    Original source
  • Jul 15, 2026
    • Date parsed from source:
      Jul 15, 2026
    • First seen by Releasebot:
      Jul 16, 2026
    Rolldown logo

    Rolldown

    [1.2.0] - 2026-07-15

    Rolldown adds client-side HMR, smarter tsconfig change handling, and improved import.meta support, while tightening sourcemaps, tree-shaking, and code-splitting behavior. This release also brings performance gains, bug fixes, docs updates, and dependency refreshes.

    ๐Ÿš€ Features

    • dev: skip shipping factories for newly imported top-level modules (#10223) by @h-a-n-a
    • dev: per-client ship map for HMR patch sizing (#10208) by @h-a-n-a
    • dev: client-side HMR (#10164) by @h-a-n-a
    • dev: send a full-reload update to clients when a tsconfig changes (#10262) by @shulaoda
    • treat import.meta['url'] and import.meta['ROLLUP_FILE_URL_*'] as side-effect free (#10267) by @sapphi-red
    • rewrite import.meta['url'] (#10251) by @sapphi-red
    • add FILE_NOT_FOUND error (#10220) by @sapphi-red
    • treat import.meta.ROLLUP_FILE_URL_* as side-effect free (#10217) by @sapphi-red

    ๐Ÿ› Bug Fixes

    • sourcemap: preserve unmapped boundaries during composition (#10254) by @hyfdev
    • [format] in *FileNames option for ESM format should be es instead of esm (#10214) by @sapphi-red
    • sourcemap: preserve coarse mappings during composition (#10249) by @hyfdev
    • rolldown_plugin_vite_import_glob: support tsconfig paths with import.meta.glob (#10167) by @sapphi-red
    • dev: clear tsconfig caches for bare full builds (#10276) by @shulaoda
    • dev: force a full rebuild when a tsconfig changes (#10261) by @shulaoda
    • treat rooted drive-less module ids as absolute in preserveModules naming (#10235) by @IWANABETHATGUY
    • watch: rebuild when tsconfig files change (#10258) by @shulaoda
    • watch: drop tsconfig-merged transform options on each rebuild (#10257) by @shulaoda
    • incorrect EMPTY_IMPORT_META warning for import.meta.ROLLUP_FILE_URL_* for CJS output (#10221) by @sapphi-red
    • deconflict: rename CJS locals shadowing wrapped-ESM namespace objects (#9970) by @IWANABETHATGUY
    • rolldown: drop the unused runtime module after entry-level external flattening (#10237) by @IWANABETHATGUY
    • rolldown: re-propagate has_dynamic_exports to transitive star importers (#10239) by @IWANABETHATGUY
    • tree-shaking: tree-shake destructured dynamic import namespace bindings (#10213) by @logaretm
    • s390x: use json-escape-simd 3.1.1 for big-endian JSON escaping fix (#10211) by @satyamg1620

    ๐Ÿšœ Refactor

    • dev: move full-reload to client side (#10207) by @h-a-n-a
    • readability follow-ups to the ReplaceWith migration (#10286) by @IWANABETHATGUY
    • replace take_in-then-write-back with ReplaceWith and by-value moves (#10285) by @Boshen
    • share the main resolver's cache with the transformer's tsconfig lookups (#10205) by @shulaoda
    • rolldown: extract the ns star-external __reExport emission rule into LinkingMetadata (#10238) by @IWANABETHATGUY
    • rolldown: unify link/generate diagnostics into a Diagnostics accumulator (#10234) by @IWANABETHATGUY
    • sourcemap_filenames: drop dead sourcemap-filename plumbing (#10189) by @IWANABETHATGUY
    • extract external import symbol merging into a method (#10224) by @IWANABETHATGUY
    • rolldown: skip CJS namespace merging under strict execution order (#10203) by @hyfdev
    • resolve the manual tsconfig per file instead of once at startup (#10200) by @shulaoda
    • rolldown: route interop ESM init emission through a shared init-target view (#10202) by @hyfdev
    • rolldown: collapse vestigial wrap-kind state and share chunk sort helper (#10201) by @hyfdev

    ๐Ÿ“š Documentation

    • show plugin kinds in JSDoc and each hook's description (#10218) by @sapphi-red
    • add an explanation about removing imports from external modules without any messages (#10215) by @sapphi-red

    โšก Performance

    • sourcemap: owned merge in SourceJoiner::join (4005->5 allocs/chunk) (#10250) by @Boshen
    • avoid redundant sourcemap string copies in collapse and minify paths (#10093) by @Boshen

    ๐Ÿงช Testing

    • code-splitting: establish strict-order review baselines (#10287) by @hyfdev
    • dev: add hot API test cases (#10181) by @h-a-n-a
    • code-splitting: normalize strict execution order variants (#10277) by @hyfdev
    • code-splitting: harden strict execution order coverage (#10252) by @hyfdev
    • code-splitting: add strict execution order regressions (#10253) by @hyfdev

    โš™๏ธ Miscellaneous Tasks

    • deps: update github actions (#10241) by @renovate[bot]
    • deps: update oxc to 0.140.0 (#10274) by @shulaoda
    • update Yunfei's GitHub username (#10275) by @hyfdev
    • deps: update napi (#10260) by @renovate[bot]
    • deps: update test262 submodule for tests (#10266) by @rolldown-guard[bot]
    • deps: update dependency vite-plus to v0.2.4 (#10256) by @renovate[bot]
    • deps: update napi (#10240) by @renovate[bot]
    • deps: update oxc resolver to v11.24.2 (#10245) by @renovate[bot]
    • deps: update rust crates (#10244) by @renovate[bot]
    • disable Renovate updates for idna_adapter (#10248) by @shulaoda
    • deps: update oxc resolver to v11.24.1 (#10232) by @renovate[bot]
    • deps: update rust crate oxc_sourcemap to v8.1.1 (#10233) by @renovate[bot]
    • deps: update dependency rolldown-plugin-dts to ^0.27.0 (#10206) by @renovate[bot]
    • deps: upgrade sugar_path to v3 (#10230) by @hyfdev
    • add dist-* to .gitignore in sourcemap-filenames/hash-final-content fixture (#10216) by @sapphi-red
    • deps: update dependency rust to v1.97.0 (#10209) by @renovate[bot]

    โค๏ธ New Contributors

    • @satyamg1620 made their first contribution in #10211
    Original source
Releasebot

Curated by the Releasebot team

Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.

Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.