v2.2.8
- feat: support JavaScript URL entries with factory type probes by @intellild in https://github.com/web-infra-dev/rspack/pull/15666
- feat: resolver cache in the new cache system by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15839
- perf(core): box optional match resource data by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15831
- perf: reduce exports info and parser memory footprint by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15821
- perf(core): box optional RSC metadata by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15837
- perf(concatenated): store binding references as indices by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15834
- perf: reuse compilation dependency arrays and strings by @SyMind in https://github.com/web-infra-dev/rspack/pull/15763
- perf(core): box import attributes by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15844
- perf(core): shrink dependency location storage by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15849
- perf(core): store module requests as boxed strings by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15856
- perf: reduce retained dependency and source capacity by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15854
- perf(javascript): share the used-by-exports payload of a dependency by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15851
- perf: skip unused code splitting cache copies by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15867
- perf(stats): release handles per module while converting stats to JS by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15788
- fix(types): allow void context module waterfall callbacks by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15832
- fix: revert "feat: support JavaScript URL entries with factory type probes" by @intellild in https://github.com/web-infra-dev/rspack/pull/15840
- fix: preserve deferred evaluation in modern-module output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15846
- fix(resolve): resolve relative tsconfig paths against cwd by @intellild in https://github.com/web-infra-dev/rspack/pull/15713
- fix(rstest): resolve mock APIs through the runtime registry by @9aoy in https://github.com/web-infra-dev/rspack/pull/15823
- fix: interrupt compaction at cache shutdown by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15850
- fix(types): make SharePlugin enhanced option optional by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15855
- fix(types): align externals function signatures by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15857
- fix(types): correct externals resolver overloads by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15863
- fix: reset MultiCompiler done state on watch restart by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15865
- fix(types): allow unnamed module federation consumers by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15868
- fix: require a name for shared dependency tree shaking by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15872
- fix(types): allow stats printer hooks to return void by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15874
- fix(types): support custom stats fields in extract hooks by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15880
- fix(types): allow shouldEmit hooks to return void by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15881
- fix(types): allow Node fs as intermediate file system by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15895
- fix(types): accept entry dependencies in ModuleGraph queries by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15896
- fix(cli): enable compile cache before loading CLI by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15903
- fix: respect CI=false and skip compile cache in CI by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15904
- fix(rstest): transform non-hoisted mock APIs in expression position by @fi3ework in https://github.com/web-infra-dev/rspack/pull/15877
- fix: avoid retaining source copies in RealContentHash by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15902
- fix(loader): avoid mutating lightningcss-loader options by @tiagovilasboas in https://github.com/web-infra-dev/rspack/pull/15900
- fix(loader): normalize builtin options for inline requests by @SoonIter in https://github.com/web-infra-dev/rspack/pull/15909
- docs: clarify externals usage and consolidate function reference by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15866
- chore(deps): upgrade Rstack to 0.8.0 by @SoonIter in https://github.com/web-infra-dev/rspack/pull/15838
- chore(test): migrate 60 more configs to TypeScript by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15836
- test: migrate 47 more configs to TypeScript by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15843
- chore(test): migrate 20 cache and callback configs to TypeScript by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15852
- chore(deps): update dependency memfs to v4.79.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15891
- chore(deps): update rust crate swc_ecma_minifier to 61.0.9 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15890
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15889
- chore(deps): update dependency webpack-sources to v3.5.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15888
- test: migrate HTTP integrity configuration to TypeScript by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15892
- test: migrate five configurations to TypeScript by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15893
- @tiagovilasboas made their first contribution in https://github.com/web-infra-dev/rspack/pull/15900
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.2.7...v2.2.8
v2.2.7
The new optimization.splitChunks.dedupDepth option lets Rspack spend more build time finding shared code and reducing duplication, giving you more control over the balance between bundle size and build time. In one application with many routes, this option reduced total output size by 9.9%.
It defaults to 1 in production and 0 in development. #15497
This release reduces repeated work and allocations during chunk graph construction and CSS Modules class name generation. JavaScript loaders also avoid copying their input content on each invocation, further reducing processing overhead.
- Optimize chunk graph construction: #15278, #15805.
- Reuse metadata and template values when generating CSS Modules class names: #15783, #15804.
- Avoid cloning JavaScript loader content: #15817.
- feat(split-chunks): add configurable dedupDepth by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15497
- feat: file system info path classification by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15752
- feat: support nested async dependency blocks by @intellild in https://github.com/web-infra-dev/rspack/pull/15741
- feat: cache context modules with filesystem snapshots by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15790
- perf: reduce build chunk graph overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15278
- perf(css): avoid rebuilding local ident metadata per class name by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15783
- perf(resolver): memoize the interned package.json path by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15797
- perf(css): cache invariant local ident rendering values by @intellild in https://github.com/web-infra-dev/rspack/pull/15804
- perf: store runtime keys as SmolStr by @intellild in https://github.com/web-infra-dev/rspack/pull/15807
- perf: reduce build chunk graph code splitter overhead by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15805
- perf(css-extract): avoid per-loader configuration callbacks by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15812
- perf(loader): avoid cloning JS loader content by @SyMind in https://github.com/web-infra-dev/rspack/pull/15817
- perf(core): reuse module identifier for identical requests by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15820
- perf(loader): statically import worker_threads by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15825
- perf(core): reuse resource string for identical user requests by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15827
- fix: keep shadowing exports bindings in nested runtime deconfliction by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15742
- fix(binding): release loader TSFNs on compiler close by @SyMind in https://github.com/web-infra-dev/rspack/pull/15735
- fix: render CommonJS externals directly in modern-module output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15238
- fix: skip entry modules without JavaScript in the chunk startup by @cezaraugusto in https://github.com/web-infra-dev/rspack/pull/15767
- fix(html): keep the doctype when a comment is above it by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15778
- fix(types): allow RslibPlugin without options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15801
- fix: ignore fragment-only CSS URL dependencies by @intellild in https://github.com/web-infra-dev/rspack/pull/15800
- fix(bench): exclude compiler teardown from runtime requirements by @intellild in https://github.com/web-infra-dev/rspack/pull/15813
- fix(types): declare code generation Sources.get and migrate configs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15814
- fix(types): allow RegExp resolve restrictions and migrate configs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15819
- fix(cli): initialize profiling once for multiple configs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15829
- docs: remove redundant CLAUDE.md setup tip by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15815
- docs: clarify default parallel loader worker count by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15824
- test: migrate inner-graph and HTTP test helpers to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15748
- test: migrate common test loaders to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15751
- ci: print ecosystem benchmark repository commit by @SyMind in https://github.com/web-infra-dev/rspack/pull/15746
- test: migrate test loaders, helpers and plugins to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15753
- test: migrate stateful and diagnostic loaders to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15758
- chore: add CLAUDE.md that imports AGENTS.md by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15760
- test: support TypeScript case configurations by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15761
- chore(deps): upgrade Rstack to 0.7.6 and Rstest to 0.12 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15762
- test: type-check case configs and migrate simple configs to TypeScript by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15765
- chore(deps): update dependency enhanced-resolve to v5.25.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15771
- test: migrate case configs to TypeScript (batch 1) by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15774
- test: migrate case configs to TypeScript (batch 2) by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15775
- test: migrate case configs to TypeScript (batch 3) by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15776
- test: migrate case configs to TypeScript (batch 4) by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15777
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15769
- chore(deps): update dependency jsdom to ^30.1.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15772
- test: migrate more case configs to TypeScript by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15787
- chore: remove redundant CLAUDE.md by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15791
- test: migrate 32 configs to TypeScript and normalize spacing by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15789
- chore(deps): upgrade lite-tapable to v1.2.0 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15794
- test: migrate 77 configs and clean helpers to TypeScript by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15795
- test: migrate 61 configs and four helpers to TypeScript by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15803
- test: migrate more configs to TypeScript by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15806
- test: migrate more configs and helpers to TypeScript by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15811
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.2.6...v2.2.7
v2.2.6
- feat(loader): support buildInfo custom fields in parallel loaders by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15629
- perf: streamline SplitChunks candidate preparation by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15691
- perf(loader): track loader dependencies with sets by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15659
- perf(watch): defer internal Watchpack timestamp collection by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15686
- perf: replace BigUint with FixedBitSet in code splitter by @SyMind in https://github.com/web-infra-dev/rspack/pull/15712
- perf: use SsoHashSet for small module chunk memberships by @SyMind in https://github.com/web-infra-dev/rspack/pull/15731
- perf: vectorize CSS string and URL scanning with memchr by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15738
- fix: retain mf manifest expose assets shared with providers by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15700
- fix(core): make module source maps context independent by @SyMind in https://github.com/web-infra-dev/rspack/pull/15671
- fix(loader): revert native loader hook invocation by @intellild in https://github.com/web-infra-dev/rspack/pull/15719
- docs: update hyfdev profile links by @hyfdev-agent in https://github.com/web-infra-dev/rspack/pull/15729
- test: make @rspack/test-tools a dual package by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15698
- test: migrate basic test entry points to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15701
- test: migrate config, compiler, HMR and cache entries to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15703
- test: migrate watcher test entries to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15706
- test: migrate lifecycle child scripts to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15707
- test: migrate request rewrite E2E loaders to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15708
- test: migrate recovery and CSS HMR loaders to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15709
- test: support ESM test configs and migrate initial fixtures by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15714
- chore(build): enable rspack runtime mode for rslib builds by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/15715
- test: remove obsolete webpack config support by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15716
- test: migrate standalone suite configs to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15721
- test: migrate asset, loader and hook configs to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15722
- test: migrate remaining test configs to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15724
- test: migrate test configs and filters to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15725
- test: migrate expectation files to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15726
- test: migrate test definitions to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15727
- test: enable supported cases and capture ESM HMR snapshots by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15732
- chore: exclude test outputs from JavaScript language service by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15733
- test: use rspack.sources in test cases by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15734
- test: migrate remaining test configs and common helpers to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15739
- ci: migrate CodSpeed simulation runner by @hardfist in https://github.com/web-infra-dev/rspack/pull/15710
- @hyfdev-agent made their first contribution in https://github.com/web-infra-dev/rspack/pull/15729
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.2.5...v2.2.6
v2.2.5
- feat: expose new cache options and enable cache store in rebuild by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15690
- perf(loader): use one-shot refs for js values by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15636
- fix: inline runtime chunks with empty names by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15685
- fix: align inline loader module types with webpack by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15684
- fix(rslib): render externalized new URL targets as plain relative URLs by @elecmonkey in https://github.com/web-infra-dev/rspack/pull/15670
- fix(rstest): resolve manual mocks next to package entries by @9aoy in https://github.com/web-infra-dev/rspack/pull/15689
- fix: avoid chunk name collisions in compact hashed ids by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15693
- refactor(core): share BuildContext across module graph tasks by @intellild in https://github.com/web-infra-dev/rspack/pull/15674
- chore: migrate maintenance scripts to ESM by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15675
- chore: release version 2.2.5 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15702
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.2.4...v2.2.5
v2.2.4
CSS-only entries using native CSS support now emit standalone stylesheets without an unnecessary JavaScript bundle. Standalone runtime chunks are also omitted when no JavaScript entry needs them, making it easier to build CSS assets directly. See #14879.
Native CSS support now recognizes webpackIgnore and its rspackIgnore alias for @import, url(), and image-set() dependencies. This lets you leave selected references for the browser to load instead of resolving and bundling them. See #15314.
With experiments.newCache, parent and child compilers now coordinate access to shared persistent cache storage while keeping their entries separate. This prevents conflicting writes and cleanup from losing cached data, and allows both parent and child modules to be restored across compiler restarts. See #15616.
- feat(css): support ignore magic comments by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15314
- feat: share persistent cache cross child compilers by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15616
- feat: support css entry bundling by @intellild in https://github.com/web-infra-dev/rspack/pull/14879
- perf(sources): upgrade simd-utf16-len to 0.2.0 by @SyMind in https://github.com/web-infra-dev/rspack/pull/15562
- perf(binding): share hook registration code across hook types by @intellild in https://github.com/web-infra-dev/rspack/pull/15619
- fix(mf): infer shared module exports from fallback by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15582
- fix: prevent duplicate exports renaming in modern-module output by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15559
- fix: preserve shared connections during module concatenation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15578
- fix(binding): expose original source in succeedModule hooks by @SyMind in https://github.com/web-infra-dev/rspack/pull/15600
- fix: normalize HttpUriPlugin allowedUris before matching by @SyMind in https://github.com/web-infra-dev/rspack/pull/15604
- fix(javascript): do not terminate the enclosing scope after a do-while loop by @nest-aka-swan in https://github.com/web-infra-dev/rspack/pull/15618
- fix(loader): invoke loader hooks through the native hook by @intellild in https://github.com/web-infra-dev/rspack/pull/15591
- fix: enforce HttpUriPlugin lockfile integrity in frozen builds by @SyMind in https://github.com/web-infra-dev/rspack/pull/15609
- fix: drop trailing comma when rewriting require.resolve calls by @perbergland in https://github.com/web-infra-dev/rspack/pull/15656
- fix(loader): preserve string BOM across native boundaries by @intellild in https://github.com/web-infra-dev/rspack/pull/15632
- refactor: remove BuildResult.optimization_bailouts by @hardfist in https://github.com/web-infra-dev/rspack/pull/15545
- refactor: let modules own dependencies and async blocks by @hardfist in https://github.com/web-infra-dev/rspack/pull/15550
- refactor: derive module dependency IDs from references by @hardfist in https://github.com/web-infra-dev/rspack/pull/15556
- refactor: clarify dependency accessors by @hardfist in https://github.com/web-infra-dev/rspack/pull/15575
- refactor: share built modules with the module cache by @hardfist in https://github.com/web-infra-dev/rspack/pull/15527
- refactor: stream new cache writes directly into database batches by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15638
- refactor(loader): replace should-yield hooks with execution kind by @intellild in https://github.com/web-infra-dev/rspack/pull/15592
- docs: clarify descriptionData matching conditions by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15549
- docs: simplify AGENTS.md template by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15558
- docs: simplify agent instructions by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15560
- docs: align target-dependent globals and loading defaults by @pangxie1991 in https://github.com/web-infra-dev/rspack/pull/15568
- docs: simplify ESM configuration examples and output descriptions by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15570
- docs: clarify package resolution defaults and condition priority by @Fyerl in https://github.com/web-infra-dev/rspack/pull/15571
- docs: clarify performance hint defaults and asset filtering by @Fyerl in https://github.com/web-infra-dev/rspack/pull/15572
- docs: clarify resolve and performance configuration examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15577
- docs: clarify fullySpecified behavior and configuration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15580
- docs: correct Lightning CSS unusedSymbols option type by @HashemKhalifa in https://github.com/web-infra-dev/rspack/pull/15613
- docs: add Extension.js to the ecosystem page by @cezaraugusto in https://github.com/web-infra-dev/rspack/pull/15630
- docs: correct default for module.parser["css/auto"].dashedIdents by @sverrejoh in https://github.com/web-infra-dev/rspack/pull/15647
- chore: document persistent cache format policy by @hardfist in https://github.com/web-infra-dev/rspack/pull/15551
- ci: run standalone crate checks only on main by @hardfist in https://github.com/web-infra-dev/rspack/pull/15564
- chore(docs): correct filename derivation and ESM output defaults by @pangxie1991 in https://github.com/web-infra-dev/rspack/pull/15567
- chore(docs): fix standalone configuration examples and type declarations by @pangxie1991 in https://github.com/web-infra-dev/rspack/pull/15566
- chore(skills): update skills and simplify local descriptions by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15569
- chore: update pull request template by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15584
- test: use native ESM configs in e2e tests by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15607
- test: migrate e2e test runner to Rstest by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15606
- chore(deps): update dependency rspack-vue-loader to ^17.7.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15622
- chore(deps): update dependency @rstackjs/load-config to v1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15623
- test: remove duplicate incremental e2e project by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15620
- chore: remove unused files by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15625
- chore(ci): replace Corepack with pnpm action by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15634
- test: expand new cache coverage and test harness support by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15563
- chore(ci): enable Corepack for resolver PnP fixtures by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15640
- chore(deps): upgrade swc_core to 78.0.0 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15639
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15646
- chore: add docs writer and update skills by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15653
- chore(deps): update react to v19.3.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15651
- chore(deps): update dependency mermaid to v12 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15652
- chore(deps): update dependency memfs to v4.74.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15649
- chore(deps): update dependency cspell to ^10.3.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15648
- chore(deps): update pnpm to v11.26.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15650
- chore(deps): upgrade swc_core to 79.0.0 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15661
- @pangxie1991 made their first contribution in https://github.com/web-infra-dev/rspack/pull/15567
- @Fyerl made their first contribution in https://github.com/web-infra-dev/rspack/pull/15571
- @nest-aka-swan made their first contribution in https://github.com/web-infra-dev/rspack/pull/15618
- @cezaraugusto made their first contribution in https://github.com/web-infra-dev/rspack/pull/15630
- @sverrejoh made their first contribution in https://github.com/web-infra-dev/rspack/pull/15647
- @perbergland made their first contribution in https://github.com/web-infra-dev/rspack/pull/15656
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.2.3...v2.2.4
v2.2.3
Rspack now supports asset, asset-url, and css-import external types, allowing CSS to reference stylesheets and assets hosted elsewhere. External @import statements preserve layer, supports, and media conditions, so conditional styles stay conditional in the emitted CSS. #15431, #15522.
With experiments.nativeWatcher enabled, watchOptions.ignored now accepts a function, making it easier to reuse existing ignore rules when switching to the native watcher. File event processing has also been improved to reduce event loss during large bursts of changes on Linux. #15254.
Relative imports such as ./utils and ../shared no longer trigger unnecessary tsconfig loading or tracking of its project-reference tree. This reduces configuration reads and dependency tracking, especially in large TypeScript projects with many project references. #15492.
- feat(cache): align maxMemoryGenerations with webpack by @hardfist in https://github.com/web-infra-dev/rspack/pull/15430
- feat(cache): support builtin swc-loader cache by @intellild in https://github.com/web-infra-dev/rspack/pull/15324
- feat(watcher): support a function for the native watcher
ignoredoption by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15254 - feat(core): expose import attributes on NormalModuleFactory ResolveData by @kakiuwang-ui in https://github.com/web-infra-dev/rspack/pull/15439
- feat(cache): port webpack persistent module cache by @hardfist in https://github.com/web-infra-dev/rspack/pull/15380
- feat(css): support CSS import and asset URL externals by @intellild in https://github.com/web-infra-dev/rspack/pull/15431
- feat: error handling for new cache by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15525
- perf(resolver): skip tsconfig paths for relative specifiers by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15492
- perf(cache): remove module serialization preflight by @hardfist in https://github.com/web-infra-dev/rspack/pull/15509
- fix: treat CJS export assignment as side-effect-free without breaking innerGraph by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/14623
- fix(ci): speed up dylint and fail on warnings by @SyMind in https://github.com/web-infra-dev/rspack/pull/15376
- fix: preserve leading zeros in string module ids by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15428
- fix(devtool): key eval cache by module to keep sourceURL correct by @stormslowly in https://github.com/web-infra-dev/rspack/pull/14866
- fix(types): improve loader context filesystem types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15437
- fix(types): allow optionless filesystem sync calls by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15438
- fix(javascript): handle shared URL asset runtimes by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15446
- fix(copy-plugin): reuse cache for empty rebuilds by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15448
- fix(esm): remove empty chunks except for facade chunks by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15424
- fix(binding): guard module graph accessors against stale and mid-pass reads by @kakiuwang-ui in https://github.com/web-infra-dev/rspack/pull/15454
- fix: stabilize incremental missing-module diagnostic location by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15456
- fix: prevent recursive module federation shared compilation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15494
- fix: preserve diagnostics returned by importModule by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15496
- fix: preserve css-import external conditions by @intellild in https://github.com/web-infra-dev/rspack/pull/15522
- fix: support Windows DOS device paths by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15507
- fix(css): substitute value references in media queries and selectors by @intellild in https://github.com/web-infra-dev/rspack/pull/15523
- fix(css): skip esm flag for concatenated modules by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15539
- fix(ids): stabilize named external module ids by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15540
- fix: pre-register modules before chunk graph splitting by @mvanhorn in https://github.com/web-infra-dev/rspack/pull/15308
- refactor(javascript): internalize side effects analysis by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15436
- refactor: share concatenation backend logic by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15419
- refactor: avoid store and restore channel blocking by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15425
- refactor(javascript): use Rspack-owned atoms by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15441
- refactor(core): use DependencyRef in BuildResult by @hardfist in https://github.com/web-infra-dev/rspack/pull/15457
- refactor(core): remove unnecessary DynClone from codegen data by @hardfist in https://github.com/web-infra-dev/rspack/pull/15489
- refactor: remove redundant clones in core and JSON by @hardfist in https://github.com/web-infra-dev/rspack/pull/15502
- refactor: remove unused Clone derives in core by @hardfist in https://github.com/web-infra-dev/rspack/pull/15508
- refactor(core): share published async dependency blocks by @hardfist in https://github.com/web-infra-dev/rspack/pull/15504
- refactor: remove redundant clones in core by @hardfist in https://github.com/web-infra-dev/rspack/pull/15518
- refactor: remove redundant clones and unused Clone derives by @hardfist in https://github.com/web-infra-dev/rspack/pull/15519
- docs: add Rstest testing guide by @9aoy in https://github.com/web-infra-dev/rspack/pull/15415
- docs: reorganize guide navigation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15422
- docs: refine guide navigation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15423
- docs: correct collection types in API docs by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15429
- chore(deps): update rstack to v0.7.1 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15416
- chore: support single-target preview releases by @hardfist in https://github.com/web-infra-dev/rspack/pull/15434
- test: cover isolated declarations across persistent cache modes by @intellild in https://github.com/web-infra-dev/rspack/pull/15444
- chore: bump
swc_corefrom 77.0.0 to 77.1.2 by @tusharsingh308 in https://github.com/web-infra-dev/rspack/pull/15421 - chore(deps): upgrade Rslib to 1.0.0 by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/15447
- chore: add Rspack API assessment skill by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15470
- chore(ci): skip builds for tooling-only changes by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15472
- chore: upgrade Rstack to v0.7.3 and simplify Rspress config by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15473
- chore(deps): update dependency terser to v5.51.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15479
- chore(deps): update dependency path-serializer to v0.7.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15478
- chore(deps): update dependency memfs to v4.69.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15477
- chore(deps): update dependency happy-dom to ^20.14.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15476
- chore(deps): update dependency cspell to ^10.2.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15475
- chore(deps): update dependency happy-dom to ^20.14.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15482
- chore(deps): update pnpm to v11.25.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15481
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15474
- chore(ci): remove unused workflow inputs by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15499
- chore: run build-only CI targets on main by @hardfist in https://github.com/web-infra-dev/rspack/pull/15510
- chore: document Rust Clone requirements by @hardfist in https://github.com/web-infra-dev/rspack/pull/15511
- chore(ci): enable workflows for release/2.3.0 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15542
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.2.2...v2.2.3
v2.2.2
- feat(cache): add intrastructure logging to the new cache by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15338
- feat(javascript): add JavascriptModulesPlugin.getChunkFilenameTemplate by @kakiuwang-ui in https://github.com/web-infra-dev/rspack/pull/15280
- perf(ids): optimize deterministic module id assignment by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15393
- perf: share runtimes in flag dependency usage by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15388
- perf(core): optimize module rendering for chunk assets by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15394
- perf(core): optimize create module hashes by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15396
- fix(stats): generate correct prefetch child assets by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15208
- fix: keep import.meta.url in createRequire when importMeta is disabled by @lazerg in https://github.com/web-infra-dev/rspack/pull/15273
- fix(core): align module need_build and FileSystemInfo with webpack by @hardfist in https://github.com/web-infra-dev/rspack/pull/15374
- fix(types): support all EnvironmentPlugin default values by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15382
- fix: improve incremental chunk graph reuse by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15373
- fix(rsdoctor): await patch delivery before sealing completes by @kakiuwang-ui in https://github.com/web-infra-dev/rspack/pull/15399
- fix(css): ignore exportsOnly in local ident hashes by @mattcosta7 in https://github.com/web-infra-dev/rspack/pull/15364
- fix: fallback eval devtools for modern-module by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15404
- fix: report diagnostics for unsupported context modes by @dr4gan0x in https://github.com/web-infra-dev/rspack/pull/15361
- refactor(loader): reuse filesystem snapshots for cache dependencies by @intellild in https://github.com/web-infra-dev/rspack/pull/15366
- refactor(core): remove BuildInfo clone by @hardfist in https://github.com/web-infra-dev/rspack/pull/15377
- docs: correct compact hashed API names by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15358
- docs: improve built-in plugin overview and examples by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15354
- docs: move webpack attribution to page footer by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15365
- docs: improve low-level plugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15368
- docs: update webpack plugin compatibility by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15369
- docs: remove version info before Rspack 1.3.0 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15371
- docs: standardize plugin documentation structure by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15378
- docs: improve BannerPlugin option documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15392
- docs: improve IgnorePlugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15395
- docs: improve plugin option documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15398
- docs: remove extra code block spacing in collapse panels by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15403
- docs: improve ContextReplacementPlugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15410
- docs: improve CssExtractRspackPlugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15411
- docs: improve HtmlRspackPlugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15412
- docs: improve HTML plugin guidance by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15414
- chore(deps): update dependency @microsoft/api-extractor to ^7.59.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15385
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15383
- chore: replace Rstack CLI skill by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15387
- chore(deps): update dependency @module-federation/runtime-tools to v2.9.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15386
- chore(deps): update dependency jest-diff to ^30.5.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15389
- chore(deps): update dependency pretty-format to v30.5.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15390
- chore(release): bump all published crates in crate-version by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15367
- ci: refresh self-hosted cache action reference by @deanjingshui in https://github.com/web-infra-dev/rspack/pull/15407
- chore: use heading-case as a formatter plugin by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15405
- chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15413
- chore(ci): validate website builds for fork pull requests by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15408
- @mattcosta7 made their first contribution in https://github.com/web-infra-dev/rspack/pull/15364
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.2.1...v2.2.2
v2.2.1
Rspack 2.2.0 introduced compact hashed module and chunk IDs under the mistakenly named compat-hashed option and CompatHashedModuleIdsPlugin / CompatHashedChunkIdsPlugin APIs. Rspack 2.2.1 corrects these names to compact-hashed, CompactHashedModuleIdsPlugin, and CompactHashedChunkIdsPlugin.
The names introduced in 2.2.0 remain available as deprecated compatibility aliases, but we recommend upgrading to Rspack 2.2.1 and using the corrected names:
module.exports = {
optimization: {
moduleIds: 'compact-hashed',
chunkIds: 'compact-hashed',
},
};
- feat(wasm): align wasmStreamingFallback with webpack by @CoderSerio in https://github.com/web-infra-dev/rspack/pull/15334
- feat: track dependencies in loader cache by @intellild in https://github.com/web-infra-dev/rspack/pull/15325
- perf(core): store FactorizeInfo path dependencies as compact slices by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15306
- fix(cli): disable stats logging by default by @hardfist in https://github.com/web-infra-dev/rspack/pull/15328
- fix: disable incremental outside development mode by @hardfist in https://github.com/web-infra-dev/rspack/pull/15332
- fix(core): run afterCompile before shouldEmit and asset emission by @kakiuwang-ui in https://github.com/web-infra-dev/rspack/pull/15326
- fix(cache): clear stale issuer updates between rebuilds by @zhsama in https://github.com/web-infra-dev/rspack/pull/15276
- fix(css): exclude asset output path from URLs by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15315
- fix(core): bound concurrent asset writes during emit by @lazerg in https://github.com/web-infra-dev/rspack/pull/15342
- fix(minify): update swc_ecma_minifier to 61.0.4 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15343
- fix(ids): correct compact hashed API names by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15356
- fix(rsc): store server compiler ID in native coordinator by @SyMind in https://github.com/web-infra-dev/rspack/pull/15307
- fix(cache): persist dependency id in metadata by @hardfist in https://github.com/web-infra-dev/rspack/pull/15345
- fix(cache): normalize restored paths on Windows by @hardfist in https://github.com/web-infra-dev/rspack/pull/15357
- refactor(split-chunks): skip disjoint group cleanup by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15318
- docs: 2.2.0 release blog by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15240
- docs: clarify incremental mode requirement by @hardfist in https://github.com/web-infra-dev/rspack/pull/15339
- docs: move LLMs UI to page outline by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15341
- docs: reorganize plugin documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15347
- chore(deps): migrate to @rstackjs/doc-ui v1.14.9 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15349
- @CoderSerio made their first contribution in https://github.com/web-infra-dev/rspack/pull/15334
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.2.0...v2.2.1
v2.2.0
🎉 See Announcing Rspack 2.2 for more details.
- feat: implement generation-based memory cache eviction by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15181
- feat: add idle cache compaction with interruption handling by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15182
- feat(css): improve unicode handling and support more css modules cases, boost performance by @intellild in https://github.com/web-infra-dev/rspack/pull/14809
- feat: integrate module code generation to the new cache by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15194
- feat(cache): add fine-grained new cache options by @hardfist in https://github.com/web-infra-dev/rspack/pull/15261
- feat(ids): add compat-hashed module ids by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14926
- feat: analyze dynamic imports in Promise.all destructuring by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15249
- feat: integrate new cache into source map devtool plugin by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15269
- feat(core): add compilation.runtimeTemplate by @kakiuwang-ui in https://github.com/web-infra-dev/rspack/pull/15305
- feat(ids): add compact chunk ids by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14959
- feat(loader): support opt-in per-loader caching by @intellild in https://github.com/web-infra-dev/rspack/pull/15236
- perf(binding): cache converted module original source by @SyMind in https://github.com/web-infra-dev/rspack/pull/15174
- perf: batch splitChunks JavaScript callbacks by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15147
- perf(binding): exclude test loaders from release builds by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15209
- perf(binding): exclude perfetto from release WASI builds by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15221
- perf(binding): align release WASI optimizations by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15227
- perf(binding): optimize React Compiler crates for size by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15230
- perf: avoid parsing concatenated module codegen by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/14852
- perf: preallocate identifier path buffers by @intellild in https://github.com/web-infra-dev/rspack/pull/15220
- perf(paths): intern ArcPath as a single-allocation prehashed path by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15205
- perf: use rayon parallel scheduling for new cache db by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15251
- perf(core): skip the directory walk for glob patterns without metacharacters by @lazerg in https://github.com/web-infra-dev/rspack/pull/15297
- perf(split-chunks): skip single-chunk used exports grouping by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15312
- perf(core): precompile filename templates cache by @intellild in https://github.com/web-infra-dev/rspack/pull/15195
- fix: pass HMR error to Preact refresh recovery handler by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15179
- fix(cache): limit shutdown compaction to a single pass by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15188
- fix(types): add missing stats fields by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15206
- fix(css-extract): strip BOM from module content before concatenation by @doxxx93 in https://github.com/web-infra-dev/rspack/pull/15169
- fix(core): decouple incremental artifacts from cache! by @hardfist in https://github.com/web-infra-dev/rspack/pull/15229
- fix(asset): preserve ESM imports in module output for "preserve" importMode by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/15165
- fix(css): CSS module dashed identifier and composes edge cases by @intellild in https://github.com/web-infra-dev/rspack/pull/15223
- fix: make Module.blocks and Module.dependencies fail gracefully while the module graph is under construction by @upupming in https://github.com/web-infra-dev/rspack/pull/15177
- fix: preserve reexport call context in concatenation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15247
- fix(cache): validate new cache version by @hardfist in https://github.com/web-infra-dev/rspack/pull/15237
- fix(cache): use storage location for new cache by @hardfist in https://github.com/web-infra-dev/rspack/pull/15250
- fix(ids): make compare_modules_by_pre_order_index_or_identifier a total order by @noyobo in https://github.com/web-infra-dev/rspack/pull/15260
- fix: await async modules in ProvidePlugin by @HashemKhalifa in https://github.com/web-infra-dev/rspack/pull/15143
- fix: refine binding code generation result error handling by @intellild in https://github.com/web-infra-dev/rspack/pull/15253
- fix(resolver): restore tsconfig files as file dependencies by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15264
- fix: include factory-created server actions in RSC metadata by @nikhilsnayak in https://github.com/web-infra-dev/rspack/pull/15298
- refactor(css): move css-module-lexer into workspace by @intellild in https://github.com/web-infra-dev/rspack/pull/15218
- refactor(core): clarify persistent cache item naming by @hardfist in https://github.com/web-infra-dev/rspack/pull/15231
- refactor(core): move factorization metadata into artifact by @hardfist in https://github.com/web-infra-dev/rspack/pull/15267
- refactor(core): use Arc for module graph dependencies by @hardfist in https://github.com/web-infra-dev/rspack/pull/15275
- refactor(paths): rename ArcPath to InternedPath by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15274
- refactor(cache): align new cache snapshots with webpack by @hardfist in https://github.com/web-infra-dev/rspack/pull/15311
- refactor(cache): separate legacy cache implementation by @hardfist in https://github.com/web-infra-dev/rspack/pull/15316
- refactor: remove build_deps and parallel encoding by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15330
- docs: align stats JSON types with implementation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15207
- docs: improve dynamic import magic comments by @SyMind in https://github.com/web-infra-dev/rspack/pull/15233
- docs: improve devtool configuration guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15239
- docs: expand devtool reference by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15241
- docs: improve target configuration guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15248
- docs: document compat-hashed module IDs for 2.2.0 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15285
- docs: improve lazy compilation documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15295
- docs: expand lazy compilation option reference by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15296
- docs: clarify resolve alias behavior by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15299
- docs: improve watch options documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15303
- docs: clarify externals type defaults by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15304
- docs: remove outdated CodeSandbox example by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15317
- docs: document experiments.runtimeMode by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15321
- refactor!(rsc): emit client references directly and preinit CSS by @SyMind in https://github.com/web-infra-dev/rspack/pull/14974
- chore: migrate rspack_resolver crate into the workspace by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15161
- chore(deps): upgrade Rstack CLI to v0.6.0 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15176
- chore(ci): use unified Rstack checks by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15184
- chore(resolver): tidy crate root layout by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15180
- chore: format TOML with Rstack CLI by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15185
- chore(deps): upgrade pnp to 0.12.11 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15186
- chore(ci): gate binary size on main pushes by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15178
- chore: upgrade Wasmtime and wasmparser dependencies by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15187
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15196
- chore(deps): update dependency toml to v5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15204
- chore(deps): update rust crate regex to 1.13.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15200
- chore(deps): update dependency @shikijs/transformers to ^4.4.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15197
- chore(deps): update dependency terser to v5.50.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15198
- chore(deps): update dependency diff to v9 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15201
- chore(deps): update dependency glob to v13 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15202
- chore(deps): update dependency sass-loader to v17 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15203
- chore(deps): update dependency less to v4.9.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15210
- chore(deps): update rust crate anymap to 1.1.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15211
- chore: bump SWC dependencies by @hardfist in https://github.com/web-infra-dev/rspack/pull/15217
- chore(vscode): use Rstack extension as default formatter by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15245
- chore: update Rstack to v0.6.2 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15252
- ci: make sccache actually cache cargo check and clippy by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15235
- chore: align agent guidance by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15268
- revert: remove faster module concatenation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15262
- chore(deps): update dependency @types/semver to ^7.8.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15283
- chore(deps): update dependency memfs to v4.68.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15284
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15281
- chore(deps): remove unused dependencies by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15286
- chore: remove unused files and exports by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15287
- chore(deps): update rust crate insta to 1.48.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15294
- chore(deps): update dependency connect-next to v5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15291
- chore(deps): update dependency mermaid to ^11.17.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15290
- chore(deps): update rust crate either to 1.18.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15293
- chore(deps): update rust crate bitflags to 2.13.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15292
- chore(deps): update github-actions (major) by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15301
- chore(deps): update rust crate cargo_toml to v1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/15213
- test(copy-plugin): cover brace expansion in glob patterns by @kakiuwang-ui in https://github.com/web-infra-dev/rspack/pull/15279
- chore(deps): upgrade Rstack CLI to v0.6.4 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15329
- @doxxx93 made their first contribution in https://github.com/web-infra-dev/rspack/pull/15169
- @noyobo made their first contribution in https://github.com/web-infra-dev/rspack/pull/15260
- @kakiuwang-ui made their first contribution in https://github.com/web-infra-dev/rspack/pull/15279
- @nikhilsnayak made their first contribution in https://github.com/web-infra-dev/rspack/pull/15298
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.1.10...v2.2.0
v2.2.0-rc.0
- feat: integrate module code generation to the new cache by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15194
- feat(cache): add fine-grained new cache options by @hardfist in https://github.com/web-infra-dev/rspack/pull/15261
- perf(paths): intern ArcPath as a single-allocation prehashed path by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15205
- perf: use rayon parallel scheduling for new cache db by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/15251
- fix(css): CSS module dashed identifier and composes edge cases by @intellild in https://github.com/web-infra-dev/rspack/pull/15223
- fix: make Module.blocks and Module.dependencies fail gracefully while the module graph is under construction by @upupming in https://github.com/web-infra-dev/rspack/pull/15177
- fix: preserve reexport call context in concatenation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15247
- fix(cache): validate new cache version by @hardfist in https://github.com/web-infra-dev/rspack/pull/15237
- fix(cache): use storage location for new cache by @hardfist in https://github.com/web-infra-dev/rspack/pull/15250
- fix(ids): make compare_modules_by_pre_order_index_or_identifier a total order by @noyobo in https://github.com/web-infra-dev/rspack/pull/15260
- fix: await async modules in ProvidePlugin by @HashemKhalifa in https://github.com/web-infra-dev/rspack/pull/15143
- fix: refine binding code generation result error handling by @intellild in https://github.com/web-infra-dev/rspack/pull/15253
- fix(resolver): restore tsconfig files as file dependencies by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15264
- docs: improve dynamic import magic comments by @SyMind in https://github.com/web-infra-dev/rspack/pull/15233
- docs: improve devtool configuration guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15239
- docs: expand devtool reference by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15241
- docs: improve target configuration guide by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15248
- chore(vscode): use Rstack extension as default formatter by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15245
- chore: update Rstack to v0.6.2 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15252
- ci: make sccache actually cache cargo check and clippy by @stormslowly in https://github.com/web-infra-dev/rspack/pull/15235
- chore: align agent guidance by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/15268
- revert: remove faster module concatenation by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/15262
- @noyobo made their first contribution in https://github.com/web-infra-dev/rspack/pull/15260
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v2.2.0-beta.1...v2.2.0-rc.0