Releases: web-infra-dev/rspack
v2.0.0-alpha.1
What's Changed
Breaking Changes π
New Features π
- feat: improve external module rendering by @JSerFeng in #12813
- feat: builtin react server component by @SyMind in #12012
- feat: expose dependency loc to js by @JSerFeng in #12840
Bug Fixes π
- fix(template): add @rspack/dev-server to dev dependencies by @LingyuCoder in #12821
- fix: normalize paths for extract source map by @ahabhgk in #12825
- fix(mf): use dynamic exports type for MF modules by @ahabhgk in #12841
- fix: should not panic when access slate stats by @SyMind in #12839
- fix(mf): prevent entry-specific chunks from polluting manifest assets and refactor manifest generation by @2heal1 in #12836
Refactor π¨
- refactor: align IncrementalPass with rspack hooks naming by @hardfist in #12817
- refactor: remove misleadning naming and adjust cache call place by @hardfist in #12818
- refactor: unify persistent_cache and memory_cache recover logic by @hardfist in #12829
- refactor: additional chunk runtime requirements hook use readonly compilation ref by @stormslowly in #12828
- refactor: move recover build_chunk_graph into artifact by @hardfist in #12835
Document Updates π
- docs: update externals function callback about
booleantype by @9aoy in #12824 - docs: add tip for devtool's cheap modifier in production build by @SyMind in #12849
Other Changes
- release: version 2.0.0-alpha.0 by @LingyuCoder in #12815
- chore(ci): read size limit threshold from env variable by @stormslowly in #12822
- chore(deps): update dependency lodash-es to v4.17.23 [security] by @renovate[bot] in #12833
- chore(test): exclude flaky native watch test case by @stormslowly in #12837
Full Changelog: v2.0.0-alpha.0...v2.0.0-alpha.1
v1.7.4
What's Changed
New Features π
- feat: support import and export string specifier by @JSerFeng in #12759
- feat(mf): add async startup promise gating for entrypoints by @ScriptedAlchemy in #11899
Bug Fixes π
- fix:
require.resolve()replaced asrequire()by @intellild in #12773 - fix: handle
rs.requireActualandrs.importActualin all contexts by @9aoy in #12806 - fix(mf): filter runtime plugin invocation for used exports by @ahabhgk in #12807
- fix: fix panic caused by missing lazy dependency by @hardfist in #12820
- fix(mf): use dynamic exports type for MF modules (cherry-pick #12841) by @ahabhgk in #12848
- fix: normalize paths for extract source map (cherry-pick #12825) by @ahabhgk in #12847
- fix: enable panic backtrace for release-debug by @hardfist in #12854
- fix: should not panic when accessing slate stats for Rspack 1.x by @SyMind in #12853
- fix(mf): cherry pick mf manifest improving to v1.x by @2heal1 in #12851
Refactor π¨
- refactor: use readonly ref in runtime requirements in tree hook by @stormslowly in #12789
- refactor: introduce ArtifactExt trait by @hardfist in #12800
- refactor: to use &Compilation in AdditionalTreeRuntimeRequirementsHook by @stormslowly in #12801
- refactor: differentiate snapshot strategies by dependency type by @jerrykingxyz in #12805
Other Changes
- chore: update Node.js version in .nvmrc to 22 by @chenjiahan in #12797
- chore: enable fair sched for codspeed by @CPunisher in #12798
- chore: try to make wasm test more stable by @CPunisher in #12795
- chore: disable generation of wasm binding by @CPunisher in #12802
- chore(test): uniform all time to
X msby @stormslowly in #12790 - test: hideSkippedTestFiles by @9aoy in #12812
- test: skip native watcher test case for skip chunk build case by @stormslowly in #12858
New Contributors
- @intellild made their first contribution in #12773
Full Changelog: v1.7.3...v1.7.4
v2.0.0-alpha.0
Note π‘
This is an early preview release intended for testing only. It introduces a number of breaking changes that are not yet final.
See #9270 for all breaking changes.
What's Changed
Breaking Changes π
- feat!: remove
experiments.SubResourceIntegrityPluginby @LingyuCoder in #12642 - feat!: remove
experiments.rspackFutureand movebundlerInfotooutputby @LingyuCoder in #12654 - feat!: remove
experiments.parallelLoaderby @LingyuCoder in #12658 - feat!: remove
profileandstats.profileby @LingyuCoder in #12662 - feat!: enable
verbatimModuleSyntaxofbuiltin:swc-loaderby default by @LingyuCoder in #12668 - feat!: remove
rspack.experiments.lazyCompilationMiddlewareby @LingyuCoder in #12736 - feat!: remove deprecated WarnCaseSensitiveModulesPlugin by @LingyuCoder in #12737
- feat!: remove deprecated draft option from LightningCSS minimizer by @LingyuCoder in #12740
- feat!: remove deprecated cssHeadDataCompression option by @LingyuCoder in #12741
- feat!: remove deprecated output library fields by @LingyuCoder in #12745
- feat!: make @rspack/dev-server an optional peer dependency by @LingyuCoder in #12750
- feat!: use rspackChunk as default value of chunkLoadingGlobal by @LingyuCoder in #12779
- feat!: disable requireAsExpression by default by @LingyuCoder in #12786
- feat!: use "rspack" as default trustedTypes policy name by @LingyuCoder in #12799
- feat!: remove sri option of HtmlRspackPlugin by @LingyuCoder in #12651
- feat!: remove
output.charsetby @LingyuCoder in #12660 - feat!: disable
.swcrcreading in JavaScript compiler by @CPunisher in #12667 - feat!: remove deprecated getHooks method from plugins by @LingyuCoder in #12738
- feat!: Rspack off modules and assets in normal stats by @SyMind in #12701
- feat!: default loader/plugin target by rspack target by @ahabhgk in #12752
- feat!: use rspackHotUpdate as default hotUpdateGlobal by @LingyuCoder in #12774
- feat!: enable css by default by @JSerFeng in #12744
- feat!: default targets for loader/plugin derived by rspack target, part 2 by @ahabhgk in #12780
- feat!: do not expose EsmLibraryPlugin to user directly, use modern-module instead by @JSerFeng in #12792
- refactor!: drop support for Node 18 by @Timeless0911 in #12739
- refactor!: drop CommonJS build and transition to pure ESM package by @Timeless0911 in #12733
- refactor!: use EsmLibraryPlugin for modern-module library type by @JSerFeng in #12712
- refactor!: move incremental option from experiments to top-level config by @ahabhgk in #12793
Bug Fixes π
- fix: failed to resolve 'browserslist-load-config' module by @chenjiahan in #12767
- fix: correct watchpack require path by @chenjiahan in #12771
- fix(browser): fix
@rspack/browserfailure after pure esm transformation by @Timeless0911 in #12781 - fix(mf): async startup e2e test by @ahabhgk in #12808
Document Updates π
- docs: remove deprecated parallelCodeSplitting by @LingyuCoder in #12751
- docs: add missing documentation for JavascriptParserOptions by @LingyuCoder in #12748
- docs: update bundlerInfo version and formatting by @chenjiahan in #12772
- docs: fix typo in CSS docs by @JSerFeng in #12784
Full Changelog: v1.7.3...v2.0.0-alpha.0
v1.7.3
What's Changed
New Features π
- feat: support portable cache and disable by default by @jerrykingxyz in #12680
Bug Fixes π
- fix(browser): update worker format and add e2e test by @CPunisher in #12747
- fix: sort css by sourceorder, esm import comes first by @JSerFeng in #12778
Refactor π¨
- refactor: move pass into separate folder and driven by run_passes by @hardfist in #12735
- refactor(lazy-compilation): use POST request to transfer ids of active modules by @stormslowly in #12678
- refactor: move logger into pass and reorg some passes by @hardfist in #12742
- refactor: use newtype for alias artifact by @hardfist in #12754
- refactor: move all artifacts together by @hardfist in #12755
- refactor: use compilation readonly ref in codegen optimization hook by @stormslowly in #12743
- refactor: remove old cache by @hardfist in #12777
Other Changes
- chore: release 1.7.2 by @JSerFeng in #12710
- chore(deps): update dependency @rspack/plugin-react-refresh to ^1.6.0 by @renovate[bot] in #12718
- chore(deps): update dependency @shikijs/transformers to ^3.21.0 by @renovate[bot] in #12719
- chore(deps): update patch crates by @renovate[bot] in #12716
- test: skip recover-from-error/delete-file in watchCases by @jerrykingxyz in #12726
- test: use Rstest projects to define tests by @9aoy in #12729
- chore(deps): update patch npm dependencies by @renovate[bot] in #12717
- chore(lint): bump @rslint/core to 0.2.0 and enable default-param-last rule by @fansenze in #12746
- test: support filter test by absolute path by @9aoy in #12749
- chore: bump
swc_corefrom 54 to 55 by @CPunisher in #12758 - chore: limit threads for codspeed benchmark by @CPunisher in #12763
- chore(deps): update dependency cspell to ^9.6.0 by @renovate[bot] in #12768
- chore(deps): update dependency emnapi to ^1.8.1 by @renovate[bot] in #12769
- chore(deps): update dependency memfs to v4.53.0 by @renovate[bot] in #12770
New Contributors
Full Changelog: v1.7.2...v1.7.3
v1.7.2
What's Changed
New Features π
- feat: add constructor name for JS runtime modules by @LingyuCoder in #12673
- feat: rspack_cacheable context expose project root by @jerrykingxyz in #12685
- feat: rspack_cacheable add portable path & portable string by @jerrykingxyz in #12688
- feat: add
requireAliasoption to control require variable renaming by @LingyuCoder in #12686 - feat: impl
sync_traceforloggertracing layer by @CPunisher in #12687 - feat: add warning when requireAlias is disabled by @LingyuCoder in #12700
- feat: use rspack-vue-loader to support Vue hot update by @9aoy in #12698
- feat(rstest): add
preserveNewUrloption to keep new URL untouched by @fi3ework in #12632
Bug Fixes π
- fix: report error when access module_graph in loader by @hardfist in #12639
- fix(lint): enable @typescript-eslint/await-thenable rule by @tt-a1i in #12644
- fix(lint): enable @typescript-eslint/require-await rule by @tt-a1i in #12664
- fix(lint): enable @typescript-eslint/return-await rule by @tt-a1i in #12665
- fix: incremental rebuild no code generation entry panic by @jerrykingxyz in #12643
- fix: inlined export invalid syntax comment by @ahabhgk in #12681
- fix(test): flaky test due to calling toJSON while hot updating by @stormslowly in #12694
- fix:
environments.importMetaDirnameAndFilenamenot work by @chenjiahan in #12708 - fix: dynamic entry panic when disable build cache by @SyMind in #12696
- fix(context-replacement): only apply changes when regex matches by @agneym in #12657
- fix(mf): handle missing chunk gracefully and improve expose chunk name logic by @2heal1 in #12709
- fix(type): runtimeModule.source by @9aoy in #12713
Refactor π¨
- refactor: afterCodeGeneration hook use read only compilation ref by @stormslowly in #12655
- refactor: make compilation readonly for runtimeModule hook by @hardfist in #12670
- refactor: unify artifact clear logic by @hardfist in #12677
- refactor: use DerfOpt's take/replace assist artifact mutation by @stormslowly in #12659
Other Changes
- chore(deps): update patch npm dependencies by @renovate[bot] in #12647
- chore(deps): update patch crates by @renovate[bot] in #12646
- chore: run ci/eco-ci/eco-benchmark on v2 branch by @LingyuCoder in #12650
- chore(deps): update github-actions by @renovate[bot] in #12645
- revert: "feat: add warning when requireAlias is disabled" by @LingyuCoder in #12702
New Contributors
Full Changelog: v1.7.1...v1.7.2
v1.7.1
What's Changed
New Features π
- feat(module-federation): enhance manifest generation and shared module handling by @2heal1 in #12399
Bug Fixes π
- fix: make after optimize modules hook immutable by @hardfist in #12589
- fix: should export rspack function from
compiler.rspackby @LingyuCoder in #12636
Refactor π¨
- refactor: make compilation readonly for module ids hook by @hardfist in #12588
- refactor: make compilation readonly for optimize tree hooks by @hardfist in #12597
- refactor: use readonly compilation reference for after seal hook by @stormslowly in #12602
- refactor: remove option in dependency_by_id by @hardfist in #12569
- refactor: don't return option for dependency_id_to_parents by @hardfist in #12609
- refactor: make compilation readonly for chunk_ids hooks by @hardfist in #12608
- refactor: remove option in module_graph_module_by_identifier_mut by @hardfist in #12610
- refactor: use read only compilation reference in after process assets hook by @stormslowly in #12615
- refactor: move try_dependency_by_id api in internal folder by @hardfist in #12611
- refactor: remove MaybeDynamicTargetExportInfo and simplify get_target by @LingyuCoder in #12601
- refactor: introduce
ExprRefto avoid cloneExprast nodes by @CPunisher in #12622 - refactor: remove unused SWC helpers by @CPunisher in #12614
- refactor: replace UsageCallback closure with InnerGraphUsageOperation enum by @JSerFeng in #12619
Document Updates π
- docs: add 1.7.0 release blog by @CPunisher in #12571
- docs: update links from rspack-contrib to rstackjs by @chenjiahan in #12603
- docs: fix benchmark repo links by @chenjiahan in #12607
- docs: add link to pure annotation specification by @chenjiahan in #12624
- docs: SRI plugin of old rspack versions by @LingyuCoder in #12637
Other Changes
- chore: release v1.7.0 by @CPunisher in #12595
- chore(deps): update patch npm dependencies by @renovate[bot] in #12594
- ci: only download bindings artifacts during release by @stormslowly in #12604
- chore(deps): update rust crate indicatif to 0.18.3 by @renovate[bot] in #12539
- chore(deps): update patch crates by @renovate[bot] in #12593
- chore: use Node 24 for WASM tests by @CPunisher in #12613
- chore: limit workers for loader parallel tests by @CPunisher in #12620
- chore(deps): update github-actions by @renovate[bot] in #12592
Full Changelog: v1.7.0...v1.7.1
v1.7.0
π See Announcing Rspack 1.7 for more details.
What's Changed
Performance Improvements β‘
- perf(rstest): minor performance optimization by @fi3ework in #12469
- perf: update module graph overlay map by @hardfist in #12560
New Features π
- feat: stabilize lazy compilation middleware by @chenjiahan in #12429
- feat: add support for type: 'text' in asset modules by @LingyuCoder in #12457
- feat: enable lazy compilation for imports by defaults by @stormslowly in #12419
- feat(deps)!: bump
swc_corefrom 46.0.3 to 50.2.3 andswc_experimentalby @CPunisher in #12445 - feat: implement UniversalCompileAsyncWasmPlugin for universal chunk loading by @LingyuCoder in #12471
- feat: stabilize inline exports by @ahabhgk in #12475
- feat: stabilize SubresourceIntegrityPlugin by @LingyuCoder in #12483
- feat: improve deprecation warning messages by @chenjiahan in #12524
- feat: add rspack_tools to compare .cache from different os by @jerrykingxyz in #12499
- feat: improve warning messages for mocked node values by @chenjiahan in #12549
- feat: add bytes support for asset modules by @LingyuCoder in #12548
- feat: mangle exports of css modules by @LingyuCoder in #12563
- feat: default lazy compilation from cli and for web app only by @stormslowly in #12580
Bug Fixes π
- fix: relative-resource-path should handle output.filename by @SyMind in #12398
- fix: improve RuntimeGlobals type definition accuracy by @LingyuCoder in #12403
- fix: handle empty resource path in context module by @LingyuCoder in #12407
- fix: align webpack behavior of removing empty entry chunk by @JSerFeng in #12414
- fix: make splitChunks more stable by @JSerFeng in #12410
- fix: should use exported name of the imported module by @JSerFeng in #12423
- fix: strip ANSI codes from ignoreWarnings messages by @chenjiahan in #12435
- fix: concatenate module should use importer's 'strict' for interop by @JSerFeng in #12446
- fix: wasm plugin panic when use persistent cache by @jerrykingxyz in #12455
- fix: add Set methods to compilation dependencies by @LingyuCoder in #12459
- fix(diagnostic): avoid emitting dim-only indent lines by @chenjiahan in #12461
- fix: handle symlinks correctly in rmrf function by @LingyuCoder in #12456
- fix: add case-sensitive check for emit assets by @LingyuCoder in #12462
- fix: use RspackHash for HTML plugin content hash calculation by @LingyuCoder in #12465
- fix: re-validate HttpUriPlugin redirects against allowedUris and enforce http(s) and max redirects by @JSerFeng in #12463
- fix: extra runtime global bits are lost after js hook by @nilptr in #12275
- fix: set lazyCompilation default to web only by @stormslowly in #12473
- fix: handle ignored asset modules with proper data URL export by @LingyuCoder in #12468
- fix: reexports in arrow-only environments without const by @chenjiahan in #12484
- fix: respect matchResource when generate nameForCondition by @Austaras in #12449
- fix: exclude hidden dir from snapshot managedPaths default value by @jerrykingxyz in #12486
- fix: relative resource path in source maps on Windows by @SyMind in #12493
- fix: parsing arrow function IIFE by @LingyuCoder in #12490
- fix: compile-time evaluation of optional chaining by @LingyuCoder in #12494
- fix: SRI plugin runtime module check for Module Federation by @LingyuCoder in #12519
- fix: use default runtime to export default interop and keep empty import for externals by @JSerFeng in #12530
- fix: optimize CSS runtime requirements logic by @LingyuCoder in #12529
- fix: include import attributes in context module identifier by @LingyuCoder in #12551
- fix: remove allowAsyncCycles option and detect all dependencies of modules by @LingyuCoder in #12552
- fix: generate CSS file for universal target by @inottn in #12570
- fix: compilation js object memory leak by @SyMind in #12579
- fix(esm_lib_plugin): should set original module for get_binding by @JSerFeng in #12584
- fix(cli): apply default lazy compilation value based on user config by @stormslowly in #12583
- fix: shebang should always in entry chunk by @JSerFeng in #12585
- fix: remove error log while lazy compilation can't find module to invildate by @stormslowly in #12566
Refactor π¨
- refactor: use atomic_refcell for async_module_artifact by @hardfist in #12408
- refactor: use swc_experimental on concatenated module by @CPunisher in #12369
- refactor: change dependencies_diagnostics_artifact to use atomic_refcell by @hardfist in #12415
- refactor: replace
SourceFilewith&strand replaceArc<SourceMap>withRopein rspack_plugin_javascript by @CPunisher in #12404 - refactor: extract common utility functions to rspack_util by @LingyuCoder in #12447
- refactor: remove linked_hash_set dependency by @LingyuCoder in #12451
- refactor(esm-lib-plugin): manually resolve exports that re star-exported, and improve NodeTargetPlugin for module output by @JSerFeng in #12476
- refactor: extract case-sensitive check to plugin by @LingyuCoder in #12532
- refactor: check neutral platform by @LingyuCoder in #12534
- refactor: move collectTypescriptInfo out of rspackExperiments by @ahabhgk in #12535
- refactor: refactor module graph by @hardfist in #12474
- refactor: merge rspack_cacheable SerializeError and DeserializeError by @jerrykingxyz in #12556
- refactor: remove option for modules by @hardfist in #12567
- refactor: remove all option in ModuleGraphData by @hardfist in #12568
- refactor: remove get_make_module_graph_mut api by @hardfist in #12575
- refactor: refine exports info for CJS and ESM interop by @LingyuCoder in #12577
- refactor: remove redirect_to in exports info by @LingyuCoder in #12581
- refactor: use defer_options for build_module_artifact by @hardfist in #12578
- refactor: DerefOpiton default to Some(T) when T impl Default trait by @stormslowly in #12406
- refactor: make &compilation for optimization_dependencies by @hardfist in #12576
- refactor: make compilation readonly for optimize_modules phase by @hardfist in #12586
- refactor: improve exports info by @LingyuCoder in #12587
Document Updates π
- docs: add docs about env to control working threads limit by @hardfist in #12383
- docs: improve AGENTS.md and add comprehensive development documentation by @LingyuCoder in #12420
- docs: upgrade rspress@2.0.0-rc.2 by @SoonIter in #12426
- docs: update FAQ to clarify Rspack's support for Wasm and RSC by @chenjiahan in #12432
- docs: enhance
ignoreWarnings...
v1.7.0-beta.1
What's Changed
New Features π
- feat: improve deprecation warning messages by @chenjiahan in #12524
- feat: add rspack_tools to compare .cache from different os by @jerrykingxyz in #12499
Bug Fixes π
- fix: exclude hidden dir from snapshot managedPaths default value by @jerrykingxyz in #12486
- fix: relative resource path in source maps on Windows by @SyMind in #12493
- fix: parsing arrow function IIFE by @LingyuCoder in #12490
- fix: compile-time evaluation of optional chaining by @LingyuCoder in #12494
- fix: SRI plugin runtime module check for Module Federation by @LingyuCoder in #12519
- fix: use default runtime to export default interop and keep empty import for externals by @JSerFeng in #12530
Refactor π¨
- refactor(esm-lib-plugin): manually resolve exports that re star-exported, and improve NodeTargetPlugin for module output by @JSerFeng in #12476
Document Updates π
- docs: add test/include/exclude options for eval source map devtool by @LingyuCoder in #12495
- docs: use Rspress's default table styles by @chenjiahan in #12496
- docs: remove unused code, correct the usage of Link and Table. by @SoonIter in #12498
- docs: enhance
output.asyncChunksdocumentation and examples by @chenjiahan in #12500 - docs: stablize inline exports configurations by @ahabhgk in #12504
- docs: format markdown files by @chenjiahan in #12507
- docs: mention browserslist limitations in target configuration by @chenjiahan in #12515
- docs: correct markdown link in infrastructure logging by @chenjiahan in #12525
- docs: remove obsolete comments from config examples by @chenjiahan in #12526
Other Changes
- chore: release v1.7.0-beta.0 by @CPunisher in #12487
- chore(ci): update windows zstd version by @stormslowly in #12489
- chore(deps): update patch npm dependencies by @renovate[bot] in #12478
- chore(deps): bump Rslib v0.18.5 by @Timeless0911 in #12502
- chore(ci): collapse the diff action detail comments by @yifancong in #12503
- chore(deps): update dependency commander to v14 by @renovate[bot] in #12510
- chore(deps): update pnpm to v10.26.1 by @renovate[bot] in #12509
- chore(deps): update dependency @swc/plugin-remove-console to ^12.1.0 by @renovate[bot] in #12508
- chore(deps): update dependency jest-diff to v30 by @renovate[bot] in #12512
- chore(deps): update dependency pretty-format to v30 by @renovate[bot] in #12514
- ci: check formats for doc-only changes by @chenjiahan in #12511
- chore(deps): update patch crates by @renovate[bot] in #12152
- test: add retry configuration for CI to reduce flakes by @chenjiahan in #12517
- test: enable previously skipped stats output tests by @LingyuCoder in #12520
- chore: bump swc_core from 50.2.3 to 52.0.0 and swc_experimental from 0.3.3 to 0.3.5 by @CPunisher in #12518
- chore: restructure examples and add basic React example by @chenjiahan in #12522
- chore: remove logic of parallelCodeSplitting by @JSerFeng in #12424
- test: cleanup obsolete test cases and update test configurations by @LingyuCoder in #12523
- chore: allow prettier to format test tools and e2e files by @chenjiahan in #12528
Full Changelog: v1.7.0-beta.0...v1.7.0-beta.1
v1.7.0-beta.0
Highlights π‘
π Upgrade SWC
The latest version of SWC enhances the compatibility of Wasm plugins. This means future upgrades of Rspack and SWC will almost no longer break SWC Wasm plugins. Additionally, the SWC upgrade brings a 10% performance improvement to the parser.
β Enable lazy compilation by default
Since Rspack v1.5 has stabilized Lazy Compilation, we are now enabling it by default for dynamic imports cases when the target is web.
export default defineConfig({
lazyCompilation: {
imports: true,
},
});π― Stablize several experimental configurations
In the previous releases, the experimental features experiments.lazyBarrel, experiments.inlineConst, experiments.inlineEnum were introduced to enable cross-module inlining optimizations for constants. These optimizations improve minifiers' ability to perform precise static analysis, eliminate unused code branches, and further reduce bundle size.
After thorough validation, we are now promoting these features from experimental to stable.
export default {
experiments: {
- inlineConst: true,
- inlineEnum: true,
- lazyBarrel: true,
- typeReexportsPresence: true,
},
module: {
parser: {
javascript: {
- inlineConst: true,
typeReexportsPresence: true,
},
},
},
optimization: {
+ inlineExports: true,
},
}What's Changed
Performance Improvements β‘
New Features π
- feat: support dynamic URL with new URL() context mode by @LingyuCoder in #12389
- feat: stabilize lazy compilation middleware by @chenjiahan in #12429
- feat: add support for type: 'text' in asset modules by @LingyuCoder in #12457
- feat: enable lazy compilation for imports by defaults by @stormslowly in #12419
- feat(deps)!: bump
swc_corefrom 46.0.3 to 50.2.3 andswc_experimentalby @CPunisher in #12445 - feat: implement UniversalCompileAsyncWasmPlugin for universal chunk loading by @LingyuCoder in #12471
- feat: stabilize inline exports by @ahabhgk in #12475
- feat: stabilize SubresourceIntegrityPlugin by @LingyuCoder in #12483
Bug Fixes π
- fix: add test/include/exclude options to EvalSourceMapDevToolPlugin by @LingyuCoder in #12392
- fix: relative-resource-path should handle output.filename by @SyMind in #12398
- fix: improve RuntimeGlobals type definition accuracy by @LingyuCoder in #12403
- fix: handle empty resource path in context module by @LingyuCoder in #12407
- fix: align webpack behavior of removing empty entry chunk by @JSerFeng in #12414
- fix: make splitChunks more stable by @JSerFeng in #12410
- fix: should use exported name of the imported module by @JSerFeng in #12423
- fix: strip ANSI codes from ignoreWarnings messages by @chenjiahan in #12435
- fix: concatenate module should use importer's 'strict' for interop by @JSerFeng in #12446
- fix: wasm plugin panic when use persistent cache by @jerrykingxyz in #12455
- fix: add Set methods to compilation dependencies by @LingyuCoder in #12459
- fix(diagnostic): avoid emitting dim-only indent lines by @chenjiahan in #12461
- fix: handle symlinks correctly in rmrf function by @LingyuCoder in #12456
- fix: add case-sensitive check for emit assets by @LingyuCoder in #12462
- fix: use RspackHash for HTML plugin content hash calculation by @LingyuCoder in #12465
- fix: re-validate HttpUriPlugin redirects against allowedUris and enforce http(s) and max redirects by @JSerFeng in #12463
- fix: extra runtime global bits are lost after js hook by @nilptr in #12275
- fix: set lazyCompilation default to web only by @stormslowly in #12473
- fix: handle ignored asset modules with proper data URL export by @LingyuCoder in #12468
- fix: reexports in arrow-only environments without const by @chenjiahan in #12484
- fix: respect matchResource when generate nameForCondition by @Austaras in #12449
Refactor π¨
- refactor: move cacheable macros to rspack_cacheable_macros by @jerrykingxyz in #12393
- refactor: use atomic_refcell for async_module_artifact by @hardfist in #12408
- refactor: use swc_experimental on concatenated module by @CPunisher in #12369
- refactor: change dependencies_diagnostics_artifact to use atomic_refcell by @hardfist in #12415
- refactor: replace
SourceFilewith&strand replaceArc<SourceMap>withRopein rspack_plugin_javascript by @CPunisher in #12404 - refactor: extract common utility functions to rspack_util by @LingyuCoder in #12447
- refactor: remove linked_hash_set dependency by @LingyuCoder in #12451
Document Updates π
- docs: add docs about env to control working threads limit by @hardfist in #12383
- docs: improve AGENTS.md and add comprehensive development documentation by @LingyuCoder in #12420
- docs: upgrade rspress@2.0.0-rc.2 by @SoonIter in #12426
- docs: update FAQ to clarify Rspack's support for Wasm and RSC by @chenjiahan in #12432
- docs: enhance
ignoreWarningsoption with detailed examples by @chenjiahan in #12436 - docs: add deprecated options documentation by @chenjiahan in #12448
- docs: refactor
module.rulesoptions into a dedicated page by @chenjiahan in #12452 - docs: improve
resolve.byDependencydescription and examples by @chenjiahan in #12458 - docs: fix rules[].use example by @henryqdineen in #12466
- docs: add descriptions for built-in plugins by @chenjiahan in #12485
Other Changes
- chore: release v1.6.7 by @JSerFeng in #12391
- test: remove webpack consistency check filters from statsOutputCases by @LingyuCoder in #12394
- test: enable previously filtered test cases and update expected outputs by @LingyuCoder in #12396
- chore(ci): run Mac CI test on github hosted runner by @stormslowly in #12397
- test: update stats snapshot by @LingyuCoder in #12401
- test: enable passing normalCases tests and document failures by @LingyuCoder in #12409
- test: enable passing configCases tests and document failures by @LingyuCoder in #12412
- test: try to fix flaky test cases by @LingyuCoder in #12402
- chore(ci): fix artifact discovery logic in Rsdoctor action by @yifancong in #12405
- chore: bump
swc_experimentalto fix parsing utf8 in template by @CPunisher in #12431 - chore(ci): skip diff action for doc-only changes by @yifancong in #12437
- chore(deps): update dependency cspell to ^9.4.0 by @renovate[bot] in #12439
- chore(deps): update dependency memfs to v4.51.1 by @renovate[bot] in #12440
- chore(deps): update dependency tsx to ^4.21.0 by @renovate[bot] in #12442
- chore(deps): update dependency prettier to v3.7.4 by @renovate[bot] in #12441
- chore: skip diff CI for doc-only changes by @yifancong in #12438
- chore: enable noUnusedParameters optio...
v1.6.8
What's Changed
Bug Fixes π
- fix: reexports in arrow-only environments without const by @chenjiahan in #12484
- fix: re-validate HttpUriPlugin redirects against allowedUris and enforce http(s) and max redirects by @JSerFeng in #12463
Full Changelog: v1.6.7...v1.6.8