Releases: web-infra-dev/rspack
v1.3.9
What's Changed
Performance Improvements β‘
Bug Fixes π
- fix: clever merge resolve options by @ahabhgk in #10231
- fix: set watchpack limit before loading watchpack by @chenjiahan in #10236
- fix: circular seen relations by @LingyuCoder in #10237
- fix: missing stack information from plugin error by @ScriptedAlchemy in #10078
- fix: process warnings multiple times by @LingyuCoder in #10273
- fix(html): not to override plugin options when using multiple instances by @LingyuCoder in #10284
Document Updates π
- docs: add JavaScript minify & transform example and api docs by @GiveMe-A-Name in #10206
- docs: correct SWC API examples by @chenjiahan in #10228
- docs: fix the wrong container syntax by @SoonIter in #10232
- docs: improve tracing documentation by @chenjiahan in #10258
- docs: enhance Data URI module and MIME type rules by @chenjiahan in #10267
- docs: rewrite loader types documentation and examples by @chenjiahan in #10277
Other Changes
- chore: support event tracing by @hardfist in #10225
- chore: improve stats.toJson() bench case by @SyMind in #10226
- chore: release v1.3.8 by @SyMind in #10223
- refactor: CI better fallback runner label by @stormslowly in #10240
- chore(deps): update npm dependencies by @renovate in #10251
- chore(deps): update pnpm to v10.10.0 by @renovate in #10253
- chore(deps): update dependency webpack to v5.99.7 by @renovate in #10249
- chore(deps): update dependency core-js to v3.42.0 by @renovate in #10252
- chore: change RA targetdir by @hardfist in #10257
- ci: remove stale workflow by @LingyuCoder in #10243
- chore(deps): update dependency path-serializer to v0.4.0 by @renovate in #10255
- ci: add required check for linting CI by @stormslowly in #10263
- chore: upgrade swc to v22.5.3 and enable swc tracing by @hardfist in #10256
- chore(deps): update github-actions by @renovate in #10250
- chore(deps): remove loader-utils v2 by @chenjiahan in #10272
- chore: bump rspack resolver 0.5.6 by @stormslowly in #10276
- chore(deps): update dependency webpack to v5.99.8 by @renovate in #10281
- chore(deps): update patch npm dependencies by @renovate in #10282
Full Changelog: v1.3.8...v1.3.9
v1.3.8
Highlights π‘
Exposing SWC JS API
Rspack now experimentally exposes some SWC JavaScript APIs via rspack.experiments.swc
. This allows you to call SWC methods like transform
or minify
without installing the additional @swc/core package.
See SWC API for more details.

