Skip to content

Releases: web-infra-dev/rspack

v1.1.0-beta.0

31 Oct 11:20
Compare
Choose a tag to compare

Highlight

New experiments.incremental

We are implementing a new incremental rebuild architecture that makes the HMR much faster. It's an experimental feature in v1.1 and we still have more work to do before we stabilize it, but for now we have implemented parts of it and seen significant performance boosts.

In a case of 10000 React components, the HMR becomes 38% faster:

Tip

Checkout our docs for more details, and it's still in early stage but we hope you can try it out and provide us with some bugs and feedback at #8106.

Faster output.hashFunction

Rspack's output.hashFunction now defaults to the faster xxhash64, and the output.hashDigestLength now defaults to 16 (prev 20).

In the very large projects, this change will bring a significant performance improvement:

hyperfine --warmup 1 --runs 3 'HASH_FUNCTION=md4 node --run build:rspack' 'HASH_FUNCTION=xxhash64 node --run build:rspack'
Benchmark 1: HASH_FUNCTION=md4 node --run build:rspack
  Time (mean Β± Οƒ):     11.428 s Β±  0.758 s    [User: 83.504 s, System: 5.808 s]
  Range (min … max):   10.892 s … 12.295 s    3 runs

Benchmark 2: HASH_FUNCTION=xxhash64 node --run build:rspack
  Time (mean Β± Οƒ):      9.697 s Β±  0.318 s    [User: 79.664 s, System: 6.127 s]
  Range (min … max):    9.374 s … 10.009 s    3 runs

Summary
  HASH_FUNCTION=xxhash64 node --run build:rspack ran
    1.18 Β± 0.09 times faster than HASH_FUNCTION=md4 node --run build:rspack

Related PR: #8249

What's Changed

Performance Improvements ⚑

Exciting New Features πŸŽ‰

Bug Fixes 🐞

  • fix: temporarily use lightingcss_rs to fix CSS property order by @GiveMe-A-Name in #8182
  • fix(deps): upgrade rspack_resolver 0.3.5 to fix extensionAlias edge cases by @SoonIter in #8188
  • fix: should correct cacheGroups test regex by @JSerFeng in #8204
  • fix(type): rspack function type in cjs require by @SoonIter in #8169
  • fix(modern-module): concatenate entry module regardless bail reasons by @fi3ework in #8165
  • fix(ci): trigger pkg-preview when the needs are skipped by @shulaoda in #8216
  • fix: incremental provided exports should rebuild clean exports info by @ahabhgk in #8221
  • fix: module_executor support layer by @jerrykingxyz in #8212
  • fix: expose incremental.buildChunkGraph by @JSerFeng in #8240
  • fix: compile time evaluation of require.ensure by @LingyuCoder in #8242
  • fix(cli): display the error which is thrown by the plugin during the starting of rspack serve by @LingyuCoder in #8244
  • fix: preserve star export from external module by @fi3ework in #8217
  • fix: sourceMapFilename is relative by @SyMind in #8269
  • fix(type): Make iterators compatible with TS 5.6 --target ESNext by @andersk in #8279

Document Updates πŸ“–

Other Changes

Read more

v1.0.14

22 Oct 07:13
Compare
Choose a tag to compare

What's Changed

Performance Improvements ⚑

Exciting New Features πŸŽ‰

Bug Fixes 🐞

Document Updates πŸ“–

Other Changes

New Contributors

Full Changelog: v1.0.13...v1.0.14

v1.0.13

16 Oct 12:03
Compare
Choose a tag to compare

What's Changed

Bug Fixes 🐞

  • fix: rspack source for stream_chunks_of_source_map_full by @SyMind in #8138

Document Updates πŸ“–

  • docs: update webpack-assets-manifest compatibility status by @9aoy in #8144

Other Changes

Full Changelog: v1.0.12...v1.0.13

v1.0.12

16 Oct 10:40
089aa68
Compare
Choose a tag to compare

What's Changed

Exciting New Features πŸŽ‰

Bug Fixes 🐞

  • fix: side effects optimize for dynamic reexports by @ahabhgk in #8125
  • fix(json): only add RuntimeGlobals::MODULE for concatenation by @fi3ework in #8126
  • fix: should not panic when passing test option to SourceMapDevToolPlugin by @inottn in #8136
  • fix(core): should external package.json from bundle by @chenjiahan in #8140

Other Changes

Full Changelog: v1.0.11...v1.0.12

v1.0.11

15 Oct 06:50
Compare
Choose a tag to compare

Highlights πŸ’‘

Faster Startup πŸš€

The Node.js code from @rspack/core is now bundled into a single bundle, making Rspack startup 30ms faster.

Benchmark 1 (Rspack 1.0.10)
  Time (mean Β± Οƒ):     370.5 ms Β±  12.1 ms    [User: 412.9 ms, System: 68.1 ms]
  Range (min … max):   357.9 ms … 395.1 ms    10 runs

Benchmark 2 (Rspack 1.0.11)
  Time (mean Β± Οƒ):     335.4 ms Β±   2.6 ms    [User: 380.3 ms, System: 59.0 ms]
  Range (min … max):   331.8 ms … 339.1 ms    10 runs

What's Changed

Performance Improvements ⚑

  • perf: bundle @rspack/core for faster startup by @chenjiahan in #8072
  • perf(rspack_core): replace HASH_PLACEHOLDER_REGEX with simple string parsing by @shulaoda in #7907
  • perf: add cache for getting sideEffectState by @JSerFeng in #8070

