v2.1.3
v2.1.3
View on GitHubView PackagePublished: Jul 7, 2026

Release Notes

What's Changed

New Features 🎉

  • feat: add name/value accessors to ESMExportSpecifierDependency (#14641 by @yashwanth195)
  • feat(core): expose the real Chunk instance to filename functions (#14549 by @JSerFeng)

Performance 🚀

  • perf: erase js tap storage types to reduce binary size (#14636 by @intellild)
  • perf: build rspack source maps directly (#14621 by @intellild)
  • perf: optimize module hash creation (#14654 by @LingyuCoder)
  • perf(mangle_exports): pre-size per-module maps and vecs (#14705 by @stormslowly)

Bug Fixes 🐞

  • fix: update runtime context during hot updates (#14644 by @LingyuCoder)
  • fix(concatenation): inline-value check must precede deferred pure checks (#14663 by @guru-irl)
  • fix(css): skip re-applying unchanged CSS during HMR (#14580 by @stormslowly)
  • fix(asset): preserve asset bytes for binary files (#14670 by @hardfist)
  • fix(css): dedupe link HMR stylesheets (#14666 by @intellild)
  • fix(mf): emit manifest assets with forward-slash names on Windows (#14667 by @johncarmack1984)
  • fix(esm_library): unwrap dynamic source-phase imports in modern-module output (#14673 by @elecmonkey)
  • fix(esm_library): preserve static source-phase external bindings (#14674 by @elecmonkey)
  • fix(bench): pin glibc string-func dispatch to stabilize simulation benches (#14704 by @stormslowly)
  • fix(css): distinguish css wrapper sourcemap names (#14675 by @intellild)
  • fix(binding): keep path data chunk compatible (#14698 by @JSerFeng)

Refactor 🔨

  • refactor: use rspack runtime module prefix (#14630 by @LingyuCoder)
  • refactor: split content hash from std Hash (#14384 by @intellild)
  • refactor: rename hash objects for clearer semantics (#14642 by @intellild)
  • refactor: use rspack scheme for source map defaults (#14635 by @LingyuCoder)
  • refactor(runtime): collect runtime writes from ejs define (#14651 by @LingyuCoder)
  • refactor(napi): remove napi tokio runtime dependency (#14696 by @hardfist)

Other Changes

  • test: register misc bundle benchmark (#14632 by @hardfist)
  • chore(release): stream per-package publish output (#14585 by @stormslowly)
  • chore(deps): update github-actions (#14638 by @renovate[bot])
  • ci: replace rust-cache with sccache (TOS) on self-hosted runners (#14567 by @stormslowly)
  • ci: reset lynx-infra/cache action to d6bd70b (#14646 by @stormslowly)
  • chore(ci): run binary size limit on linux mini runner (#14648 by @stormslowly)
  • chore(ci): compare binary size against PR merge base (#14656 by @stormslowly)
  • test: isolate emit-isolated-dts case to fix cross-suite dts write race (#14659 by @stormslowly)
  • chore(deps): update github-actions (major) (#14639 by @renovate[bot])
  • chore(deps): update dependency @rslint/core to v0.6.4 (#14678 by @renovate[bot])
  • chore(deps): update patch npm dependencies (#14679 by @renovate[bot])
  • chore(deps): update dependency prettier to v3.9.4 (#14680 by @renovate[bot])
  • chore(deps): update rust crate tempfile to 3.27.0 (#14685 by @renovate[bot])
  • chore(deps): update rust crate unicase to 2.9.0 (#14686 by @renovate[bot])
  • chore(deps): update rust crate json-escape-simd to 3.1.0 (#14694 by @renovate[bot])
  • chore(deps): update rust crate derive_more to 2.1.1 (#14692 by @renovate[bot])
  • chore(deps): update rust crate clap to 4.6.1 (#14689 by @renovate[bot])
  • chore(deps): update rust crate bytes to 1.12.0 (#14688 by @renovate[bot])
  • chore(deps): update rust crate dashmap to 6.2.1 (#14691 by @renovate[bot])
  • chore(deps): update rust crate criterion to 4.7.0 (#14690 by @renovate[bot])
  • chore(deps): update napi to 3.10.3 (#14681 by @renovate[bot])
  • chore: bump swc_core from 71 to 72 (#14709 by @CPunisher)
  • chore(deps): bump rspack_resolver to 0.9.4 (#14710 by @stormslowly)

Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.2...v2.1.3