Releases: web-infra-dev/rspack
v1.5.8
Highlights 💡
Enhanced Tree Shaking for Nested Exports in Destructuring
Rspack now supports more precise tree shaking for nested exports accessed through destructuring assignments.
// lib.js
export * as a from "./a";
export * as b from "./b";
// index.js
import * as lib from "./lib";
// Before: All exports under `lib.a` were retained, only `lib.b` was tree-shaken
// Now: Only the specific property `inner` from `lib.a` is kept; everything else is removed
const { a: { inner } } = lib;
What's Changed
Performance Improvements ⚡
- perf: rspack sources buffer function by @SyMind in #11749
- perf: avoid unnecessary source map creation by @CPunisher in #11773
New Features 🎉
- feat: should retain source error name by @SyMind in #11762
- feat(parser): add
commonjs
options by @fi3ework in #11744 - feat: transform url in new URL without runtime by @JSerFeng in #11765
- feat: add experimental EsmLibraryPlugin for better esm output by @JSerFeng in #10350
- feat: tree shaking nested exports for destructuring assignment by @ahabhgk in #11781
Bug Fixes 🐞
- fix: cjs export require tree shaking by @ahabhgk in #11758
- fix: should always walk import then arguments by @ahabhgk in #11760
- fix: should update alias resolution when a higher-priority file is created in watch mode by @SyMind in #11643
- fix: should analyze correct variable for dynamic import by @ahabhgk in #11768
- fix: URLPlugin in child compiler by @SyMind in #11785
Refactor 🔨
- refactor: remove unused parameters and clean up code by @chenjiahan in #11756
- refactor: file counter save the resource id which used the file by @jerrykingxyz in #11757
Document Updates 📖
- docs: add commonjsMagicComments docs by @stormslowly in #11752
- docs: document parser jsx option by @fi3ework in #11767
- docs: add Snap to who is using section by @chenjiahan in #11777
- docs(style): remove unexpected borders on code block focus by @ritoban23 in #11784
Other Changes
- test: remove simple tester by @LingyuCoder in #11751
- chore(deps): update dependency memfs to v4.46.0 by @renovate[bot] in #11721
- test: close compiler by @LingyuCoder in #11764
- chore(deps): lock file maintenance by @renovate[bot] in #11726
- test: add persistent cache symlink test case by @jerrykingxyz in #11769
- chore(deps): update swc by @renovate[bot] in #11747
New Contributors
- @ritoban23 made their first contribution in #11784
Full Changelog: v1.5.7...v1.5.8
v1.5.7
Highlights 💡
Improved Tree Shaking for Dynamic Import .then()
This release enhances tree shaking capabilities specifically for the .then()
callbacks of dynamic imports. Rspack can now statically analyze and eliminate unused exports when destructuring is performed on the resolved module within promise chains:
// Tree shaking now works for destructuring in .then() callbacks
import('./utils').then(module => {
const { usedFunction } = module; // Only usedFunction will be included
usedFunction();
// unusedFunction will be tree-shaken out
});
JSX Preserve Support
Rspack now supports parsing and preserving JSX syntax. This allows JSX syntax to be parsed without transformation, making it compatible with external JSX transformers.
// rspack.config.js
export default {
module: {
parser: {
javascript: {
jsx: true // Enable JSX parsing
}
},
rules: [
{
test: /\.jsx?$/,
use: {
loader: 'swc-loader',
options: {
jsc: {
parser: { jsx: true },
transform: {
// Preserve JSX syntax
react: { runtime: 'preserve' }
}
}
}
}
}
]
}
};
What's Changed
New Features 🎉
- feat: static analyze destructuring assignment dynamic import variable for tree shaking by @ahabhgk in #11731
- feat: parser support jsx by @fi3ework in #11664
Bug Fixes 🐞
- fix: correct infrastructureLog type and add documentation by @chenjiahan in #11742
- fix: inline enum not only properties used by @ahabhgk in #11740
- fix: mf should correctly hoist modules by @ahabhgk in #11743
Document Updates 📖
- docs: improve Web Workers documentation with more details by @chenjiahan in #11737
Other Changes
- test: refactor processor by @LingyuCoder in #11732
- test: rename config files by @LingyuCoder in #11733
- test: remove processor by @LingyuCoder in #11738
- test: remove runner factory by @LingyuCoder in #11741
- chore(deps): update github-actions by @renovate[bot] in #11746
- chore(deps): update patch npm dependencies by @renovate[bot] in #11680
Full Changelog: v1.5.6...v1.5.7
v1.5.6
What's Changed
Performance Improvements ⚡
New Features 🎉
- feat: rspack_cacheable add custom with wrapper by @jerrykingxyz in #11711
- feat: persistent cache save ModuleProfiler by @jerrykingxyz in #11715
- feat: static analyse import then for tree shaking by @ahabhgk in #11665
- feat: support webpackIgnore in commonjs require by @stormslowly in #11704
Bug Fixes 🐞
- fix: align context module element dependence resource identifer with webpack by @stormslowly in #11674
- fix: inline value condition connection active for re-export by @ahabhgk in #11701
- fix: support non-ascii paths in dirname by @hardfist in #11686
- fix(rslib): only treat "module" as normal variable when module have ESM syntax by @fi3ework in #11634
- fix: remove
serde
feature oflightningcss
by @colinaaa in #11706 - fix(browser): inject
Buffer
by @CPunisher in #11714
Refactor 🔨
- refactor: rspack_cacheable
owned_or_ref
implement rkyv macro by @jerrykingxyz in #11708 - refactor: rspack module profiler by @jerrykingxyz in #11712
Document Updates 📖
- docs: update test path by @LingyuCoder in #11690
- docs(resolve): clarify mainFields behavior and exports precedence by @chenjiahan in #11696
- docs: update join-us page content and structure by @chenjiahan in #11700
Other Changes
- chore: release v1.5.5 by @ahabhgk in #11688
- ci: fix build-dependencies-resolve test case by @jerrykingxyz in #11692
- test: use case directory name as case names to match the filter by @LingyuCoder in #11699
- test: refactor runner by @LingyuCoder in #11705
- test: split snapshots to the case directories by @LingyuCoder in #11707
- chore(deps): update crate swc_core to v42.0.2 by @renovate[bot] in #11702
- test: enable lazyBarrel and inlineConst for rspack-test by @ahabhgk in #11710
- chore(deps): update swc plugins and crates by @renovate[bot] in #11602
- chore(deps): update dependency case-police to v2 by @renovate[bot] in #11719
- chore(deps): update dependency heading-case to v1 by @renovate[bot] in #11720
- chore(deps): update dependency cross-env to v10 by @renovate[bot] in #11722
- chore(deps): update dependency cspell to v9 by @renovate[bot] in #11723
- chore(website): Add link for the positions in position-information by @danpeen in #11728
New Contributors
Full Changelog: v1.5.5...v1.5.6
v1.5.5
What's Changed
Bug Fixes 🐞
- fix: should walk call member chain args for dynamic import referenced by @ahabhgk in #11661
- fix(core): support NAPI_RS_NATIVE_LIBRARY_PATH by @hardfist in #11670
- fix: inline value condition for namespace import by @ahabhgk in #11679
- fix: allow Infinity for stats space options by @hardfist in #11685
- fix: inline value with export as by @ahabhgk in #11687
Document Updates 📖
- docs: remove incorrect
emitRecords
compiler hook by @chenjiahan in #11671 - docs: improve
resolve.extensions
configuration by @chenjiahan in #11672 - docs: fix esm document example errors by @lzxb in #11673
Other Changes
- test: run webpack normal test cases with rspack test tools by @LingyuCoder in #11660
- chore: deprecate copilot-instruction.md in favor of AGHENTS.md by @hardfist in #11669
- test: run webpack normal hot test cases with rspack test tools by @LingyuCoder in #11662
- chore(refactor): inline base64 utilities into rspack_util by @hardfist in #11668
- chore(deps): update patch npm dependencies by @renovate[bot] in #11297
- test: run webpack compiler test cases with rspack test tools by @LingyuCoder in #11676
- chore(deps): bump rspack-resolver to v0.6.3 by @stormslowly in #11639
- chore: add setup script and update AGENTS.md by @hardfist in #11684
Full Changelog: v1.5.4...v1.5.5
v1.5.4
What's Changed
Performance Improvements ⚡
- perf: fix drop regression by @LingyuCoder in #11649
- perf: introduce pre-computed hashing for ArcPath by @SyMind in #11651
New Features 🎉
- feat: add inline value condition for reexport by @ahabhgk in #11628
- feat: throw specified error to indicate undefined factory case in HMR by @stormslowly in #11584
Bug Fixes 🐞
- fix: e2e lazy-compialtion/default-prefix flasky by @JSerFeng in #11610
- fix: no mangle for enum member value by @ahabhgk in #11629
- fix: revert "fix(rslib): treat
module
identifier as normal (#11588)" by @fi3ework in #11630 - fix: webpackexports comment by @zhangyuang in #11597
- fix: mark import.meta.webpackHot type as optional by @yf-yang in #11638
- fix: persistent cache update issuer is updated modules by @jerrykingxyz in #11633
- fix: using tokens from parser to handle asi by @hardfist in #11577
- fix: ensure resource data always have resource path by @ahabhgk in #11632
Refactor 🔨
- refactor: remove expect for lazy barrel pending forwarded ids by @ahabhgk in #11646
- refactor: use temporary data to replace unsupported Module by @jerrykingxyz in #11652
Document Updates 📖
- docs: remove
Preview with stackblitz
section by @CPunisher in #11614 - docs(browser): update
BrowserHttpImportEsmPlugin
and add "Using Module Federation" by @CPunisher in #11640 - docs: correct dynamic call to writeModule example by @stormslowly in #11650
Other Changes
- test: move rspack test cases to
tests/rspack-test
by @LingyuCoder in #11617 - test: fix concurrent of config cases by @LingyuCoder in #11618
- chore(deps): update dependency @rslib/core to v0.13.0 by @renovate[bot] in #11624
- chore(deps): update github-actions by @renovate[bot] in #11623
- chore(deps): update dependency postcss-loader to ^8.2.0 by @renovate[bot] in #11604
- chore(deps): update dependency create-rstack to v1.6.1 by @renovate[bot] in #11625
- chore(deps): update dependency emnapi to ^1.5.0 by @renovate[bot] in #11626
- chore: enable canary nightly release by @stormslowly in #11627
- chore: make @rspack/tests private by @stormslowly in #11636
- chore(ci): add fallback value for scheduled workflow run by @stormslowly in #11641
- chore(deps): update dependency axios to v1.12.0 [security] by @renovate[bot] in #11653
- chore(deps): update pnpm to v10.16.0 by @renovate[bot] in #11605
- test: run webpack config test cases with rspack test tools by @LingyuCoder in #11645
- chore(ci): add rstest to ecosystem-ci by @9aoy in #11657
New Contributors
- @zhangyuang made their first contribution in #11597
- @yf-yang made their first contribution in #11638
Full Changelog: v1.5.3...v1.5.4
v1.5.3
Highlights 💡
Advanced tree-shaking
Rspack v1.5.3 ships advanced tree-shaking for dynamic imports via member expression analysis.
Ongoing improvements are in progress, and upcoming releases will continue to improve static analysis to cover more syntax patterns, such as dynamic import
with a subsequent .then()
.

What's Changed
Performance Improvements ⚡
- perf: improve bundle splitting by @LingyuCoder in #11556
- perf: improve for each runtime by @LingyuCoder in #11573
- perf: improve exports info by @LingyuCoder in #11524
- perf: improve deterministic chunk ids by @LingyuCoder in #11575
- perf: improve get chunk modules by @LingyuCoder in #11579
- perf: improve create hash by @LingyuCoder in #11598
- perf: drop some big data in rayon by @LingyuCoder in #11611
New Features 🎉
- feat(browser): support
ModuleFederationPlugin
by @CPunisher in #11558 - feat: simplify mock logic, dynamic import based hoist by @fi3ework in #11521
- feat: add css field support in Experiments configuration by @ityuany in #11548
- feat: add start time parameter to NativeWatcher by @GiveMe-A-Name in #11570
- feat: tree shake statically analyse-able dynamic import by @ahabhgk in #11457
- feat: static analyze in operator for esm import specifier by @ahabhgk in #11613
- feat(browser): add
postprocess
andResolvedRequest
toBrowserHttpImportEsmPlugin
by @CPunisher in #11571
Bug Fixes 🐞
- fix: don't throw error when browserslist config is resolved from env var by @Themezv in #11528
- fix: use stable swc lexer for correct asi by @ahabhgk in #11555
- fix: mf hoist should record mutation by @ahabhgk in #11560
- fix: respect to
jsc.output.charset
in swc loader by @CPunisher in #11568 - fix: BuildDependencies resolve exports_fields incorrectly by @jerrykingxyz in #11576
- fix(types): correct the source map type for loaders by @chenjiahan in #11574
- fix: only enable inline const in production by @ahabhgk in #11591
- fix(rslib): treat
module
identifier as normal by @fi3ework in #11588 - fix: css-chunking-plugin for global css by @SyMind in #11592
- fix: flaky css chunking test case by @SyMind in #11608
- fix: swc wasmtime cache corruption by @quininer in #11607
Refactor 🔨
- refactor: use for_name for cjs import parser plugin by @ahabhgk in #11569
- refactor: rspack error by @jerrykingxyz in #11500
- refactor: Dependency remove source_map field by @jerrykingxyz in #11582
- refactor: private javascript parser dependencies by @ahabhgk in #11587
- refactor: lazy compilation stop cache create_data by @jerrykingxyz in #11612
- refactor: remove wasm plugin useless code by @jerrykingxyz in #11615
Document Updates 📖
- docs: add tree shaking blog to the blog list by @chenjiahan in #11561
- docs(loader-api): add new sections for handling source maps by @chenjiahan in #11585
- docs: fix esm syntax error by @lzxb in #11601
Other Changes
- chore(deps): update dependency @rsbuild/plugin-sass to ^1.4.0 by @renovate[bot] in #11564
- chore(deps): update dependency @shikijs/transformers to ^3.12.1 by @renovate[bot] in #11566
- chore(deps): update dependency @rspack/plugin-react-refresh to ^1.5.0 by @renovate[bot] in #11565
- chore: use pnpm in package.json scripts by @ahabhgk in #11520
- chore: use local package for scripts by @ahabhgk in #11572
- chore(workflow): allow renovate to update SWC related crates by @chenjiahan in #11580
- chore(deps): update crate swc_core to v38.0.1 by @renovate[bot] in #11586
- chore: update Rspress to beta.31 to use JSON schemas by @chenjiahan in #11596
- chore(deps): update dependency memfs to v4.38.2 by @renovate[bot] in #11603
- chore(deps): update swc (major) by @renovate[bot] in #11606
New Contributors
Full Changelog: v1.5.2...v1.5.3
v1.5.2
What's Changed
Performance Improvements ⚡
- perf: revert runtime key to string by @LingyuCoder in #11522
New Features 🎉
- feat(wasm): add webcontainer fallback by @CPunisher in #11526
Bug Fixes 🐞
- fix: enhance PathManager to handle relative paths and set base directory by @GiveMe-A-Name in #11516
- fix: import.meta.prop with define plugin by @ahabhgk in #11525
- fix: incremental not update exports info when lazyBarrel enabled by @ahabhgk in #11539
- fix: css infinite reload when module chunk enabled by @stormslowly in #11536
- fix: should handle import.meta.webpackHot in production by @JSerFeng in #11546
- fix: should update initial css link with correct url by @JSerFeng in #11544
- fix: should check http url using
link.href
for extract-css runtime by @JSerFeng in #11547 - fix: extend modify event handling to include metadata changes by @GiveMe-A-Name in #11519
- fix: should not lazy-barrel import-then-export by @JSerFeng in #11550
Refactor 🔨
- refactor: disable incremental buildChunkGraph by default by @JSerFeng in #11533
- refactor: use real_hi for evaluation range by @ahabhgk in #11549
Document Updates 📖
- docs(browser): add docs for response header settings and known issues by @CPunisher in #11523
Other Changes
Full Changelog: v1.5.1...v1.5.2
v1.5.1
What's Changed
Performance Improvements ⚡
- perf(browser): disable
ProgressPlugin
,RsdoctorPlugin
andRstestPlugin
by @CPunisher in #11484 - perf: improve data structures of bundle splitting by @LingyuCoder in #11506
Bug Fixes 🐞
- fix: build chunk graph when dynamic entry with depend-on chain by @SyMind in #11486
- fix: wrong match object logic in
SwcJsMinimizerRspackPlugin
by @CPunisher in #11496 - fix: asset info related source map can set null by @SyMind in #11497
- fix: source map sources in node modules should convert to absolute path by @SyMind in #11501
- fix: add tsEnumIsMutable option to SWC loader schema by @chenjiahan in #11499
- fix: inline value with properties access by @ahabhgk in #11508
- fix(types): allow async loader to return void by @chenjiahan in #11511
- fix: code splitting incremental missing module to update by @ahabhgk in #11510
Refactor 🔨
- refactor: commonjs export parser plugin by @ahabhgk in #11488
- refactor: use Module.needBuild to trigger lazy modules compile by @JSerFeng in #11507
Document Updates 📖
- docs: 1.5.0 announcement blog by @stormslowly in #11448
- docs: update TypeScript config file guide by @chenjiahan in #11495
- docs(config): update
Rule.type
with more details by @chenjiahan in #11503
Other Changes
- chore: release 1.5.0 by @stormslowly in #11485
- chore(deps): update github-actions by @renovate[bot] in #11489
- chore(deps): update SWC related crates to v37.0.0 by @chenjiahan in #11505
- chore(deps): update dependency @playwright/test to v1.55.0 by @renovate[bot] in #11492
Full Changelog: v1.5.0...v1.5.1
v1.5.0

🎉 See Announcing Rspack 1.5 for more details.
What's Changed
Breaking changes 💡
- feat!: update minimum Node.js version to 18.12.0 by @chenjiahan in #11338
Performance Improvements ⚡
- perf: align number hash algorithm with webpack by @nilptr in #10643
- perf: improve bundle splitting part 2 by @LingyuCoder in #11233
- perf: improve process runtime requirements by @LingyuCoder in #11259
- perf: improve process concatenated configurations by @LingyuCoder in #11264
- perf: improve
try_to_add
of module concatenation by @LingyuCoder in #11279 - perf: improve add concatenated modules by parallelizing conneciton modifications by @LingyuCoder in #11286
- perf: parallel mangle exports by @LingyuCoder in #10877
- perf: Update swc and switch to wasmtime by @quininer in #11303
- perf: cache concatenated imports by @LingyuCoder in #11334
- perf: Replace hot regex with parser by @quininer in #11341
- perf: use new swc lexer for asi by @CPunisher in #11357
- perf: improve bundle splitting by @LingyuCoder in #11364
- perf(browser): remove tracing by @CPunisher in #11436
- perf(browser): set
fmt_debug
tonone
by @CPunisher in #11439 - perf: improve concatenated plugin by @LingyuCoder in #11434
- perf: reuse plugin hooks by @LingyuCoder in #11449
- perf: not to call module graph modules multiple times by @LingyuCoder in #11455
- perf: improve bundle splitting by @LingyuCoder in #11465
- perf: add fast path for
get_scheme
by @CPunisher in #11475 - perf: replace
Mutex<Option<T>>
withOnceLock<T>
by @CPunisher in #11480
New Features 🎉
- feat(cli): use SWC to do TS config transformamation by @hardfist in #11411
- feat: add resolver JavaScript API by @CPunisher in #11211
- feat(wasm): support
@rspack/browser
by @CPunisher in #10870 - feat: lazy make for reexport in side effects free barrel file by @ahabhgk in #11117
- feat: support persistent cache for lazy barrel by @ahabhgk in #11285
- feat: rspack cli add config path to build dependencies by @jerrykingxyz in #11288
- feat: expose
experiments.swc
in parallel loader context by @jbroma in #11300 - feat: propagate const for inline const by @ahabhgk in #11311
- feat: module chunk HMR by @stormslowly in #11160
- feat: move experiments.lazyCompilation to configuration toplevel by @GiveMe-A-Name in #11337
- feat: add VirtualModulesPlugin by @nilptr in #11021
- feat: lazy compilation with persistent cache by @JSerFeng in #11235
- feat: define plugin use value dependencies by @jerrykingxyz in #11339
- feat(rslib): do not hoist
import
externalized module to webpack modules by @fi3ework in #11358 - feat: port normal module replacement plugin to builtin plugin by @ahabhgk in #11362
- feat: support
[folder]
template string inlocalIdentName
option by @mochiya98 in #11356 - feat: provide plugin use value dependencies by @jerrykingxyz in #11380
- feat: support using declaration by @ahabhgk in #11395
- feat: should rebuild all entries if there are entry removals by @JSerFeng in #11381
- feat(rslib): intercept more APIPlugin expressions by @fi3ework in #11418
- feat(browser): add
BrowserImportEsmPlugin
by @CPunisher in #11431 - feat(loader): merge identifier to loader trait by @h-a-n-a in #11453
- feat: allow external modules placed in async chunks by @JSerFeng in #11421
- feat(browser): introduce
BrowserRequirePlugin
and removenonWebpackRequire
by @CPunisher in #11470
Bug Fixes 🐞
- fix(types): change HotUpdateStatus from enum to union type by @chenjiahan in #11238
- fix: JsResolverFactory should cache Resolver instance based on different options by @SyMind in #11245
- fix: lifetime error by @LingyuCoder in #11260
- fix: avoid render weak import dependency by @ahabhgk in #11262
- fix: buildDependencies skip resolve nodejs builtin module by @jerrykingxyz in #11256
- fix: handle unwatch errors gracefully and improve native watcher integration by @GiveMe-A-Name in #11210
- fix: get resolve in externals should return query by @SyMind in #11276
- fix: CssGetFilenameRuntime should detect runtime requirements correctly by @JSerFeng in #11271
- fix: update lazy compilation middleware order to apply devServer Middleware by @GiveMe-A-Name in #11157
- fix: not changed related source-map when rename asset by @SyMind in #11293
- fix: swc transform api output sourcemaps by @jbroma in #11299
- fix: pass actual root context to parallel loader context by @jbroma in #11301
- fix: missing code generation report by @LingyuCoder in #11308
- fix: split chunks min chunks config with enforce by @SyMind in #11294
- fix: should not render export in modern-module when iife enabled by @Timeless0911 in #11317
- fix: export the missing
PathData
type by @colinaaa in #11315 - fix: rsdoctor multi compiler data scope by @LingyuCoder in #11310
- fix: batch rename_asset with parallel optimization by @SyMind in #11325
- fix: should synchronously bind html plugin hooks in sri plugin by @LingyuCoder in #11342
- fix: add unknown_context_critical option for unknown require as expression by @PeterCardenas in #10329
- fix(incremental): LimitChunkCountPlugin panic with incremental turned on by @pgoldberg in #11360
- fix(loader): fix JS loader type detection for issue #11129 by @h-a-n-a in #11361
- fix(cli): resolve port conflicts in parallel test execution by @h-a-n-a in #11363
- fix: modify lazy compilation tests by @JSerFeng in #11349
- fix: should use specific runtime to get target url by @JSerFeng in #11372
- fix(wasm): remove cjs loader support by @CPunisher in #11283
- fix: cache concatenated module imports is not safe by @LingyuCoder in #11385
- fix: add query to avoid browser cache the link by @JSerFeng in #11394
- fix: fix identifier typo by @JSerFeng in #11403
- fix: correct export alias for json by @inottn in #11402
- fix: NormalModuleReplacementPlugin doesn't update path, query and fragment by @CPunisher in #11407
- fix(browser): fix @rspack/browser building by @CPunisher in #11417
- fix: bailout optimize if there are external modules in other concate scope by @JSerFeng in #11430
- fix: native watcher fails to work correctly with persistent cache by @GiveMe-A-Name in #11420
- fix: define plugin can rename...
v1.5.0-rc.0
What's Changed
Breaking Changes 🛠
Performance Improvements ⚡
- perf(browser): remove tracing by @CPunisher in #11436
- perf(browser): set
fmt_debug
tonone
by @CPunisher in #11439 - perf: improve concatenated plugin by @LingyuCoder in #11434
- perf: reuse plugin hooks by @LingyuCoder in #11449
New Features 🎉
- feat(rslib): intercept more APIPlugin expressions by @fi3ework in #11418
- feat(browser): add
BrowserImportEsmPlugin
by @CPunisher in #11431
Bug Fixes 🐞
- fix: NormalModuleReplacementPlugin doesn't update path, query and fragment by @CPunisher in #11407
- fix(browser): fix @rspack/browser building by @CPunisher in #11417
- fix: bailout optimize if there are external modules in other concate scope by @JSerFeng in #11430
- fix: native watcher fails to work correctly with persistent cache by @GiveMe-A-Name in #11420
- fix: define plugin can rename by @ahabhgk in #11435
- fix(ci): should check package name in pre-release check by @JSerFeng in #11438
- fix: update node inspector import and remove workaround by @chenjiahan in #11444
- fix: lazy compilation with only loader module by @SyMind in #11443
Refactor 🔨
- refactor: add module pre walk by @ahabhgk in #11416
- refactor: only collect destructuring assignment properties for specific expression by @ahabhgk in #11433
- refactor: clean paren ast for analyzing dependencies by @ahabhgk in #11447
Document Updates 📖
- docs: add building and testing guide for rspack wasm by @CPunisher in #11414
- docs(ESM): add ESM guide by @fi3ework in #11344
Other Changes
- chore: bump
swc_core
from 35.0.0 to 36.0.0 by @CPunisher in #11419 - chore: update swc types and docs by @ahabhgk in #11423
- chore: release 1.5.0-beta.1 by @stormslowly in #11415
- chore(deps): update dependency mermaid to v11.10.0 [security] by @renovate[bot] in #11428
- chore(deps): update dependency @shikijs/transformers to ^3.11.0 by @renovate[bot] in #11429
- chore(ci): prevent prerelease published to lastest by @stormslowly in #11424
- test: remove legacy Node version helpers by @chenjiahan in #11442
- docs: fix various documentation errors including grammar, terminology and typos by @Copilot in #11445
- chore: add Claude local config to gitignore by @h-a-n-a in #11452
- ci: enable parallel execution of npm and crates releases by @h-a-n-a in #11450
New Contributors
- @Copilot made their first contribution in #11445
Full Changelog: v1.5.0-beta.1...v1.5.0-rc.0