馃帀 See Announcing Rspack 2.2 for more details
What's Changed
New Features 馃帀
- feat(deps): update @rspack/core to 2.2.0 by @chenjiahan in #8376
- feat(plugin-solid): support for Solid v2 by @chenjiahan in #7608
- feat(plugin-babel): add modifyBabelLoaders helper by @chenjiahan in #8297
- feat(create-rsbuild): add Solid 2 templates by @chenjiahan in #8306
- feat(plugin-solid): apply dev option to compiler transforms by @chenjiahan in #8311
- feat(plugin-solid): complete Solid preset option types by @chenjiahan in #8316
- feat(plugin-solid): add granular refresh option by @chenjiahan in #8320
- feat(create-rsbuild): add Octane templates by @chenjiahan in #8349
- feat(plugin-solid): add native JSX compiler by @chenjiahan in #8327
- feat(plugin-solid)!: publish as pure ESM package by @chenjiahan in #8371
- feat(plugin-solid)!: drop Rsbuild v1 support by @chenjiahan in #8372
Performance 馃殌
- perf(core): enable native watcher by default by @chenjiahan in #8296
- perf: enable split chunks by default for Node.js builds by @SyMind in #8332
- perf(core): optimize manifest entry grouping by @chenjiahan in #8340
- perf(core): optimize resource hint file collection by @chenjiahan in #8342
- perf(core): cache loadBundle stats projection by @chenjiahan in #8343
- perf(core): speed up runner output file lookups by @chenjiahan in #8344
- perf(core): optimize resource hint deduplication by @chenjiahan in #8345
- perf(core): optimize manifest HTML file lookup by @chenjiahan in #8346
- perf(core): avoid repeated HTML tag sorting by @chenjiahan in #8348
- perf(core): reduce plugin dependency sorting scans by @chenjiahan in #8359
- perf(core): avoid recreating asset stat helper by @chenjiahan in #8360
- perf: set splitChunks minSize to 0 for Node.js builds by @chenjiahan in #8363
Bug Fixes 馃悶
- fix(deps): update all patch dependencies by @renovate[bot] in #8276
- fix: HMR client crash on legacy browsers where URL lacks searchParams by @Saul-Mirone in #8295
- fix(core): handle server startup errors by @chenjiahan in #8307
- fix(core): clean up servers after startup failure by @chenjiahan in #8309
- fix(core): correctly resolve server port 0 by @chenjiahan in #8315
- fix(cli): support --port 0 by @chenjiahan in #8318
- fix(core): support dynamic ports in module federation by @chenjiahan in #8319
- fix(plugin-solid): skip refresh for node_modules by @chenjiahan in #8326
- fix(core): reuse dynamic port after restart by @chenjiahan in #8330
- fix(core): isolate dynamic ports across restart instances by @chenjiahan in #8331
- fix(deps): update all patch dependencies by @renovate[bot] in #8350
- fix(core): use output.target to decide HMR client injection by @ramon-villain in #8337
- fix(core): refine HMR client target detection by @chenjiahan in #8364
- fix(core): use async chunks for single-entry Node.js builds by @chenjiahan in #8365
- fix(plugin-solid): parse TypeScript correctly with Babel by @chenjiahan in #8368
- fix(plugin-solid): respect legacy decorator config by @chenjiahan in #8374
- fix(plugin-solid)!: remove deprecated solidPresetOptions by @chenjiahan in #8369
Document 馃摉
- docs: clarify inline scripts with ESM output by @chenjiahan in #8286
- docs: add TanStack Start migration guide by @Blinks44 in #8285
- docs(plugin-babel): document modifyBabelLoaders by @chenjiahan in #8299
- docs: document Solid v2 usage by @chenjiahan in #8304
- docs: update build performance optimization guide by @chenjiahan in #8305
- docs: clarify Baseline browser targets by @chenjiahan in #8313
- docs: clarify Solid dev option behavior by @chenjiahan in #8314
- docs: document dynamic server ports by @chenjiahan in #8323
- docs: clarify splitChunks default behavior by @chenjiahan in #8335
- docs: remove faster module concatenation guide by @chenjiahan in #8338
- docs: add Octane to quick start by @chenjiahan in #8352
- docs(create-rsbuild): add template examples and update Solid labels by @chenjiahan in #8353
- docs: document dynamic server port support by @chenjiahan in #8355
- docs: remove outdated CodeSandbox links by @chenjiahan in #8357
- docs: fix malformed configuration examples by @dajiaohuang in #8362
Other Changes
- test(core): add MPA filename hash stability e2e test by @chenjiahan in #8264
- chore(deps): update dependency globals to ^17.11.0 by @renovate[bot] in #8265
- chore(deps): update dependency less to ^4.9.0 by @renovate[bot] in #8267
- chore(deps): update dependency sass-embedded to ^1.102.0 by @renovate[bot] in #8268
- test(core): add SPA filename hash stability e2e test by @chenjiahan in #8266
- test(core): add basic web ESM e2e tests by @chenjiahan in #8269
- test(core): add web ESM chunk e2e tests by @chenjiahan in #8270
- chore(deps): update dependency rstack to ^0.6.1 by @chenjiahan in #8271
- test(core): add module worker async chunk e2e test by @chenjiahan in #8272
- chore: format codebase by @chenjiahan in #8273
- chore(deps): update pnpm to v11.22.0 by @renovate[bot] in #8277
- test(core): add web ESM auto asset prefix e2e test by @chenjiahan in #8274
- chore(deps): update swc monorepo to ^12.19.0 by @renovate[bot] in #8278
- test(core): add web ESM multiple entries e2e test by @chenjiahan in #8280
- chore: enable type-aware linting by @chenjiahan in #8281
- test(core): add web ESM inline scripts e2e test by @chenjiahan in #8284
- chore(deps): upgrade connect-next to v5.0.0 by @chenjiahan in #8287
- test(core): add web ESM base path e2e test by @chenjiahan in #8289
- test(server): cover native import in CJS bundle by @chenjiahan in #8291
- test(core): add web ESM externals e2e test by @chenjiahan in #8292
- chore: enable additional type-aware lint rules by @chenjiahan in #8282
- chore: enable no-unsafe-return rule by @chenjiahan in #8294
- chore: enable no-unnecessary-type-assertion rule by @chenjiahan in #8293
- release: @rsbuild/plugin-babel v2.1.0 by @chenjiahan in #8298
- chore(lint): enable Rstest rules by @chenjiahan in #8300
- chore(lint): enable no-misused-promises rule by @chenjiahan in #8312
- test(plugin-solid): cover HMR error recovery by @chenjiahan in #8317
- chore(lint): enable no-floating-promises rule by @chenjiahan in #8321
- test(plugin-solid): cover SSR and hydration by @chenjiahan in #8322
- chore(lint): enable require-await rule by @chenjiahan in #8324
- chore(vscode): use Rstack extension as default formatter by @chenjiahan in #8325
- chore(deps): upgrade Rstack to v0.6.2 by @chenjiahan in #8328
- test: fix Rstest lint violations by @chenjiahan in #8329
- revert: enable native watcher by default by @chenjiahan in #8333
- chore(ci): allow ecosystem CI to update PR comments by @chenjiahan in #8334
- test: migrate module federation tests to splitChunks by @chenjiahan in #8341
- chore(deps): update sass to ^1.103.1 by @renovate[bot] in #8351
- chore(examples): remove Babel from Solid example by @chenjiahan in #8366
- chore(create-rsbuild): remove Babel from Solid 2 templates by @chenjiahan in #8367
- release: @rsbuild/plugin-solid v2.0.0-beta.2 by @chenjiahan in #8370
- chore(deps): upgrade Rstack CLI to v0.6.4 by @chenjiahan in #8373
- test(plugin-solid): cover dev hydration walk output by @chenjiahan in #8375
- release: v2.2.0 by @chenjiahan in #8377
New Contributors
- @Blinks44 made their first contribution in #8285
- @Saul-Mirone made their first contribution in #8295
- @dajiaohuang made their first contribution in #8362
- @ramon-villain made their first contribution in #8337
Full Changelog: v2.1.13...v2.2.0