What's Changed
New Features 🎉
- feat: warn on unknown import.meta properties by @intellild in #14785
- feat: add builds for binding-linux-(ppc64,s390x)-gnu by @logonoff in #14962
- feat(create-rspack): support --no-git by @chenjiahan in #15133
- feat: support caseSensitive in import.meta.glob by @intellild in #14811
Performance 🚀
- perf(copy-plugin): cache and order static patterns by @LingyuCoder in #15051
- perf: limit incremental HMR asset processing by @LingyuCoder in #15063
- perf: avoid unnecessary call wrappers for runtime helpers by @LingyuCoder in #15065
- perf: cache compilation assets proxy by @chenjiahan in #15070
- perf(cache): avoid copying aligned archive buffers by @matthewdavis-oai in #15024
- perf(json): avoid duplicating export dependency data by @matthewdavis-oai in #15023
- perf: improve source map convert performance by @intellild in #15138
Bug Fixes 🐞
- fix: improve circular real content hash error diagnostics by @LingyuCoder in #14973
- fix: keep compilation dependency iterators disjoint by @LingyuCoder in #15072
- fix(cache): align cache version semantics with webpack by @hardfist in #15000
- fix: preserve ignored URL when import.meta.url is disabled by @intellild in #15075
- fix(napi): avoid runtime lock deadlock by @LingyuCoder in #15077
- fix(lazy): match compiler prefixes exactly by @LingyuCoder in #15073
- fix(mf): avoid injecting shared providers into worker entrypoints by @LingyuCoder in #15059
- fix: handle optional chains in member hook traversal by @zhsama in #15076
- fix: support loader context APIs in parallel loaders by @chenjiahan in #15092
- fix: warn on invalid chunk names by @HashemKhalifa in #14854
- fix: preserve imports in impure class expressions by @LingyuCoder in #15098
- fix: preserve worker entrypoints when async chunks are disabled by @LingyuCoder in #15096
- fix: align loader context docs and types with implementation by @chenjiahan in #15095
- fix(rstest): make import.meta.rstest resolver optional by @9aoy in #15097
- fix: handle context changes in import.meta.glob hooks by @intellild in #14897
- fix(types): align public API docs with declarations by @chenjiahan in #15107
- fix: preserve worker entrypoints during module deduplication by @JSerFeng in #14902
- fix(cli): restore config key completions in defineConfig by @upupming in #15140
- fix: deduplicate parse errors by source range by @LingyuCoder in #15146
Refactor 🔨
- refactor: extract parser options with AstObject derive by @intellild in #14886
- refactor: remove dead Rust code with Hawk by @hardfist in #15139
Document 📖
- docs: document loaderContext.addBuildDependency by @chenjiahan in #15082
- docs: document loaderContext.loaders and remainingRequest by @chenjiahan in #15084
- docs: migrate loaderContext examples to ESM by @chenjiahan in #15085
- docs: document loader dependency getters by @chenjiahan in #15087
- docs(release): group release targets by Node.js support tier by @stormslowly in #15088
- docs: document loader context environment by @chenjiahan in #15090
- docs: correct loader context callback and clearDependencies by @chenjiahan in #15091
- docs: fix invalid code examples by @chenjiahan in #15104
- docs: align more API type docs with declarations by @chenjiahan in #15109
- docs: correct Module Federation documentation by @chenjiahan in #15111
- docs: align stats hooks docs with implementation by @chenjiahan in #15126
- docs: improve Stats API documentation by @chenjiahan in #15132
Other Changes
- test: ensure Rsdoctor reports tree-shaken JSON sizes by @yifancong in #15055
- chore: migrate formatting to rs fmt by @chenjiahan in #15068
- chore(deps): replace create-rstack with create-toolkit by @chenjiahan in #15094
- chore(deps): update dependency mermaid to v11.16.1 [security] by @renovate[bot] in #15099
- chore(binding): use system allocator for debug builds by @hardfist in #15103
- chore(binding): use native binaryen for wasm-opt by @stormslowly in #15100
- chore: update skill metadata and testing guidance by @LingyuCoder in #15105
- chore(deps): update dependency @rspack/dev-server to ^2.2.0 by @renovate[bot] in #15115
- chore(deps): update rust crate swc_ecma_minifier to 57.0.1 by @renovate[bot] in #15113
- chore(deps): update dependency @playwright/test to v1.62.1 by @renovate[bot] in #15114
- chore(deps): update patch npm dependencies by @renovate[bot] in #15112
- chore(deps): update rstack to v0.4.0 by @chenjiahan in #15125
- chore(deps): update dependency happy-dom to ^20.11.1 by @renovate[bot] in #15120
- chore(deps): update dependency acorn to ^8.18.0 by @renovate[bot] in #15118
- chore: bump
swc_corefrom 72 to 76 by @CPunisher in #15122 - chore(deps): update dependency core-js to v3.50.0 by @renovate[bot] in #15119
- chore(deps): update rust crate fast-glob to 1.1.0 by @renovate[bot] in #15116
- chore(deps): update rust crate tokio to 1.53.1 by @renovate[bot] in #15117
- chore(deps): update dependency commander to v15 by @renovate[bot] in #15129
- chore(deps): update dependency @testing-library/jest-dom to v7 by @renovate[bot] in #15128
- chore(deps): update dependency jsdom to v30 by @renovate[bot] in #15130
- chore(deps): update dependency less-loader to v13 by @renovate[bot] in #15131
- chore(deps): update yarn to v4.18.0 by @renovate[bot] in #15127
- chore: document memory profiling workflows by @hardfist in #15108
- chore: upgrade rspack-resolver to 0.10.0 by @stormslowly in #15149
New Contributors
- @zhsama made their first contribution in #15076
- @HashemKhalifa made their first contribution in #14854
- @upupming made their first contribution in #15140
Full Changelog: v2.1.8...v2.1.9