What's Changed
Exciting New Features π
- feat(incremental): silent warning and add presets by @ahabhgk in #10175
- feat: add SWC transform and minify support by @GiveMe-A-Name in #10201
- feat: support
origin.loc
on chunkgroup by @LingyuCoder in #10188 - feat: support regexp and function of
output.clean
by @LingyuCoder in #10207 - feat(incremental): add more tracing for debugging by @ahabhgk in #10214
Bug Fixes π
- fix: print rspack version instead of webpack's (fix #10189) by @tmadeira in #10190
- fix: slash in char match pattern of magic comments by @LingyuCoder in #10187
- fix: CI mulit rust cache file with the same cache key by @stormslowly in #10200
- fix: compiler js object cannot be gc by @SyMind in #9685
- fix: dead loop of circular dependency plugin by @LingyuCoder in #10212
- fix(core): temporarily disable lightningcss warning by @hardfist in #10211
- fix(core): add tracing for native fs by @hardfist in #10219
- fix: missing context depenendency by @LingyuCoder in #10221
- fix: copy zod types instead of bundling them by @Timeless0911 in #10222
Document Updates π
- docs: add
require.resolveWeak
module method by @9aoy in #10203 - docs: improve CSS Modules documentation by @chenjiahan in #10209
- docs: add notice about lightningcss by @hardfist in #10210
Other Changes
- test: should not report on wrong case when error by @LingyuCoder in #10185
- chore: release v1.3.7 by @chenjiahan in #10182
- refactor: integrate swc api into rspack_javascript_compiler by @GiveMe-A-Name in #10186
- chore(deps): update dependency @rspack/plugin-react-refresh to ^1.4.1 by @renovate in #10192
- chore(deps): update dependency axios to ^1.9.0 by @renovate in #10193
- chore(deps): update typescript and @microsoft/api-extractor by @renovate in #10194
- chore(deps): update dependency table to v6 by @renovate in #10197
- chore(deps): update webpack-merge to v6 (major) by @renovate in #10198
- test: add test case of issue #10195 by @LingyuCoder in #10202
- chore(deps): remove unused webpack-cli by @chenjiahan in #10199
- test: clean full snapshoted stats api test cases by @LingyuCoder in #10204
- chore(deps): update pnpm to v10 by @renovate in #10092
- refactor: merge rust check and test into one require check job require condtion by @stormslowly in #10216
- chore(ci): test self hosted by @stormslowly in #10148
New Contributors
Full Changelog: v1.3.7...v1.3.8
v1.3.7
π‘ Highlights
The rspack.dev now provides llms.txt to help LLMs better understand Rspack:
What's Changed
Performance Improvements β‘
- perf: use
Vec::with_capacity
for hooks and plugins by @CPunisher in #10178
Exciting New Features π
- feat: persistent cache snapshot expose is_hot_start by @jerrykingxyz in #10166
- feat: custom prefix for lazy compilation by @dgaponov in #10147
Bug Fixes π
- fix: should rebuild css module when rebuild css extract entry by @LingyuCoder in #10124
- fix: plugin compilation hooks leak by @quininer in #10137
- fix(core): add more trace for loaders by @hardfist in #10139
- fix: panic when factorize failed in module executor by @LingyuCoder in #10136
- fix(core): enable tracing for hook by default except in make stage by @hardfist in #10141
- fix(storage): should flush writer when flushing file mtime by @LingyuCoder in #10143
- fix: storage validate hash with content by @jerrykingxyz in #10101
- fix: multiple runtime keys broke filename in runtime module by @LingyuCoder in #10144
- fix: call
compiler.close
when having errors by @LingyuCoder in #10154 - fix: pass
null
to additional data of loader context by @LingyuCoder in #10155 - fix: support license plugin when enable concatenated by @LingyuCoder in #10158
- fix(parallel-loader): should not pass options for which loaders are not set to
parallel
by @h-a-n-a in #10164 - fix: circularDependencyRspackPlugin should check all cycle by @fireairforce in #10163
- fix: should regenerate runtime chunk hash when using get chunk filename runtime module by @LingyuCoder in #10167
- fix: ignore parsing errors on CSS modules from lightningcss-loader by @SyMind in #10172
- fix: truncate width into
u16::MAX
for graphical reporter by @h-a-n-a in #10180 - fix: Vue CSS pseudo class warning in lightningcss by @SyMind in #10184
Document Updates π
- docs(llms): bump to Rspress@2.0.0-beta.1 and add llms.txt by @SoonIter in #10157
- docs: update config merging guide by @chenjiahan in #10159
- docs(llms): bump to Rspress@2.0.0-beta.2 by @SoonIter in #10165
- docs: fix grammar in rspack-next-partner.mdx by @tlund101 in #10169
- docs(llms.txt): add more description by @SoonIter in #10181
Other Changes
- chore: enable more webpack watch cases by @ahabhgk in #10128
- refactor: adjust circularDependencyRspackPlugin compilation API by @fireairforce in #10006
- chore: release v1.3.6 by @GiveMe-A-Name in #10116
- chore(deps): update dependency @rstack-dev/doc-ui to v1.8.0 by @renovate in #10152
- refactor: remove dead_code and use spawn_blocking for fast_set by @hardfist in #10151
- chore: disable more hook tracing by @hardfist in #10156
- refactor: dependency range of remain dependencies by @LingyuCoder in #10160
- ci: close inactive issues with
need more info
orawaiting more feedback
by @LingyuCoder in #10171 - refactor: CI by @stormslowly in #10135
- refactor(incremental): disable passes only for current rebuild by @ahabhgk in #10145
- chore(ci): refactor incremental causes ci tests failed by @ahabhgk in #10174
- refactor(core): remove browserslist feature of lightningcss by @hardfist in #10173
- chore(ci): fix job if condition by @stormslowly in #10176
New Contributors
Full Changelog: v1.3.6...v1.3.7
v1.3.6
What's Changed
Performance Improvements β‘
- perf(build): custom Rslib minify options for
@rspack/core
by @Timeless0911 in #10048 - perf(hash): avoid heap allocations in hash by @quininer in #10060
- perf: trivial static variable improve by @quininer in #10113
- perf(core): remove json-parse-even-better-errors dependency by @chenjiahan in #10122
- perf: define Rspack version to reduce require calls by @chenjiahan in #10121
Exciting New Features π
- feat: rsdoctor module object add issuerPath property by @easy1090 in #10007
- feat: persistent cache snapshot save file hash by default by @jerrykingxyz in #10050
- feat: asset info support symbol key by @SyMind in #9871
- feat(core): remove otel tracing support by @hardfist in #10067
- feat: support svg-chunk-webpack-plugin by @LingyuCoder in #10066
- feat: swc loader support emitAssertForImportAttributes config by @fireairforce in #9826
- feat: improve lightningcss minimize warning by @SyMind in #10103
Bug Fixes π
- fix(incremental): chunk id change should affect associate chunk by @ahabhgk in #10032
- fix(wasm): shutdown async runtime and thread workers after finishing by @CPunisher in #9895
- fix: remove progressbar instance when closing compiler by @LingyuCoder in #10034
- fix: should not rename webpack_require if declared in current scope by @JSerFeng in #10016
- fix: should rename webpack_require pat in parameters by @JSerFeng in #10036
- fix: failed to resolve tinypool when using parallel loader by @chenjiahan in #10040
- fix: require with string raw by @SyMind in #10047
- fix: dev server types by @LingyuCoder in #10038
- fix: async entry should have unique runtime by @JSerFeng in #10049
- fix(incremental): revoked module shouldn't exist in built modules by @ahabhgk in #10051
- fix: conflict hot update main content warning by @ahabhgk in #10059
- fix: should remove module napi_ref after finish make by @SyMind in #10062
- fix: should validate options of builtin swc loader by @LingyuCoder in #10055
- fix: context dependency with complex require by @SyMind in #10028
- fix: import module entry dependency resolve options by @LingyuCoder in #10070
- fix(cli): remove JSCPU & LOGGING support by @hardfist in #10071
- fix: allow lazyCompilation.serverUrl to end with slash by @chenjiahan in #10074
- fix: should have correct interop for default exportsType by @JSerFeng in #10069
- fix: ThreadsafeOneShotRef prevents event loop destroy by @SyMind in #10082
- fix: allow assignment of
require
identifier by @inottn in #10093 - fix(cli): simplify RSPACK_PROFILE by @hardfist in #10072
- fix: compilation.chuks not corresponds to a unique jsobect by @SyMind in #10098
- fix: hmr should not include unchanged module when adding a new runtime by @ahabhgk in #10061
- fix: comma in regex value of magic comments by @LingyuCoder in #10100
- fix(wasm): add wasm fallback in
checkVersion
by @CPunisher in #10097 - fix(diagnostic): fix excessively large width causing
format_args
panics by @h-a-n-a in #10109 - fix(pnp): resolved wrong description file in yarn pnp mode by @stormslowly in #10111
- fix: use evaluate expression to extract hmr accept dependencies by @ahabhgk in #10107
- fix: compilation chunks for each is undefined by @SyMind in #10112
- fix: should skip rebuilding chunk graph if only specifier order change by @JSerFeng in #10104
- fix(incremental): fallback when chunk depend on full hash by @ahabhgk in #10110
- fix(core): fix async event tracing showing in perfetto by @hardfist in #10119
Document Updates π
- docs: enhance Rsdoctor analysis guide by @chenjiahan in #10035
- docs: lightningcss errorRecovery option by @SyMind in #10077
- docs: rewrite tracing section by @hardfist in #10099
- docs: fix tracing title by @hardfist in #10106
- docs: update banner image by @chenjiahan in #10114
- docs: add
optimization.removeAvailableModules
config by @chenjiahan in #10115
Other Changes
- chore: release v1.3.5 by @h-a-n-a in #10031
- chore: bump swc version to 22.4.0 by @GiveMe-A-Name in #10033
- chore: use Rslib to bundle
@rspack/core
by @Timeless0911 in #9899 - test: cacheCases update dynamic file by write by @jerrykingxyz in #10039
- chore(deps): update npm dependencies by @renovate in #9918
- chore(deps): update github-actions by @renovate in #10042
- chore(deps): update dependency @module-federation/runtime-tools to v0.12.0 by @renovate in #10046
- chore(deps): update dependency @arco-design/web-react to ^2.66.1 by @renovate in #10045
- chore(deps): update npm dependencies by @renovate in #10043
- chore: keep debugger in rspack bundle by @hardfist in #10054
- ci: lock cargo shear version by @jerrykingxyz in #10052
- chore: merge rust & js loader & CPU Profiling together by @hardfist in #10009
- chore(deps): update dependency webpack to v5.99.5 by @renovate in #10002
- revert: lightningcss loader error recovery default value by @SyMind in #10076
- Add minSizeReduction to SplitChunks CacheGroup by @kbruccoleri in #10073
- chore(deps): update rspress to v2.0.0-alpha.12 by @renovate in #10087
- chore(deps): update dependency jsdom to ^26.1.0 by @renovate in #10090
- chore(deps): update dependency mime-types to v3 by @renovate in #10091
- chore(deps): update yarn to v4 by @renovate in #10096
- chore(deps): update github-actions (major) by @renovate in #10095
- chore(deps): update react to ^19.1.0 by @renovate in #10094
- refactor: improve render external module for module output by @JSerFeng in #10080
- chore: add tracing for hook call in define_hook macro by @ahabhgk in #10064
- test: fix Jest haste module naming collision by @chenjiahan in #10105
- chore: fork tracing-chrome for better support for perfetto by @hardfist in #10102
- chore: add back wasm build check by @stormslowly in #10053
- refactor(incremental): use ChunkSetHashes for chunk render by @ahabhgk in #10117
- chore: disable hook macro tracing by default by @ahabhgk in #10120
- ci: add more JS extensions to workflow filters and format script by @stormslowly in #10123
- Revert "refactor: improve render external module for module output" by @JSerFeng in #10126
- chore(deps): bump Rslib 0.6.6 by @Timeless0911 in #10129
- chore(deps): update dependency @module-federation/runtime-tools to v0.13.0 by @renovate in http...
v1.3.5
Rspack comes to Next.js π
Weβre excited to introduce next-rspack, a community-driven plugin bringing direct Rspack support to Next.js.
See the Rspack joins the Next.js ecosystem blog for details.