Exciting New Features πŸŽ‰

Bug Fixes 🐞

  • fix: avoid renaming the export name when outputting a library by @inottn in #8046
  • fix(ci/preview-commit): remove predicate-quantifier by @shulaoda in #8091
  • fix: return url in CreateScriptUrlRuntimeModule by @LingyuCoder in #8088
  • fix: css module should not calculate id by @JSerFeng in #8084
  • fix: avoid extra runtime for get javascript chunk filename by @inottn in #8099
  • fix: generate code correctly for dynamically importing the same file by @inottn in #8100

Other Changes

New Contributors

Full Changelog: v1.0.10...v1.0.11

v1.0.10

11 Oct 07:00
Compare
Choose a tag to compare

What's Changed

Highlights

The swc_core crate has been upgraded from version 0.106.1 to 0.109.1. Fixed the source map error in SWC minifier when used with Sentry.

For a detailed comparison between swc versions, see the https://github.com/swc-project/swc/compare/swc_core@v0.106.1...swc_core@v0.109.1.

Exciting New Features πŸŽ‰

Bug Fixes 🐞

  • fix: the value of this.sourceMap in LoaderContext is incorrect when using SourceMapDevToolPlugin by @inottn in #7968
  • fix: source map is not works with Sentry by @SyMind in #8080
  • fix: should support chunk.contentHash in PathData of compilation.getPath by @LingyuCoder in #8074
  • fix: allow file names and directory names to contain brackets by @inottn in #8069

Other Changes

Full Changelog: v1.0.9...v1.0.10

v1.0.9

10 Oct 03:06
adcabc6
Compare
Choose a tag to compare

What's Changed

Exciting New Features πŸŽ‰

  • feat(parser): add new javascript parser options by @fi3ework in #7939

Bug Fixes 🐞

  • fix(externals): distinguish "module" and "import" in "module-import" by @fi3ework in #7999
  • fix: should set code generation hash to concatenated module by @LingyuCoder in #8062
  • fix: should use chunk in path data of compilation.getPath by @LingyuCoder in #8032
  • fix(type): be compitable to ts5.6 by @SoonIter in #8071

Document Updates πŸ“–

  • docs: upgrade breaking change description by @hardfist in #8012
  • docs(progress-plugin): support custom handler by @9aoy in #8014

Other Changes

Full Changelog: v1.0.8...v1.0.9

v1.0.8

29 Sep 06:57
Compare
Choose a tag to compare

What's Changed

Highlights

  • the Rust crate swc_core has been upgraded to 0.106.0 and swc minifier source map error has been fixed by @SyMind in #7991

Performance Improvements ⚑

Exciting New Features πŸŽ‰

Bug Fixes 🐞

  • fix: the progress values for the make and sealing statuses are inaccurate by @inottn in #7990
  • fix: correctly display the progress bar when it reaches 100% by @inottn in #7989
  • fix: use HookMap for runtimeRequirementInTree by @colinaaa in #7987
  • fix: swc minifier source map by @SyMind in #7991
  • fix: generate params of runtime module by @LingyuCoder in #8000
  • fix(modern-module): use module style export for non entry module by @fi3ework in #7996
  • fix: dedup asset_contents to avoid multiple hash changes by @inottn in #8002
  • fix(core): allow non-utf8 string in source code by @hardfist in #8009

Document Updates πŸ“–

Other Changes

Full Changelog: v1.0.7...v1.0.8

v1.0.7

24 Sep 17:14
Compare
Choose a tag to compare

What's Changed

Performance Improvements ⚑

Bug Fixes 🐞

Document Updates πŸ“–

Other Changes

  • refactor: phases level switcher for incremental options by @ahabhgk in #7954
  • refactor: remove mut options in plugin apply by @ahabhgk in #7958
  • chore: migrate @rspack/dev-server to an independent repo by @LingyuCoder in #7959
  • chore: not allow run typecheck when run node bin/rspack for other project by @hardfist in #7964

Full Changelog: v1.0.6...v1.0.7

v1.0.6

24 Sep 09:53
Compare
Choose a tag to compare

What's Changed

Caution

This version has a bug which requires install webpack together to work, use v1.0.7 instead

Highlights

Support ContextReplacementPlugin

For more information, please refer to the documentation ContextReplacementPlugin.

Performance Improvements ⚑

Exciting New Features πŸŽ‰

Bug Fixes 🐞

  • fix(rspack-test-tools): corret script testu by @shulaoda in #7894
  • fix: should run watch cases test in build assets by @ahabhgk in #7897
  • fix(core): use resource shouldn't contain query by @hardfist in #7911
  • fix: preserve variable names declared with var by @inottn in #7903
  • fix: use SourceMapSource in js side to support map method by @SyMind in #7828
  • fix: avoid import external module re-assigin in concatenation by @fi3ework in #7839
  • fix: make stage has_module_graph_change calculate incorrectly by @jerrykingxyz in #7920
  • fix(core): align assetInfo with webpack by @hardfist in #7924
  • fix: should create an empty codegen result for module that has failure in codegen by @JSerFeng in #7777
  • fix: eco-ci prebundled enhanced-resolve by @SoonIter in #7933
  • fix: attach when add runtime module by @LingyuCoder in #7935
  • fix: infer async modules when incremental enabled by @ahabhgk in #7927
  • fix: change javascript parser options to properly merge by @inottn in #7946

Document Updates πŸ“–

Other Changes

New Contributors

Full Changelog: v1.0.5...v1.0.6