Originally created by: renovate[bot]
Originally owned by: luifr10
Note: This PR body was truncated due to platform limits.
This PR contains the following updates:
Release Notes
nrwl/nx (@nx/eslint)
### [`v21.6.10`](https://redirect.github.com/nrwl/nx/releases/tag/21.6.10)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.6.9...21.6.10)
#### 21.6.10 (2025-11-27)
##### 🩹 Fixes
- **bundling:** replace rollup-plugin-copy with nx copy assets plugin ([#33601](https://redirect.github.com/nrwl/nx/pull/33601), [#32398](https://redirect.github.com/nrwl/nx/issues/32398))
- **core:** kill child process tree in different running tasks ([#33636](https://redirect.github.com/nrwl/nx/pull/33636), [#32438](https://redirect.github.com/nrwl/nx/issues/32438), [#33460](https://redirect.github.com/nrwl/nx/issues/33460))
- **storybook:** remove STORYBOOK\_PROJECT\_ROOT when running automigrate to prevent hanging ([#33567](https://redirect.github.com/nrwl/nx/pull/33567), [#32492](https://redirect.github.com/nrwl/nx/issues/32492))
##### ❤️ Thank You
- Jack Hsu [@jaysoo](https://redirect.github.com/jaysoo)
- jaysoo [@jaysoo](https://redirect.github.com/jaysoo)
- Leosvel Pérez Espinosa [@leosvelperez](https://redirect.github.com/leosvelperez)
### [`v21.6.9`](https://redirect.github.com/nrwl/nx/releases/tag/21.6.9)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.6.8...21.6.9)
#### 21.6.9 (2025-11-18)
##### 🩹 Fixes
- **js:** ensure node execute completes before exit ([#32629](https://redirect.github.com/nrwl/nx/pull/32629), [#32385](https://redirect.github.com/nrwl/nx/issues/32385), [#32356](https://redirect.github.com/nrwl/nx/issues/32356))
##### ❤️ Thank You
- Andrew Ovens [@aovens-quantifi](https://redirect.github.com/aovens-quantifi)
### [`v21.6.8`](https://redirect.github.com/nrwl/nx/releases/tag/21.6.8)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.6.7...21.6.8)
##### 21.6.8 (2025-10-30)
##### 🚀 Features
- **bundling:** add excludeFromExternal option to esbuild executor ([#32980](https://redirect.github.com/nrwl/nx/pull/32980))
##### ❤️ Thank You
- Claude
- Jack Hsu [@jaysoo](https://redirect.github.com/jaysoo)
### [`v21.6.7`](https://redirect.github.com/nrwl/nx/releases/tag/21.6.7)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.6.6...21.6.7)
##### 21.6.7 (2025-10-28)
##### 🚀 Features
- **gradle:** add custom installation path to options ([#33187](https://redirect.github.com/nrwl/nx/pull/33187))
##### 🩹 Fixes
- **core:** improve db connection initialization and error messages ([#33054](https://redirect.github.com/nrwl/nx/pull/33054), [#28640](https://redirect.github.com/nrwl/nx/issues/28640), [#30856](https://redirect.github.com/nrwl/nx/issues/30856), [#32894](https://redirect.github.com/nrwl/nx/issues/32894))
- **core:** do not remove wal files manually for existing databases ([#33143](https://redirect.github.com/nrwl/nx/pull/33143))
- **core:** revert changes to the db connection initialization ([#33156](https://redirect.github.com/nrwl/nx/pull/33156))
- **core:** continue execution when cloud client is unavailable ([#33214](https://redirect.github.com/nrwl/nx/pull/33214))
- **core:** prevent error message containing `[object Object]` for invalid {workspaceRoot} placement ([#33203](https://redirect.github.com/nrwl/nx/pull/33203))
- **core:** ensure daemon writes project graph cache to disk consistently ([#33217](https://redirect.github.com/nrwl/nx/pull/33217))
- **core:** add accept header to http remote cache get ([#33093](https://redirect.github.com/nrwl/nx/pull/33093), [#33092](https://redirect.github.com/nrwl/nx/issues/33092))
- **core:** prevent undefined importer crash in pnpm lockfile parsing ([#33223](https://redirect.github.com/nrwl/nx/pull/33223))
- **misc:** handle null exit codes from crashed child processes ([#33163](https://redirect.github.com/nrwl/nx/pull/33163), [#29204](https://redirect.github.com/nrwl/nx/issues/29204))
##### ❤️ Thank You
- Claude
- Colum Ferry [@Coly010](https://redirect.github.com/Coly010)
- Craigory Coppola [@AgentEnder](https://redirect.github.com/AgentEnder)
- Jack Hsu [@jaysoo](https://redirect.github.com/jaysoo)
- Jason Jean [@FrozenPandaz](https://redirect.github.com/FrozenPandaz)
- Leosvel Pérez Espinosa [@leosvelperez](https://redirect.github.com/leosvelperez)
- Louie Weng [@lourw](https://redirect.github.com/lourw)
- Sander Boelhouwers
### [`v21.6.6`](https://redirect.github.com/nrwl/nx/releases/tag/21.6.6)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.6.5...21.6.6)
##### 21.6.6 (2025-10-21)
##### 🩹 Fixes
- **angular:** improve message for unsupported typescript project references ([#33148](https://redirect.github.com/nrwl/nx/pull/33148))
- **angular:** ensure ngpackagr tsconfig options set correctly based on version [#33081](https://redirect.github.com/nrwl/nx/issues/33081) ([#33150](https://redirect.github.com/nrwl/nx/pull/33150), [#33081](https://redirect.github.com/nrwl/nx/issues/33081))
- **angular-rspack:** ensure root node\_modules included when resolving packages ([#33144](https://redirect.github.com/nrwl/nx/pull/33144), [#33026](https://redirect.github.com/nrwl/nx/issues/33026))
- **core:** improve db connection initialization and error messages ([#33054](https://redirect.github.com/nrwl/nx/pull/33054), [#28640](https://redirect.github.com/nrwl/nx/issues/28640), [#30856](https://redirect.github.com/nrwl/nx/issues/30856), [#32894](https://redirect.github.com/nrwl/nx/issues/32894))
- **core:** prioritize in-progress tasks section visibility in tui ([#33053](https://redirect.github.com/nrwl/nx/pull/33053))
- **core:** enhance tui summary output to fix misc issues ([#33057](https://redirect.github.com/nrwl/nx/pull/33057))
- **core:** restore migrations used by `nx repair` ([#33124](https://redirect.github.com/nrwl/nx/pull/33124))
- **core:** avoid changing existing project name if a project.json file is added to a project ([#33114](https://redirect.github.com/nrwl/nx/pull/33114))
- **core:** do not remove wal files manually for existing databases ([#33143](https://redirect.github.com/nrwl/nx/pull/33143))
- **core:** do not print flaky tasks guidance when nx cloud is already enabled ([#33149](https://redirect.github.com/nrwl/nx/pull/33149))
- **core:** add wrappers for start and stop agent nx-cloud commands ([#33140](https://redirect.github.com/nrwl/nx/pull/33140))
- **core:** revert changes to the db connection initialization ([#33156](https://redirect.github.com/nrwl/nx/pull/33156))
- **graph:** prevent content from overflowing in the PDV component ([#33120](https://redirect.github.com/nrwl/nx/pull/33120))
- **linter:** install correct deps in eslint convert to flat config generator ([#33078](https://redirect.github.com/nrwl/nx/pull/33078))
- **module-federation:** ensure angular rspack module federation supports live reload ([#33137](https://redirect.github.com/nrwl/nx/pull/33137))
- **remix:** ensure supported version of vite is used ([#33089](https://redirect.github.com/nrwl/nx/pull/33089))
- **vite:** add logic to prevent overwriting generated package.json ([#30705](https://redirect.github.com/nrwl/nx/pull/30705), [#30312](https://redirect.github.com/nrwl/nx/issues/30312))
##### ❤️ Thank You
- Colum Ferry [@Coly010](https://redirect.github.com/Coly010)
- Craigory Coppola [@AgentEnder](https://redirect.github.com/AgentEnder)
- David Scourfield [@daiscog](https://redirect.github.com/daiscog)
- Jack Hsu [@jaysoo](https://redirect.github.com/jaysoo)
- Leosvel Pérez Espinosa [@leosvelperez](https://redirect.github.com/leosvelperez)
- Mike Cebrian
- Miroslav Jonaš [@meeroslav](https://redirect.github.com/meeroslav)
### [`v21.6.5`](https://redirect.github.com/nrwl/nx/releases/tag/21.6.5)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.6.4...21.6.5)
#### 21.6.5 (2025-10-15)
##### 🚀 Features
- **core:** expose registerProjectGraphRecomputationListener from daemon client ([#33005](https://redirect.github.com/nrwl/nx/pull/33005))
##### 🩹 Fixes
- **core:** display bottom corner indicator of tui in progress section correctly ([#32985](https://redirect.github.com/nrwl/nx/pull/32985))
- **core:** temporarily disable tui for run-one ([#33048](https://redirect.github.com/nrwl/nx/pull/33048))
- **core:** ensure --help works properly with infix notation ([#32662](https://redirect.github.com/nrwl/nx/pull/32662))
- **nx-dev:** update nextjs internal-link-checker to include astro urls ([#33045](https://redirect.github.com/nrwl/nx/pull/33045))
- **nx-dev:** respect NX\_DEV\_URL in sitemap checker ([#33058](https://redirect.github.com/nrwl/nx/pull/33058))
- **nx-dev:** handle null github data ([#33061](https://redirect.github.com/nrwl/nx/pull/33061))
- **react:** dynamic module federation should not initialize remoteUrlDefinitions to empty object ([#33059](https://redirect.github.com/nrwl/nx/pull/33059), [#27927](https://redirect.github.com/nrwl/nx/issues/27927), [#33055](https://redirect.github.com/nrwl/nx/issues/33055), [#27793](https://redirect.github.com/nrwl/nx/issues/27793), [#27842](https://redirect.github.com/nrwl/nx/issues/27842))
- ⚠️ **release:** ensure multilines in breaking changes are rendered by changelog renderer ([#33070](https://redirect.github.com/nrwl/nx/pull/33070), [#33014](https://redirect.github.com/nrwl/nx/issues/33014))
##### ⚠️ Breaking Changes
- **release:** The --legacy-peer-deps behavior is no longer forced.
##### ❤️ Thank You
- Caleb Ukle
- Colum Ferry [@Coly010](https://redirect.github.com/Coly010)
- Craigory Coppola [@AgentEnder](https://redirect.github.com/AgentEnder)
- Leosvel Pérez Espinosa [@leosvelperez](https://redirect.github.com/leosvelperez)
- MaxKless [@MaxKless](https://redirect.github.com/MaxKless)
### [`v21.6.4`](https://redirect.github.com/nrwl/nx/releases/tag/21.6.4)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.6.3...21.6.4)
#### 21.6.4 (2025-10-08)
##### 🚀 Features
- **core:** prompt for ai agent files on nx init ([#32889](https://redirect.github.com/nrwl/nx/pull/32889))
- **core:** add --check=all flag to configure-ai-agents ([#32968](https://redirect.github.com/nrwl/nx/pull/32968))
- **nest:** ensure dependencies are added to project's package.json [#32548](https://redirect.github.com/nrwl/nx/issues/32548) ([#32986](https://redirect.github.com/nrwl/nx/pull/32986), [#32548](https://redirect.github.com/nrwl/nx/issues/32548))
- **nx-cloud:** update description on nx login and logout ([#31344](https://redirect.github.com/nrwl/nx/pull/31344))
- **vite:** add buildable libs support for vitest ([#32973](https://redirect.github.com/nrwl/nx/pull/32973))
##### 🩹 Fixes
- **angular-rspack:** do not parse json with babel [#32690](https://redirect.github.com/nrwl/nx/issues/32690) ([#32966](https://redirect.github.com/nrwl/nx/pull/32966), [#32690](https://redirect.github.com/nrwl/nx/issues/32690))
- **bundling:** postcss-cli-resources should handle relative deploy url [#32714](https://redirect.github.com/nrwl/nx/issues/32714) ([#32762](https://redirect.github.com/nrwl/nx/pull/32762), [#32714](https://redirect.github.com/nrwl/nx/issues/32714))
- **core:** upgrade axios to 1.12.0 to address CVE-2025-58754 ([#32712](https://redirect.github.com/nrwl/nx/pull/32712))
- **core:** repair repo root on setupAiAgents in nx init ([#32984](https://redirect.github.com/nrwl/nx/pull/32984))
- **core:** remove requirement to be in a package manager workspace ([#32992](https://redirect.github.com/nrwl/nx/pull/32992))
- **core:** remove duplicated "Running" string from tui title ([#32991](https://redirect.github.com/nrwl/nx/pull/32991))
- **nextjs:** remove whitespace for newly generated server component ([8868cc5d31](https://redirect.github.com/nrwl/nx/commit/8868cc5d31))
- **nextjs:** update entrypoints for buildable library with vite to include server entry [#31457](https://redirect.github.com/nrwl/nx/issues/31457) ([#32977](https://redirect.github.com/nrwl/nx/pull/32977), [#31457](https://redirect.github.com/nrwl/nx/issues/31457))
- **nx-cloud:** update broken documentation links to AI features ([7a5930a1fa](https://redirect.github.com/nrwl/nx/commit/7a5930a1fa))
- **remix:** @nx/remix/package.json export typo fixed [#32810](https://redirect.github.com/nrwl/nx/issues/32810) ([#32940](https://redirect.github.com/nrwl/nx/pull/32940), [#32810](https://redirect.github.com/nrwl/nx/issues/32810))
- **repo:** fix pr releases to not depend on a broken range ([#32993](https://redirect.github.com/nrwl/nx/pull/32993))
- **testing:** show warning instead of error when no blob outputs found during merge ([#33022](https://redirect.github.com/nrwl/nx/pull/33022))
- **vite:** ensure tsconfig file is resolved from workspaceRoot [#31987](https://redirect.github.com/nrwl/nx/issues/31987) ([#32990](https://redirect.github.com/nrwl/nx/pull/32990), [#31987](https://redirect.github.com/nrwl/nx/issues/31987))
- **vite:** enable build watch mode by default for preview ([#31604](https://redirect.github.com/nrwl/nx/pull/31604), [#31623](https://redirect.github.com/nrwl/nx/pull/31623))
##### ❤️ Thank You
- Colum Ferry [@Coly010](https://redirect.github.com/Coly010)
- Jack Hsu [@jaysoo](https://redirect.github.com/jaysoo)
- Jason Jean [@FrozenPandaz](https://redirect.github.com/FrozenPandaz)
- Juri [@juristr](https://redirect.github.com/juristr)
- Leosvel Pérez Espinosa [@leosvelperez](https://redirect.github.com/leosvelperez)
- Louie Weng [@lourw](https://redirect.github.com/lourw)
- MaxKless [@MaxKless](https://redirect.github.com/MaxKless)
- Mischa Fischer
- Nikola Kalinov
- Shai Reznik [@shairez](https://redirect.github.com/shairez)
- Terry Mun-Andersen [@terrymun](https://redirect.github.com/terrymun)
- Zoran Kokeza
### [`v21.6.3`](https://redirect.github.com/nrwl/nx/releases/tag/21.6.3)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.6.2...21.6.3)
#### 21.6.3 (2025-10-02)
##### 🩹 Fixes
- **core:** improve provenance error with custom registry information ([#32903](https://redirect.github.com/nrwl/nx/pull/32903))
- **core:** optimize task hashing with BFS and performance logging ([#32911](https://redirect.github.com/nrwl/nx/pull/32911))
- **core:** tweak configure-ai-agents prompt ([#32914](https://redirect.github.com/nrwl/nx/pull/32914))
- **core:** ensure nx is published with the correct dependency version for the native packages ([#32928](https://redirect.github.com/nrwl/nx/pull/32928), [#32898](https://redirect.github.com/nrwl/nx/issues/32898))
- **js:** temporarily hash all external dependencies for tasks inferred by the `@nx/js/typescript` plugin ([#32912](https://redirect.github.com/nrwl/nx/pull/32912))
- **nx-dev:** improve default zoom level of graph nodes in docs ([#32910](https://redirect.github.com/nrwl/nx/pull/32910))
- **nx-dev:** provide message to check previous docs w/ empty migrations ([#32919](https://redirect.github.com/nrwl/nx/pull/32919))
- **nx-dev:** watch for theme changes for project/task graph components ([#32885](https://redirect.github.com/nrwl/nx/pull/32885))
- **nx-dev:** update credit pricing link to new docs page ([#32899](https://redirect.github.com/nrwl/nx/pull/32899))
##### ❤️ Thank You
- Caleb Ukle
- Jason Jean [@FrozenPandaz](https://redirect.github.com/FrozenPandaz)
- Juri [@juristr](https://redirect.github.com/juristr)
- Leosvel Pérez Espinosa [@leosvelperez](https://redirect.github.com/leosvelperez)
- MaxKless [@MaxKless](https://redirect.github.com/MaxKless)
### [`v21.6.2`](https://redirect.github.com/nrwl/nx/releases/tag/21.6.2)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.6.1...21.6.2)
#### 21.6.2 (2025-09-29)
This was a version bump only, there were no code changes.
### [`v21.6.1`](https://redirect.github.com/nrwl/nx/releases/tag/21.6.1)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.5.3...21.6.1)
#### 21.6.1 (2025-09-29)
##### 🚀 Features
- **angular:** support angular v20.3.0 ([#32730](https://redirect.github.com/nrwl/nx/pull/32730))
- **core:** replace the pagination from the tui tasks list with scrolling ([#32560](https://redirect.github.com/nrwl/nx/pull/32560))
- **core:** generate AI files in create-nx-workspace ([#32442](https://redirect.github.com/nrwl/nx/pull/32442))
- **core:** add NX\_PROJECT\_ROOT environment variable to runti… ([#32736](https://redirect.github.com/nrwl/nx/pull/32736), [#31428](https://redirect.github.com/nrwl/nx/issues/31428))
- **core:** improve split target to support Gradle format ([#32766](https://redirect.github.com/nrwl/nx/pull/32766))
- **core:** add id, start and end time to lifecycle hooks ([#32583](https://redirect.github.com/nrwl/nx/pull/32583))
- **core:** add configure-ai-agents command ([#32825](https://redirect.github.com/nrwl/nx/pull/32825))
- **docker:** add env var for providing docker registry ([#32676](https://redirect.github.com/nrwl/nx/pull/32676))
- **docker:** ensure docker:build dependsOn build ([#32697](https://redirect.github.com/nrwl/nx/pull/32697))
- **graph:** unified graph UI and controls ([#32724](https://redirect.github.com/nrwl/nx/pull/32724))
- **misc:** add Cookiebot global scripts to astro-docs ([#32660](https://redirect.github.com/nrwl/nx/pull/32660))
- **nx-dev:** disable Algolia search on non-docs pages when Astro docs are enabled ([#32789](https://redirect.github.com/nrwl/nx/pull/32789))
- **nx-dev:** change login button to try nx cloud ([5e0bcae9ef](https://redirect.github.com/nrwl/nx/commit/5e0bcae9ef))
- **nx-dev:** enhance UI animations & statistics display ([#32863](https://redirect.github.com/nrwl/nx/pull/32863))
- **release:** new option preserveMatchingDependencyRanges to not update matching version ranges ([#32556](https://redirect.github.com/nrwl/nx/pull/32556))
- **rspack:** respect deleteOutputPath option in rspack executor ([#32609](https://redirect.github.com/nrwl/nx/pull/32609), [#32015](https://redirect.github.com/nrwl/nx/issues/32015))
- **testing:** infer task to merge reports from playwright atomized tasks ([#31615](https://redirect.github.com/nrwl/nx/pull/31615))
- **testing:** support inferring atomized tasks for cypress component tests ([#32733](https://redirect.github.com/nrwl/nx/pull/32733))
- **testing:** forward `e2e-ci` task options to their atomized tasks ([#32765](https://redirect.github.com/nrwl/nx/pull/32765))
- ⚠️ **webpack:** remove SVGR option and provide withSvgr composable function ([#32843](https://redirect.github.com/nrwl/nx/pull/32843))
##### 🩹 Fixes
- **angular:** install a compatible version of jest for angular ([#32744](https://redirect.github.com/nrwl/nx/pull/32744))
- **angular-rspack:** show correct file sizes in build stats for i18n builds ([#32758](https://redirect.github.com/nrwl/nx/pull/32758), [#32277](https://redirect.github.com/nrwl/nx/issues/32277))
- **angular-rspack:** ensure assets extracted from stylesheets correctly [#32487](https://redirect.github.com/nrwl/nx/issues/32487) ([#32759](https://redirect.github.com/nrwl/nx/pull/32759), [#32487](https://redirect.github.com/nrwl/nx/issues/32487))
- **bundling:** postcss-cli-resources should handle relative urls [#32582](https://redirect.github.com/nrwl/nx/issues/32582) ([#32658](https://redirect.github.com/nrwl/nx/pull/32658), [#32582](https://redirect.github.com/nrwl/nx/issues/32582))
- **core:** ensure only supported bundlers are used for angular fallback to default ([#32655](https://redirect.github.com/nrwl/nx/pull/32655))
- **core:** invalidate project graph when external nodes change ([#32626](https://redirect.github.com/nrwl/nx/pull/32626))
- **core:** check if daemon process is actually alive before trying to kill it ([#32661](https://redirect.github.com/nrwl/nx/pull/32661))
- **core:** add bold styling to terminal pane title when focused ([#32462](https://redirect.github.com/nrwl/nx/pull/32462))
- **core:** resolve watcher infinite loops from missing parent gitignore support ([#32604](https://redirect.github.com/nrwl/nx/pull/32604), [#30313](https://redirect.github.com/nrwl/nx/issues/30313))
- **core:** check nx packages for provenance config before running nx migrate ([#32557](https://redirect.github.com/nrwl/nx/pull/32557))
- **core:** handle uninstalled nx console case in autoinstall logic ([#32673](https://redirect.github.com/nrwl/nx/pull/32673))
- **core:** filter task duration estimation by successful tasks only ([#32688](https://redirect.github.com/nrwl/nx/pull/32688))
- **core:** move git utilities to fix WASM build ([#32695](https://redirect.github.com/nrwl/nx/pull/32695))
- **core:** detect vscode insiders as separate editor ([#32679](https://redirect.github.com/nrwl/nx/pull/32679))
- **core:** exit fork process and children when ipc connection closes ([#32681](https://redirect.github.com/nrwl/nx/pull/32681))
- **core:** improve error messages for provenance checks ([#32680](https://redirect.github.com/nrwl/nx/pull/32680))
- **core:** add missing view command to npm ([#32729](https://redirect.github.com/nrwl/nx/pull/32729))
- **core:** kill child process correctly when run-script executor process is killed and not using pseudoterminal ([#32699](https://redirect.github.com/nrwl/nx/pull/32699))
- **core:** do not shutdown daemon for project graph errors ([#32764](https://redirect.github.com/nrwl/nx/pull/32764))
- **core:** fix misc db-related issues ([#32745](https://redirect.github.com/nrwl/nx/pull/32745))
- **core:** update tui title text structure ([#32793](https://redirect.github.com/nrwl/nx/pull/32793))
- **core:** move from execFile to exec for windows support ([#32836](https://redirect.github.com/nrwl/nx/pull/32836), [#32713](https://redirect.github.com/nrwl/nx/issues/32713))
- **core:** do not show placeholder parallel entries in tui when filtering ([#32837](https://redirect.github.com/nrwl/nx/pull/32837))
- **core:** do not add `cache_outputs` foreign key to `task_details` when `NX_DISABLE_DB=true` ([#32824](https://redirect.github.com/nrwl/nx/pull/32824), [#32208](https://redirect.github.com/nrwl/nx/issues/32208))
- **core:** prevent terminal pane scrolling on tasks list events ([#32818](https://redirect.github.com/nrwl/nx/pull/32818))
- **core:** display prettier valid errors ([#32771](https://redirect.github.com/nrwl/nx/pull/32771))
- **core:** add env var to disable fetching migration metadata from registry ([#32850](https://redirect.github.com/nrwl/nx/pull/32850))
- **core:** project graph creation processes project dependencies correctly ([#32784](https://redirect.github.com/nrwl/nx/pull/32784), [#31454](https://redirect.github.com/nrwl/nx/issues/31454))
- **core:** tweak messaging if vscode / cursor aren't installed ([#32877](https://redirect.github.com/nrwl/nx/pull/32877))
- **core:** spinner shows correct plugin count during project graph creation ([#32871](https://redirect.github.com/nrwl/nx/pull/32871))
- **gradle:** use project configurations to determine project dependencies ([#32704](https://redirect.github.com/nrwl/nx/pull/32704))
- **gradle:** support custom test targets ([#32728](https://redirect.github.com/nrwl/nx/pull/32728))
- **gradle:** skip targets on Netlify since the Java version is too old ([#32852](https://redirect.github.com/nrwl/nx/pull/32852))
- **graph:** update graph package ([#32829](https://redirect.github.com/nrwl/nx/pull/32829))
- **misc:** add typescript output to the eslint ignore when needed ([#32775](https://redirect.github.com/nrwl/nx/pull/32775))
- **misc:** remove unnecessary `bust` property from plugin hashes ([#32807](https://redirect.github.com/nrwl/nx/pull/32807))
- **nest:** setup tsconfig to use decorators [#30749](https://redirect.github.com/nrwl/nx/issues/30749) ([#32859](https://redirect.github.com/nrwl/nx/pull/32859), [#30749](https://redirect.github.com/nrwl/nx/issues/30749))
- **nx-dev:** correct courses page og image ([#32700](https://redirect.github.com/nrwl/nx/pull/32700))
- **nx-dev:** correctly link to url fragments for devkit ([#32565](https://redirect.github.com/nrwl/nx/pull/32565))
- **nx-dev:** implement client-side routing for documentation URLs ([#32708](https://redirect.github.com/nrwl/nx/pull/32708))
- **nx-dev:** fix client-side redirect issue for OSS cloud plan form ([f1b00ca610](https://redirect.github.com/nrwl/nx/commit/f1b00ca610))
- **react:** only add react router plugin when using react router [#32525](https://redirect.github.com/nrwl/nx/issues/32525) ([#32814](https://redirect.github.com/nrwl/nx/pull/32814), [#32525](https://redirect.github.com/nrwl/nx/issues/32525))
- **release:** optimize release version internals ([#32534](https://redirect.github.com/nrwl/nx/pull/32534))
- **repo:** update broken CI documentation link in README ([#32633](https://redirect.github.com/nrwl/nx/pull/32633), [#32549](https://redirect.github.com/nrwl/nx/issues/32549))
- **repo:** move codeql to yml based config s.t. it runs properly on forks ([#32659](https://redirect.github.com/nrwl/nx/pull/32659))
- **repo:** remove duplicate permissions block in publish workflow ([#32868](https://redirect.github.com/nrwl/nx/pull/32868))
- **rspack:** mark svgr support as deprecated ([#32861](https://redirect.github.com/nrwl/nx/pull/32861))
- **vite:** handle config server properly for libs ([#32608](https://redirect.github.com/nrwl/nx/pull/32608))
##### ⚠️ Breaking Changes
- **webpack:** The svgr option has been removed from withReact,
##### ❤️ Thank You
- Benjamin Cabanes [@bcabanes](https://redirect.github.com/bcabanes)
- Caleb Ukle
- Chau Tran [@nartc](https://redirect.github.com/nartc)
- Colum Ferry [@Coly010](https://redirect.github.com/Coly010)
- Copilot [@Copilot](https://redirect.github.com/Copilot)
- Craigory Coppola [@AgentEnder](https://redirect.github.com/AgentEnder)
- Jack Hsu [@jaysoo](https://redirect.github.com/jaysoo)
- James Henry [@JamesHenry](https://redirect.github.com/JamesHenry)
- Jason Jean [@FrozenPandaz](https://redirect.github.com/FrozenPandaz)
- Jonathan Gelin [@jogelin](https://redirect.github.com/jogelin)
- Juri [@juristr](https://redirect.github.com/juristr)
- Leosvel Pérez Espinosa [@leosvelperez](https://redirect.github.com/leosvelperez)
- Louie Weng [@lourw](https://redirect.github.com/lourw)
- MaxKless [@MaxKless](https://redirect.github.com/MaxKless)
- Miguel [@mpsanchis](https://redirect.github.com/mpsanchis)
- Miroslav Jonaš [@meeroslav](https://redirect.github.com/meeroslav)
- Omer
- Philip Fulcher
### [`v21.5.3`](https://redirect.github.com/nrwl/nx/releases/tag/21.5.3)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.5.2...21.5.3)
#### 21.5.3 (2025-09-19)
##### 🚀 Features
- **core:** add NX\_PROJECT\_ROOT environment variable to runti… ([#32736](https://redirect.github.com/nrwl/nx/pull/32736), [#31428](https://redirect.github.com/nrwl/nx/issues/31428))
- **docker:** ensure docker:build dependsOn build ([#32697](https://redirect.github.com/nrwl/nx/pull/32697))
- **nx-dev:** disable Algolia search on non-docs pages when Astro docs are enabled ([#32789](https://redirect.github.com/nrwl/nx/pull/32789))
- **release:** new option preserveMatchingDependencyRanges to not update matching version ranges ([#32556](https://redirect.github.com/nrwl/nx/pull/32556))
##### 🩹 Fixes
- **angular:** install a compatible version of jest for angular ([#32744](https://redirect.github.com/nrwl/nx/pull/32744))
- **angular-rspack:** show correct file sizes in build stats for i18n builds ([#32758](https://redirect.github.com/nrwl/nx/pull/32758), [#32277](https://redirect.github.com/nrwl/nx/issues/32277))
- **angular-rspack:** ensure assets extracted from stylesheets correctly [#32487](https://redirect.github.com/nrwl/nx/issues/32487) ([#32759](https://redirect.github.com/nrwl/nx/pull/32759), [#32487](https://redirect.github.com/nrwl/nx/issues/32487))
- **core:** exit fork process and children when ipc connection closes ([#32681](https://redirect.github.com/nrwl/nx/pull/32681))
- **core:** improve error messages for provenance checks ([#32680](https://redirect.github.com/nrwl/nx/pull/32680))
- **core:** add missing view command to npm ([#32729](https://redirect.github.com/nrwl/nx/pull/32729))
- **core:** kill child process correctly when run-script executor process is killed and not using pseudoterminal ([#32699](https://redirect.github.com/nrwl/nx/pull/32699))
- **core:** do not shutdown daemon for project graph errors ([#32764](https://redirect.github.com/nrwl/nx/pull/32764))
- **core:** fix misc db-related issues ([#32745](https://redirect.github.com/nrwl/nx/pull/32745))
- **gradle:** use project configurations to determine project dependencies ([#32704](https://redirect.github.com/nrwl/nx/pull/32704))
- **misc:** add typescript output to the eslint ignore when needed ([#32775](https://redirect.github.com/nrwl/nx/pull/32775))
- **nx-dev:** correct courses page og image ([#32700](https://redirect.github.com/nrwl/nx/pull/32700))
- **nx-dev:** correctly link to url fragments for devkit ([#32565](https://redirect.github.com/nrwl/nx/pull/32565))
- **nx-dev:** implement client-side routing for documentation URLs ([#32708](https://redirect.github.com/nrwl/nx/pull/32708))
- **repo:** move codeql to yml based config s.t. it runs properly on forks ([#32659](https://redirect.github.com/nrwl/nx/pull/32659))
##### ❤️ Thank You
- Caleb Ukle
- Colum Ferry [@Coly010](https://redirect.github.com/Coly010)
- Craigory Coppola [@AgentEnder](https://redirect.github.com/AgentEnder)
- Jack Hsu [@jaysoo](https://redirect.github.com/jaysoo)
- Jason Jean [@FrozenPandaz](https://redirect.github.com/FrozenPandaz)
- Leosvel Pérez Espinosa [@leosvelperez](https://redirect.github.com/leosvelperez)
- MaxKless [@MaxKless](https://redirect.github.com/MaxKless)
- Philip Fulcher
### [`v21.5.2`](https://redirect.github.com/nrwl/nx/releases/tag/21.5.2)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.5.1...21.5.2)
#### 21.5.2 (2025-09-11)
##### 🚀 Features
- **docker:** add env var for providing docker registry ([#32676](https://redirect.github.com/nrwl/nx/pull/32676))
- **misc:** add Cookiebot global scripts to astro-docs ([#32660](https://redirect.github.com/nrwl/nx/pull/32660))
- **rspack:** respect deleteOutputPath option in rspack executor ([#32609](https://redirect.github.com/nrwl/nx/pull/32609), [#32015](https://redirect.github.com/nrwl/nx/issues/32015))
##### 🩹 Fixes
- **bundling:** postcss-cli-resources should handle relative urls [#32582](https://redirect.github.com/nrwl/nx/issues/32582) ([#32658](https://redirect.github.com/nrwl/nx/pull/32658), [#32582](https://redirect.github.com/nrwl/nx/issues/32582))
- **core:** ensure only supported bundlers are used for angular fallback to default ([#32655](https://redirect.github.com/nrwl/nx/pull/32655))
- **core:** invalidate project graph when external nodes change ([#32626](https://redirect.github.com/nrwl/nx/pull/32626))
- **core:** check if daemon process is actually alive before trying to kill it ([#32661](https://redirect.github.com/nrwl/nx/pull/32661))
- **core:** add bold styling to terminal pane title when focused ([#32462](https://redirect.github.com/nrwl/nx/pull/32462))
- **core:** resolve watcher infinite loops from missing parent gitignore support ([#32604](https://redirect.github.com/nrwl/nx/pull/32604), [#30313](https://redirect.github.com/nrwl/nx/issues/30313))
- **core:** check nx packages for provenance config before running nx migrate ([#32557](https://redirect.github.com/nrwl/nx/pull/32557))
- **core:** handle uninstalled nx console case in autoinstall logic ([#32673](https://redirect.github.com/nrwl/nx/pull/32673))
- **core:** filter task duration estimation by successful tasks only ([#32688](https://redirect.github.com/nrwl/nx/pull/32688))
- **core:** move git utilities to fix WASM build ([#32695](https://redirect.github.com/nrwl/nx/pull/32695))
- **core:** detect vscode insiders as separate editor ([#32679](https://redirect.github.com/nrwl/nx/pull/32679))
- **release:** optimize release version internals ([#32534](https://redirect.github.com/nrwl/nx/pull/32534))
- **repo:** update broken CI documentation link in README ([#32633](https://redirect.github.com/nrwl/nx/pull/32633), [#32549](https://redirect.github.com/nrwl/nx/issues/32549))
- **vite:** handle config server properly for libs ([#32608](https://redirect.github.com/nrwl/nx/pull/32608))
##### ❤️ Thank You
- Colum Ferry [@Coly010](https://redirect.github.com/Coly010)
- Copilot [@Copilot](https://redirect.github.com/Copilot)
- Craigory Coppola [@AgentEnder](https://redirect.github.com/AgentEnder)
- Jack Hsu [@jaysoo](https://redirect.github.com/jaysoo)
- Jason Jean [@FrozenPandaz](https://redirect.github.com/FrozenPandaz)
- Leosvel Pérez Espinosa [@leosvelperez](https://redirect.github.com/leosvelperez)
- MaxKless [@MaxKless](https://redirect.github.com/MaxKless)
- Miguel [@mpsanchis](https://redirect.github.com/mpsanchis)
- Miroslav Jonaš [@meeroslav](https://redirect.github.com/meeroslav)
- Omer
### [`v21.5.1`](https://redirect.github.com/nrwl/nx/releases/tag/21.5.1)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.4.1...21.5.1)
#### 21.5.1 (2025-09-08)
##### 🚀 Features
- **angular:** support angular v20.2 ([#32351](https://redirect.github.com/nrwl/nx/pull/32351))
- **angular-rspack:** do not rely on postinstall >20.2 ([#32613](https://redirect.github.com/nrwl/nx/pull/32613))
- **core:** add incompatibleWith field for packageJsonUpdates ([#32464](https://redirect.github.com/nrwl/nx/pull/32464))
- **core:** auto-retry lock files changed daemon msgs ([#32489](https://redirect.github.com/nrwl/nx/pull/32489))
- **core:** add NX\_PROJECT\_ROOT environment variable to runtime cache inputs ([#31428](https://redirect.github.com/nrwl/nx/pull/31428), [#20949](https://redirect.github.com/nrwl/nx/issues/20949))
- **graph:** task graph support multiple targets ([#32418](https://redirect.github.com/nrwl/nx/pull/32418))
- **graph:** unwrap `RankDirPanel` from experimental ([#32490](https://redirect.github.com/nrwl/nx/pull/32490), [#32482](https://redirect.github.com/nrwl/nx/issues/32482), [#32481](https://redirect.github.com/nrwl/nx/issues/32481))
- **js:** add includeIgnoredAssetFiles option and per-asset includeIgnoredFiles ([#31813](https://redirect.github.com/nrwl/nx/pull/31813))
- **js:** detect duplicate project references in `@nx/js:typescript-sync` ([#32443](https://redirect.github.com/nrwl/nx/pull/32443))
- **module-federation:** align dynamic federation with latest from module federation and rspack ([#32509](https://redirect.github.com/nrwl/nx/pull/32509), [#32542](https://redirect.github.com/nrwl/nx/issues/32542))
- **nx:** use platform certificate trust store ([#31999](https://redirect.github.com/nrwl/nx/pull/31999))
- **nx-dev:** link ukg article on homepage ([c02d448b9f](https://redirect.github.com/nrwl/nx/commit/c02d448b9f))
- **nx-dev:** configure rewrite to astro-docs when NEXT\_PUBLIC\_ASTRO\_URL is set ([#32424](https://redirect.github.com/nrwl/nx/pull/32424))
- **nx-dev:** nx.dev homepage feature illustrations and CTA ([#32298](https://redirect.github.com/nrwl/nx/pull/32298))
- **nx-dev:** update homepage subtagline ([2af5446fba](https://redirect.github.com/nrwl/nx/commit/2af5446fba))
- **rspack:** add support for converting webpack plugin configs [#30292](https://redirect.github.com/nrwl/nx/issues/30292) ([#32382](https://redirect.github.com/nrwl/nx/pull/32382), [#30292](https://redirect.github.com/nrwl/nx/issues/30292))
- **rspack:** support passing templateParameters to HtmlRspackPlugin ([#32553](https://redirect.github.com/nrwl/nx/pull/32553))
- **tools:** add repository update system for automated Nx migrations ([#32124](https://redirect.github.com/nrwl/nx/pull/32124))
- **vite:** support vite 7 ([#32422](https://redirect.github.com/nrwl/nx/pull/32422))
- **webpack:** migrate from deprecated url.parse() to WHATWG URL API ([f768886ae7](https://redirect.github.com/nrwl/nx/commit/f768886ae7))
##### 🩹 Fixes
- **angular:** set the `tsConfig` option when possible to aid with angular migrations ([#32355](https://redirect.github.com/nrwl/nx/pull/32355), [#32138](https://redirect.github.com/nrwl/nx/issues/32138))
- **angular:** do not update project configuration when not changes were made in migration ([#32448](https://redirect.github.com/nrwl/nx/pull/32448))
- **angular-rspack:** do not error on server budget violation ([#32445](https://redirect.github.com/nrwl/nx/pull/32445))
- **core:** improve Cursor editor detection and extension installation ([#32374](https://redirect.github.com/nrwl/nx/pull/32374))
- **core:** ensure deterministic dummy task generation in task graphs ([#32414](https://redirect.github.com/nrwl/nx/pull/32414))
- **core:** handle unsupported platforms in Cursor IDE install command ([#32419](https://redirect.github.com/nrwl/nx/pull/32419))
- **core:** only prompt for NX Console installation in TTY environments ([#32425](https://redirect.github.com/nrwl/nx/pull/32425))
- **core:** enhance validation for continuous task dependencies ([#31786](https://redirect.github.com/nrwl/nx/pull/31786))
- **core:** retry current message when receiving NX\_VERSION\_CHANGED from daemon ([#32417](https://redirect.github.com/nrwl/nx/pull/32417), [#29446](https://redirect.github.com/nrwl/nx/issues/29446))
- **core:** use black for all fg elements when in light theme ([#32415](https://redirect.github.com/nrwl/nx/pull/32415))
- **core:** fail fast when running commands in parallel ([#32386](https://redirect.github.com/nrwl/nx/pull/32386), [#28477](https://redirect.github.com/nrwl/nx/issues/28477))
- **core:** handle no daemon when stopping ([#32455](https://redirect.github.com/nrwl/nx/pull/32455))
- **core:** create pnpm peer deps settings in the appropriate location when creating workspace ([#32470](https://redirect.github.com/nrwl/nx/pull/32470))
- **core:** repair nx mcp in pnpm/yarn ([#32452](https://redirect.github.com/nrwl/nx/pull/32452))
- **core:** allow additional properties in ProjectMetadata type ([#32483](https://redirect.github.com/nrwl/nx/pull/32483))
- **core:** normalize root project root when merging project config results ([#32517](https://redirect.github.com/nrwl/nx/pull/32517))
- **core:** detect devcontainer environment and skip Nx Console installation prompt if it exists ([#32571](https://redirect.github.com/nrwl/nx/pull/32571))
- **core:** use more reasonable scroll speed on trackpads ([#32603](https://redirect.github.com/nrwl/nx/pull/32603))
- **core:** exclude non-cacheable tasks from flaky detection ([#32435](https://redirect.github.com/nrwl/nx/pull/32435))
- **core:** reduce CPU usage by adding 20ms interval to daemon process check ([#32618](https://redirect.github.com/nrwl/nx/pull/32618))
- **devkit:** restore peer dep range to 2 majors ([#32406](https://redirect.github.com/nrwl/nx/pull/32406), [#31801](https://redirect.github.com/nrwl/nx/issues/31801))
- **devkit:** include UPDATE changes in findCreatedProjectFiles for generator callbacks ([#31429](https://redirect.github.com/nrwl/nx/pull/31429), [#29852](https://redirect.github.com/nrwl/nx/issues/29852))
- **devkit:** remove `nx` as direct dependency ([#32614](https://redirect.github.com/nrwl/nx/pull/32614))
- **expo:** export output should be within project directory ([#32477](https://redirect.github.com/nrwl/nx/pull/32477))
- **gradle:** use AST parsing to migrate updates to version catalogs ([#32463](https://redirect.github.com/nrwl/nx/pull/32463))
- **gradle:** allow test target name to be configuration from nx.json ([#32416](https://redirect.github.com/nrwl/nx/pull/32416))
- **gradle:** allow test target name to be configured from nx.json" ([#32637](https://redirect.github.com/nrwl/nx/pull/32637), [#32416](https://redirect.github.com/nrwl/nx/issues/32416))
- **graph:** some misc fixes to the graph ([#32401](https://redirect.github.com/nrwl/nx/pull/32401))
- **graph:** nxArgs.projects can be an empty array ([#32479](https://redirect.github.com/nrwl/nx/pull/32479))
- **graph:** project details navigating for new taskGraph and tasks with default configuration on UI ([#32510](https://redirect.github.com/nrwl/nx/pull/32510))
- **graph:** repair theme detection for nx console components ([#32607](https://redirect.github.com/nrwl/nx/pull/32607))
- **js:** esm loader should handle absolute paths on windows [#32376](https://redirect.github.com/nrwl/nx/issues/32376) ([#32383](https://redirect.github.com/nrwl/nx/pull/32383), [#32376](https://redirect.github.com/nrwl/nx/issues/32376))
- **js:** improve `@nx/js/typescript` plugin check for buildable libraries ([#32405](https://redirect.github.com/nrwl/nx/pull/32405), [#32116](https://redirect.github.com/nrwl/nx/issues/32116), [#32290](https://redirect.github.com/nrwl/nx/issues/32290))
- **js:** do not infer the project type in the `@nx/js/typescript` plugin ([#32421](https://redirect.github.com/nrwl/nx/pull/32421))
- **js:** use a unique typescript custom condition name for the workspace ([#32429](https://redirect.github.com/nrwl/nx/pull/32429), [#31332](https://redirect.github.com/nrwl/nx/issues/31332))
- **js:** store stale references correctly in `typescript-sync` generator ([#32596](https://redirect.github.com/nrwl/nx/pull/32596))
- **misc:** update [@types/node](https://redirect.github.com/types/node) to v20.19.9 to support fetch API ([#32092](https://redirect.github.com/nrwl/nx/pull/32092), [#31637](https://redirect.github.com/nrwl/nx/issues/31637))
- **misc:** respect string values in alwaysAddToPackageJson migration flag ([#32433](https://redirect.github.com/nrwl/nx/pull/32433), [#30586](https://redirect.github.com/nrwl/nx/issues/30586))
- **misc:** check for `packages` existence to detect pnpm workspaces setup ([#32474](https://redirect.github.com/nrwl/nx/pull/32474))
- **module-federation:** do not rely on virtualRuntimeEntry [#31831](https://redirect.github.com/nrwl/nx/issues/31831) ([#32387](https://redirect.github.com/nrwl/nx/pull/32387), [#31831](https://redirect.github.com/nrwl/nx/issues/31831), [#32404](https://redirect.github.com/nrwl/nx/issues/32404))
- **nx-cloud:** read package.json correctly for workspace name when creating new cloud workspace ([#32504](https://redirect.github.com/nrwl/nx/pull/32504))
- **nx-cloud:** forward --help to nx-cloud aliases ([#32627](https://redirect.github.com/nrwl/nx/pull/32627))
- **nx-dev:** update navbar CTA buttons and updates event tracking ([#32392](https://redirect.github.com/nrwl/nx/pull/32392))
- **nx-dev:** re-enable contact form ([#32493](https://redirect.github.com/nrwl/nx/pull/32493))
- **nx-dev:** task graph should not break docs ([#32501](https://redirect.github.com/nrwl/nx/pull/32501))
- **nx-dev:** update header logo to link to nx.dev homepage ([#32502](https://redirect.github.com/nrwl/nx/pull/32502))
- **nx-dev:** issue with index pages not showing content lists ([#32559](https://redirect.github.com/nrwl/nx/pull/32559))
- **nx-dev:** resolve multiple styling issues in Astro documentation ([#32561](https://redirect.github.com/nrwl/nx/pull/32561))
- **nx-dev:** add missing data in plugin migrations ([#32562](https://redirect.github.com/nrwl/nx/pull/32562))
- **nx-dev:** remove self-referencing redirects causing infinite loops ([#32615](https://redirect.github.com/nrwl/nx/pull/32615))
- **plugin:** handle directory paths correctly in executor and generator generators ([#31856](https://redirect.github.com/nrwl/nx/pull/31856), [#31803](https://redirect.github.com/nrwl/nx/issues/31803), [#31776](https://redirect.github.com/nrwl/nx/issues/31776))
- **release:** ensure versionData is accurate for all transitive dependencies ([#32531](https://redirect.github.com/nrwl/nx/pull/32531))
- **rspack:** expand serve-static target names for init generator ([#32587](https://redirect.github.com/nrwl/nx/pull/32587))
- **testing:** support NX\_CACHE\_PROJECT\_GRAPH when reading inferred config from jest cache file ([#32380](https://redirect.github.com/nrwl/nx/pull/32380))
- **testing:** fall back to `tsconfig.json` in the jest resolver ([#32083](https://redirect.github.com/nrwl/nx/pull/32083))
- **testing:** log the correct installed cypress version when erroring due to using an unsupported version ([#32598](https://redirect.github.com/nrwl/nx/pull/32598))
- **webpack:** migrate from deprecated url.parse() to WHATWG URL API ([#32399](https://redirect.github.com/nrwl/nx/pull/32399))
##### ❤️ Thank You
- Caleb Ukle
- Chau Tran [@nartc](https://redirect.github.com/nartc)
- Colum Ferry [@Coly010](https://redirect.github.com/Coly010)
- Craigory Coppola [@AgentEnder](https://redirect.github.com/AgentEnder)
- FrozenPandaz [@FrozenPandaz](https://redirect.github.com/FrozenPandaz)
- Jack Hsu [@jaysoo](https://redirect.github.com/jaysoo)
- Jason Jean [@FrozenPandaz](https://redirect.github.com/FrozenPandaz)
- Jonathan Gelin [@jogelin](https://redirect.github.com/jogelin)
- Juri [@juristr](https://redirect.github.com/juristr)
- Juri Strumpflohner [@juristr](https://redirect.github.com/juristr)
- Leosvel Pérez Espinosa [@leosvelperez](https://redirect.github.com/leosvelperez)
- Louie Weng [@lourw](https://redirect.github.com/lourw)
- Marc Palm [@marcpalm](https://redirect.github.com/marcpalm)
- MaxKless [@MaxKless](https://redirect.github.com/MaxKless)
- Miguel [@mpsanchis](https://redirect.github.com/mpsanchis)
- Nicholas Cunningham [@ndcunningham](https://redirect.github.com/ndcunningham)
- Nicole Oliver
- Rares Matei
- Steven Nance
- Tomáš Čarnecký [@wereHamster](https://redirect.github.com/wereHamster)
### [`v21.4.1`](https://redirect.github.com/nrwl/nx/releases/tag/21.4.1)
[Compare Source](https://redirect.github.com/nrwl/nx/compare/21.4.0...21.4.1)
#### 21.4.1 (2025-08-22)
##### 🚀 Features
- **graph:** task graph support multiple targets ([#32418](https://redirect.github.com/nrwl/nx/pull/32418))
- **js:** add includeIgnoredAssetFiles option and per-asset includeIgnoredFiles ([#31813](https://redirect.github.com/nrwl/nx/pull/31813))
- **js:** detect duplicate project references in `@nx/js:typescript-sync` ([#32443](https://redirect.github.com/nrwl/nx/pull/32443))
- **nx:** use platform certificate trust store ([#31999](https://redirect.github.com/nrwl/nx/pull/31999))
- **nx-dev:** link ukg article on homepage ([8d16697547](https://redirect.github.com/nrwl/nx/commit/8d16697547))
- **nx-dev:** configure rewrite to astro-docs when NEXT\_PUBLIC\_ASTRO\_URL is set ([#32424](https://redirect.github.com/nrwl/nx/pull/32424))
- **repo:** add GitHub Actions workflow to validate PR titles ([#32458](https://redirect.github.com/nrwl/nx/pull/32458))
- **rspack:** add support for converting webpack plugin configs [#30292](https://redirect.github.com/nrwl/nx/issues/30292) ([#32382](https://redirect.github.com/nrwl/nx/pull/32382), [#30292](https://redirect.github.com/nrwl/nx/issues/30292))
- **tools:** add repository update system for automated Nx migrations ([#32124](https://redirect.github.com/nrwl/nx/pull/32124))
- **webpack:** migrate from deprecated url.parse() to WHATWG URL API ([70fb618785](https://redirect.github.com/nrwl/nx/commit/70fb618785))
##### 🩹 Fixes
- **angular:** set the `tsConfig` option when possible to aid with angular migrations ([#32355](https://redirect.github.com/nrwl/nx/pull/32355), [#32138](https://redirect.github.com/nrwl/nx/issues/32138))
- **angular:** do not update project configuration when not changes were made in migration ([#32448](https://redirect.github.com/nrwl/nx/pull/32448))
- **angular-rspack:** do not error on server budget violation ([#32445](https://redirect.github.com/nrwl/nx/pull/32445))
- **core:** improve Cursor editor detection and extension installation ([#32374](https://redirect.github.com/nrwl/nx/pull/32374))
- **core:** ensure deterministic dummy task generation in task graphs ([#32414](https://redirect.github.com/nrwl/nx/pull/32414))
- **core:** handle unsupported platforms in Cursor IDE install command ([#32419](https://redirect.github.com/nrwl/nx/pull/32419))
- **core:** only prompt for NX Console installation in TTY environments ([#32425](https://redirect.github.com/nrwl/nx/pull/32425))
- **core:** enhance validation for continuous task dependencies ([#31786](https://redirect.github.com/nrwl/nx/pull/31786))
- **core:** retry current message when receiving NX\_VERSION\_CHANGED from daemon ([#32417](https://redirect.github.com/nrwl/nx/pull/32417), [#29446](https://redirect.github.com/nrwl/nx/issues/29446))
- **core:** use black for all fg elements when in light theme ([#32415](https://redirect.github.com/nrwl/nx/pull/32415))
- **core:** fail fast when running commands in parallel ([#32386](https://redirect.github.com/nrwl/nx/pull/32386), [#28477](https://redirect.github.com/nrwl/nx/issues/28477))
- **core:** handle no daemon when stopping ([#32455](https://redirect.github.com/nrwl/nx/pull/32455))
- **core:** create pnpm peer deps settings in the appropriate location when creating workspace ([#32470](https://redirect.github.com/nrwl/nx/pull/32470))
- **core:** repair nx mcp in pnpm/yarn ([#32452](https://redirect.github.com/nrwl/nx/pull/32452))
- **devkit:** restore peer dep range to 2 majors ([#32406](https://redirect.github.com/nrwl/nx/pull/32406), [#31801](https://redirect.github.com/nrwl/nx/issues/31801))
- **devkit:** include UPDATE changes in findCreatedProjectFiles for generator callbacks ([#31429](https://redirect.github.com/nrwl/nx/pull/31429), [#29852](https://redirect.github.com/nrwl/nx/issues/29852))
- **expo:** export output should be within project directory ([#32477](https://redirect.github.com/nrwl/nx/pull/32477))
- **gradle:** use AST parsing to migrate updates to version catalogs ([#32463](https://redirect.github.com/nrwl/nx/pull/32463))
- **gradle:** allow test target name to be configuration from nx.json ([#32416](https://redirect.github.com/nrwl/nx/pull/32416))
- **graph:** some misc fixes to the graph ([#32401](https://redirect.github.com/nrwl/nx/pull/32401))
- **graph:** nxArgs.projects can be an empty array ([#32479](https://redirect.github.com/nrwl/nx/pull/32479))
- **js:** esm loader should handle absolute paths on windows [#32376](https://redirect.github.com/nrwl/nx/issues/32376) ([#32383](https://redirect.github.com/nrwl/nx/pull/32383), [#32376](https://redirect.github.com/nrwl/nx/issues/32376))
- **js:** improve `@nx/js/typescript` plugin check for buildable libraries ([#32405](https://redirect.github.com/nrwl/nx/pull/32405), [#32116](https://redirect.github.com/nrwl/nx/issues/32116), [#32290](https://redirect.github.com/nrwl/nx/issues/32290))
- **js:** do not infer the project type in the `@nx/js/typescript` plugin ([#32421](https://redirect.github.com/nrwl/nx/pull/32421))
- **misc:** update [@types/node](https://redirect.github.com/types/node) to v20.19.9 to support fetch API ([#32092](https://redirect.github.com/nrwl/nx/pull/32092), [#31637](https:
Configuration
📅 Schedule: Branch creation - "every weekend" in timezone Europe/Paris, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
Originally posted by: renovate[bot]
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below:
File name: package-lock.json
Originally posted by: renovate[bot]
Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠️ Warning: custom changes will be lost.