What's Changed
Performance Improvements β‘
Exciting New Features π
- feat: adapter rspack-resolver async api by @stormslowly in #9747
- feat: rspack cacheable noop feature by @jerrykingxyz in #9990
- feat: resolver restriction support regex by @SyMind in #9885
Bug Fixes π
- fix: stablelize order of concated modules by @JSerFeng in #9968
- fix: jsonpChunksLoadingWithCallback code format by @1714080902120 in #9923
- fix: lightningcss loader report error by default by @SyMind in #9979
- fix: external with properties array list in module format by @LingyuCoder in #9980
- fix: external module to pass webpack test cases by @LingyuCoder in #9981
- fix: hmr wasm filename by @LingyuCoder in #10010
- fix: sometimes entry chunk hash not changes with full hash runtime modules by @LingyuCoder in #9986
- fix(wasm): align trait methods for
native_fs
by @CPunisher in #9999 - fix: incorrect type signatures on Hash's digest and update methods by @hulin32 in #9608
- fix: error when load binding multiple times by @SyMind in #10018
- fix(incremental): dynamic add entries with infer async modules by @ahabhgk in #10019
- fix: covert optional import meta property to
undefined
by @LingyuCoder in #10030 - fix: worker alias with module by @LingyuCoder in #10021
Document Updates π
- docs: add rspack & next.js partner annoucement by @hardfist in #9962
- docs: update blog tile and description on the list page by @chenjiahan in #9969
- docs: add next.js guide to sidebar by @chenjiahan in #9970
- docs: translate Next.js blog to Chinese by @chenjiahan in #9974
- docs: improve clarity in documentation by @chenjiahan in #9977
- docs: add dependency in glossary by @LingyuCoder in #9972
- docs: add a standalone ecosystem page by @chenjiahan in #10004
Other Changes
- ci: split reusable-build.yml by @jerrykingxyz in #9941
- chore: release v1.3.4 by @ahabhgk in #9950
- refactor: dynamic templates of javascript esm dependencies by @LingyuCoder in #9945
- refactor: dynamic templates of JavaScript amd and cjs dependencies
by @LingyuCoder in #9948 - refactor: dynamic templates of javascript remain depenendencies by @LingyuCoder in #9958
- chore(deps): update github-actions by @renovate in #9951
- refactor: dynamic templates of all dependencies by @LingyuCoder in #9960
- refactor: clean dependency template code by @LingyuCoder in #9961
- test: not to print unnecessary message when testing by @LingyuCoder in #9963
- ci: add lynx-stack to ecosystem-ci by @colinaaa in #9964
- chore: use async trace style for chrome tracing by @hardfist in #9965
- chore: remove unused scripts by @LingyuCoder in #9973
- ci: update lynx infra artifact action by @jerrykingxyz in #9975
- ci: use node v22 in ecosystem-ci by @colinaaa in #9966
- chore: use RefCell instead of Mutex in thread_local! by @quininer in #9978
- chore: improve tracing by @hardfist in #9989
- refactor: remove useless code by @jerrykingxyz in #9992
- chore(deps): update dependency @rspack/plugin-react-refresh to ^1.2.0 by @renovate in #10000
- chore(deps): update dependency prebundle to ^1.3.3 by @renovate in #10001
- chore: add more tracing data by @hardfist in #9994
- chore(deps): update rspress to 2.0.0-alpha.11 by @SoonIter in #10027
New Contributors
- @1714080902120 made their first contribution in #9923
Full Changelog: v1.3.4...v1.3.5
v1.3.4
What's Changed
Performance Improvements β‘
Bug Fixes π
Document Updates π
- docs: redirect rspack.org to rspack.dev by @chenjiahan in #9937
- docs: Document content display error in 'experiments.mdx' by @lzxb in #9942
Other Changes
- refactor: clean dependency template code by @LingyuCoder in #9934
- ci: cache support self hosted runner by @jerrykingxyz in #9761
- chore: release v1.3.3 by @JSerFeng in #9935
- chore: bench collect imported identifiers by @SyMind in #9897
- refactor: add dynamic dependency template implementation by @LingyuCoder in #9924
- refactor: fix dependency templates not found error cross temp compilation by @LingyuCoder in #9943
- ci: rustup install clippy by @jerrykingxyz in #9946
- ci: fix rustup download target failed by @jerrykingxyz in #9957
Full Changelog: v1.3.3...v1.3.4
v1.3.3
What's Changed
Exciting New Features π
- feat(wasm): limit tokio
max_blocking_threads
to 1 by @CPunisher in #9909
Bug Fixes π
- fix: should walk for worker args by @ahabhgk in #9901
- fix(deps):
tinypool
not being able to run on older node versions by @h-a-n-a in #9925 - fix: injecting custom runtime globals in runtimeRequirementInTree by @ahabhgk in #9930
- fix(modern-module): leave non exist dependency to throw on resolve by @fi3ework in #9863
Document Updates π
- docs: fix the incorrect parameters used when creating the DevServer by @Gehbt in #9919
- docs: improve Next.js guide by @chenjiahan in #9920
Other Changes
- chore(deps): update dependency @arco-design/web-react to ^2.66.0 by @renovate in #9903
- chore(deps): update dependency @rspack/plugin-react-refresh to ^1.1.0 by @renovate in #9905
- chore(deps): update types by @renovate in #9908
- chore(deps): update dependency @emnapi/core to ^1.4.0 by @renovate in #9904
- chore(deps): update dependency mermaid to ^11.6.0 by @renovate in #9906
- chore(deps): update dependency zx to v8.5.0 by @renovate in #9907
- chore(deps): update dependency emnapi to ^1.4.0 by @renovate in #9912
- chore(deps): update dependency csv-to-markdown-table to ^1.5.0 by @renovate in #9914
- chore(deps): update dependency create-rstack to v1.4.0 by @renovate in #9911
- chore: Upgrade Rust to nightly of 1.86.0 release date by @andersk in #9818
- chore(deps): update dependency react-refresh to ^0.17.0 by @renovate in #9913
- chore(deps): update dependency vitest to ^3.1.1 by @renovate in #9917
- chore(deps): update dependency ts-jest to v29.3.1 by @renovate in #9916
- chore(deps): update dependency less to v4.3.0 by @renovate in #9915
- refactor: remove unused
AsDependency
trait by @LingyuCoder in #9921 - chore: rollback rust to nightly 2025-03-26 by @LingyuCoder in #9926
- chore: remove unnecessary linked project by @hardfist in #9927
- chore(deps): update rust crate tokio to v1.43.1 [security] by @renovate in #9932
- test: use errors.js to test expected error by @fi3ework in #9936
New Contributors
Full Changelog: v1.3.2...v1.3.3
v1.3.2
What's Changed
Exciting New Features π
- feat(loader-parallel): support more
LoaderContext
APIs in parallel loader by @h-a-n-a in #9884 - feat(loader-parallel): support
LoaderContext.fs
asnode:fs
by @h-a-n-a in #9888 - feat: support rspack wasi with node.js by @CPunisher in #9872
Bug Fixes π
- fix: should ensure cache exist when incremental rebuild chunk graph by @JSerFeng in #9886
- fix: more stable named chunk ids by @ahabhgk in #9893
- fix: multiple runtimeRequirementInTree js hook call by @ahabhgk in #9898
- fix: should merge chunkCreateRoot instead of merge chunks later by @JSerFeng in #9892
Document Updates π
- docs: invite @CPunisher to Rspack core team by @chenjiahan in #9882
- docs: add basic guide for Next.js by @SyMind in #9894
Other Changes
- chore(deps): update babel to v7.27.0 by @renovate in #9878
- chore(deps): update rspress to v2.0.0-alpha.8 by @renovate in #9875
- refactor: convert result with message by @LingyuCoder in #9866
- test(loader-parallel): test
parallel-option
would only recievetrue
in parallel mode by @h-a-n-a in #9883 - chore(deps): update dependency webpack-dev-server to v5.2.1 by @renovate in #9874
- chore(deps): update npm dependencies by @renovate in #9794
Full Changelog: v1.3.1...v1.3.2
v1.3.1
Highlights
π Support running JavaScript loader in parallel
Added a way to run JavaScript loader in parallel driven by worker_threads
, using the max thread available on the OS.
This feature is still experimental. To enable parallelism, set Rule.use.parallel = true
and experiments.parallelLoader = true
:
module.exports = {
module: {
rules: [
{
test: /\.less$/,
use: [
{
loader: "less-loader",
+ parallel: true,
options: { ... }
}
]
type: "css"
}
]
},
experiments: {
css: true,
+ parallelLoader: true
}
}
In big projects like 100x antd.less
, we got 2.26x performance boost. (Tested on Apple M2 Max, 64G)
Related PR: #9807
β οΈ Fixed some critical bugs in 1.3.0
- fix
No unique code generation entry for unspecified runtime
panic when using withdevtool: 'eval-source-map'
. Related issue: #9837 - fix
should have best match
panic when using withrspack.CssExtractRspackPlugin
. Related issue: #9833
What's Changed
Exciting New Features π
- feat: support experimental loader parallelism by @h-a-n-a in #9807
- feat: support passing
PathBuf
and&Path
toContext
by @h-a-n-a in #9848
Bug Fixes π
- fix: make Compilation check logs clearer by @chenjiahan in #9853
- fix: should remove all sub chunks if chunk is removed by @JSerFeng in #9845
- fix: add return statement for dynamic importing script externals by @Leonewu in #9842
- fix(deps): update @rspack/dev-server to v1.1.1 by @chenjiahan in #9860
- fix: eval source map panic at getting codegen results by @ahabhgk in #9862
Document Updates π
- docs: add Rspack 1.3 release blog by @SyMind in #9817
- docs: add banner to 1.3 blog by @chenjiahan in #9830
- docs: fix lynx link in en blog by @9aoy in #9831
Other Changes
- chore: release v1.3.0 by @SyMind in #9823
- chore: improve tracing support by @hardfist in #9825
- chore: bump napi-build 2.1.4 -> 2.1.6 by @CPunisher in #9844
- chore: adjust defaultRustTraceFilter to info by @hardfist in #9843
- test(loader-parallel): disable cases that rely on
import()
in node 16 by @h-a-n-a in #9846 - ci: alpine apk use stable release branch by @jerrykingxyz in #9854
- chore: bump swc to v18.0.0 by @GiveMe-A-Name in #9850
- chore(deps): update dependency @rslib/core to v0.6.1 by @renovate in #9857
- test: import from @rspack/test-tools instead of using relative paths by @chenjiahan in #9852
- chore(deps): update dependency @rsbuild/plugin-sass to ^1.3.1 by @renovate in #9856
- refactor: convert errors and results by @LingyuCoder in #9847
- chore: bump napi 3.0.0-alpha.24 -> 3.0.0-alpha.33 by @CPunisher in #9855
- refactor: improve storage error and result by @LingyuCoder in #9859
- test: fix cjs js api tests by @Timeless0911 in #9868
- test: fix unexpected missing errors and warnings by @LingyuCoder in #9869
New Contributors
Full Changelog: v1.3.0...v1.3.1
v1.3.0
What's Changed
See Announcing Rspack 1.3 for more details.
Breaking Changes π
- feat(deps)!: update SWC version to 16.5.0 by @GiveMe-A-Name in #9671
Performance Improvements β‘
Exciting New Features π
- feat: support module subtype in js side by @SyMind in #9613
- feat: implement
module.generator.json.JSONParse
by @colinaaa in #9666 - feat: support read
NormalModule.loaders
by @ahabhgk in #9664 - feat: incremental for new code splitting by @JSerFeng in #9667
- feat: add extends property in config options by @hulin32 in #9617
- feat: externals getResolve callback third argument by @ahabhgk in #9681
- feat: js api support instranceof AsyncDependenciesBlock by @SyMind in #9661
- feat: add file permission bits on copy by @hulin32 in #9650
- feat(copyRspackPlugin): align transform api with webpack plugin by @fireairforce in #9714
- feat: introduce par_iter_then_collect by @quininer in #9736
- feat: implement CircularDependencyRspackPlugin by @faultyserver in #8876
- feat!: introduce lazy compilation middleware by @JSerFeng in #9515
- feat: support experiments build http by @ScriptedAlchemy in #9741
- feat: enable parallel code splitting by default by @JSerFeng in #9059
- feat: support alias false by @ahabhgk in #9809
- feat(compiler-builder): support
BuilderError
by @h-a-n-a in #9627
Bug Fixes π
- fix(commonjs-static): export unprovided variables by @fi3ework in #9630
- fix: define with recursion value by @ahabhgk in #9646
- fix: revoke dependency clean dependency at module and block by @jerrykingxyz in #9638
- fix(core): use future_scope to run parallel future by @hardfist in #9637
- fix: remove outdata compilation error by @SyMind in #9697
- fix: rename loader item request to loader by @ahabhgk in #9704
- fix: should convert diagnostic.loc to string by @JSerFeng in #9695
- fix: napi register module twice by @stormslowly in #9648
- fix: improve diagnostic messages for Subresource Integrity plugin by @chenjiahan in #9725
- fix(module_federation_runtime_plugin): add support for root output dir by @ScriptedAlchemy in #9620
- fix(rspack_plugin_mf): Track all referenced chunks by @ScriptedAlchemy in #9707
- fix: source map line mapping bug by @SyMind in #9712
- fix: getter and setter type in module subtype by @SyMind in #9772
- fix(css): local_names may be None by @inottn in #9748
- fix: array in asset info by @SyMind in #9774
- fix: import-assertion test case should not run in node 16 by @SyMind in #9777
- fix: optimize circular-dependency-check log by @fireairforce in #9776
- fix(modern-module): correct count non export star connections by @fi3ework in #9784
- fix:
getModuleId
should return number for deterministic moduleIds by @ahabhgk in #9785 - fix: compilation.*_dependencies iterator ignore added items when sync call by @jerrykingxyz in #9782
- fix: call invalid hook for
watching.invalidateWithChangesAndRemovals()
by @ahabhgk in #9789 - fix: align ExternalModule module type with webpack's implementation by @ScriptedAlchemy in #9791
- fix: buildHttp upgrade false by @ahabhgk in #9801
- fix(plugin_http): implement respond_with_url_module by @ScriptedAlchemy in #9800
- fix: sort diagnostics before push to compilation by @JSerFeng in #9824
Document Updates π
- docs: improve publicPath with more details and examples by @chenjiahan in #9629
- docs: add
entrypoint.getEntrypointChunk
to documentation by @ahabhgk in #9641 - docs: add new customer by @kwonoj in #9649
- docs: Writing Plugins Compatible with Rspack and Webpack by @SyMind in #9658
- docs: improve docs for amd by @ahabhgk in #9674
- docs(zh): fix typo in contribute/index.mdx by @coding-ice in #9680
- docs: apply new theme colors to the documentation site by @chenjiahan in #9689
- docs: correct
experiments.outputModule
default value by @chenjiahan in #9694 - docs: improve loader related documentations by @chenjiahan in #9718
- docs: polish
extends
configuration and blog titles by @chenjiahan in #9719 - docs: add afterProcessAssets and shouldEmit example by @9aoy in #9746
- docs: add guide for assets base path by @chenjiahan in #9749
- docs: add
modern-module
docs by @Timeless0911 in #9806 - docs: improve lazy compilation guide by @chenjiahan in #9819
Other Changes
- chore: release v1.2.8 by @SyMind in #9621
- chore:
use
statements for better clarity and consistency by @reddevilmidzy in #9578 - chore(deps): update npm dependencies by @renovate in #9632
- chore(deps): update pnpm to v9.15.9 by @renovate in #9633
- chore(deps): update github-actions by @renovate in #9631
- test: modify concurrent to 5 to increase the config test concurrency by @LingyuCoder in #9628
- test(modern-module): add snapshot test by @fi3ework in #9640
- test(webpack): Sync new webpack cases tests by @KuSh in #9639
- chore(deps): update Rspress to 2.0.0-alpha.2 by @chenjiahan in #9647
- chore(deps): update dependency lint-staged to ^15.5.0 by @renovate in #9651
- test(webpack): Sync new webpack fixtures and hotCases tests by @KuSh in #9642
- chore: upgrade @rspack/dev-server and webpack-dev-server by @LingyuCoder in #9660
- chore: clean unused test dev dependencies by @LingyuCoder in #9662
- chore: test mac on main branch by @hardfist in #9673
- chore(deps): update dependency css-loader to v7 by @renovate in #9653
- test(webpack): Sync new webpack watchCases tests by @KuSh in #9644
- test(webpack): Sync new webpack statsCases tests by @KuSh in #9643
- test(webpack): Sync new webpack configCases/css tests by @KuSh in #9655
- refactor: remove async-scope by @hardfist in #9677
- chore: remove unused feature for lightningcss by @hardfist in #9682
- test: ecosystem CI add plugin test by @stormslowly in #9670
- chore: remove zod from exports by @ahabhgk in #9688
- chore(deps): update webpack-bundle-analyzer and webpack-merge by @renovate in #9615
- chore(deps): update dependency @swc/core to v1.11.9 by @renovate in #9520
- chore: disable lto for ci by @hardfist in #9686
- refactor: modify
module.code_generation
to async fn by @LingyuCoder in #962...