See Announcing Rsbuild 1.0 for more details 🎉
What's Changed
Breaking Changes 🍭
- fix!: remove lightningcss plugin by @chenjiahan in #3047
- fix!(cli): rename env option of inspect command to mode by @chenjiahan in #3140
- feat!: change default charset to utf8 by @chenjiahan in #3250
New Features 🎉
- feat: expose
reduceConfigs
helper by @chenjiahan in #2631 - feat: normalize environment config by @9aoy in #2633
- feat!: replace output.targets with output.target by @9aoy in #2636
- feat!: remove deprecated
dev.startUrl
by @chenjiahan in #2642 - feat: allow to use port placeholder in
client.port
by @chenjiahan in #2641 - feat: support read environments source.entry config by @9aoy in #2643
- feat!: add browserslist to context.environments by @chenjiahan in #2646
- feat!: output.emitAssets changed to boolean type by @chenjiahan in #2649
- feat!: remove
target
param forsource.alias
by @chenjiahan in #2650 - feat: support apply environment html-related config by @9aoy in #2647
- feat: support apply more environment configs by @9aoy in #2652
- feat: support apply more environment configs by @9aoy in #2656
- feat: use environment name as progress id by @chenjiahan in #2670
- feat: handle more cases in ensureAssetPrefix helper by @chenjiahan in #2671
- feat(deps): bump core-js v3.37 and @swc/helpers by @chenjiahan in #2673
- feat!: decorators version defaults to
2022-03
by @chenjiahan in #2677 - feat(styled-components): use SWC Wasm plugin by @chenjiahan in #2679
- feat: support apply environment bundleAnalyze config by @9aoy in #2682
- feat(type-check): allow to check multiple tsconfig files by @chenjiahan in #2684
- feat: print file size grouped by environment by @9aoy in #2683
- feat: support apply environment nonce config by @9aoy in #2685
- feat(source-build): support for flat conditional exports by @chenjiahan in #2688
- types: allow to configure dev in environments by @chenjiahan in #2695
- feat: support for merging environments config by @chenjiahan in #2700
- feat: add modifyEnvironmentConfig hook by @9aoy in #2707
- feat: support apply environment moduleFederation config by @9aoy in #2692
- feat(create-rsbuild): enable allowImportingTsExtensions by @chenjiahan in #2710
- feat: add basic server environment api by @9aoy in #2714
- feat!: enable LightningCSS minimizer as default CSS minimizer by @chenjiahan in #2716
- feat(deps)!: bump Rspack 1.0 alpha by @chenjiahan in #2722
- feat: allow to configure progress bar by environment by @chenjiahan in #2730
- feat(server): support load SSR module by @9aoy in #2528
- feat: support output environment config when inspect config by @9aoy in #2738
- feat: prettier print file size log by @9aoy in #2761
- feat: add environments param into rsbuild api by @9aoy in #2768
- feat!(plugin-vue2): update Vue 2 compiler options to condense whitespace by @a145789 in #2785
- feat: improve the default splitting cache groups by @chenjiahan in #2792
- feat(deps): bump Rspack 1.0.0-alpha.1 by @chenjiahan in #2803
- feat(deps): bump Rspack 1.0.0-alpha.2 by @chenjiahan in #2836
- feat: allow to custom CSS minify options by @chenjiahan in #2840
- feat: set uniqueName for module federation HMR by @chenjiahan in #2853
- types: export HtmlRspackPlugin type by @chenjiahan in #2861
- types: allow passing user config to mergeEnvironmentConfig by @9aoy in #2863
- feat(create-rsbuild): support for project name with npm scope by @chenjiahan in #2874
- types: fix plugins type mismatch by @chenjiahan in #2875
- feat(deps): bump Rspack 1.0.0-alpha.3 by @chenjiahan in #2883
- feat(CLI): add new --env-dir option by @chenjiahan in #2891
- feat: allow to disable gzip compression size by @chenjiahan in #2892
- feat(create-rsbuild): allow to create via CLI options by @chenjiahan in #2903
- feat: allow dev.client.port to be a number by @chenjiahan in #2907
- feat(create-rsbuild): add framework alias and validate input by @chenjiahan in #2922
- feat(deps): bump rspack 1.0.0-alpha.4 by @9aoy in #2936
- feat: add
htmlPlugin
andrspackConfig
template parameters by @chenjiahan in #2938 - feat: add environments as a filter of
api.transform
by @chenjiahan in #2947 - feat(deps): bump Rspack 1.0.0-alpha.5 by @chenjiahan in #2949
- feat: add new plugin API to process assets by @chenjiahan in #2966
- feat: allow to process assets for specific target by @chenjiahan in #2967
- feat: allow to access environment context in transform API by @chenjiahan in #2968
- feat: allow to access environment context in process assets by @chenjiahan in #2970
- feat: allow to access compiler in modifyHTMLTags hook by @chenjiahan in #2975
- feat: add sources param to api.processAssets by @chenjiahan in #2987
- feat: support add plugins for specified environment by @9aoy in #2986
- feat: more plugins support used as environment plugin by @9aoy in #2994
- feat: add environments as a filter of
api.processAssets
by @chenjiahan in #3009 - feat: enable inline chunks based on conditions through output options by @Thulof in #3000
- feat(deps): bump Rspack 1.0.0-beta.0 by @chenjiahan in #3022
- feat: allow absolute output path for inspectConfig by @chenjiahan in #3024
- feat: enable lightningcss-loader by default by @chenjiahan in #3034
- feat: add new
tools.lightningcssLoader
config by @chenjiahan in #3043 - feat: add
isWatch
param to determine whether it is watch mode when build by @9aoy in #3065 - feat: support only build specified environment by @9aoy in #3059
- feat: bump Rspack 1.0.0-beta.1 by @chenjiahan in #3072
- feat(core): add
type
option todev.watchFiles
to support reload server by @kurorinto in #3069 - feat: allow to disable buit-in lightningcss-loader by @chenjiahan in #3082
- feat!:
onBeforeBuild
hook supports calling multiple times in watch mode by @9aoy in #3066 - feat: support using
<port>
indev.assetPrefix
by @colinaaa in #3098 - feat(deps): bump Rspack 1.0.0-beta.2 by @chenjiahan in #3113
- feat: add environment hooks about compiler by @9aoy in #3108
- feat: allow to configure
output.filename.html
by @chenjiahan in #3137 - feat(deps): bump Rspack 1.0.0-beta.3 by @chenjiahan in #3144
- feat: add new
mode
config by @chenjiahan in #3155 - feat: prefer reading the mode config by @chenjiahan in #3156
- feat(CLI): add new
--mode
option by @chenjiahan in #3166 - feat: support for
import.meta.env.MODE
by @chenjiahan in #3168 - feat: add new
root
config by @chenjiahan in #3170 - feat(CLI): add new
root
option by @chenjiahan in #3173 - feat(deps): bump Rspack 1.0.0-beta.4 by @chenjiahan in #3178
- feat!: output inspect config to .rsbuild dir by @9aoy in #3189
- feat: add type attribute for SVG favicon by @chenjiahan in #3200
- feat(create-rsbuild): improve tool selection instruction in prompt by @BrinsilElias in #3208
- feat:
output.cleanDistPath
defaults toauto
by @chenjiahan in #3213 - feat!: support generating web app manifest when using
html.appIcon
by @chenjiahan in #3219 - feat!: use
connectWebSocket
instead ofonHTTPUpdate
method by @9aoy in #3216 - feat(deps): bump Rspack 1.0.0-beta.5 by @chenjiahan in #3221
- feat: set default entry when entry is set to an empty object by @Timeless0911 in #3225
- feat: allow to custom web app manifest filename by @chenjiahan in #3228
- feat: add mime type for web app manifest by @chenjiahan in #3234
- feat: allow to specify target for app icons by @chenjiahan in #3235
- feat: allow to set URL as app icon by @chenjiahan in #3237
- feat: allow to disable HTML for specific entry by @chenjiahan in #3246
- feat: expose
server.printUrls
method by @chenjiahan in #3260 - feat: add
environments
toonAfterStartProdServer
by @colinaaa in #3264 - feat(deps): bump Rspack 1.0.0-rc.0 by @chenjiahan in #3268
- feat: transformImport support function type by @9aoy in #3266
- feat: minify CSS for injected styles by @chenjiahan in #3272
- feat(deps): bump Rspack 1.0.0-rc.1 by @chenjiahan in #3286
- feat: allow to override Rspack config validate env by @chenjiahan in #3292
- feat(deps): bump Rspack 1.0.0-rc.2 by @chenjiahan in #3294
- feat!: enable Rspack config schema validation by default by @chenjiahan in #3295
- feat(deps): bump Rspack 1.0.0 by @chenjiahan in #3297
- feat: add stats to the return value of
rsbuild.build
by @chenjiahan in #3325 - feat: add
dev.client.reconnect
option by @chenjiahan in #3333 - feat: support nested plugins by @9aoy in #3348
- feat: export more sub-types of Rsbuild config by @chenjiahan in #3351
- feat(deps): bump Rspack v1.0.1 by @chenjiahan in #3360
- feat(deps): bump Rspack 1.0.2 by @chenjiahan in #3375
- feat(deps): bump Rspack 1.0.3 by @chenjiahan in #3378
- feat: basic support for Svelte 5 by @chenjiahan in #3403
Performance 🚀
- perf(core): remove fs-extra dependency by @chenjiahan in #2637
- perf(core): lazy load http-proxy-middleware by @chenjiahan in #2786
- perf: prefer using dynamic import to load config by @chenjiahan in #2809
- perf!: disable polyfill injection by default by @chenjiahan in #2804
- perf: compute gzip size in parallel by @chenjiahan in #2813
- perf: simplify node_modules RegExps by @chenjiahan in #2816
- perf: read file async when printing file size by @chenjiahan in #2820
- perf: bump html plugin to redue entrypoints overhead by @chenjiahan in #2821
- perf: bump html plugin to redue appcache overhead by @chenjiahan in #2822
- perf: skip PostCSS AST version compasion by @chenjiahan in #2826
- perf: resolve mjs config first by @chenjiahan in #2828
- perf!: remove builtin terser HTML minimizer by @chenjiahan in #2833
- perf: bump html plugin to unify tapable by @chenjiahan in #2839
- perf: bump html plugin to remove lodash by @chenjiahan in #2857
- perf: prebundle html-rspack-plugin by @chenjiahan in #2870
- perf: prettier the compiled packages by @chenjiahan in #2879
- perf: skip calculation if browserslist is default value by @chenjiahan in #2882
- perf: skip template evaluation when using default template by @chenjiahan in #2896
- perf: bump html-rspack-plugin 6.0.0-beta.8 by @chenjiahan in #2898
- perf!: remove built-in autoprefixer by @chenjiahan in #3035
- perf: skip postcss-loader if no plugins are registered by @chenjiahan in #3036
- perf: prebundle postcss by @chenjiahan in #3062
- perf: remove cosmiconfig from postcss-loader by @chenjiahan in #3063
- perf: bump rspack-manifest-plugin v5.0.1 by @chenjiahan in #3064
- perf(server): adjust gzip level for faster compression by @chenjiahan in #3090
- perf(mf): only patch split chunks for provider app by @chenjiahan in #3102
- perf(mf): set splitChunks.chunks to
async
by default if using module federation by @chenjiahan in #3104 - perf: use compilation.inputFileSystem to read app icons by @chenjiahan in #3226
- perf: replace dev middleware with a lightweight version by @chenjiahan in #3257
Bug Fixes 🐞
- fix: preload util type assertion by @9aoy in #2638
- fix!: HMR not work on online IDEs by @chenjiahan in #2639
- fix: apply default dev config by @chenjiahan in #2640
- fix: failed to empty dir in some cases by @chenjiahan in #2658
- fix: should not print empty urls if target is node by @chenjiahan in #2659
- fix: bundle analyze with environment name by @chenjiahan in #2681
- fix!: remove context.tsconfigPath by @chenjiahan in #2690
- fix: remove unused lazy compilation wrapper by @chenjiahan in #2691
- fix: rspack profile outputPath unexpected by @9aoy in #2693
- fix!: remove
output.distPath.server
by @chenjiahan in #2696 - fix!: remove function usage of
source.entry
by @chenjiahan in #2697 - fix(plugin-sass): additionalData function type by @chenjiahan in #2708
- fix: replace Rspack's tsConfig path config by @chenjiahan in #2711
- fix: bump Rspack 1.0 canary, fix types by @chenjiahan in #2712
- fix: print and serve multiple environments html route correctly by @9aoy in #2713
- fix(typed-css-modules): missing auto function params by @chenjiahan in #2715
- fix!(plugin-lightningcss): remove minify option by @chenjiahan in #2717
- fix: no longer filter rsbuild config by @chenjiahan in #2718
- fix(ci): use canary specific version instead of npm tag by @SoonIter in #2720
- fix(config): no need to disable experiments.css by @chenjiahan in #2728
- fix(image-compress): prefer using Rspack types by @chenjiahan in #2740
- fix: error message in decorator by @SoonIter in #2748
- fix(plugin-svelte): failed to HMR with style tag by @chenjiahan in #2749
- fix(create-rsbuild): enable verbatimModuleSyntax for svelte by @chenjiahan in #2750
- fix(plugin-vue2): apply js resolve config to vue2 sfc template by @xc2 in #2753
- fix(create-rsbuild): should lock alpha version by @chenjiahan in #2760
- fix(server): should match resource correctly with full url assetPrefix by @9aoy in #2754
- fix(plugin/assets-retry): repeated retrying of async css chunk by @SoonIter in #2645
- fix(plugin-source-build): avoid self reference by @chenjiahan in #2774
- fix(plugin-source-build): dedupe references by @chenjiahan in #2777
- fix: update plugin context and documentation by @9aoy in #2775
- fix(core): incorrect Rspack version by @chenjiahan in #2781
- fix: tools.rspack / bundlerChain can be used in environment config by @9aoy in #2790
- fix(plugin-swc): type issue with moduleResolution node16+ by @chenjiahan in #2791
- fix: remove cache groups helper by @chenjiahan in #2793
- fix: unexpected url print in windows by @9aoy in #2788
- fix: output config should works when target is node by @9aoy in #2795
- fix: hmr failed when adding initial chunk by @SoonIter in #2743
- fix: failed to render page if html in public dir by @chenjiahan in #2818
- fix: missing picocolors dependency by @chenjiahan in #2831
- fix(plugin-solid): remove
@babel/preset-typescript
for resolve the babel warning by @zhylmzr in #2842 - fix: transform Module Federation runtime by @chenjiahan in #2850
- fix: incorrect WS port when using MF by @chenjiahan in #2852
- fix: js/css are minified when both minify.js and minify.css are false by @xc2 in #2865
- fix: rspack plugin apply error after merging config by @9aoy in #2877
- fix: html-rspack-plugin typo by @chenjiahan in #2880
- fix(plugin-assets-retry): url calculation when using asset prefix by @SoonIter in #2835
- fix(server): register OPTIONS fallback middleware at last by @chenjiahan in #2885
- fix(type): webpack type should works with moduleResolution node16+ by @9aoy in #2900
- fix(plugin-sass): additionalData missing string type by @chenjiahan in #2901
- fix(create-rsbuild): lit should be dependency by @chenjiahan in #2910
- fix(create-rsbuild): skip tools selection when using CLI options by @chenjiahan in #2911
- fix: es template string breaks template compiling by @chenjiahan in #2914
- fix: allow setting NODE_ENV from env files by @chenjiahan in #2915
- fix: specify SWC cache directory by @9aoy in #2926
- fix(webpack): should generate config files correctly when output is specified by @9aoy in #2929
- fix: minify.jsOptions is not pass to SwcMinimizerPlugin by @luhc228 in #2931
- fix: only print verbose error logs in debug mode by @chenjiahan in #2941
- fix: should print stats.file as file name when have build errors by @chenjiahan in #2942
- fix: exclude method options when checking
[hash].hot-update.json
by @huuduy005 in #2977 - fix(plugin-svgr): dedupe SVGO plugins config by @chenjiahan in #2984
- fix: webSocket stats message conflict when multiple web environment by @9aoy in #2989
- fix: modify the criteria for verifying the Rsdoctor plugin by @easy1090 in #2992
- fix: only listen to process exit when onExit hook is used by @chenjiahan in #2998
- fix: css-loader type declaration is outdated by @chenjiahan in #3001
- fix(core): incorrect exports fields by @chenjiahan in #3025
- fix(plugin-sass): type issue with moduleResolution node16+ by @chenjiahan in #3026
- fix: targets options of lightningcss-loader by @chenjiahan in #3038
- fix: targets of lightningcss-loader not work by @chenjiahan in #3039
- fix: set browserset for lightningcss minimizer by @chenjiahan in #3048
- fix: add uniqueName to WebSocket compilation name by @chenjiahan in #3051
- fix: processAssets callback should only called once by @9aoy in #3054
- fix: allow to enable Rspack
experiments.css
by @chenjiahan in #3068 - fix: watchFiles options not work for reloading server by @chenjiahan in #3077
- fix: pnpm generates invalid peerDependencies version by @chenjiahan in #3078
- fix: avoid merging boolean config with object config by @chenjiahan in #3081
- fix: plugin type missing when set moduleResolution node16+ by @9aoy in #3089
- fix: set gzip level to 6 for preview server by @chenjiahan in #3101
- fix: ensure isolation of config objects between different builds by @chenjiahan in #3111
- fix(plugin-sass): sassOptions type should defaults to modern API by @chenjiahan in #3143
- fix: no need to override Rspack configuration type by @chenjiahan in #3146
- fix(create-rsbuild): failed to override package.json by @chenjiahan in #3151
- fix: define NODE_ENV conflicts when setting mode by @chenjiahan in #3159
- fix: no need to print file size if there is any build error by @chenjiahan in #3190
- fix: no need to print file size after rebuilding by @chenjiahan in #3197
- fix: onBeforeBuild hook should before onBeforeEnvironmentCompile hook by @9aoy in #3196
- fix: ensure postcss-loader uses the built-in postcss by @chenjiahan in #3204
- fix: clean rsbuild outputs by default by @9aoy in #3210
- fix: missing default mode when using
rsbuild.startDevServer
by @chenjiahan in #3214 - fix(webpack): no longer need to set NODE_ENV by @chenjiahan in #3255
- fix: not inline scripts / styles when enable not set by @9aoy in #3258
- fix: should terminate http server correctly by @chenjiahan in #3261
- fix: server.close should close http server by @chenjiahan in #3263
- fix(deps): use caret version for swc helpers by @SevereCloud in #3269
- fix(mf): should compile
@module-federation/sdk
by @chenjiahan in #3270 - fix!: remove transformImport false option by @9aoy in #3289
- fix: avoid passing unsupported Rspack config by @chenjiahan in #3293
- fix: align stats types with Rspack by @chenjiahan in #3324
- fix:
rsbuild.build
always return close method by @chenjiahan in #3327 - fix: escape characters in compilationId by @chenjiahan in #3334
- fix: remove lib-lodash from experience chunks by @chenjiahan in #3337
- fix: increase WebSocket reconnect interval by @chenjiahan in #3339
- fix(create-rsbuild): broken shebang line in bin file by @chenjiahan in #3344
- fix: correct proxy options type by @chenjiahan in #3352
- fix: resolve mjs extension before js by @chenjiahan in #3359
- fix(plugin-swc): should verify the version correctly by @yimingjfe in #3364
- fix: skip resolution if Rsdoctor plugin is registered by @chenjiahan in #3370
- fix: failed to use html-loader by @chenjiahan in #3384
- fix(plugin-stylus): updated StylusOptions type by @sudhakar-selva in #3392
- fix: lightningcss-loader not work when using PostCSS by @chenjiahan in #3396
Document 📖
- docs: add conventional commits link to contributing by @chenjiahan in #2644
- docs: override browserslist by environment by @chenjiahan in #2648
- docs: support htmlPlugin param in tools.rspack utils by @9aoy in #2651
- docs: add basic environment config by @9aoy in #2654
- docs: update releases page for 1.0 release by @chenjiahan in #2666
- docs: update relay example to use SWC plugin by @chenjiahan in #2678
- docs: add guide for Preact by @fi3ework in #2694
- docs: update document for
output.target
by @chenjiahan in #2698 - docs: update badge links in README by @chenjiahan in #2701
- docs: update dev command in webpack.mdx by @mwarger in #2699
- docs: update assets URLs by @chenjiahan in #2719
- docs(plugin-babel): compile jsx in node_modules by @chenjiahan in #2729
- docs: fix typo in exportsPresence example by @chenjiahan in #2755
- docs: add modifyEnvironmentConfig hook by @9aoy in #2756
- docs: fix typo in quick-start.mdx by @Ju-lion28 in #2770
- docs: remove underlines between badges by @chenjiahan in #2773
- docs: add basic environments guide by @9aoy in #2769
- docs: add get environment context info guide by @9aoy in #2796
- docs: add environment api basic guide by @9aoy in #2834
- docs: baidu SEO verification by @chenjiahan in #2845
- docs: enable sitemap for SEO by @chenjiahan in #2846
- docs: HTML minify guide by @chenjiahan in #2848
- docs: correct polyfill description by @chenjiahan in #2855
- docs: add check syntax limitations by @chenjiahan in #2856
- docs: add template params escape guide by @chenjiahan in #2858
- docs: update custom loader examples by @chenjiahan in #2868
- docs: improve environment config by @chenjiahan in #2871
- docs: update benchmark graph by @chenjiahan in #2893
- docs: Replace 'tailwindcss' with 'UnoCSS' in unocss.mdx by @sagardwivedi in #2895
- docs: port value should be string instead of int by @vikas5914 in #2905
- docs: add create-rsbuild quick creation guide by @chenjiahan in #2918
- docs: update the builtin CHAIN_ID list by @chenjiahan in #2920
- docs: add modify config tips by @chenjiahan in #2930
- docs: correct server.htmlFallback tip by @Thulof in #2933
- docs: add benchmark to homepage by @chenjiahan in #2946
- docs: fix
tools.htmlPlugin
default options by @chenjiahan in #2952 - docs: fix output.externals type by @Timeless0911 in #2955
- docs: add tool stack to homepage by @chenjiahan in #2958
- docs: use Rspress i18n API by @chenjiahan in #2963
- docs: fix Vue JSX example by @chenjiahan in #2965
- docs: move environment context to separate page by @chenjiahan in #2969
- docs: add
api.processAssets
API by @chenjiahan in #2993 - docs: update modifyEnvironmentConfig example code by @9aoy in #2995
- docs: correct onAfterCreateCompiler example by @9aoy in #2996
- docs(instance.mdx): adjust the references by @hasnum-stack in #3003
- docs: distinguish between rspack watchOptions and rsbuild watchFiles configuration by @9aoy in #3004
- docs: fix build typo in the benchmark by @chenjiahan in #3008
- docs: add tips for inline scripts in production mode by @chenjiahan in #3012
- docs: update Rstack repo links by @chenjiahan in #3018
- docs: add guide for builtin lightningcss loader by @chenjiahan in #3049
- docs: add remove plugin tip when use environment plugin by @9aoy in #3053
- docs: make moduleFederation.options more clear by @chenjiahan in #3060
- docs: simplify
tools.rspack
examples by @chenjiahan in #3061 - docs: tells that
addRules
is adding rules to the leading by @xc2 in #3071 - docs: what is environment by @9aoy in #3080
- docs: add migration guide for Rsbuild 0.x by @chenjiahan in #3084
- docs: add environment dependencies by @9aoy in #3085
- docs: list which hooks will be triggered again when rebuild by @9aoy in #3091
- docs: distinguish between Global Hooks and Environment Hooks by @9aoy in #3092
- docs: add FAQ for Vue deprecated deep selector by @chenjiahan in #3095
- docs: add UA polyfill guide by @chenjiahan in #3115
- docs: add configure SWC guide by @chenjiahan in #3119
- docs: add guide for custom JS minimizer by @chenjiahan in #3120
- docs: add tips for SWC plugin version by @chenjiahan in #3121
- docs: add guide for watching files and reload dev server by @chenjiahan in #3128
- docs: add Rslib links by @chenjiahan in #3132
- docs: bump
@rstack-dev/doc-ui
to add Rslib and awesome Rspack by @Timeless0911 in #3134 - docs: link to Rspack document instead of webpack by @chenjiahan in #3135
- docs: add guide for filename template string by @chenjiahan in #3138
- docs: Add pt-BR Readme by @kevenleone in #3145
- docs: add
environment
to glossary by @9aoy in #3149 - docs: add SSR guide by @9aoy in #3148
- docs: add link for Rsbuild 0.x website by @chenjiahan in #3150
- docs: typo fix Lighting → Lightning by @vsn4ik in #3154
- docs: add
mode
config documentation by @chenjiahan in #3157 - docs: unify glossary for development and production modes by @chenjiahan in #3161
- docs: display top level fields in the overview page by @chenjiahan in #3162
- docs: add tip for using root with env files by @chenjiahan in #3174
- docs: remove unnecessary version tips by @chenjiahan in #3175
- docs: add MarsCode to online examples by @chenjiahan in #3176
- docs: Fix minor grammar errors in the contribution docs 📙 by @BrinsilElias in #3181
- docs: update benchmark data by @chenjiahan in #3195
- docs: optimize module federation version selection by @chenjiahan in #3202
- docs(type-check): add exclude examples by @chenjiahan in #3207
- docs: enable strict SSG and update X logo by @chenjiahan in #3218
- docs: update documentation for
html.appIcon
by @chenjiahan in #3223 - docs: add app icon to website by @chenjiahan in #3238
- docs: add example for inlining async chunks by @chenjiahan in #3241
- docs: update Rspack stack layers by @chenjiahan in #3243
- docs: add more breaking changes about rsbuild 1.0 by @9aoy in #3245
- docs: improve 0.x migration guide by @chenjiahan in #3252
- docs: polish README by @chenjiahan in #3262
- docs: add developing environment plugins guide by @9aoy in #3265
- docs: correct the default HTML template by @chenjiahan in #3267
- docs: update EJS usage by @chenjiahan in #3275
- docs: add guide for other Rspack targets by @chenjiahan in #3299
- docs: add guide for error overlay by @chenjiahan in #3303
- docs: Update html-template.mdx by @tguelcan in #3305
- docs: use cross-env to set env var by @chenjiahan in #3306
- docs: update server.open guide rsbuild-0-x.mdx by @sozonome in #3307
- docs: remove duplicated html tags example by @chenjiahan in #3308
- docs: add Rspack config validation to migration guide by @chenjiahan in #3309
- docs: remove import keyword in example by @9aoy in #3311
- docs: improve build profiling guide by @chenjiahan in #3312
- docs: config migration table by @chenjiahan in #3313
- docs: fix Benchmark graph width by @chenjiahan in #3317
- docs: add SECURITY.md by @chenjiahan in #3319
- docs: add /api in the example of server.proxy by @gcdxuzhiwei in #3320
- docs: add vite environment variables migrate guide by @Saltro in #3321
- docs(create-rsbuild): update README by @chenjiahan in #3323
- docs: improve selecting SWC plugin version by @chenjiahan in #3346
- docs: correct addPlugins type by @9aoy in #3347
- docs: remove repeat info in rsbuild-0-x.mdx by @GaryHjy in #3356
- docs: remove repeat info in en rsbuild-0-x.mdx by @GaryHjy in #3355
- docs(landingpage): new landingpage aligned with Rspack by @SoonIter in #3349
- docs(website): typo for easy to configure text on homepage by @aryan1306 in #3371
- docs: fix rsdoctor link by @iamdin in #3379
- docs: add eslint plugin guide in CRA migration by @9aoy in #3383
- docs: improve
output.charset
by @chenjiahan in #3389 - docs: add tip for deprecated tilde by @chenjiahan in #3391
- docs(zh): updated StylusOptions type by @chenjiahan in #3393
- docs: should manually call loadEnv method when using Rsbuild Environment API by @9aoy in #3395
- docs: add guide for disabling Lightning CSS by @chenjiahan in #3400
- docs: polish previous announcements by @chenjiahan in #3413
- docs: add 'Plugin registration phase' guide by @9aoy in #3419
- docs: announcing Rsbuild 1.0 🎉 by @chenjiahan in #3416
- docs: add build tools image to introduction by @chenjiahan in #3425
- docs: add announcement banner by @chenjiahan in #3426
Other Changes
- chore: move node env helpers to core by @chenjiahan in #2634
- chore: prefer using Node builtin fs by @chenjiahan in #2635
- chore(deps): bump typescript v5.5 by @chenjiahan in #2653
- chore: enable html plugins if has html paths by @chenjiahan in #2655
- refactor!: remove service-worker target by @chenjiahan in #2657
- chore(deps): update dependency launch-editor-middleware to ^2.8.0 by @renovate in #2663
- chore(deps): update dependency @modern-js/module-tools to ^2.54.1 by @renovate in #2661
- chore(config): remove allowJs true by @chenjiahan in #2667
- chore(build): emit bundleless declaration files by @chenjiahan in #2668
- chore: add formatter config to VS Code setting by @chenjiahan in #2669
- chore(deps): update dependency globals to ^15.6.0 by @renovate in #2662
- chore(deps): update dependency nx to ^19.3.1 by @renovate in #2664
- chore: merge shared modules by @chenjiahan in #2672
- chore(deps): update dependency typescript-eslint to ^7.13.1 by @renovate in #2674
- chore(deps): update all patch dependencies by @renovate in #2675
- refactor!: update api.context, remove
entry
,targets
properties by @9aoy in #2680 - chore: extract getCommonParentPath helper by @chenjiahan in #2686
- chore(deps): update dependency vue-router to ^4.4.0 by @renovate in #2676
- chore(deps): update dependency svelte-preprocess to v6 by @renovate in #2605
- chore(deps): update dependency eslint-plugin-svelte to ^2.41.0 by @renovate in #2702
- chore: update renovate config by @chenjiahan in #2704
- chore(deps): update copy-webpack-plugin to v11 by @chenjiahan in #2705
- refactor: enable TypeScript isolatedDeclarations by @chenjiahan in #2709
- refactor: use environment param instead of context.environment by @9aoy in #2721
- chore(deps): update dependency react-router-dom to ^6.24.0 by @renovate in #2723
- chore: remove script condition helper from shared by @chenjiahan in #2731
- test(ut): prefer using matchRules helper by @chenjiahan in #2732
- chore: move toml plugin to separate repo by @chenjiahan in #2733
- chore: move yaml plugin to separate repo by @chenjiahan in #2734
- chore(deps): update eslint by @renovate in #2724
- chore(deps): update all patch dependencies by @renovate in #2735
- chore: move mdx plugin to separate repo by @chenjiahan in #2739
- chore: move basic-ssl plugin to separate repo by @chenjiahan in #2746
- Release v1.0.0-alpha.0 by @9aoy in #2757
- chore: move node polyfill plugin to separate repo by @chenjiahan in #2759
- chore(deps): switch to browserslist-to-es-version by @chenjiahan in #2763
- refactor!: use environment.htmlPaths instead of api.getHtmlPath by @9aoy in #2771
- refactor!: move reduceConfigs to separate package by @chenjiahan in #2778
- chore: move pug plugin to separate repo by @chenjiahan in #2779
- release: 1.0.0-alpha.1 by @chenjiahan in #2780
- release: 1.0.0-alpha.2 by @chenjiahan in #2782
- chore(deps): update dependency globals to ^15.8.0 by @renovate in #2736
- refactor: remove helpers from the shared package by @chenjiahan in #2789
- refactor: remove shared from all non-core packages by @chenjiahan in #2794
- refactor: remove
@rsbuild/shared
package by @chenjiahan in #2798 - Release v1.0.0-alpha.3 by @9aoy in #2800
- chore: move css minimizer plugin to separate repo by @chenjiahan in #2801
- chore: move eslint plugin to separate repo by @chenjiahan in #2805
- chore(deps): update dependency ws to ^8.18.0 by @renovate in #2807
- chore(deps): update eslint by @renovate in #2808
- chore: sort type exports by @chenjiahan in #2810
- release: 1.0.0-alpha.4 by @chenjiahan in #2811
- chore: import from html-rspack-plugin by @chenjiahan in #2812
- chore: move umd plugin to separate repo by @chenjiahan in #2814
- chore(deps): update all patch dependencies by @renovate in #2817
- refactor(core): use
Promise.all
instead of one by one by @colinaaa in #2824 - release: 1.0.0-alpha.5 by @chenjiahan in #2825
- test(e2e): skip test of hmr in windows by @SoonIter in #2832
- chore(deps): update dependency nx to ^19.4.1 by @renovate in #2806
- release: 1.0.0-alpha.6 by @chenjiahan in #2841
- chore: export some types for use by @9aoy in #2851
- chore: clear some useless utils by @9aoy in #2854
- release: 1.0.0-alpha.7 by @chenjiahan in #2860
- chore(deps): update rspress to v1.26.0 by @renovate in #2869
- chore(deps): update dependency rspress-plugin-sitemap to ^1.1.0 by @renovate in #2873
- Release: v1.0.0-alpha.8 by @9aoy in #2878
- release: 1.0.0-alpha.9 by @chenjiahan in #2886
- chore(deps): update eslint by @renovate in #2890
- chore(deps): update dependency webpack to ^5.93.0 by @renovate in #2889
- chore(deps): update dependency webpack-merge to v6 by @renovate in #2827
- chore: move image compress plugin to separate repo by @chenjiahan in #2899
- release: 1.0.1-beta.0 by @chenjiahan in #2902
- test(e2e): add cases for create-rsbuild by @chenjiahan in #2912
- chore(deps): update dependency vitest to v2 by @renovate in #2909
- chore(deps): update dependency @modern-js/module-tools to ^2.55.0 by @renovate in #2908
- release: 1.0.1-beta.1 by @chenjiahan in #2921
- chore(deps): update eslint to ^9.7.0 by @renovate in #2924
- chore: move babel-preset package by @chenjiahan in #2925
- chore(deps): update all patch dependencies by @renovate in #2923
- chore: move typed-css-modules plugin to separate repo by @chenjiahan in #2932
- Release: v1.0.1-beta.2 by @9aoy in #2937
- refactor(plugin-rem): use modifyHTMLTags hook by @chenjiahan in #2939
- chore(deps): update dependency react-router-dom to ^6.25.0 by @renovate in #2945
- chore(deps): update all patch dependencies by @renovate in #2944
- release: 1.0.1-beta.3 by @chenjiahan in #2950
- chore(deps): update dependency nx to ^19.5.1 by @renovate in #2961
- chore(deps): update dependency eslint-plugin-svelte to ^2.43.0 by @renovate in #2960
- refactor: use new processAssets api to handle SRI by @chenjiahan in #2971
- refactor: use unified Rspack plugin to attach to plugin hooks by @chenjiahan in #2972
- refactor(plugin-rem): use new processAssets api by @chenjiahan in #2973
- refactor: implement appIcon via Rsbuild plugin by @chenjiahan in #2974
- refactor: implement inline chunks via Rsbuild plugin by @chenjiahan in #2976
- chore(deps): update dependency @modern-js/module-tools to ^2.56.0 by @renovate in #2980
- chore(deps): update all patch dependencies by @renovate in #2979
- release: 1.0.1-beta.4 by @chenjiahan in #2985
- refactor: implement assets retry via Rsbuild plugin hooks by @chenjiahan in #2990
- chore(deps): update eslint by @renovate in #2981
- test(e2e): try to fix CI failures by @chenjiahan in #2997
- test: add e2e case for onExit hook by @chenjiahan in #2999
- test(e2e): enable test case for browserslist extends by @chenjiahan in #3010
- chore: use Node.js built-in isRegExp util by @chenjiahan in #3011
- chore(deps): update dependency sass-loader to v15 by @renovate in #3015
- chore(deps): update dependency yaml to ^2.5.0 by @renovate in #3014
- release: 1.0.1-beta.5 by @chenjiahan in #3016
- chore(deps): update dependency preact to ^10.23.1 by @renovate in #3013
- release: 1.0.1-beta.6 by @chenjiahan in #3027
- chore(deps): bump pnpm@9.6.0 by @chenjiahan in #3033
- chore(deps): update all patch dependencies by @renovate in #2982
- chore(deps): update dependency sass-loader to v16 by @renovate in #3042
- chore(deps): update eslint to ^9.8.0 by @renovate in #3041
- Revert "test(e2e): try to fix CI failures (#2997)" by @chenjiahan in #3045
- test(e2e): retry on CI by @chenjiahan in #3044
- test(e2e): avoid write to committed file by @chenjiahan in #3046
- chore(deps): update dependency @babel/preset-env to ^7.25.0 by @renovate in #3040
- chore: add example for module federation v2 by @chenjiahan in #3052
- test(e2e): add basic e2e cases for MF v2 by @chenjiahan in #3055
- test(e2e): add test case for lightingcss-loader by @chenjiahan in #3073
- chore: remove temp code for lightningcss-loader by @chenjiahan in #3074
- test(e2e): should kill child process by @chenjiahan in #3076
- release: 1.0.1-beta.7 by @chenjiahan in #3075
- release: 1.0.1-beta.8 by @chenjiahan in #3079
- chore(deps): update all patch dependencies by @renovate in #3050
- chore(deps): update dependency typescript-eslint to v8 by @renovate in #3088
- test(e2e): improve onExit test case by @chenjiahan in #3103
- release: 1.0.1-beta.9 by @chenjiahan in #3105
- test(e2e): fix a slow case case by @chenjiahan in #3109
- test(e2e): make type checker faster by not including types by @chenjiahan in #3110
- chore(deps): update dependency globals to ^15.9.0 by @renovate in #3117
- chore(deps): update rspress to v1.27.0 by @renovate in #3118
- chore: move check syntax plugin to separate repo by @chenjiahan in #3123
- chore(deps): update dependency @modern-js/module-tools to ^2.57.1 by @renovate in #3126
- chore(deps): update dependency react-router-dom to ^6.26.0 by @renovate in #3127
- chore(deps): update all patch dependencies by @renovate in #3129
- chore(deps): update dependency @babel/core to ^7.25.2 by @renovate in #3130
- chore: rename internal HTML plugin to RsbuildHtmlPlugin by @chenjiahan in #3136
- release: 1.0.1-beta.10 by @chenjiahan in #3139
- chore(workflow): align PR labels with Rspack by @chenjiahan in #3141
- chore: move helpers to sub folder by @chenjiahan in #3142
- chore: let cspell ignore Portuguese README by @chenjiahan in #3147
- chore: move source code plugin to separate repo by @chenjiahan in #3153
- test(e2e): add more cases for
mode
config by @chenjiahan in #3164 - release: 1.0.1-beta.11 by @chenjiahan in #3169
- test(helpers): migrate path-serializer to npm package by @SoonIter in #3165
- chore(deps): update dependency core-js to ~3.38.0 by @renovate in #3131
- chore: remove unused ts comments by @chenjiahan in #3177
- chore(deps): update all patch dependencies by @renovate in #3179
- chore(deps): update eslint to ^9.9.0 by @renovate in #3180
- chore(deps): update dependency html-rspack-plugin to v6.0.0 by @renovate in #3184
- chore(deps): update dependency rspack-chain to v1 by @renovate in #3186
- chore: move styled components plugin to separate repo by @chenjiahan in #3183
- test(e2e): print line for each test being run in CI by @chenjiahan in #3187
- chore(deps): update dependency lit to ^3.2.0 by @renovate in #3185
- chore: move rem plugin to separate repo by @chenjiahan in #3192
- chore(deps): update dependency @modern-js/module-tools to ^2.58.0 by @renovate in #3188
- refactor: favicon generation by @chenjiahan in #3198
- release: 1.0.1-beta.12 by @chenjiahan in #3203
- release: 1.0.1-beta.13 by @chenjiahan in #3205
- doc: fix typo in security by @liyincode in #3209
- chore(deps): update dependency @module-federation/rspack to v0.4.0 by @renovate in #3211
- chore(deps): update rspress to v1.28.0 by @renovate in #3212
- test(e2e): add cases for
html.appIcon
by @chenjiahan in #3222 - release: 1.0.1-beta.14 by @chenjiahan in #3215
- chore: simplify plugin-swc inspected config by @9aoy in #3224
- chore(deps): update dependency nx to ^19.6.0 by @renovate in #3233
- chore(deps): update dependency @module-federation/rspack to v0.5.0 by @renovate in #3232
- chore(deps): update dependency typescript-eslint to ^8.1.0 by @renovate in #3236
- chore: move vue2-jsx plugin to separate repo by @chenjiahan in #3239
- chore(deps): update all patch dependencies by @renovate in #3242
- test: update ip in test files by @chenjiahan in #3248
- release: 1.0.1-beta.15 by @chenjiahan in #3251
- refactor: simplify get dev middleware by @chenjiahan in #3256
- chore: remove unused outputFileSystem from server instance by @chenjiahan in #3259
- release: 1.0.1-beta.16 by @chenjiahan in #3271
- test(e2e): improve helper for going to page by @chenjiahan in #3274
- chore(deps): update dependency typescript-eslint to ^8.2.0 by @renovate in #3276
- chore(deps): update dependency webpack to ^5.94.0 by @renovate in #3277
- chore: move vue2 plugin to separate repo by @chenjiahan in #3278
- test(e2e): update const enum test case by @chenjiahan in #3281
- chore(deps): update all patch dependencies by @renovate in #3282
- release: 1.0.1-rc.0 by @chenjiahan in #3296
- chore(deps): update dependency @module-federation/rspack to v0.6.0 by @renovate in #3301
- refactor(create-rsbuild): based on create-rstack by @chenjiahan in #3315
- refacor(create-rsbuild): use Rslib to bundle package by @chenjiahan in #3316
- doc: improve reload page in watch-files.mdx by @liyincode in #3318
- chore(deps): update dependency @babel/plugin-transform-class-properties to ^7.25.4 - autoclosed by @renovate in #3283
- chore(ci): add timeout for e2e and unit tests by @Jayllyz in #3326
- chore: reduce any type by @chenjiahan in #3329
- chore: reuse source map type from Rspack by @chenjiahan in #3330
- chore: merge config types to a single file by @chenjiahan in #3331
- chore(deps): update dependency @swc/plugin-remove-console to v3 by @renovate in #3332
- chore(deps): update playwright monorepo to v1.46.1 by @renovate in #2725
- Revert "chore(deps): update playwright monorepo to v1.46.1 (#2725)" by @chenjiahan in #3338
- chore(deps): update all patch dependencies by @renovate in #3340
- release: 1.0.1-rc.1 by @chenjiahan in #3343
- release: 1.0.1-rc.2 by @chenjiahan in #3345
- chore: change security report email by @chenjiahan in #3350
- release: 1.0.1-rc.3 by @chenjiahan in #3365
- chore(deps): update dependency picocolors to ^1.1.0 by @renovate in #3366
- chore(deps): update dependency vue to ^3.5.0 by @renovate in #3367
- chore(deps): update dependency svelte-check to v4 by @renovate in #3368
- chore: format all files by @chenjiahan in #3369
- test(e2e): validate all production source map types by @chenjiahan in #3376
- release: 1.0.1-rc.4 by @chenjiahan in #3377
- chore(deps): update dependency sass to ^1.78.0 by @renovate in #3386
- chore(deps): update rspress to v1.29.0 by @renovate in #3388
- chore(deps): update dependency sass-embedded to ^1.78.0 by @renovate in #3387
- test(e2e): skip unstable MF case in Windows by @chenjiahan in #3390
- release: 1.0.1-rc.5 by @chenjiahan in #3398
- chore(deps): update dependency launch-editor-middleware to ^2.9.1 by @renovate in #3405
- chore(deps): update dependency @modern-js/module-tools to ^2.59.0 by @renovate in #3404
- chore: move type check plugin to separate repo by @chenjiahan in #3406
- chore(workflow): merge test yaml files by @chenjiahan in #3407
- chore: move vue jsx plugin to separate repo by @chenjiahan in #3409
- chore(deps): update all patch dependencies by @renovate in #3412
- chore(deps): update all patch dependencies by @renovate in #3414
- chore(deps): update rspress to v1.30.0 by @renovate in #3415
- chore(workflow): no longer fix package version by @chenjiahan in #3420
- chore: update peer dependencies range by @chenjiahan in #3421
- chore(create-rsbuild): prepare for 1.0 release by @chenjiahan in #3422
- chore: rename the webpack SWC plugin by @chenjiahan in #3423
New Contributors
- @mwarger made their first contribution in #2699
- @Ju-lion28 made their first contribution in #2770
- @a145789 made their first contribution in #2785
- @colinaaa made their first contribution in #2824
- @zhylmzr made their first contribution in #2842
- @sagardwivedi made their first contribution in #2895
- @vikas5914 made their first contribution in #2905
- @Thulof made their first contribution in #2933
- @huuduy005 made their first contribution in #2977
- @kurorinto made their first contribution in #3069
- @kevenleone made their first contribution in #3145
- @vsn4ik made their first contribution in #3154
- @BrinsilElias made their first contribution in #3181
- @SevereCloud made their first contribution in #3269
- @tguelcan made their first contribution in #3305
- @sozonome made their first contribution in #3307
- @gcdxuzhiwei made their first contribution in #3320
- @Saltro made their first contribution in #3321
- @Jayllyz made their first contribution in #3326
- @GaryHjy made their first contribution in #3356
- @yimingjfe made their first contribution in #3364
- @aryan1306 made their first contribution in #3371
- @iamdin made their first contribution in #3379
- @sudhakar-selva made their first contribution in #3392
Full Changelog: v0.7.10...v1.0.1