What's Changed
New Features 🎉
- feat(deps): update @rspack/core to 2.3.1 by @chenjiahan in #8836
Bug Fixes 🐞
- fix: preserve symbol properties when merging configs by @chenjiahan in #8825
- fix(hmr): preserve early web updates with custom Node targets by @chenjiahan in #8834
Document 📖
- docs: add Rsbuild 2.3 blog links by @chenjiahan in #8756
- docs: explain how to view build cache statistics by @chenjiahan in #8817
- docs: clarify Vue CLI CSS extraction migration by @chenjiahan in #8806
- docs: add the missing Preact import to the JSX example by @chenjiahan in #8816
- docs: enable SRI in algorithm examples by @chenjiahan in #8780
- docs: document assetPrefix support in none mode by @chenjiahan in #8792
- docs: clarify empty manifest integrity objects by @chenjiahan in #8793
- docs: clarify the dev client host example by @chenjiahan in #8796
- docs: add the missing import to the dedupe example by @chenjiahan in #8815
- docs: clarify SWC plugin version compatibility by @chenjiahan in #8766
- docs: clarify the CSS transformation overview by @chenjiahan in #8797
- docs: fix the Module Federation host example by @chenjiahan in #8781
- docs: fix the wildcard alias example by @chenjiahan in #8804
- docs: clarify CORS defaults and option merging by @chenjiahan in #8787
- docs: clarify JavaScript and Rust profiling by @chenjiahan in #8808
- docs: clarify single-entry lazy compilation by @chenjiahan in #8794
- docs: add rsbuild-plugin-start-server to community plugins by @YiCChi in #8818
- docs: fix the Storybook example in the Rsbuild 0.7 post by @chenjiahan in #8814
- docs: clarify conditionNames configuration merging by @chenjiahan in #8772
- docs: fix examples in the Rsbuild 0.4 post by @chenjiahan in #8812
- docs: clarify the React plugin's splitChunks option by @chenjiahan in #8809
- docs: fix the Cheerio import in the HTML hook example by @chenjiahan in #8803
- docs: clarify JavaScript heap memory limits by @chenjiahan in #8807
- docs: fix the Babel example in the Rsbuild 0.2 post by @chenjiahan in #8782
- docs: clarify missing export errors by @chenjiahan in #8776
- docs: update the UnoCSS setup example by @chenjiahan in #8798
- docs: clarify contributor setup and testing steps by @chenjiahan in #8783
- docs: clarify Vite plugin apply migration by @chenjiahan in #8784
- docs: clarify Vite configuration mappings by @chenjiahan in #8774
- docs: clarify which tags receive crossorigin by @chenjiahan in #8788
- docs: correct the documented SWC defaults by @chenjiahan in #8767
- docs: complete plugin registration examples by @chenjiahan in #8768
- docs: clarify JavaScript minification options by @chenjiahan in #8763
- docs: fix the asset name in the processAssets example by @chenjiahan in #8802
- docs: correct app icon metadata examples by @chenjiahan in #8758
- docs: clarify Lightning CSS loader minification by @chenjiahan in #8799
- docs: clarify Sass implementations and JavaScript APIs by @chenjiahan in #8810
- docs: clarify when plugins can read configuration by @chenjiahan in #8771
- docs: correct transform input types and examples by @chenjiahan in #8801
- docs: fix Rspack configuration examples by @chenjiahan in #8759
- docs: correct Create React App migration examples by @chenjiahan in #8805
- docs: align browser log traces with the example by @chenjiahan in #8795
- docs: clarify plugin lookup within environments by @chenjiahan in #8800
- docs: clarify file watcher options by @chenjiahan in #8790
- docs: fix the output.externals type example by @chenjiahan in #8786
- docs: clarify how favicon URLs are handled by @chenjiahan in #8789
- docs: clarify when polyfills are injected by @chenjiahan in #8764
- docs: clarify history API fallback matching by @chenjiahan in #8757
- docs: simplify Docker guidance in the TanStack Start migration guide by @chenjiahan in #8785
- docs: clarify which assets are inlined into HTML by @chenjiahan in #8762
- docs: clarify output filenames and chunk IDs by @chenjiahan in #8791
- docs: clarify Babel syntax support by @chenjiahan in #8778
- docs: clarify dev server and preview behavior by @chenjiahan in #8765
- docs: correct build cache paths and dependencies by @chenjiahan in #8761
- docs: clarify build mode defaults by @chenjiahan in #8773
- docs: complete custom server examples by @chenjiahan in #8779
- docs: clarify CSS Modules file matching and modes by @chenjiahan in #8760
- docs: clarify configuration and env loading in the JavaScript API by @chenjiahan in #8770
- docs: correct static asset URLs and inlining limits by @chenjiahan in #8775
- docs: clarify environment variable replacement by @chenjiahan in #8769
- docs: correct SSR configuration and bundle loading by @chenjiahan in #8811
- docs: fix Svelte preprocessor alias examples by @chenjiahan in #8777
Other Changes
- chore(deps): update all patch dependencies by @renovate[bot] in #8820
- chore(deps): update dependency octane to ^0.16.6 by @renovate[bot] in #8821
- chore(deps): update dependency preact to ^11.1.1 by @renovate[bot] in #8823
- chore(deps): update dependency hono to ^4.13.16 by @renovate[bot] in #8822
- chore(deps): upgrade Node.js to v26 by @chenjiahan in #8824
- chore(deps): upgrade Rstack CLI to v0.9.0 by @chenjiahan in #8826
- test: cover plural CSS Modules filenames by @chenjiahan in #8827
- chore: run unit tests as Rstest projects by @chenjiahan in #8828
- chore(lint): re-enable import rules by @elecmonkey in #8829
- test: cover NODE_ENV property access forms by @chenjiahan in #8830
- release: v2.3.1 by @chenjiahan in #8837
Full Changelog: v2.3.0...v2.3.1