unstale

npm / @rolldown/browser

@rolldown/browser

What changed in @rolldown/browser 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.

1 breaking4 new APIs and options2 performance2 behavior and defaults48 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.0 on npm

@rolldown/browser 157 changes

Breaking changes 1

New APIs and options 4

  • Adds the output.charset option to configure output character encoding.

    1.2.14release notes

  • Adds an option for experimental dev-mode hot updates.

    1.2.13release notes

  • Ships imported bindings for HMR partial accept.

    1.2.12release notes

  • Adds experimental support for inlining common chunks containing import() and deduplicating shared code in lazy chunks.

    1.2.12release notes

Performance 2

  • Deduplicates shared code along known loading paths, reducing duplicate code in inline common chunks.

    1.2.13release notes

  • In dev, ships only rows with dynamic edges in registerGraph.

    1.2.12release notes

Behavior and default changes 2

  • Routes independent ESM re-exports per consumer during code splitting.

    1.2.14release notes

  • Passes the watch exclusion setting to notify as its ignore filter.

    1.2.13release notes

Fixes and other changes 48

  • Reports ASSIGN_TO_IMPORT when code writes to re-exported namespace members.

    1.2.14release notes

  • Makes repeated close() calls a no-op.

    1.2.14release notes

  • Prints a CommonJS module's top-level this as a wrapper parameter named by Rolldown.

    1.2.14release notes

  • Watches lazily compiled files even when a build starts first.

    1.2.14release notes

  • Keeps files loaded by the HMR stage watched when the same task rebuilds.

    1.2.14release notes

  • Handles output.charset set to 'ascii' when output.minify is false.

    1.2.14release notes

  • Keeps internal bindings out of entry exports.

    1.2.14release notes

  • Avoids assigning fixed names to bindings that would capture them.

    1.2.14release notes

  • Keeps an external require() local in a CJS module off the top-level names.

    1.2.14release notes

  • Avoids renaming entry top-level bindings onto their nested bindings.

    1.2.14release notes

  • Keeps generated top-level names off inner bindings.

    1.2.14release notes

  • Shims deep namespace reads through default imports.

    1.2.14release notes

  • Shims missing static namespace members.

    1.2.14release notes

  • Preserves sourcemap boundaries when tracing has no mapping.

    1.2.14release notes

  • Accounts for init imports during code splitting.

    1.2.14release notes

  • Avoids eager loading through mixed re-exports.

    1.2.14release notes

  • Preserves initialization of wrapped ESM re-exports during tree-shaking.

    1.2.14release notes

  • Tree-shakes expression statements that coerce known constants.

    1.2.14release notes

  • Uses computed access for arbitrary import names.

    1.2.13release notes

  • Fails on chunk syntax errors and escapes export names once.

    1.2.13release notes

  • Escapes dependency paths in CJS output.

    1.2.13release notes

  • Avoids cycles caused by redundant re-export initialization.

    1.2.13release notes

  • Escapes export names in defineProperty calls.

    1.2.13release notes

  • Devtools now honors the configured session ID.

    1.2.13release notes

  • Treats re-exports of the same external binding as one export.

    1.2.13release notes

  • Honors externalLiveBindings for imported exports.

    1.2.13release notes

  • Imported function calls in HMR patches keep this undefined, matching the expected call behavior.

    1.2.13release notes

  • Prevents a late payload from replacing newer module code.

    1.2.13release notes

  • Reloads the page when an HMR update fails after merging its edit.

    1.2.13release notes

  • Ships newly imported modules that the client has not received.

    1.2.13release notes

  • Escapes namespace properties in IIFE output.

    1.2.13release notes

  • Avoids moving initialization calls in front of unwrapped JSON modules.

    1.2.13release notes

  • Ships dependencies of a module when a patch shipped that module but never ran.

    1.2.13release notes

  • Sanitizes preserveModules chunk names after resolving the relative path.

    1.2.13release notes

  • Each renderChunk call receives its own meta object.

    1.2.13release notes

  • Generates valid bindings for shimmed exports.

    1.2.13release notes

  • Reads string-named imports correctly in HMR patches and lazy chunks.

    1.2.13release notes

  • Makes the dev module factory async to support top-level await.

    1.2.13release notes

  • Escapes namespace properties and dependency paths in UMD output.

    1.2.13release notes

  • Keeps the with clause on bare external imports.

    1.2.13release notes

  • Re-derives chunk execution orders after the runtime leaves its host chunk.

    1.2.12release notes

  • Makes entries-aware chunk merging deterministic.

    1.2.12release notes

  • Aligns dependency handling with Vite.

    1.2.12release notes

  • Avoids restarting the macOS watcher for unchanged paths.

    1.2.12release notes

  • Gates member-read initialization paths on the reading statement.

    1.2.12release notes

  • Retains initialization paths through re-exported namespaces.

    1.2.12release notes

  • Clears the resolver cache when a file is created or deleted.

    1.2.12release notes

  • Names the resolved specifier in unresolved import diagnostics.

    1.2.12release notes