Releases: web-infra-dev/rspack
v1.2.2
What's Changed
New Features π
- feat: add runtime plugin hooks by @LingyuCoder in #9084
- feat(incremental): don't use has_module_import_export_change when incremental code splitting enabled by @ahabhgk in #9062
- perf(options): replace
Regexp
withends_with
match by @h-a-n-a in #9081
Bug Fixes π
- revert: fix: align
amd
option behavior with webpack by @ahabhgk in #9103 - fix: resolve the inconsistent type issue in
JsModule
by @shulaoda in #8939 - fix: should not have warnings for cjs when using dll by @ahabhgk in #9091
- fix: should not cache tracing instance by @h-a-n-a in #9086
- fix: render module id as number if we can by @ahabhgk in #9099
Other Changes
Full Changelog: v1.2.1...v1.2.2
v1.2.1
What's Changed
New Features π
- feat: improve compatibility with compiler options by @h-a-n-a in #9067
- feat: integrate rspack_dojang for enhanced template rendering by @GiveMe-A-Name in #9079
Bug Fixes π
- fix: amd define in function params by @ahabhgk in #9088
- revert: rspack sources substring heuristic algorithm by @SyMind in #9082
Other Changes
- refactor: split compiler hook registers into multiple files by @LingyuCoder in #9061
- chore(deps): update dependency commander to v13 by @renovate in #9074
- chore(deps): update cargo-bins/cargo-binstall action to v1.10.22 by @renovate in #9071
- chore(deps): update pnpm to v9.15.4 by @renovate in #9073
- docs: polish some documentations by @chenjiahan in #9085
Full Changelog: v1.2.0...v1.2.1
v1.2.0
See Announcing Rspack 1.2 for more details.
What's Changed
Performance Improvements β‘
- perf: ignore watching files in node_modules by @chenjiahan in #8645
- perf: remove tokio-console to reduce binary size by @chenjiahan in #8681
- perf: bump miette v7 to reduce binary size by @chenjiahan in #8694
- perf(incremental): compute affected cgm incrementally by @ahabhgk in #8688
- perf: reduce memory consumption of
CachedSource
by @h-a-n-a in #8666 - perf: faster
substring
ofrspack-sources
by @h-a-n-a in #8731 - perf: side effects when there aren't too many optimizable dependencies by @ahabhgk in #8746
- perf: parallelize side effects optimization by @ahabhgk in #8781
- perf(deps): bump
fast-glob
to v0.4.1 by @shulaoda in #8800 - perf: improve FlagDependencyExportsPlugin for large JSON by depth by @hai-x in #8802
- perf(incremental): better parallel for side effects plugin rebuild by @ahabhgk in #8848
- perf(cli): remove Node.js semver checker by @chenjiahan in #8855
- perf(cli): lazy import rechoir and interpret by @chenjiahan in #8856
- perf: persistent cache regenerate artifact.*_dependencies from module_graph by @jerrykingxyz in #9004
- perf: persistent cache use multi-thread by @jerrykingxyz in #9010
- perf: add iterator consumer to improve performance by @jerrykingxyz in #9014
Exciting New Features π
- feat: pass compiler_path to rust Compiler by @jerrykingxyz in #8665
- feat: cache storage by @LingyuCoder in #8466
- feat(incremental): named chunk ids by @ahabhgk in #8652
- feat: support additional-pass hook by @SyMind in #8672
- feat: improve cache storage by @LingyuCoder in #8675
- feat: exports info binding API by @SyMind in #8677
- feat: chunkGraph.getModuleId binding API by @SyMind in #8680
- feat: persistent cache by @jerrykingxyz in #8687
- feat: support
size
option for optimization.chunkIds config by @inottn in #8642 - feat: do not cleanup Rust instance by @h-a-n-a in #8702
- feat: export
WarnCaseSensitiveModulesPlugin
and disable it by default by @ahabhgk in #8697 - feat: cache storage move lock file by @LingyuCoder in #8686
- feat: addInclude binding API by @SyMind in #8713
- feat: update experiments.cache signature by @jerrykingxyz in #8729
- feat(mf): bump @module-federation/runtime-tools to 0.8.4 by @chenjiahan in #8728
- feat!: align AssetGeneratorDataUrlFunction with webpack by @inottn in #8614
- feat: support module.generator.outputPath by @inottn in #8554
- feat: add macro to get rspack version by @jerrykingxyz in #8760
- feat: persistent cache expose error to compilation.diagnostic by @jerrykingxyz in #8765
- feat: persistent cache in production mode wait for save to complete by @jerrykingxyz in #8777
- feat: split big chunks based on modules path similarities by @JSerFeng in #8775
- feat: add help message for version check by @h-a-n-a in #8774
- feat: splitChunks.cacheGroups.filename supports function by @JSerFeng in #8779
- feat: bench js api by codspeed by @SyMind in #8808
- feat: support module graph connection js api by @SyMind in #8812
- feat: support
match_when_empty
for rule condition by @CPunisher in #8809 - feat: add context info issuer layer for external function by @ahabhgk in #8832
- feat: add new optimization.avoidEntryIife config by @fi3ework in #8814
- feat(incremental): side effects optimization by @ahabhgk in #8799
- feat: set default SWC minimizer passes to
2
to reduce bundle size by @chenjiahan in #8853 - feat: initialize compiler options builder by @h-a-n-a in #8857
- feat(storage): improve storage memory by @LingyuCoder in #8847
- feat: support set build info in js side by @SyMind in #8893
- feat: support invalidate persistent cache using
config.mode
andconfig.name
by @jerrykingxyz in #8920 - feat: support
devtool
to compiler options builder by @h-a-n-a in #8940 - feat(plugin-css-extract): add
enforceRelative
plugin option to preserve './' by @SoonIter in #8946 - feat: initialize builtin plugins in compiler options builder by @h-a-n-a in #8954
- feat: support externals in compiler builder options by @h-a-n-a in #8959
- feat: support chunkGroup.getModulePreOrderIndex by @JSerFeng in #8588
- feat(core): bump swc_core to 9.0.0 by @andersk in #8639
- feat(core): bump swc_core to 10.0.1 by @GiveMe-A-Name in #8967
- feat(core): add Yarn PnP support by @hardfist in #7639
- feat: support
optimization
in compiler options builder by @h-a-n-a in #8979 - feat: make builtin plugin options ordered in compiler options builder by @h-a-n-a in #8980
- feat: support custom parser for
json
type by @cbbfcd in #8947 - feat(core): bump swc_core to 10.1.0 by @GiveMe-A-Name in #8995
- feat: add tracing instrument for persistent cache by @jerrykingxyz in #9001
- feat: mark
@rspack/tracing
as peer dependency by @h-a-n-a in #9008 - feat: initial support for compiler builder by @h-a-n-a in #9015
- feat(plugin-asset): support
generator['asset'].importMode
for Rslib by @SoonIter in #8724 - feat: Add support for debug IDs by @timfish in #8943
Bug Fixes π
- fix: external module move out initial chunk by @SyMind in #8644
- fix: escape css by @JSerFeng in #8698
- fix: the wrong filename was passed when calling the assetEmitted hook by @inottn in #8709
- fix: module concatenation for dynamic export info by @ahabhgk in #8730
- fix: duplicate move lock files by @LingyuCoder in #8732
- fix: fix nightly release compare-before-emit-disable test failed by @jerrykingxyz in #8739
- fix: mf parse range not compat with safari by @ahabhgk in #8749
- fix: incremental rebuild are compatible with empty artifact by @jerrykingxyz in #8758
- fix: correct type for
loaderContext.importModule
by @chenjiahan in #8766 - fix: allow empty persistent cache options by @h-a-n-a in #8813
- fix: use cgm hash to verify rename inline modules cache by @ahabhgk in #8820
- fix: Rspack cssParser will parse failed when url(' ') by @cbbfcd in #8824
- fix(diagnostic): improve diagnostics for swc wasm plugins when mismatch by @SyMind in #8001
- fix!: handle glob patterns ending with /** in CopyRspackPlugin by @inottn in #8803
- fix(exernals): add hash to distinguish conflict id by @fi3ework in #8834
- fix: importModule should recei...
v1.2.0-beta.0
What's Changed
Exciting New Features π
- feat: support set build info in js side by @SyMind in #8893
- feat: support invalidate persistent cache using
config.mode
andconfig.name
by @jerrykingxyz in #8920 - feat: support
devtool
to compiler options builder by @h-a-n-a in #8940 - feat(plugin-css-extract): add
enforceRelative
plugin option to preserve './' by @SoonIter in #8946
Bug Fixes π
- fix: rspack_version macro use json to parse package.json by @jerrykingxyz in #8883
- fix: channal error when using sync externals function by @LingyuCoder in #8884
- fix: add stdout draw target to multi progress by @LingyuCoder in #8889
- fix: source-map-devtool-plugin file context option by @SyMind in #8888
- fix: transform nested webpack require with innerGraph enabled by @JSerFeng in #8908
- fix: get resolved module by @SyMind in #8906
- fix: include versions in error message for version mismatch by @haocheng6 in #8899
- fix: allow custom
lazyCompilation.backend.client
by @colinaaa in #8934 - fix: lazy compilation use persistent cache restart failure by @jerrykingxyz in #8952
Document Updates π
- docs: update persistent cache available version and configuration by @jerrykingxyz in #8886
- docs: correct
avoidEntryIife
added version by @fi3ework in #8892 - docs: persistent cache example set root.cache to true by @jerrykingxyz in #8894
- docs: fix typo in builtin-plugin.md by @stormslowly in #8897
- docs: complete
WarnCaseSensitiveModulesPlugin
by @chenjiahan in #8898 - docs: add warning about hmr fails when filename has hash by @LingyuCoder in #8917
- docs: add loader API overview page by @chenjiahan in #8928
- docs(glossary): use "module specifier" instead of "request" by @chenjiahan in #8933
Other Changes
- ci: remove nightly release by @jerrykingxyz in #8885
- refactor(incremental): introduce mutation update module by @ahabhgk in #8891
- test: add persistent cache test by @jerrykingxyz in #8890
- ci: fix ecosystem-benchmark test pr failed by @jerrykingxyz in #8902
- refactor: better storage error format by @LingyuCoder in #8909
- chore(deps): update pnpm to v9.15.2 by @renovate in #8913
- chore(deps): update rspress to v1.39.3 by @renovate in #8914
- chore(deps): update github-actions by @renovate in #8912
- ci: fix documentation coverage check by @chenjiahan in #8907
- test: clean up unused dev dependencies by @chenjiahan in #8919
- fix(modern-module): skip the asset entry module concaten for Rslib by @SoonIter in #8837
- ci: ecosystem-benchmark checkout failed by @jerrykingxyz in #8923
- chore(deps): Upgrade and pin webpack to 5.95.0 by @andersk in #8918
- ci: use corepack instead of pnpm/action-setup by @jerrykingxyz in #8926
- ci: pnpm cache install pnpm/exe when node16 by @jerrykingxyz in #8929
- ci: add ecosystem ci by @jerrykingxyz in #8931
- ci: enable ecosystem-ci on main branch by @jerrykingxyz in #8932
- chore(deps): update crates by @renovate in #8911
- refactor: move compiler options builder to new crate by @h-a-n-a in #8941
New Contributors
- @haocheng6 made their first contribution in #8899
Full Changelog: v1.2.0-alpha.0...v1.2.0-beta.0
v1.2.0-alpha.0
Highlights π‘
Support for persistent cache
Rspack v1.2 introduced an experimental cache configuration that supports persistent caching, which can significantly improve hot startup speed.
When a build hits the cache, it can bring up to 60% performance improvement in real projects.
// rspack.config.js
module.exports = {
cache: true,
experiments: {
cache: {
type: 'persistent',
},
},
};
Note that the persistent cache is still in an early experimental stage and there is a lot of room for performance improvement.
No longer watching node_modules
Rspack v1.2 no longer watching the node_modules
directory by default. This can greatly reduce the number of files to watch and improve performance.
According to our benchmark repo, this change will:
- Reduce memory usage by 120MB.
- Increase dev startup speed by 40%.
- Increase HMR speed by 20~30%.
This change will not affect symlinked resources in monorepo, as symlinked resources are resolved to their real path by default.
Related PR: perf: ignore watching files in node_modules by @chenjiahan in #8645
Upgrade to SWC 9.0
The Rust crate swc_core
has been upgraded to 9.0.2
. Users of the SWC Wasm plugin need to ensure version consistency with the swc_core
being used, otherwise, it may lead to unforeseen issues.
For more details, see SWC Plugin Version Unmatched.
Related PR: feat(core)!: bump swc_core to 9.0.0 by @andersk in #8639
Reduced memory usage
We have optimized the data structure used to store strings during the rspack-sources
computation process. Throughout the computation, all string data points to the string heap memory of the root node, effectively avoiding the generation of new string allocations during the computation.
Related PR: perf: reduce memory consumption of CachedSource by @h-a-n-a in #8666
Reduced bundle size
Rspack v1.2.0 set default SWC minimizer passes
to 2 to reduce bundle size by 1%-7%.
passes
is the the maximum number of times to run compress. In some cases, more than one pass leads to further compressed code. Given Rspack's inherent speed, we've determined that using 2 passes
by default strikes an optimal balance between build performance and bundle size.
Related PR: feat: set default SWC minimizer passes to
2
to reduce bundle size by @chenjiahan in #8853
Parallelize side effects optimization
The implementation of side effects optimization has been refactored to be simpler and more parallelism-friendly. It can take full advantage of parallelism to improve performance. In tested projects, there is typically a 2x-3x performance improvement at this stage.
Related PR: perf: parallelize side effects optimization by @ahabhgk in #8781
Disable WarnCaseSensitiveModulesPlugin by default
The WarnCaseSensitiveModulesPlugin will check the paths of modules and issue warnings for modules that conflict when their paths are all in lowercase. We used to enable it by default, but since it is only a "linter" plugin and it has additional performance overhead especially in development mode. So now we disable it by default, and recommend to use WarnCaseSensitiveModulesPlugin
to add it to your own needs.
// rspack.config.js
module.exports = {
plugins: [new rspack.WarnCaseSensitiveModulesPlugin()],
};
Related PR: feat: export
WarnCaseSensitiveModulesPlugin
and disable it by default by @ahabhgk in #8697
What's Changed
Performance Improvements β‘
- perf: remove tokio-console to reduce binary size by @chenjiahan in #8681
- perf: bump miette v7 to reduce binary size by @chenjiahan in #8694
- perf(incremental): compute affected cgm incrementally by @ahabhgk in #8688
- perf: reduce memory consumption of
CachedSource
by @h-a-n-a in #8666 - perf: faster
substring
ofrspack-sources
by @h-a-n-a in #8731 - perf: side effects when there aren't too many optimizable dependencies by @ahabhgk in #8746
- perf: parallelize side effects optimization by @ahabhgk in #8781
- perf(deps): bump
fast-glob
to v0.4.1 by @shulaoda in #8800 - perf: improve FlagDependencyExportsPlugin for large JSON by depth by @hai-x in #8802
- perf(incremental): better parallel for side effects plugin rebuild by @ahabhgk in #8848
- perf(cli): remove Node.js semver checker by @chenjiahan in #8855
- perf(cli): lazy import rechoir and interpret by @chenjiahan in #8856
Exciting New Features π
- feat: pass compiler_path to rust Compiler by @jerrykingxyz in #8665
- feat: cache storage by @LingyuCoder in #8466
- feat(incremental): named chunk ids by @ahabhgk in #8652
- feat: support additional-pass hook by @SyMind in #8672
- feat: improve cache storage by @LingyuCoder in #8675
- feat: exports info binding API by @SyMind in #8677
- feat: chunkGraph.getModuleId binding API by @SyMind in #8680
- feat: persistent cache by @jerrykingxyz in #8687
- feat: support
size
option for optimization.chunkIds config by @inottn in #8642 - feat: do not cleanup Rust instance by @h-a-n-a in #8702
- feat: export
WarnCaseSensitiveModulesPlugin
and disable it by default by @ahabhgk in #8697 - feat: cache storage move lock file by @LingyuCoder in #8686
- feat: addInclude binding API by @SyMind in #8713
- feat: update experiments.cache signature by @jerrykingxyz in #8729
- feat(mf): bump @module-federation/runtime-tools to 0.8.4 by @chenjiahan in #8728
- feat!: align AssetGeneratorDataUrlFunction with webpack by @inottn in #8614
- feat: support module.generator.outputPath by @inottn in #8554
- feat: add macro to get rspack version by @jerrykingxyz in #8760
- feat: persistent cache expose error to compilation.diagnostic by @jerrykingxyz in #8765
- feat: persistent cache in production mode wait for save to complete by @jerrykingxyz in #8777
- feat: split big chunks based on modules path similarities by @JSerFeng in #8775
- feat: add help message for version check by @h-a-n-a in #8774
- feat: splitChunks.cacheGroups.filename supports function by @JSerFeng in #8779
- feat: bench js api by codspeed by @SyMind in #8808
- feat: support module graph connection js api by @SyMind in #8812
- feat: support
match_when_empty
for rule condition by @CPunisher in #8809 - feat: add context info issuer layer for external function by @ahabhgk in #8832
- feat: add new optimization.avoidEntryIife config by @fi3ework in #8814
- feat(incremental): side effects optimization by @ahabhgk in #8799
- feat: initialize compiler options builder by @h-a-n-a in #8857
- feat(storage): improve storage memory by @LingyuCoder in #8847
Bug Fixes π
- fix: external module move out initial chunk by @SyMind in #8644
- fix: escape css by @JSerFeng in #8698
- fix: the wrong filename was passed when calling the assetEmitted hook by @inottn in #8709
- fix: module concatenation for dynamic export info by @ahabhgk in #8730
- fix: duplicate move lock files by @LingyuCoder in #8732
- fix: fix nightly release compare-before-emit-disable test failed by @jerrykingxyz in #8739
- fix: mf parse range not compat with safari by @ahabhgk in #8749
- fix: increme...
v1.1.8
Security Vulnerability Report
Overview
This is a re-release version of v1.1.6
On 12/19/2024, 02:01 (UTC), we discovered that our npm packages @rspack/core
and @rspack/cli
were maliciously attacked. The attacker released v1.1.7
using a compromised npm token, which contained malicious code. We took immediate action upon discovering the issue.
Impact
- Affected versions:
@rspack/core
and@rspack/cli
v1.1.7
- Duration: 12/19/2024, 02:01 (UTC), lasting approximately 1 hour
- Malicious code impact: After npm install, the postinstall script in
package.json
runs malicious code indist/util/support.js
. See Malicious code analysis for more details.
Actions Taken
Upon discovery, we immediately deprecated the affected v1.1.7
, redirected the npm latest tag to v1.1.6
, and reset all related tokens.
Subsequently, we released a secure new version v1.1.8
.
Recommended Actions
If you installed v1.1.7
during the affected period, please:
- Update to the latest safe version immediately:
@rspack/core
and@rspack/cli
to>= 1.1.8
- Check your system for any unusual activity
Apology and Commitment
We deeply apologize for the risks caused by this incident. To prevent similar incidents from happening again, we will implement stricter token management protocols and enhance our security review processes.
If you have any questions or discover any suspicious activity, please create an issue or send an email to: [email protected]
We will continue to follow and respond to community feedback.
v1.1.6
What's Changed
Highlights π‘
Reduced memory usage
Rspack's memory usage in large projects has been significantly reduced since v1.1.6:
Related PRs:
- perf: improve cached source data struct by @SyMind in #8602
- perf: reduce heap allocations for
RuntimeModule
by @h-a-n-a in #8620 - perf: avoid heap allocation for getting connections by @ahabhgk in #8625
Performance Improvements β‘
Exciting New Features π
- feat: implement output.clean.keep: Option by @ClSlaid in #8479
- feat: support
output.trustedTypes.onPolicyCreationFailure
by @LingyuCoder in #8619 - feat(incremental): named module ids by @ahabhgk in #8593
- feat: support
getResolve
in external function context by @fi3ework in #8577 - feat: add intermediate file system by @LingyuCoder in #8631
- feat(persistent cache): add make occasion by @jerrykingxyz in #8586
Bug Fixes π
- fix: importModule should have err by @JSerFeng in #8590
- fix: trusted type should add module runtime requirements by @LingyuCoder in #8617
- fix: source map file should use contenthash itself by @LingyuCoder in #8623
- fix: sync minify file comments from SWC by @fi3ework in #8628
- fix: generate wrong chunk filename runtime code on win32 by @LingyuCoder in #8622
- fix: avoid unnamed module ids by @ahabhgk in #8634
- fix: passively rebuild modules imported by
importModule
by @CPunisher in #8595
Document Updates π
- docs: fix typo by @cbbfcd in #8607
- docs: rewrite
CopyRspackPlugin
documentation by @chenjiahan in #8621 - docs: fix error links by @xuexb in #8635
Other Changes
- chore: add release-check task by @hardfist in #8578
- refactor: remove compilation.built_module by @jerrykingxyz in #8589
- chore(deps): update github-actions by @renovate in #8610
- chore(deps): update rspress to v1.37.3 by @renovate in #8613
- chore(deps): update pnpm to v9.14.4 by @renovate in #8612
- chore: remove tracking subjects by @h-a-n-a in #8616
- test(snapshot): make snapshots cleaner and update path-serializer 0.3.4 by @SoonIter in #8161
- chore(deps): update napi by @renovate in #8611
- test: create issues for failed webpack test by @GiveMe-A-Name in #8618
- refactor: improve dependency location by @shulaoda in #8606
- chore(deps): update crates by @renovate in #8198
- chore(deps): update crates (major) by @renovate in #6926
- ci: run miri on main by @h-a-n-a in #8632
- chore: remove unnecessary code by @shulaoda in #8641
New Contributors
- @ClSlaid made their first contribution in #8479
- @cbbfcd made their first contribution in #8607
- @xuexb made their first contribution in #8635
Full Changelog: v1.1.5...v1.1.6
v1.1.5
What's Changed
Highlights π‘
refactor css loading
Since #7306, we have aligned with webpack's CSS loading strategy, which assumed that CSS finished loading before executing JavaScript, which is not true. Both Rspack and webpack have changed the CSS loading strategy to address this issue.
For more specific details on the original problem, please refer to this link.
Webpack fixed this in webpack/webpack#19021
Rspack fixed this in #8534
Performance Improvements β‘
- perf: create tsfn error resolver once by @h-a-n-a in #8540
- perf: mem cache for chunk render source by @ahabhgk in #8528
- perf: move from
Buffer
to zero-copyBufferSlice
by @h-a-n-a in #8574 - perf: register cleanup hook on global by @SyMind in #8564
- perf: reduce memory consumption of paths by @h-a-n-a in #8581
Exciting New Features π
- feat(mf): recursive search for versions of shared dependencies by @inottn in #8388
- feat: support output.environment.nodePrefixForCoreModules by @inottn in #8516
- feat(rspack_cacheable):
as
attr support use with dyn trait by @jerrykingxyz in #8535 - feat: support analysing AMD module format by @nilptr in #8389
- feat(cli): set default
process.title
by @chenjiahan in #8576 - feat: support chunksSortMode option to HtmlRspackPlugin by @inottn in #8585
Bug Fixes π
- fix: reset the progress bar in the correct hook by @inottn in #8429
- fix: get encoded asset content correctly by @inottn in #8545
- fix: missing dependencies type in Module class by @SyMind in #8552
- fix: chunk render cache panic on css extract diagnostics by @ahabhgk in #8562
- fix: should report errors if stats was being accessed after the compiler was closed by @h-a-n-a in #8561
- fix: add missing affectedHooks parameter to ProvidePlugin by @inottn in #8570
- fix: rule.issuerLayer by @SyMind in #8572
- fix: should have module-post-order-index when incremental build by @JSerFeng in #8559
- fix: rebuild should reset module.preOrderIndex by @JSerFeng in #8413
- fix(incremental): infer async modules test cases and add loggings for incremental by @ahabhgk in #8580
- fix: prevent from accessing outdated compilation by @SyMind in #8591
- fix(incremental): get affected modules with chunk graph perf regression by @ahabhgk in #8592
Document Updates π
- docs: add examples for watchOptions by @chenjiahan in #8532
- docs: polish Rule configuration by @chenjiahan in #8565
Other Changes
- refactor: remove unnecessary filesystem trait by @hardfist in #8525
- chore(deps): update dependency prettier to v3.4.1 by @renovate in #8544
- chore(deps): update github-actions by @renovate in #8542
- chore(deps): update pnpm to v9.14.2 by @renovate in #8543
- refactor: css loading by @JSerFeng in #8534
- test: create issues for webpack-test failures by @GiveMe-A-Name in #8551
- chore: update rspress to v1.37.2, fix sass test case warnings by @renovate in #8514
- refactor: remove unused cssHeadDataCompression config by @JSerFeng in #8555
- chore: bump rspack crate to 0.2.0 by @hardfist in #8573
- chore: fix crate publish problems by @hardfist in #8575
- refactor: CSS HMR by @JSerFeng in #8587
Full Changelog: v1.1.4...v1.1.5
v1.1.4
What's Changed
Exciting New Features π
- feat(cacheable): add AsOwned by @jerrykingxyz in #8500
- feat: rspack_cacheable support
as
attr by @jerrykingxyz in #8521 - feat: rspack_cacheable support rspack_sources::BoxSource by @jerrykingxyz in #8527
Bug Fixes π
- fix(incremental): wrong runtime module when rebuild by @ahabhgk in #8504
- fix:
WebWorkerTemplatePlugin
should generate import-scripts chunk loading runtime by @h-a-n-a in #8523 - fix: handle DataURI without base64 word by @inottn in #8380
- fix: variable name conflict with concatenate and runtime code by @inottn in #8386
Document Updates π
- docs: add examples for ESM loader by @chenjiahan in #8498
- docs: chunk level incremental by @ahabhgk in #8505
- docs: remove wrong short argument -w for --json in cli.mdx by @stefanseeger in #8507
- docs: update plugin compatible table by @chenjiahan in #8526
Other Changes
- chore(deps): update dependency @swc/plugin-remove-console to v5 by @renovate in #8515
- test: create issues for webpack-test failure cases by @GiveMe-A-Name in #8491
- refactor: rename FileSystem to SyncFileSystem by @hardfist in #8520
- refactor: unify to filesystem in rspack_core by @hardfist in #8522
- chore: update error message for task loop by @wtlin1228 in #8418
New Contributors
- @stefanseeger made their first contribution in #8507
- @wtlin1228 made their first contribution in #8418
Full Changelog: v1.1.3...v1.1.4
v1.1.3
What's Changed
Performance Improvements β‘
- perf: reduce source map json stringify by @SyMind in #8468
- perf: move matching logic in source map plugin to rust side by @inottn in #8481
Exciting New Features π
Bug Fixes π
- fix: unstable stats test snapshot by @ahabhgk in #8482
- fix(incremental): disappeared chunk panic in chunks render by @ahabhgk in #8492
- fix: css escape when consume string by @ahabhgk in #8495
Other Changes
- chore(ci): add rust bench ci by @SoonIter in #8476
- chore(deps): update cargo-bins/cargo-binstall action to v1.10.13 by @renovate in #8477
- chore(deps): update pnpm to v9.14.1 by @renovate in #8478
- test: move e2e to the test folder by @chenjiahan in #8486
Full Changelog: v1.1.2...v1.1.3