What changed in rspack from 1 to 2
15 releases numbered after v1.7.12 up to and including v2.2.2, stable releases only. v1.7.12 and v2.2.2 are the newest stable releases of 1 and 2 we track; this page follows them as new ones ship.
- 2 remove or deprecate something
199 changes across 15 releases · 9 landed on more than one version
- Add infrastructure logging to the new cache
- Add JavascriptModulesPlugin.getChunkFilenameTemplate
- Align wasmStreamingFallback with webpack
- Track dependencies in loader cache
- Implement generation-based memory cache eviction
- Add idle cache compaction with interruption handling
- Integrate module code generation to the new cache
- Add fine-grained new cache options
- Add compat-hashed module ids
- Analyze dynamic imports in Promise.all destructuring
- Integrate new cache into source map devtool plugin
- Add compilation.runtimeTemplate
- Add compact chunk ids
- Support opt-in per-loader caching
- Expose ExternalModule chunkCondition hook
- Implement new cache system
- Integrate new cache to minimize cache
- Warn on unknown import.meta properties
- Add builds for binding-linux-(ppc64,s390x)-gnu
- Support --no-git flag in create-rspack
- Support caseSensitive option in import.meta.glob
- Support cache.name and cache.storage.location options to align with webpack's persistent cache semantics
- Emit css.c and css.r in the hot-update manifest for precise CSS updates
- Inject module origin for import.meta.rstest
- Support import.meta.env
- Support fine-grained import.meta parser options allowing each known import.meta property to be configured independently
- Support static worker new URL output with module.parser.javascript.worker accepting an object form with alias and url
- Support logical assignment for chunk loading global in runtime
- Add name/value accessors to ESMExportSpecifierDependency
- Expose the real Chunk instance to filename functions
- Support `import.meta` style module variables including `import.meta.rspackPublicPath`, `import.meta.rspackBaseUri`, `import.meta.rspackShareScopes`, `import.meta.rspackInitSharing`, `import.meta.rspackNonce`, `import.meta.rspackUniqueId`, `import.meta.rspackVersion`, and `import.meta.rspackHash`
- Add dependencyId and loc to export usage edges in rsdoctor
- Expose module error JS APIalso inv2.1.0-beta.0
- Log persistent cache read and write timingsalso inv2.1.0-beta.0
- Expose getProvidedExports() to JS APIalso inv2.1.0-beta.0
- Support drop inactive branch dependencies for member expressions
- Introduce experimental.runtimeModealso inv2.1.0-beta.0
- Support branch guarded export presence for `in` on ESM imports
- Bump swc to support react compiler
- Expose export usage graph to rsdoctor
- Add maxAge and maxGenerations for persistent cache cleanupalso inv2.1.0-beta.0
- Support riscv64 targets
- Support React Compiler in builtin:swc-loader
- Support drop inactive branch dependencies for member expr
- Support branch guarded export presence for in on ESM imports
- Optimize deterministic module id assignment
- Share runtimes in flag dependency usage
- Optimize module rendering for chunk assets
- Optimize create module hashes
- Store FactorizeInfo path dependencies as compact slices
- Improve unicode handling and support more CSS modules cases, boost performance
- Cache converted module original source
- Batch splitChunks JavaScript callbacks
- Avoid parsing concatenated module codegen
- Preallocate identifier path buffers
- Intern ArcPath as a single-allocation prehashed path
- Use rayon parallel scheduling for new cache db
- Skip the directory walk for glob patterns without metacharacters
- Cache and order static patterns in copy-plugin
- Limit incremental HMR asset processing
- Avoid unnecessary call wrappers for runtime helpers
- Cache compilation assets proxy
- Avoid copying aligned archive buffers in cache
- Avoid duplicating export dependency data in JSON
- Improve source map convert performance
- cache.storage.directory is now the base directory, with final cache location defaulting to <directory>/<cache.name>
- Share source code across diagnostics to improve performance
- Cache module concatenation analysis across roots
- Reuse module concatenation search state
- Reduce module concatenation hot-path overhead
- Enable parallel wasmtime compilation for improved performance
- Optimize ESM linking passes
- Deduplicate repeated dynamic reexport code
- Reduce hook macro expansion size and optimize performance
- Erase js tap storage types to reduce binary size
- Build rspack source maps directly
- Optimize module hash creation
- Pre-size per-module maps and vecs in mangle_exports
- Deduplicate runtime module macro glue for improved performance
- Avoid cloning side effects artifact in module concatenation
- Add persistent cache for SourceMapDevToolPlugin
- Enable pureFunctions by default
- Make persistent cache max generations default to 3
- Rename persistent cache maxGenerations to maxVersions
- Harden persistent cache version cleanup with typed version
- Make stale version cleanup fire-and-forget
- Enable side-effect-free function analysis by default in production builds
- Bump swc to support react compiler
- Generate correct prefetch child assets
- Keep import.meta.url in createRequire when importMeta is disabled
- Align module need_build and FileSystemInfo with webpack
- Support all EnvironmentPlugin default values
- Improve incremental chunk graph reuse
- Await patch delivery before sealing completes in rsdoctor
- Ignore exportsOnly in local ident hashes for CSS
- Fallback eval devtools for modern-module
- Report diagnostics for unsupported context modes
- Correct compact hashed module and chunk IDs naming from compat-hashed to compact-hashed, with deprecated compatibility aliases maintained for backward compatibility
- Disable stats logging by default
- Disable incremental outside development mode
- Run afterCompile before shouldEmit and asset emission
- Clear stale issuer updates between rebuilds
- Exclude asset output path from URLs in CSS
- Bound concurrent asset writes during emit
- Update swc_ecma_minifier to 61.0.4
- Store server compiler ID in native coordinator
- Persist dependency id in metadata
- Normalize restored paths on Windows
- Pass HMR error to Preact refresh recovery handler
- Strip BOM from module content before concatenation in CSS extraction
- Process remaining module copies at lower priorities in split-chunks
- Allow scope hoisting for new URL targets in new-url-relative mode in esm_library
- Bump rkyv to 0.8.18 to fix RUSTSEC-2026-0233, RUSTSEC-2026-0234, and RUSTSEC-2026-0235
- Normalize string context from loaded config in CLI
- Share ExternalModule hooks across core instances
- Fix new cache compile failure on 32-bit platforms
- Improve circular real content hash error diagnostics
- Keep compilation dependency iterators disjoint
- Align cache version semantics with webpack
- Preserve ignored URL when import.meta.url is disabled
- Avoid runtime lock deadlock in napi
- Match compiler prefixes exactly in lazy compilation
- Avoid injecting shared providers into worker entrypoints in Module Federation
- Handle optional chains in member hook traversal
- Support loader context APIs in parallel loaders
- Preserve entry dependency identity in binding
- Preserve Lightning CSS license comments in loader
- Add missing CJS interop runtime requirement for ESM
- Avoid dead require bootstrap in runtime
- Preserve collision-free createRequire imports in runtime
- Clean up compilation-scoped plugin caches
- Hoist test API imports by source order in rstest
- Release custom runtime module generators on close in binding
- Preserve context exports in rspack runtime mode
- Correct full-hash chunk filenames in runtime
- Use POSIX asset keys in copy-plugin
- Remove redundant runtime declarations
- Handle SharedWorker string name option
- Avoid runtime scope conflicts in module factories
- Preserve direct exports bindings
- Release module graph connection wrappers
- Materialize namespace object for concatenated modules
- Parse preserved createRequire arguments
- Invalidate module hashes when assigning deterministic and natural ids
- Disable incremental chunk assets for entry fullhash filenames
- Propagate asset emit errors
- Avoid JavaScript output for URL-only assets
- Avoid worker external facade in bundleless output
- Execute worker entry modules in modern-module output
- Preserve defineConfig inference in CLI
- Preserve structured swc diagnostics in swc-loader
- Respect DllPlugin context for concatenated modules
- Scope maxVersions by compiler using compilerPath in cache
- Respect runtime mode in mf identifiers
- Preserve multiple referenced client exports in rsc
- Preserve createRequire().resolve with literal import.meta.url when requireResolve is disabled
- Preserve inline match resource imports in css
- Short-circuit optional import.meta calls
- Preserve exports for dynamic client references in rsc
- Avoid live chunk access when serializing stale stats
- Register hoisted mocks before importActual imports in rstest
- Run FsWatcher on a single owner task to fix concurrent &mut races
- Add module type when options are omitted in module output for worker
- Include output path in chunk render cache keys
- Support real content hash update hooks
- Clean up runtime global rendering
- Clean up chunk wrappers when compiler is garbage collected
- Enable runtime mode ESM context imports
- Revert Module Federation runtime identifiers
- Include paths in native filesystem errors
- Respect RSPACK_BINDING in loader workers
- Invalidate the target compiler for lazy compilation
- Update runtime context during hot updates
- Inline-value check must precede deferred pure checks in concatenation
- Skip re-applying unchanged CSS during HMR
- Preserve asset bytes for binary files
- Dedupe link HMR stylesheets in CSS
- Emit manifest assets with forward-slash names on Windows
- Unwrap dynamic source-phase imports in modern-module output
- Preserve static source-phase external bindings in esm_library
- Distinguish css wrapper sourcemap names
- Keep path data chunk compatible in binding
- Inject runtime require into browser MF runtime
- Preserve import phase in dynamic import external rendering
- Empty references export for cjs and dynamic import tree shaking
- Add guard for link.parentNode in css runtime
- Revert cjs export assignment side effects optimization
- Preserve inline source content for transform sourcemapsalso inv2.1.0-beta.0
- Remove webpackSource and webpackDefer magic commentsalso inv2.1.0-beta.0
- Apply global overrideStrict for ContextModulealso inv2.1.0-beta.0
- Filter ignored-subtree events that emit a spurious folder change in watcher
- Handle nested pure function calls in tree-shakingalso inv2.1.0-beta.0
- Filter ignored-subtree events that emit a spurious folder change
- Use ChunkWithSizeInfo delimiter in maxInitialSize chunk naming fallback path
- Wait for in-flight build before closing compiler
- Point wasi-worker-browser export to dist file
- Cache import.meta filename and dirname outside eval
Original release notes, newest first
The list above is our reading of these notes; the originals from rspack are here, one fold per release.
v2.2.2
What's Changed
New Features 🎉
- feat(cache): add intrastructure logging to the new cache by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15338
- feat(javascript): add JavascriptModulesPlugin.getChunkFilenameTemplate by @kakiuwang-ui in https://github.com/web-infra-dev/rspack/pull/15280
Performance 🚀
- perf(ids): optimize deterministic module id assignment by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15393
- perf: share runtimes in flag dependency usage by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15388
- perf(core): optimize module rendering for chunk assets by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15394
- perf(core): optimize create module hashes by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15396
Bug Fixes 🐞
- fix(stats): generate correct prefetch child assets by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15208
- fix: keep import.meta.url in createRequire when importMeta is disabled by @lazerg in https://github.com/web-infra-dev/rspack/pull/15273
- fix(core): align module need_build and FileSystemInfo with webpack by @hardfist in https://github.com/web-infra-dev/rspack/pull/15374
- fix(types): support all EnvironmentPlugin default values by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15382
- fix: improve incremental chunk graph reuse by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15373
- fix(rsdoctor): await patch delivery before sealing completes by @kakiuwang-ui in https://github.com/web-infra-dev/rspack/pull/15399
- fix(css): ignore exportsOnly in local ident hashes by @mattcosta7 in https://github.com/web-infra-dev/rspack/pull/15364
- fix: fallback eval devtools for modern-module by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15404
- fix: report diagnostics for unsupported context modes by @dr4gan0x in https://github.com/web-infra-dev/rspack/pull/15361
Refactor 🔨
- refactor(loader): reuse filesystem snapshots for cache dependencies by @intellild in https://github.com/web-infra-dev/rspack/pull/15366
- refactor(core): remove BuildInfo clone by @hardfist in https://github.com/web-infra-dev/rspack/pull/15377
Document 📖
- docs: correct compact hashed API names by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15358
- docs: improve built-in plugin overview and examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15354
- docs: move webpack attribution to page footer by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15365
- docs: improve low-level plugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15368
- docs: update webpack plugin compatibility by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15369
- docs: remove version info before Rspack 1.3.0 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15371
- docs: standardize plugin documentation structure by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15378
- docs: improve BannerPlugin option documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15392
- docs: improve IgnorePlugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15395
- docs: improve plugin option documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15398
- docs: remove extra code block spacing in collapse panels by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15403
- docs: improve ContextReplacementPlugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15410
- docs: improve CssExtractRspackPlugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15411
- docs: improve HtmlRspackPlugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15412
- docs: improve HTML plugin guidance by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15414
Other Changes
- chore(deps): update dependency @microsoft/api-extractor to ^7.59.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15385
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15383
- chore: replace Rstack CLI skill by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15387
- chore(deps): update dependency @module-federation/runtime-tools to v2.9.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15386
- chore(deps): update dependency jest-diff to ^30.5.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15389
- chore(deps): update dependency pretty-format to v30.5.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15390
- chore(release): bump all published crates in crate-version by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15367
- ci: refresh self-hosted cache action reference by @deanjingshui in https://github.com/web-infra-dev/rspack/pull/15407
- chore: use heading-case as a formatter plugin by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15405
- chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15413
- chore(ci): validate website builds for fork pull requests by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15408
New Contributors
- @mattcosta7 made their first contribution in https://github.com/web-infra-dev/rspack/pull/15364
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.2.1...v2.2.2
v2.2.1
Highlights
Corrected compact-hashed IDs naming
Rspack 2.2.0 introduced compact hashed module and chunk IDs under the mistakenly named compat-hashed option and CompatHashedModuleIdsPlugin / CompatHashedChunkIdsPlugin APIs. Rspack 2.2.1 corrects these names to compact-hashed, CompactHashedModuleIdsPlugin, and CompactHashedChunkIdsPlugin.
The names introduced in 2.2.0 remain available as deprecated compatibility aliases, but we recommend upgrading to Rspack 2.2.1 and using the corrected names:
module.exports = {
optimization: {
moduleIds: 'compact-hashed',
chunkIds: 'compact-hashed',
},
};
What's Changed
New Features 🎉
- feat(wasm): align wasmStreamingFallback with webpack by @CoderSerio in https://github.com/web-infra-dev/rspack/pull/15334
- feat: track dependencies in loader cache by @intellild in https://github.com/web-infra-dev/rspack/pull/15325
Performance 🚀
- perf(core): store FactorizeInfo path dependencies as compact slices by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15306
Bug Fixes 🐞
- fix(cli): disable stats logging by default by @hardfist in https://github.com/web-infra-dev/rspack/pull/15328
- fix: disable incremental outside development mode by @hardfist in https://github.com/web-infra-dev/rspack/pull/15332
- fix(core): run afterCompile before shouldEmit and asset emission by @kakiuwang-ui in https://github.com/web-infra-dev/rspack/pull/15326
- fix(cache): clear stale issuer updates between rebuilds by @zhsama in https://github.com/web-infra-dev/rspack/pull/15276
- fix(css): exclude asset output path from URLs by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15315
- fix(core): bound concurrent asset writes during emit by @lazerg in https://github.com/web-infra-dev/rspack/pull/15342
- fix(minify): update swc_ecma_minifier to 61.0.4 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15343
- fix(ids): correct compact hashed API names by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15356
- fix(rsc): store server compiler ID in native coordinator by @SyMind in https://github.com/web-infra-dev/rspack/pull/15307
- fix(cache): persist dependency id in metadata by @hardfist in https://github.com/web-infra-dev/rspack/pull/15345
- fix(cache): normalize restored paths on Windows by @hardfist in https://github.com/web-infra-dev/rspack/pull/15357
Refactor 🔨
- refactor(split-chunks): skip disjoint group cleanup by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15318
Document 📖
- docs: 2.2.0 release blog by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15240
- docs: clarify incremental mode requirement by @hardfist in https://github.com/web-infra-dev/rspack/pull/15339
- docs: move LLMs UI to page outline by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15341
- docs: reorganize plugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15347
Other Changes
- chore(deps): migrate to @rstackjs/doc-ui v1.14.9 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15349
New Contributors
- @CoderSerio made their first contribution in https://github.com/web-infra-dev/rspack/pull/15334
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.2.0...v2.2.1
v2.2.0
What's Changed
🎉 See Announcing Rspack 2.2 for more details.
New Features 🎉
- feat: implement generation-based memory cache eviction by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15181
- feat: add idle cache compaction with interruption handling by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15182
- feat(css): improve unicode handling and support more css modules cases, boost performance by @intellild in https://github.com/web-infra-dev/rspack/pull/14809
- feat: integrate module code generation to the new cache by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15194
- feat(cache): add fine-grained new cache options by @hardfist in https://github.com/web-infra-dev/rspack/pull/15261
- feat(ids): add compat-hashed module ids by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14926
- feat: analyze dynamic imports in Promise.all destructuring by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15249
- feat: integrate new cache into source map devtool plugin by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15269
- feat(core): add compilation.runtimeTemplate by @kakiuwang-ui in https://github.com/web-infra-dev/rspack/pull/15305
- feat(ids): add compact chunk ids by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14959
- feat(loader): support opt-in per-loader caching by @intellild in https://github.com/web-infra-dev/rspack/pull/15236
Performance 🚀
- perf(binding): cache converted module original source by @SyMind in https://github.com/web-infra-dev/rspack/pull/15174
- perf: batch splitChunks JavaScript callbacks by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15147
- perf(binding): exclude test loaders from release builds by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15209
- perf(binding): exclude perfetto from release WASI builds by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15221
- perf(binding): align release WASI optimizations by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15227
- perf(binding): optimize React Compiler crates for size by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15230
- perf: avoid parsing concatenated module codegen by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14852
- perf: preallocate identifier path buffers by @intellild in https://github.com/web-infra-dev/rspack/pull/15220
- perf(paths): intern ArcPath as a single-allocation prehashed path by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15205
- perf: use rayon parallel scheduling for new cache db by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15251
- perf(core): skip the directory walk for glob patterns without metacharacters by @lazerg in https://github.com/web-infra-dev/rspack/pull/15297
- perf(split-chunks): skip single-chunk used exports grouping by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15312
- perf(core): precompile filename templates cache by @intellild in https://github.com/web-infra-dev/rspack/pull/15195
Bug Fixes 🐞
- fix: pass HMR error to Preact refresh recovery handler by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15179
- fix(cache): limit shutdown compaction to a single pass by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15188
- fix(types): add missing stats fields by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15206
- fix(css-extract): strip BOM from module content before concatenation by @doxxx93 in https://github.com/web-infra-dev/rspack/pull/15169
- fix(core): decouple incremental artifacts from cache! by @hardfist in https://github.com/web-infra-dev/rspack/pull/15229
- fix(asset): preserve ESM imports in module output for "preserve" importMode by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15165
- fix(css): CSS module dashed identifier and composes edge cases by @intellild in https://github.com/web-infra-dev/rspack/pull/15223
- fix: make Module.blocks and Module.dependencies fail gracefully while the module graph is under construction by @upupming in https://github.com/web-infra-dev/rspack/pull/15177
- fix: preserve reexport call context in concatenation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15247
- fix(cache): validate new cache version by @hardfist in https://github.com/web-infra-dev/rspack/pull/15237
- fix(cache): use storage location for new cache by @hardfist in https://github.com/web-infra-dev/rspack/pull/15250
- fix(ids): make compare_modules_by_pre_order_index_or_identifier a total order by @noyobo in https://github.com/web-infra-dev/rspack/pull/15260
- fix: await async modules in ProvidePlugin by @HashemKhalifa in https://github.com/web-infra-dev/rspack/pull/15143
- fix: refine binding code generation result error handling by @intellild in https://github.com/web-infra-dev/rspack/pull/15253
- fix(resolver): restore tsconfig files as file dependencies by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15264
- fix: include factory-created server actions in RSC metadata by @nikhilsnayak in https://github.com/web-infra-dev/rspack/pull/15298
Refactor 🔨
- refactor(css): move css-module-lexer into workspace by @intellild in https://github.com/web-infra-dev/rspack/pull/15218
- refactor(core): clarify persistent cache item naming by @hardfist in https://github.com/web-infra-dev/rspack/pull/15231
- refactor(core): move factorization metadata into artifact by @hardfist in https://github.com/web-infra-dev/rspack/pull/15267
- refactor(core): use Arc for module graph dependencies by @hardfist in https://github.com/web-infra-dev/rspack/pull/15275
- refactor(paths): rename ArcPath to InternedPath by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15274
- refactor(cache): align new cache snapshots with webpack by @hardfist in https://github.com/web-infra-dev/rspack/pull/15311
- refactor(cache): separate legacy cache implementation by @hardfist in https://github.com/web-infra-dev/rspack/pull/15316
- refactor: remove build_deps and parallel encoding by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15330
Document 📖
- docs: align stats JSON types with implementation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15207
- docs: improve dynamic import magic comments by @SyMind in https://github.com/web-infra-dev/rspack/pull/15233
- docs: improve devtool configuration guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15239
- docs: expand devtool reference by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15241
- docs: improve target configuration guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15248
- docs: document compat-hashed module IDs for 2.2.0 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15285
- docs: improve lazy compilation documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15295
- docs: expand lazy compilation option reference by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15296
- docs: clarify resolve alias behavior by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15299
- docs: improve watch options documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15303
- docs: clarify externals type defaults by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15304
- docs: remove outdated CodeSandbox example by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15317
- docs: document experiments.runtimeMode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15321
Other Changes
- refactor!(rsc): emit client references directly and preinit CSS by @SyMind in https://github.com/web-infra-dev/rspack/pull/14974
- chore: migrate rspack_resolver crate into the workspace by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15161
- chore(deps): upgrade Rstack CLI to v0.6.0 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15176
- chore(ci): use unified Rstack checks by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15184
- chore(resolver): tidy crate root layout by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15180
- chore: format TOML with Rstack CLI by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15185
- chore(deps): upgrade pnp to 0.12.11 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15186
- chore(ci): gate binary size on main pushes by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15178
- chore: upgrade Wasmtime and wasmparser dependencies by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15187
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15196
- chore(deps): update dependency toml to v5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15204
- chore(deps): update rust crate regex to 1.13.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15200
- chore(deps): update dependency @shikijs/transformers to ^4.4.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15197
- chore(deps): update dependency terser to v5.50.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15198
- chore(deps): update dependency diff to v9 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15201
- chore(deps): update dependency glob to v13 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15202
- chore(deps): update dependency sass-loader to v17 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15203
- chore(deps): update dependency less to v4.9.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15210
- chore(deps): update rust crate anymap to 1.1.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15211
- chore: bump SWC dependencies by @hardfist in https://github.com/web-infra-dev/rspack/pull/15217
- chore(vscode): use Rstack extension as default formatter by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15245
- chore: update Rstack to v0.6.2 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15252
- ci: make sccache actually cache cargo check and clippy by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15235
- chore: align agent guidance by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15268
- revert: remove faster module concatenation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15262
- chore(deps): update dependency @types/semver to ^7.8.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15283
- chore(deps): update dependency memfs to v4.68.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15284
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15281
- chore(deps): remove unused dependencies by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15286
- chore: remove unused files and exports by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15287
- chore(deps): update rust crate insta to 1.48.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15294
- chore(deps): update dependency connect-next to v5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15291
- chore(deps): update dependency mermaid to ^11.17.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15290
- chore(deps): update rust crate either to 1.18.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15293
- chore(deps): update rust crate bitflags to 2.13.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15292
- chore(deps): update github-actions (major) by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15301
- chore(deps): update rust crate cargo_toml to v1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15213
- test(copy-plugin): cover brace expansion in glob patterns by @kakiuwang-ui in https://github.com/web-infra-dev/rspack/pull/15279
- chore(deps): upgrade Rstack CLI to v0.6.4 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15329
New Contributors
- @doxxx93 made their first contribution in https://github.com/web-infra-dev/rspack/pull/15169
- @noyobo made their first contribution in https://github.com/web-infra-dev/rspack/pull/15260
- @kakiuwang-ui made their first contribution in https://github.com/web-infra-dev/rspack/pull/15279
- @nikhilsnayak made their first contribution in https://github.com/web-infra-dev/rspack/pull/15298
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.10...v2.2.0
v2.1.10
[!NOTE] Removed noisy
import.metawarningsRspack 2.1.9 introduced warnings for unknown
import.metaproperties. Because they proved overly noisy in real-world builds, Rspack 2.1.10 removes them to reduce unnecessary diagnostics for custom or runtime-specific extensions. See #15166 for detail.
What's Changed
New Features 🎉
- feat: expose ExternalModule chunkCondition hook by @intellild in https://github.com/web-infra-dev/rspack/pull/15093
- feat: new cache system by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15110
- feat: integrate new cache to minimize cache by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15150
Bug Fixes 🐞
- fix(split-chunks): process remaining module copies at lower priorities by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15079
- fix(esm_library): allow scope hoisting for
new URLtargets in new-url-relative mode by @elecmonkey in https://github.com/web-infra-dev/rspack/pull/15155 - fix(deps): bump rkyv to 0.8.18 (fixes RUSTSEC-2026-0233/0234/0235) by @jesses-canva in https://github.com/web-infra-dev/rspack/pull/15156
- fix(cli): normalize string
contextfrom loaded config by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15162 - fix: share ExternalModule hooks across core instances by @intellild in https://github.com/web-infra-dev/rspack/pull/15163
- fix: new cache compile failed on 32-bit platforms by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15175
Refactor 🔨
- refactor: migrate rspack_dojang into monorepo by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15124
Document 📖
- docs: document Baseline queries by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15167
- docs: document webpack_layer by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15170
Other Changes
- chore: clean up CODEOWNERS by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15159
- chore(deps): update rstack to v0.5.1 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15160
- test: add CSS benchmarks by @intellild in https://github.com/web-infra-dev/rspack/pull/15106
- revert: unknown import.meta property warnings by @intellild in https://github.com/web-infra-dev/rspack/pull/15166
- test: add Baseline query coverage by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15168
- chore(ci): drop binary size limit from required check by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15171
New Contributors
- @jesses-canva made their first contribution in https://github.com/web-infra-dev/rspack/pull/15156
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.9...v2.1.10
v2.1.9
What's Changed
New Features 🎉
- feat: warn on unknown import.meta properties by @intellild in https://github.com/web-infra-dev/rspack/pull/14785
- feat: add builds for binding-linux-(ppc64,s390x)-gnu by @logonoff in https://github.com/web-infra-dev/rspack/pull/14962
- feat(create-rspack): support --no-git by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15133
- feat: support caseSensitive in import.meta.glob by @intellild in https://github.com/web-infra-dev/rspack/pull/14811
Performance 🚀
- perf(copy-plugin): cache and order static patterns by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/15051
- perf: limit incremental HMR asset processing by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/15063
- perf: avoid unnecessary call wrappers for runtime helpers by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15065
- perf: cache compilation assets proxy by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15070
- perf(cache): avoid copying aligned archive buffers by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/15024
- perf(json): avoid duplicating export dependency data by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/15023
- perf: improve source map convert performance by @intellild in https://github.com/web-infra-dev/rspack/pull/15138
Bug Fixes 🐞
- fix: improve circular real content hash error diagnostics by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14973
- fix: keep compilation dependency iterators disjoint by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/15072
- fix(cache): align cache version semantics with webpack by @hardfist in https://github.com/web-infra-dev/rspack/pull/15000
- fix: preserve ignored URL when import.meta.url is disabled by @intellild in https://github.com/web-infra-dev/rspack/pull/15075
- fix(napi): avoid runtime lock deadlock by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15077
- fix(lazy): match compiler prefixes exactly by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/15073
- fix(mf): avoid injecting shared providers into worker entrypoints by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15059
- fix: handle optional chains in member hook traversal by @zhsama in https://github.com/web-infra-dev/rspack/pull/15076
- fix: support loader context APIs in parallel loaders by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15092
- fix: warn on invalid chunk names by @HashemKhalifa in https://github.com/web-infra-dev/rspack/pull/14854
- fix: preserve imports in impure class expressions by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15098
- fix: preserve worker entrypoints when async chunks are disabled by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15096
- fix: align loader context docs and types with implementation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15095
- fix(rstest): make import.meta.rstest resolver optional by @9aoy in https://github.com/web-infra-dev/rspack/pull/15097
- fix: handle context changes in import.meta.glob hooks by @intellild in https://github.com/web-infra-dev/rspack/pull/14897
- fix(types): align public API docs with declarations by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15107
- fix: preserve worker entrypoints during module deduplication by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14902
- fix(cli): restore config key completions in defineConfig by @upupming in https://github.com/web-infra-dev/rspack/pull/15140
- fix: deduplicate parse errors by source range by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15146
Refactor 🔨
- refactor: extract parser options with AstObject derive by @intellild in https://github.com/web-infra-dev/rspack/pull/14886
- refactor: remove dead Rust code with Hawk by @hardfist in https://github.com/web-infra-dev/rspack/pull/15139
Document 📖
- docs: document loaderContext.addBuildDependency by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15082
- docs: document loaderContext.loaders and remainingRequest by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15084
- docs: migrate loaderContext examples to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15085
- docs: document loader dependency getters by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15087
- docs(release): group release targets by Node.js support tier by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15088
- docs: document loader context environment by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15090
- docs: correct loader context callback and clearDependencies by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15091
- docs: fix invalid code examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15104
- docs: align more API type docs with declarations by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15109
- docs: correct Module Federation documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15111
- docs: align stats hooks docs with implementation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15126
- docs: improve Stats API documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15132
Other Changes
- test: ensure Rsdoctor reports tree-shaken JSON sizes by @yifancong in https://github.com/web-infra-dev/rspack/pull/15055
- chore: migrate formatting to rs fmt by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15068
- chore(deps): replace create-rstack with create-toolkit by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15094
- chore(deps): update dependency mermaid to v11.16.1 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15099
- chore(binding): use system allocator for debug builds by @hardfist in https://github.com/web-infra-dev/rspack/pull/15103
- chore(binding): use native binaryen for wasm-opt by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15100
- chore: update skill metadata and testing guidance by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15105
- chore(deps): update dependency @rspack/dev-server to ^2.2.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15115
- chore(deps): update rust crate swc_ecma_minifier to 57.0.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15113
- chore(deps): update dependency @playwright/test to v1.62.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15114
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15112
- chore(deps): update rstack to v0.4.0 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15125
- chore(deps): update dependency happy-dom to ^20.11.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15120
- chore(deps): update dependency acorn to ^8.18.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15118
- chore: bump
swc_corefrom 72 to 76 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/15122 - chore(deps): update dependency core-js to v3.50.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15119
- chore(deps): update rust crate fast-glob to 1.1.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15116
- chore(deps): update rust crate tokio to 1.53.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15117
- chore(deps): update dependency commander to v15 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15129
- chore(deps): update dependency @testing-library/jest-dom to v7 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15128
- chore(deps): update dependency jsdom to v30 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15130
- chore(deps): update dependency less-loader to v13 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15131
- chore(deps): update yarn to v4.18.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15127
- chore: document memory profiling workflows by @hardfist in https://github.com/web-infra-dev/rspack/pull/15108
- chore: upgrade rspack-resolver to 0.10.0 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15149
New Contributors
- @zhsama made their first contribution in https://github.com/web-infra-dev/rspack/pull/15076
- @HashemKhalifa made their first contribution in https://github.com/web-infra-dev/rspack/pull/14854
- @upupming made their first contribution in https://github.com/web-infra-dev/rspack/pull/15140
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.8...v2.1.9
v2.1.8
Highlights
Persistent cache storage options now align with webpack
Rspack now supports cache.name and cache.storage.location, aligning with webpack's persistent cache semantics. cache.storage.directory is now the base directory, while the final cache location defaults to <directory>/<cache.name>. Default cache paths remain unchanged.
If you previously used storage.directory as the exact cache path, migrate it to storage.location. Existing cache data is not migrated automatically.
cache: {
type: 'persistent',
storage: {
type: 'filesystem',
- directory: '/custom/cache',
+ location: '/custom/cache',
},
}
What's Changed
New Features 🎉
- feat(rstest): inject module origin for import.meta.rstest by @9aoy in https://github.com/web-infra-dev/rspack/pull/15006
- feat: align persistent cache storage options with webpack by @hardfist in https://github.com/web-infra-dev/rspack/pull/15049
- feat(hmr): emit css.c / css.r in the hot-update manifest for precise CSS updates by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14682
Performance 🚀
- perf: avoid cloning Lightning CSS stylesheet AST by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14982
- perf: avoid cloning CSS module lists during ordering by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14984
- perf(copy): offload asset reads by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15022
- perf: share source across linking diagnostics by @hardfist in https://github.com/web-infra-dev/rspack/pull/15048
Bug Fixes 🐞
- fix(binding): preserve entry dependency identity by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/14964
- fix(loader): preserve lightningcss license comments by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14980
- fix(esm): add missing CJS interop runtime requirement by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14978
- fix(runtime): avoid dead require bootstrap by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14991
- fix(runtime): preserve collision-free createRequire imports by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14994
- fix: clean up compilation-scoped plugin caches by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/14999
- fix(rstest): hoist test API imports by source order by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15007
- fix(binding): release custom runtime module generators on close by @SyMind in https://github.com/web-infra-dev/rspack/pull/15008
- fix: preserve context exports in rspack runtime mode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15001
- fix(runtime): correct full-hash chunk filenames by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/14997
- fix(copy-plugin): use POSIX asset keys by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/15015
- fix(runtime): remove redundant runtime declarations by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14993
- fix(worker): handle SharedWorker string name option by @elecmonkey in https://github.com/web-infra-dev/rspack/pull/15012
- fix: avoid runtime scope conflicts in module factories by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15002
- fix: preserve direct exports bindings by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15003
- fix(dll): serialize buildMeta.defaultObject as redirect-warn by @tusharsingh308 in https://github.com/web-infra-dev/rspack/pull/15016
- fix(json): match webpack source map behavior for generated modules by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/15014
- fix: keep property name when global is used in object shorthand by @lazerg in https://github.com/web-infra-dev/rspack/pull/15054
- fix: prevent compiler abort for exported rspackRequire by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15050
Refactor 🔨
- refactor(binding): replace compilation pointers with compilation ids by @SyMind in https://github.com/web-infra-dev/rspack/pull/14988
Document 📖
- docs: clarify optimization.nodeEnv defaults by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14976
- docs: invite @swwind to Rspack core team by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14977
- docs(binding): document JavaScript binding architecture by @SyMind in https://github.com/web-infra-dev/rspack/pull/14995
- docs: document unsupported webpack CLI options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15017
- docs: improve webpack migration guidance by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15032
- docs: clarify webpack plugin migration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15033
- docs(sources): add rspack_sources architecture guide by @SyMind in https://github.com/web-infra-dev/rspack/pull/15057
Other Changes
- chore(deps): update dependency @rslint/core to v0.7.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14936
- chore(deps): update dependency toml to ^4.3.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14942
- chore: remove obsolete pnpm configs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14987
- chore: update shared Agent Skills by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14986
- chore: migrate Git hooks to Rstack CLI by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14989
- chore: migrate Rslint to Rstack CLI by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14990
- chore: migrate Rslib and Rsbuild to Rstack CLI by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14992
- chore: migrate Rstest and Rspress to Rstack CLI by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14998
- chore: replace migration skill with eco-ci debugger by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15009
- chore(deps): update dependency @rspress/core to ^2.0.19 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15029
- chore(deps): update dependency @rstest/adapter-rspack to ^0.11.5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15031
- chore(deps): update dependency @module-federation/runtime-tools to v2.8.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15027
- chore(deps): update dependency @ast-grep/napi to ^0.45.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15030
- chore(deps): update dependency @rspack/lite-tapable to v1.1.5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15028
- chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15026
- chore: modernize Renovate configuration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15040
- chore(deps): update dependency memfs to v4.64.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15036
- chore(deps): update dependency source-map to ^0.8.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15037
- chore(deps): update dependency terser to v5.49.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15038
- chore(deps): update dependency ts-checker-rspack-plugin to ^1.6.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15039
- chore(renovate): group all npm patch updates by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15041
- chore(deps): update dependency less to v4.8.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15045
- chore(deps): update dependency markdown-to-jsx to ^9.10.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15046
- chore(deps): update dependency @rstest/core to ^0.11.5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15044
- chore(deps): update dependency chalk to v6 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15043
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15042
- chore(build): enable createRequire parser in Rslib builds by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/15058
New Contributors
- @tusharsingh308 made their first contribution in https://github.com/web-infra-dev/rspack/pull/15016
- @lazerg made their first contribution in https://github.com/web-infra-dev/rspack/pull/15054
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.7...v2.1.8
v2.1.7
Notice: The
import.meta.envexperimental feature introduced in Rspack 2.1.6 has been removed in Rspack 2.1.7.
What's Changed
Performance 🚀
- perf: share source code across diagnostics by @hardfist in https://github.com/web-infra-dev/rspack/pull/14967
Bug Fixes 🐞
- fix: revert "feat: support import.meta.env" by @intellild in https://github.com/web-infra-dev/rspack/pull/14975
- fix(binding): release module graph connection wrappers by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14965
Other Changes
- chore: release version 2.1.6 by @SyMind in https://github.com/web-infra-dev/rspack/pull/14966
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.6...v2.1.7
v2.1.6
What's Changed
New Features 🎉
- feat: support import.meta.env by @intellild in https://github.com/web-infra-dev/rspack/pull/14483
Performance 🚀
- perf: cache module concatenation analysis across roots by @ScriptedAlchemy in https://github.com/web-infra-dev/rspack/pull/14832
- perf: reuse module concatenation search state by @ScriptedAlchemy in https://github.com/web-infra-dev/rspack/pull/14833
- perf: reduce module concatenation hot-path overhead by @ScriptedAlchemy in https://github.com/web-infra-dev/rspack/pull/14834
Bug Fixes 🐞
- fix: materialize namespace object for concatenated modules by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14882
- fix: parse preserved createRequire arguments by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14813
- fix: invalidate module hashes when assigning deterministic and natural ids by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14878
- fix: disable incremental chunk assets for entry fullhash filenames by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14890
- fix: propagate asset emit errors by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14891
- fix(asset): avoid JavaScript output for URL-only assets by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14885
- fix(rslib): avoid worker external facade in bundleless output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14900
- fix: execute worker entry modules in modern-module output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14876
- fix(cli): preserve defineConfig inference by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14924
- fix(swc-loader): preserve structured swc diagnostics by @SyMind in https://github.com/web-infra-dev/rspack/pull/14921
- fix: respect DllPlugin context for concatenated modules by @hardfist in https://github.com/web-infra-dev/rspack/pull/14923
- fix(ci): resolve the binary-size base for stacked PRs by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14903
- fix(cache): scope maxVersions by compiler using compilerPath by @hardfist in https://github.com/web-infra-dev/rspack/pull/14954
Refactor 🔨
- refactor(esm-library): remove redundant module marking by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14875
- refactor(runtime): collect runtime module variables from templates by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14917
- refactor(runtime): simplify modern-module output by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14741
Document 📖
- docs: recommend TypeScript 7 for ts-checker-rspack-plugin by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14901
- docs: refresh Rstack slogan by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14928
- docs: mention Vue DevTools integration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14932
- docs: clarify resolve.modules behavior by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14953
- docs: fix formatting in split-chunks-plugin.mdx by @davidjb in https://github.com/web-infra-dev/rspack/pull/14963
Other Changes
- chore(deps): update dependency @module-federation/runtime-tools to v2.8.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14848
- chore(deps): update rust crate either to 1.16.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14693
- test(module-concat): add concatenation benchmark baselines by @@ScriptedAlchemy in https://github.com/web-infra-dev/rspack/pull/14831
- chore(ci): upload ci-profile binary size from main CI by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14868
- chore(deps): upgrade Rslib to 1.0.0-beta.1 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/14925
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14838
- test: align defineConfig error assertions by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14930
- chore(deps): manage TypeScript with pnpm catalogs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14931
- chore(deps): migrate workspace deps to pnpm catalogs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14935
- chore(deps): update dependency ts-checker-rspack-plugin to ^1.5.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14943
- chore(deps): update dependency fs-extra to ^11.4.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14937
- chore(deps): update dependency http-proxy-middleware to ^4.2.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14938
- chore(deps): update dependency rspack-vue-loader to ^17.6.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14941
- chore(deps): update dependency lint-staged to ^17.2.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14939
- chore(deps): update dependency markdown-to-jsx to ^9.9.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14940
New Contributors
- @davidjb made their first contribution in https://github.com/web-infra-dev/rspack/pull/14963
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.5...v2.1.6
v2.1.5
What's Changed
Bug Fixes 🐞
- fix: respect runtime mode in mf identifiers by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14782
- fix(rsc): preserve multiple referenced client exports by @SyMind in https://github.com/web-infra-dev/rspack/pull/14794
- fix: preserve createRequire().resolve with literal import.meta.url when requireResolve is disabled by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14783
- fix(css): preserve inline match resource imports by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14803
- fix: short-circuit optional import.meta calls by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14806
- fix(rsc): preserve exports for dynamic client references by @SyMind in https://github.com/web-infra-dev/rspack/pull/14807
- fix(stats): avoid live chunk access when serializing stale stats by @SyMind in https://github.com/web-infra-dev/rspack/pull/14808
- fix(rstest): register hoisted mocks before importActual imports by @fi3ework in https://github.com/web-infra-dev/rspack/pull/14810
- fix(watcher): run FsWatcher on a single owner task to fix concurrent &mut races by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14829
- fix(worker): add module type when options are omitted in module output by @elecmonkey in https://github.com/web-infra-dev/rspack/pull/14874
- fix: include output path in chunk render cache keys by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14877
- fix: support real content hash update hooks by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14660
Refactor 🔨
- refactor(binding): remove compilation pointer from async dependency block by @SyMind in https://github.com/web-infra-dev/rspack/pull/14797
- refactor(core): improve referenced export data struct by @SyMind in https://github.com/web-infra-dev/rspack/pull/14796
Other Changes
- chore(skills): add webpack test gap diff script by @intellild in https://github.com/web-infra-dev/rspack/pull/14805
- chore: update Rsdoctor diff action version by @yifancong in https://github.com/web-infra-dev/rspack/pull/14812
- chore(deps): update napi by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14837
- chore(deps): update dependency @rslint/core to v0.7.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14849
- chore: update simd-json and value-trait to fix stringify issue for CPUs without AVX/SSE4 capabilities by @intellild in https://github.com/web-infra-dev/rspack/pull/14828
- chore: add rspack perf codspeed goal skill by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14550
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.4...v2.1.5
v2.1.4
Highlights
Fine-grained import.meta parser options
module.parser.javascript.importMeta now accepts an object so each known import.meta property can be configured independently, on top of the existing true / false / 'preserve-unknown' values. Properties set to false are preserved for runtime evaluation, omitted properties keep their default behavior, and unknown properties are preserved. Both webpack-compatible keys (dirname, filename, main, url, webpack, webpackContext) and Rspack-specific keys (rspackHash, rspackPublicPath, glob, ...) are supported.
export default {
module: {
parser: {
javascript: {
importMeta: {
// keep `import.meta.url` for runtime evaluation
url: false,
// keep the compile-time replacement of `import.meta.webpack`
webpack: true,
},
},
},
},
};
Static worker URL output
module.parser.javascript.worker now accepts an object form with alias and url, alongside the existing boolean and string[] forms. With url: 'new-url-relative' and output.module enabled, Rspack emits a static new URL() expression for new Worker(new URL(..., import.meta.url)) instead of runtime code, honoring output.publicPath and output.workerPublicPath.
export default {
output: {
module: true,
chunkFilename: '[name].bundle.js',
},
module: {
parser: {
javascript: {
worker: {
url: 'new-url-relative',
},
},
},
},
};
new Worker(new URL('./worker.js', import.meta.url));
// would become 👇
new Worker(new URL('./worker.bundle.js', import.meta.url));
What's Changed
New Features 🎉
- feat(runtime): support logical assignment for chunk loading global by @fireairforce in https://github.com/web-infra-dev/rspack/pull/14655
- feat: support persistent cache for module hashes by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14717
- feat: support static worker new URL output by @intellild in https://github.com/web-infra-dev/rspack/pull/14728
- feat: support fine-grained import.meta parser options by @intellild in https://github.com/web-infra-dev/rspack/pull/14631
Performance 🚀
- perf(swc): enable parallel wasmtime compilation by @hardfist in https://github.com/web-infra-dev/rspack/pull/14716
- perf(hook): reduce hook macro expansion size and optimize performance by @intellild in https://github.com/web-infra-dev/rspack/pull/14633
- perf: optimize ESM linking passes by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14758
- perf: deduplicate repeated dynamic reexport code by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14748
Bug Fixes 🐞
- fix(ci): pick binary-size base by build-triggering commit by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14715
- fix: clean up runtime global rendering by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14735
- fix(binding): clean up chunk wrappers when compiler is GCed by @SyMind in https://github.com/web-infra-dev/rspack/pull/14736
- fix: enable runtime mode esm context imports by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14740
- fix: revert Module Federation runtime identifiers by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14761
- fix(fs): include paths in native filesystem errors by @hardfist in https://github.com/web-infra-dev/rspack/pull/14760
- fix: respect RSPACK_BINDING in loader workers by @hardfist in https://github.com/web-infra-dev/rspack/pull/14775
- fix: invalidate the target compiler for lazy compilation by @Kanary-channelio in https://github.com/web-infra-dev/rspack/pull/14781
Refactor 🔨
- refactor(binding): avoid unsafe compilation access in chunk and module by @SyMind in https://github.com/web-infra-dev/rspack/pull/14671
- refactor: avoid runtime module iife in rspack mode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14700
- refactor: colocate rspack runtime lexical globals by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14703
- refactor: rename empty context helpers by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14733
- refactor(cli): use @rstackjs/load-config by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14738
- refactor: use rspack runtime identifiers by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14739
- refactor: unify runtime globals render modes by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14762
Other Changes
- chore(ci): surface Windows Defender status after disable attempt by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14711
- chore(ci): read binary-size data via authenticated API by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14730
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14751
- chore(deps): update dependency @rslint/core to v0.6.5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14749
- chore(deps): update dependency @module-federation/runtime-tools to v2.7.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14752
- chore(deps): update dependency webpack-sources to v3.5.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14750
- revert: "feat: support persistent cache for module hashes" by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14763
New Contributors
- @Kanary-channelio made their first contribution in https://github.com/web-infra-dev/rspack/pull/14781
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.3...v2.1.4
v2.1.3
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
v2.1.2
What's Changed
Highlights 💡
Support import.meta style module variables
| New import.meta API | Existing runtime variable |
|---|---|
import.meta.rspackPublicPath | __webpack_public_path__ |
import.meta.rspackBaseUri | __webpack_base_uri__ |
import.meta.rspackShareScopes | __webpack_share_scopes__ |
import.meta.rspackInitSharing | __webpack_init_sharing__ |
import.meta.rspackNonce | __webpack_nonce__ |
import.meta.rspackUniqueId | __rspack_unique_id__ |
import.meta.rspackVersion | __rspack_version__ |
import.meta.rspackHash | __webpack_hash__ |
New Features 🎉
- feat: support
import.metastyle module variables (#14539 by @LingyuCoder)
Performance 🚀
- perf: deduplicate runtime module macro glue (#14620 by @intellild)
- perf: avoid cloning side effects artifact in module concatenation (#14622 by @hardfist)
Bug Fixes 🐞
- fix(browser): inject runtime require into browser MF runtime (#14590 by @CPunisher)
- fix(ci): build wasm in release debug so the wasm binding gets published (#14614 by @stormslowly)
- fix(rslib): preserve import phase in dynamic import external rendering (#14615 by @elecmonkey)
- fix: empty references export for cjs and dynamic import tree shaking (#14629 by @ahabhgk)
Document 📖
- docs: document asset/resource emit generator option (#14602 by @chenjiahan)
- docs: document json parser parse option (#14606 by @chenjiahan)
- docs: document more rule use options (#14610 by @chenjiahan)
- docs: update module variable docs for import.meta (#14618 by @LingyuCoder)
- docs: enable Rspress anchor checks (#14627 by @chenjiahan)
Other Changes
- chore(deps): update patch npm dependencies (#14595 by @renovate[bot])
- chore(deps): update dependency @babel/preset-react to ^7.29.7 (#14597 by @renovate[bot])
- chore(deps): update dependency @ast-grep/napi to ^0.44.0 (#14596 by @renovate[bot])
- chore(deps): update dependency @rsbuild/core to v2.1.1 (#14603 by @renovate[bot])
- chore(deps): update dependency @rspack/dev-server to ^2.1.0 (#14604 by @renovate[bot])
- chore(deps): update dependency @shikijs/transformers to ^4.3.0 - autoclosed (#14605 by @renovate[bot])
- chore(deps): update dependency mermaid to ^11.16.0 (#14607 by @renovate[bot])
- chore(deps): update dependency ts-checker-rspack-plugin to ^1.5.1 (#14608 by @renovate[bot])
- chore(deps): update dependency @rsbuild/plugin-sass to v2 (#14609 by @renovate[bot])
- chore: remove obsolete perf agent skills (#14613 by @hardfist)
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.1...v2.1.2
v2.1.1
What's Changed
New Features 🎉
- feat(rsdoctor): add dependencyId and loc to export usage edges by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14577
Performance 🚀
- perf(devtool): add persistent cache for SourceMapDevToolPlugin by @SyMind in https://github.com/web-infra-dev/rspack/pull/14473
Bug Fixes 🐞
- fix(css): add guard for link.parentNode in css runtime by @BeiyanYunyi in https://github.com/web-infra-dev/rspack/pull/14566
- fix: revert cjs export assignment side effects optimization by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14600
Other Changes
- docs: v2.1 release blog by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14527
- refactor(runtime): structure runtime requirements by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14574
- chore(deps): update dependency @rslint/core to v0.6.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14594
- chore(deps): update dependency @module-federation/runtime-tools to v2.6.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14598
New Contributors
- @BeiyanYunyi made their first contribution in https://github.com/web-infra-dev/rspack/pull/14566
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.0...v2.1.1
v2.1.0
What's Changed
🎉 See Announcing Rspack 2.1 for more details.
New Features 🎉
- feat: expose module error JS API by @SyMind in https://github.com/web-infra-dev/rspack/pull/14351
- feat(cache): log persistent cache read and write timings by @hardfist in https://github.com/web-infra-dev/rspack/pull/14314
- feat(module_graph): expose
getProvidedExports()to JS API by @logonoff in https://github.com/web-infra-dev/rspack/pull/14349 - feat: support drop inactive branch dependencies for member expr by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14382
- feat(runtime): introduce experimental.runtimeMode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14254
- feat: support branch guarded export presence for
inon ESM imports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14426 - feat: bump swc to support react compiler by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14435
- feat(runtime): runtime internals of rspack runtime mode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14427
- feat(rsdoctor): expose export usage graph by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14291
- feat: enable pureFunctions by default by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14465
- feat(cache): add maxAge and maxGenerations for persistent cache cleanup by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/14296
- feat: make persistent cache max generations default to 3 by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14534
- feat: rename persistent cache
maxGenerationstomaxVersionsby @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14545 - feat: harden persistent cache version cleanup with typed version by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14552
- feat: support riscv64 targets by @swwind in https://github.com/web-infra-dev/rspack/pull/14447
- feat(cache): make stale version cleanup fire-and-forget by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14564
Performance 🚀
- perf: remove serde json by @SyMind in https://github.com/web-infra-dev/rspack/pull/14272
- perf: use mask intersects instead of flag iteration for scope globals by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14353
- perf: add ASCII fast path for dependency location column computation by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14355
- perf: force DFA automaton for real content hash scanning by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14356
- perf(core): reduce memcpy overhead by @hardfist in https://github.com/web-infra-dev/rspack/pull/14381
- perf: reduce flag dependency usage key allocations by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14417
- perf: reduce build chunk graph preparation work by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14421
- perf(sources): avoid cloning source maps with borrowed fields by @SyMind in https://github.com/web-infra-dev/rspack/pull/14380
- perf: optimize module concatenation traversal by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14422
- perf(loader-runner): cache esm loader imports by @hardfist in https://github.com/web-infra-dev/rspack/pull/14434
- perf(core): optimize resource parsing by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14456
- perf(ci): drop redundant cargo check from rust CI by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14461
- perf: avoid JavaScriptTracer overhead when tracing is disabled by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14468
- perf(loader-runner): reduce loader object construction overhead by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14477
- perf: optimize compilation entrypoints getter by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14485
- perf: reduce asset wrapper overhead by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14487
- perf(deps): bump camino to 1.2.3 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14519
- perf(ci): drop debuginfo from the whole ci profile by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14528
- perf(core): reduce source map serialization overhead by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14547
- perf(module-concat): prune readable identifier work by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14537
- perf: reduce module ids assignment overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14553
Bug Fixes 🐞
- fix: preserve inline source content for transform sourcemaps by @intellild in https://github.com/web-infra-dev/rspack/pull/14350
- fix: remove webpackSource and webpackDefer magic comments by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14364
- fix: apply global
overrideStrictfor ContextModule by @colinaaa in https://github.com/web-infra-dev/rspack/pull/14361 - fix(watcher): filter ignored-subtree events that emit a spurious folder change by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14329
- fix: use ChunkWithSizeInfo delimiter in maxInitialSize chunk naming fallback path by @wr40000 in https://github.com/web-infra-dev/rspack/pull/14331
- fix: wait for in-flight build before closing compiler by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14377
- fix(browser): point wasi-worker-browser export to dist file by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14415
- fix(tree-shaking): handle nested pure function calls by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14375
- fix: cherry-pick mf manifest expose assets by @2heal1 in https://github.com/web-infra-dev/rspack/pull/14339
- fix: cache import.meta filename and dirname outside eval by @intellild in https://github.com/web-infra-dev/rspack/pull/14423
- fix(pure-functions): keep deferred pure import callees by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14425
- fix: improve createRequire argument parsing by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14424
- fix(rstest): preserve mocks in module chunk loading by @9aoy in https://github.com/web-infra-dev/rspack/pull/14472
- fix(rspack_watcher): prevent watch-root panic from orphaned path tree by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14448
- fix(test): isolate source for fixture-writing config cases by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14462
- fix: change default value of createRequire parsing to false by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14482
- fix(types): align wasm loading types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14506
- fix(split-chunks): align max size grouping with webpack by @intellild in https://github.com/web-infra-dev/rspack/pull/14481
- fix(rstest): fallback to automock for missing manual mocks by @9aoy in https://github.com/web-infra-dev/rspack/pull/14418
- fix(css): preserve undeclared css module idents by @intellild in https://github.com/web-infra-dev/rspack/pull/14497
- fix(mf): stabilize consume shared runtime output by @2heal1 in https://github.com/web-infra-dev/rspack/pull/14532
- fix(cache): default context_dependencies snapshot strategy to timestamp by @hardfist in https://github.com/web-infra-dev/rspack/pull/14490
- fix(core): support watcher events on native WatchFileSystem by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14404
- fix: default html script loading to module for module output by @intellild in https://github.com/web-infra-dev/rspack/pull/14544
- fix: parse preserved magic comments by @intellild in https://github.com/web-infra-dev/rspack/pull/14536
- fix: preserve source phase for wasm externals by @intellild in https://github.com/web-infra-dev/rspack/pull/14494
- fix: handle cjs export assignment side effects by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14260
- fix(error): use theme-based styling instead of environment-sniffing
dim()in graphical renderer by @ruanyl in https://github.com/web-infra-dev/rspack/pull/14561 - fix: exclude for const/let in/of decl from hoisted decls by @swwind in https://github.com/web-infra-dev/rspack/pull/14287
- fix(types): align SWC unsafe function option by @haakjunlee in https://github.com/web-infra-dev/rspack/pull/14134
- fix(core): set rslib runtime chunk names by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/14575
- fix(core): exclude node_modules files from require.context map by @fi3ework in https://github.com/web-infra-dev/rspack/pull/14576
Refactor 🔨
- refactor(binding): consolidate module property definitions by @SyMind in https://github.com/web-infra-dev/rspack/pull/14365
- refactor: remove unused unresolved context from pure checks by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14433
- refactor: merge webpack api parser plugins by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14529
- refactor(core): remove unused TS exports by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14548
Document 📖
- docs: document source phase imports by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14360
- docs: fix optimization config types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14370
- docs: document split chunks options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14371
- docs: add Remotion to ecosystem by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14374
- docs: update magic comment version and anchors by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14378
- docs: update Vite comparison docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14412
- docs: update Rollup comparison docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14413
- docs: update rules use parallel type by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14416
- docs: add instructions for unsupported platforms by @swwind in https://github.com/web-infra-dev/rspack/pull/14442
- docs(website): fix Rspress summary style by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14449
- docs: improve incremental config docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14450
- docs: add GitHub to who is using by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14474
- docs: fix duplicate createRequire parser docs by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14486
- docs: update React Compiler guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14496
- docs: remove redundant javascript/auto type examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14499
- docs: update ESM config examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14505
- docs: fix entry config docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14514
- docs: fix module config types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14515
- docs: fix resolve config types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14516
- docs: fix stats config types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14518
- docs: document dev server options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14523
- docs: move cache migration guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14535
- docs: improve cache option documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14540
- docs: fix broken member links by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14563
Other Changes
- chore: release version 2.0.8 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14345
- revert: "fix: temporarily revert JS parser changes causing runtime err" by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14347
- chore: add scope hoisting regression for for-init references by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14352
- chore(ci): update ecosystem ci action to v0.3.2 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/14362
- chore(ci): use mini runner to offload lightweight CI jobs by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14363
- chore(ci): use mini runner for lint workflow by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14376
- chore(deps): group emnapi renovate updates by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14390
- chore(deps): update dependency terser-webpack-plugin to ^5.6.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14393
- test(wasm): skip file-dependencies-huge to fix flaky afterAll timeout by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14399
- chore(deps): update yarn to v4.16.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14396
- chore(deps): update dependency http-proxy-middleware to ^4.1.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14392
- chore(deps): update dependency rspack-merge to v1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14397
- chore(deps): update dependency ts-checker-rspack-plugin to ^1.4.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14394
- chore(deps): update dependency @rslint/core to v0.6.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14391
- chore(deps): update dependency semver to ^7.8.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14408
- chore(deps): update pnpm to v11.6.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14409
- chore(deps): update dependency acorn to ^8.17.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14407
- chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14385
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14386
- chore(deps): update react and @rspack/plugin-preact-refresh by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14406
- chore: bump swc exp from 0.10.0 to 0.11.0 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14379
- chore(ci): split wasm release build into parallel wasi/browser jobs by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14414
- chore(deps): update emnapi to v1.11.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14395
- chore(deps): bump swc_ecma_minifier to 55.0.2 for template-literal minify fix by @pkasarda in https://github.com/web-infra-dev/rspack/pull/14428
- chore: speed up crate release pipeline by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14429
- chore(ci): use forked CodSpeed runner by @hardfist in https://github.com/web-infra-dev/rspack/pull/14432
- chore: limit walltime bench triggers by @hardfist in https://github.com/web-infra-dev/rspack/pull/14441
- chore: bump @rslint/core to 0.6.2 by @fansenze in https://github.com/web-infra-dev/rspack/pull/14470
- ci: disable debuginfo for the windows ci binding build by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14479
- chore: release v2.1.0-beta.0 by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14480
- chore: remove codspeed js bench case by @SyMind in https://github.com/web-infra-dev/rspack/pull/14489
- test(tree-shaking): lock in pureFunctions innerGraph deferred-pure-check behavior by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14488
- chore(ci): pause portable cache check by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14492
- chore(ci): align hookTimeout with testTimeout to fix flaky afterAll close timeout by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14498
- chore(deps): update dependency http-proxy-middleware to v4.1.1 [security] by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14500
- chore(deps): update dependency lint-staged to v17 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14504
- chore(deps): update pnpm to v11.8.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14503
- chore(deps): update dependency @rslib/core to ^0.23.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14501
- chore(deps): remove unused axios dependency by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14507
- chore(deps): update dependency enhanced-resolve to v5.24.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14512
- chore(deps): update dependency webpack-sources to v3.5.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14513
- chore(deps): bump rspack_resolver to 0.9.3 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14521
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14510
- chore(test): stabilize watch-detection on Windows with synchronous writes by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14520
- test: replace non_webpack_require in tests by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14530
- chore: bump swc_core from 68 to 71 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14526
- ci: upgrade rstack-ecosystem-ci actions to v0.3.3 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14542
- chore: walltime bench unbind to dedicated CPUs by @deanjingshui in https://github.com/web-infra-dev/rspack/pull/14543
- chore: add webpack gap tracking skill by @intellild in https://github.com/web-infra-dev/rspack/pull/14557
- chore: release version 2.1.0-rc.0 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14546
- chore: remove unused development commands by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14565
- chore(ci): report rust cache utilization per platform build by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14559
- chore(ci): set HOME for walltime bench codspeed runner install by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14569
- ci: keep reproduction label until close by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14570
- chore(skills): add release-blog-writer skill by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14571
- chore(ci): lift rust cache utilization by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14568
New Contributors
- @wr40000 made their first contribution in https://github.com/web-infra-dev/rspack/pull/14331
- @pkasarda made their first contribution in https://github.com/web-infra-dev/rspack/pull/14428
- @swwind made their first contribution in https://github.com/web-infra-dev/rspack/pull/14442
- @matthewdavis-oai made their first contribution in https://github.com/web-infra-dev/rspack/pull/14296
- @ruanyl made their first contribution in https://github.com/web-infra-dev/rspack/pull/14561
- @haakjunlee made their first contribution in https://github.com/web-infra-dev/rspack/pull/14134
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.8...v2.1.0
v2.1.0-beta.0
Highlights 💡
Support React Compiler in builtin:swc-loader
React projects can now use React Compiler directly through Rspack's built-in SWC loader. See the React Compiler guide for details.
export default {
module: {
rules: [
{
test: /\.[cm]?[jt]sx?$/,
loader: 'builtin:swc-loader',
options: {
jsc: {
transform: {
reactCompiler: true,
},
},
},
},
],
},
};
Side-effect-free function analysis by default
Rspack's side-effect-free function analysis is now enabled by default in production builds. It can detect pure function calls through the #__NO_SIDE_EFFECTS__ notation and pureFunctions configuration, including exported functions across module boundaries. When the returned value is unused, Rspack can remove the call more reliably and improve tree shaking results without extra configuration. See experiments.pureFunctions for details.
// lib.js
/*@__NO_SIDE_EFFECTS__*/
export function call() {
console.log('hi')
}
// barrel.js
import { call } from './lib'
const value = call()
// if value is unused, call can be removed
export { value }
What's Changed
New Features 🎉
- feat: expose module error JS API by @SyMind in https://github.com/web-infra-dev/rspack/pull/14351
- feat(cache): log persistent cache read and write timings by @hardfist in https://github.com/web-infra-dev/rspack/pull/14314
- feat(module_graph): expose
getProvidedExports()to JS API by @logonoff in https://github.com/web-infra-dev/rspack/pull/14349 - feat: support drop inactive branch dependencies for member expr by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14382
- feat(runtime): introduce experimental.runtimeMode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14254
- feat: support branch guarded export presence for
inon ESM imports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14426 - feat: bump swc to support react compiler by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14435
- feat(runtime): runtime internals of rspack runtime mode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14427
- feat(rsdoctor): expose export usage graph by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14291
- feat: enable pureFunctions by default by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14465
- feat(cache): add maxAge and maxGenerations for persistent cache cleanup by @matthewdavis-oai in https://github.com/web-infra-dev/rspack/pull/14296
Performance 🚀
- perf: remove serde json by @SyMind in https://github.com/web-infra-dev/rspack/pull/14272
- perf: use mask intersects instead of flag iteration for scope globals by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14353
- perf: add ASCII fast path for dependency location column computation by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14355
- perf: force DFA automaton for real content hash scanning by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14356
- perf(core): reduce memcpy overhead by @hardfist in https://github.com/web-infra-dev/rspack/pull/14381
- perf: reduce flag dependency usage key allocations by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14417
- perf: reduce build chunk graph preparation work by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14421
- perf(sources): avoid cloning source maps with borrowed fields by @SyMind in https://github.com/web-infra-dev/rspack/pull/14380
- perf: optimize module concatenation traversal by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14422
- perf(loader-runner): cache esm loader imports by @hardfist in https://github.com/web-infra-dev/rspack/pull/14434
- perf(core): optimize resource parsing by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14456
- perf(ci): drop redundant cargo check from rust CI by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14461
- perf: avoid JavaScriptTracer overhead when tracing is disabled by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14468
- perf(loader-runner): reduce loader object construction overhead by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14477
Bug Fixes 🐞
- fix: preserve inline source content for transform sourcemaps by @intellild in https://github.com/web-infra-dev/rspack/pull/14350
- fix: remove webpackSource and webpackDefer magic comments by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/14364
- fix: apply global
overrideStrictfor ContextModule by @colinaaa in https://github.com/web-infra-dev/rspack/pull/14361 - fix(watcher): filter ignored-subtree events that emit a spurious folder change by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14329
- fix: use ChunkWithSizeInfo delimiter in maxInitialSize chunk naming fallback path by @wr40000 in https://github.com/web-infra-dev/rspack/pull/14331
- fix: wait for in-flight build before closing compiler by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14377
- fix(browser): point wasi-worker-browser export to dist file by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14415
- fix(tree-shaking): handle nested pure function calls by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14375
- fix: cherry-pick mf manifest expose assets by @2heal1 in https://github.com/web-infra-dev/rspack/pull/14339
- fix: cache import.meta filename and dirname outside eval by @intellild in https://github.com/web-infra-dev/rspack/pull/14423
- fix(pure-functions): keep deferred pure import callees by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14425
- fix: improve createRequire argument parsing by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14424
- fix(rstest): preserve mocks in module chunk loading by @9aoy in https://github.com/web-infra-dev/rspack/pull/14472
- fix(rspack_watcher): prevent watch-root panic from orphaned path tree by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14448
- fix(test): isolate source for fixture-writing config cases by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14462
- fix: change default value of createRequire parsing to false by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14482
Refactor 🔨
- refactor(binding): consolidate module property definitions by @SyMind in https://github.com/web-infra-dev/rspack/pull/14365
- refactor: remove unused unresolved context from pure checks by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14433
Document 📖
- docs: document source phase imports by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14360
- docs: fix optimization config types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14370
- docs: document split chunks options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14371
- docs: add Remotion to ecosystem by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14374
- docs: update magic comment version and anchors by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14378
- docs: update Vite comparison docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14412
- docs: update Rollup comparison docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14413
- docs: update rules use parallel type by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14416
- docs: add instructions for unsupported platforms by @swwind in https://github.com/web-infra-dev/rspack/pull/14442
- docs(website): fix Rspress summary style by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14449
- docs: improve incremental config docs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14450
- docs: add GitHub to who is using by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14474
Other Changes
- revert: "fix: temporarily revert JS parser changes causing runtime err" by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14347
- chore: add scope hoisting regression for for-init references by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14352
- chore(ci): update ecosystem ci action to v0.3.2 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/14362
- chore(ci): use mini runner to offload lightweight CI jobs by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14363
- chore(ci): use mini runner for lint workflow by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14376
- chore(deps): group emnapi renovate updates by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/14390
- chore(deps): update dependency terser-webpack-plugin to ^5.6.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14393
- test(wasm): skip file-dependencies-huge to fix flaky afterAll timeout by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14399
- chore(deps): update yarn to v4.16.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14396
- chore(deps): update dependency http-proxy-middleware to ^4.1.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14392
- chore(deps): update dependency rspack-merge to v1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14397
- chore(deps): update dependency ts-checker-rspack-plugin to ^1.4.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14394
- chore(deps): update dependency @rslint/core to v0.6.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14391
- chore(deps): update dependency semver to ^7.8.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14408
- chore(deps): update pnpm to v11.6.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14409
- chore(deps): update dependency acorn to ^8.17.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14407
- chore(deps): update patch crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14385
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14386
- chore(deps): update react and @rspack/plugin-preact-refresh by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14406
- chore: bump swc exp from 0.10.0 to 0.11.0 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/14379
- chore(ci): split wasm release build into parallel wasi/browser jobs by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14414
- chore(deps): update emnapi to v1.11.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/14395
- chore(deps): bump swc_ecma_minifier to 55.0.2 for template-literal minify fix by @pkasarda in https://github.com/web-infra-dev/rspack/pull/14428
- chore: speed up crate release pipeline by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14429
- chore(ci): use forked CodSpeed runner by @hardfist in https://github.com/web-infra-dev/rspack/pull/14432
- chore: limit walltime bench triggers by @hardfist in https://github.com/web-infra-dev/rspack/pull/14441
- chore: bump @rslint/core to 0.6.2 by @fansenze in https://github.com/web-infra-dev/rspack/pull/14470
- ci: disable debuginfo for the windows ci binding build by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14479
New Contributors
- @wr40000 made their first contribution in https://github.com/web-infra-dev/rspack/pull/14331
- @pkasarda made their first contribution in https://github.com/web-infra-dev/rspack/pull/14428
- @swwind made their first contribution in https://github.com/web-infra-dev/rspack/pull/14442
- @matthewdavis-oai made their first contribution in https://github.com/web-infra-dev/rspack/pull/14296
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.0.8...v2.1.0-beta.0