Highlights 💡
Browser logs
Rsbuild now forwards browser errors to your terminal — giving your coding agent more context 🤖.

This can be disabled via dev.browserLogs
config:
export default {
dev: {
browserLogs: false,
},
}
What's Changed
New Features 🎉
- feat(plugin-react): complete
preserve
React runtime by @fi3ework in #6240 - feat(core): simplify config option of createRsbuild by @chenjiahan in #6245
- feat: display browser runtime errors in the terminal by @chenjiahan in #6251
- feat: add
dev.browserLogs
configuration by @chenjiahan in #6253 - feat: add support for displaying unhandled rejection logs in terminal by @chenjiahan in #6254
- feat: enhance browser logs with source file locations by @chenjiahan in #6260
- feat: implement deduplication for browser error logs by @chenjiahan in #6283
- feat(deps): update dependency @rspack/core to v1.5.8 by @chenjiahan in #6285
Performance 🚀
- perf: replace source-map with @jridgewell/trace-mapping by @chenjiahan in #6273
- perf: optimize module resolution of compiled packages by @chenjiahan in #6274
Bug Fixes 🐞
- fix(browser-logs): should skip anonymous frame by @chenjiahan in #6261
- fix(browser-logs): deduplicate consecutive runtime error logs by @chenjiahan in #6263
- fix: skip browser error reporting for webpack by @chenjiahan in #6264
- fix: skip browser error logs when build fails by @chenjiahan in #6270
- fix: mark custom compiler option as deprecated by @chenjiahan in #6272
- fix: print the more concise module name if it exists by @chenjiahan in #6280
- fix: prioritize custom file path in error logs by @chenjiahan in #6281
- fix: replace the deprecated url.parse in assets middleware by @chenjiahan in #6284
Refactor 🔨
- refactor: extract server assets middleware by @chenjiahan in #6257
- refactor(assets-middleware): simplify paths handling and server hooks by @chenjiahan in #6258
- refactor(server): make filename helper independent of assets middleware context by @chenjiahan in #6259
- refactor: simplify variable naming in HMR client by @chenjiahan in #6266
- refactor(assets-middleware): simplify context management by @chenjiahan in #6269
Document 📖
- docs(plugin-react): add 'preserve' option to JSX runtime by @chenjiahan in #6244
- docs: update type checking guide with tsc/vue-tsc by @chenjiahan in #6279
- docs: add web workers browser compatibility tips by @9aoy in #6282
Other Changes
- release: @rsbuild/plugin-react v1.4.1 by @chenjiahan in #6241
- test(e2e): add test cases for preserve JSX runtime by @chenjiahan in #6243
- test: rename rsbuildConfig to config in test files by @chenjiahan in #6246
- test(e2e): move plugins config into config object in test cases by @chenjiahan in #6247
- test(e2e): replace manual file lookup with helpers by @chenjiahan in #6248
- test(e2e): standardize file content assertions using helper functions by @chenjiahan in #6249
- chore: remove pug-related chain IDs as they are unused by @chenjiahan in #6250
- test: add browser logs test case for error forwarding by @chenjiahan in #6252
- test(e2e): print original logs when expectLog failed by @chenjiahan in #6255
- chore(deps): update dependency @rstest/core to ^0.5.0 by @renovate[bot] in #6256
- test(e2e): add Vue error logging test cases by @chenjiahan in #6262
- chore(socket): rename message types for better clarity by @chenjiahan in #6265
- chore: add build state tracking to internal context by @chenjiahan in #6268
- chore(deps): update dependency @rsdoctor/rspack-plugin to v1.3.1 by @renovate[bot] in #6271
- chore(deps): update dependency memfs to ^4.47.0 by @renovate[bot] in #6278
- chore(deps): update all patch dependencies by @renovate[bot] in #6277
- release: v1.5.13 by @chenjiahan in #6286
Full Changelog: v1.5.12...v1.5.13