The Workspace plugin contains executors and generators that are useful for any Nx workspace. It should be present in every Nx workspace and other plugins build on it.
Last release today
26 Aug 2026
Ships on a steady schedule
a new release about every 9 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
3 years old
1890 releases · first in 2023
Release timeline
1890 releases since 2023Releases
- 21.6.1-beta.09 Sept 2025pre-release
Release notes
Open source →21.6.1-beta.0 (2025-09-09)
🚀 Features
- core: replace the pagination from the tui tasks list with scrolling (#32560)
- misc: add Cookiebot global scripts to astro-docs (#32660)
- testing: infer task to merge reports from playwright atomized tasks (#31615)
🩹 Fixes
- bundling: postcss-cli-resources should handle relative urls #32582 (#32658, #32582)
- core: ensure only supported bundlers are used for angular fallback to default (#32655)
- core: invalidate project graph when external nodes change (#32626)
- core: check if daemon process is actually alive before trying to kill it (#32661)
- core: add bold styling to terminal pane title when focused (#32462)
- core: resolve watcher infinite loops from missing parent gitignore support (#32604, #30313)
- core: check nx packages for provenance config before running nx migrate (#32557)
- core: handle uninstalled nx console case in autoinstall logic (#32673)
- core: filter task duration estimation by successful tasks only (#32688)
- release: optimize release version internals (#32534)
- repo: update broken CI documentation link in README (#32633, #32549)
- vite: handle config server properly for libs (#32608)
❤️ Thank You
- Colum Ferry @Coly010
- Copilot @Copilot
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- Miguel @mpsanchis
- Miroslav Jonaš @meeroslav
- 21.6.0-canary.20250926-7f4a8ea26 Sept 2025pre-release
Nothing published for this version
- 21.6.0-canary.20250926-6480d3d26 Sept 2025pre-release
Nothing published for this version
- 21.6.0-canary.20250924-bd1b68924 Sept 2025pre-release
Nothing published for this version
- 21.6.0-canary.20250923-146f57723 Sept 2025pre-release
Nothing published for this version
- 21.6.0-canary.20250922-dbcafa022 Sept 2025pre-release
Nothing published for this version
- 21.6.0-canary.20250917-93fcc4817 Sept 2025pre-release
Nothing published for this version
- 21.6.0-canary.20250916-a42997216 Sept 2025pre-release
Nothing published for this version
- 21.6.0-canary.20250915-98c47f015 Sept 2025pre-release
Nothing published for this version
- 21.6.0-canary.20250912-cfc03a212 Sept 2025pre-release
Nothing published for this version
- 21.6.0-canary.20250908-95e7b498 Sept 2025pre-release
Nothing published for this version
- 21.5.319 Sept 2025
Release notes
Open source →21.5.3 (2025-09-19)
🚀 Features
- core: add NX_PROJECT_ROOT environment variable to runti… (#32736, #31428)
- docker: ensure docker:build dependsOn build (#32697)
- nx-dev: disable Algolia search on non-docs pages when Astro docs are enabled (#32789)
- release: new option preserveMatchingDependencyRanges to not update matching version ranges (#32556)
🩹 Fixes
- angular: install a compatible version of jest for angular (#32744)
- angular-rspack: show correct file sizes in build stats for i18n builds (#32758, #32277)
- angular-rspack: ensure assets extracted from stylesheets correctly #32487 (#32759, #32487)
- core: exit fork process and children when ipc connection closes (#32681)
- core: improve error messages for provenance checks (#32680)
- core: add missing view command to npm (#32729)
- core: kill child process correctly when run-script executor process is killed and not using pseudoterminal (#32699)
- core: do not shutdown daemon for project graph errors (#32764)
- core: fix misc db-related issues (#32745)
- gradle: use project configurations to determine project dependencies (#32704)
- misc: add typescript output to the eslint ignore when needed (#32775)
- nx-dev: correct courses page og image (#32700)
- nx-dev: correctly link to url fragments for devkit (#32565)
- nx-dev: implement client-side routing for documentation URLs (#32708)
- repo: move codeql to yml based config s.t. it runs properly on forks (#32659)
❤️ Thank You
- Caleb Ukle
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- Philip Fulcher
- 21.5.211 Sept 2025
Release notes
Open source →21.5.2 (2025-09-11)
🚀 Features
- docker: add env var for providing docker registry (#32676)
- misc: add Cookiebot global scripts to astro-docs (#32660)
- rspack: respect deleteOutputPath option in rspack executor (#32609, #32015)
🩹 Fixes
- bundling: postcss-cli-resources should handle relative urls #32582 (#32658, #32582)
- core: ensure only supported bundlers are used for angular fallback to default (#32655)
- core: invalidate project graph when external nodes change (#32626)
- core: check if daemon process is actually alive before trying to kill it (#32661)
- core: add bold styling to terminal pane title when focused (#32462)
- core: resolve watcher infinite loops from missing parent gitignore support (#32604, #30313)
- core: check nx packages for provenance config before running nx migrate (#32557)
- core: handle uninstalled nx console case in autoinstall logic (#32673)
- core: filter task duration estimation by successful tasks only (#32688)
- core: move git utilities to fix WASM build (#32695)
- core: detect vscode insiders as separate editor (#32679)
- release: optimize release version internals (#32534)
- repo: update broken CI documentation link in README (#32633, #32549)
- vite: handle config server properly for libs (#32608)
❤️ Thank You
- Colum Ferry @Coly010
- Copilot @Copilot
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- Miguel @mpsanchis
- Miroslav Jonaš @meeroslav
- Omer
- 21.5.18 Sept 2025
Release notes
Open source →21.5.1 (2025-09-08)
🚀 Features
- angular: support angular v20.2 (#32351)
- angular-rspack: do not rely on postinstall >20.2 (#32613)
- core: add incompatibleWith field for packageJsonUpdates (#32464)
- core: auto-retry lock files changed daemon msgs (#32489)
- core: add NX_PROJECT_ROOT environment variable to runtime cache inputs (#31428, #20949)
- graph: task graph support multiple targets (#32418)
- graph: unwrap
RankDirPanelfrom experimental (#32490, #32482, #32481) - js: add includeIgnoredAssetFiles option and per-asset includeIgnoredFiles (#31813)
- js: detect duplicate project references in
@nx/js:typescript-sync(#32443) - module-federation: align dynamic federation with latest from module federation and rspack (#32509, #32542)
- nx: use platform certificate trust store (#31999)
- nx-dev: link ukg article on homepage (c02d448b9f)
- nx-dev: configure rewrite to astro-docs when NEXT_PUBLIC_ASTRO_URL is set (#32424)
- nx-dev: nx.dev homepage feature illustrations and CTA (#32298)
- nx-dev: update homepage subtagline (2af5446fba)
- rspack: add support for converting webpack plugin configs #30292 (#32382, #30292)
- rspack: support passing templateParameters to HtmlRspackPlugin (#32553)
- tools: add repository update system for automated Nx migrations (#32124)
- vite: support vite 7 (#32422)
- webpack: migrate from deprecated url.parse() to WHATWG URL API (f768886ae7)
🩹 Fixes
- angular: set the
tsConfigoption when possible to aid with angular migrations (#32355, #32138) - angular: do not update project configuration when not changes were made in migration (#32448)
- angular-rspack: do not error on server budget violation (#32445)
- core: improve Cursor editor detection and extension installation (#32374)
- core: ensure deterministic dummy task generation in task graphs (#32414)
- core: handle unsupported platforms in Cursor IDE install command (#32419)
- core: only prompt for NX Console installation in TTY environments (#32425)
- core: enhance validation for continuous task dependencies (#31786)
- core: retry current message when receiving NX_VERSION_CHANGED from daemon (#32417, #29446)
- core: use black for all fg elements when in light theme (#32415)
- core: fail fast when running commands in parallel (#32386, #28477)
- core: handle no daemon when stopping (#32455)
- core: create pnpm peer deps settings in the appropriate location when creating workspace (#32470)
- core: repair nx mcp in pnpm/yarn (#32452)
- core: allow additional properties in ProjectMetadata type (#32483)
- core: normalize root project root when merging project config results (#32517)
- core: detect devcontainer environment and skip Nx Console installation prompt if it exists (#32571)
- core: use more reasonable scroll speed on trackpads (#32603)
- core: exclude non-cacheable tasks from flaky detection (#32435)
- core: reduce CPU usage by adding 20ms interval to daemon process check (#32618)
- devkit: restore peer dep range to 2 majors (#32406, #31801)
- devkit: include UPDATE changes in findCreatedProjectFiles for generator callbacks (#31429, #29852)
- devkit: remove
nxas direct dependency (#32614) - expo: export output should be within project directory (#32477)
- gradle: use AST parsing to migrate updates to version catalogs (#32463)
- gradle: allow test target name to be configuration from nx.json (#32416)
- gradle: allow test target name to be configured from nx.json" (#32637, #32416)
- graph: some misc fixes to the graph (#32401)
- graph: nxArgs.projects can be an empty array (#32479)
- graph: project details navigating for new taskGraph and tasks with default configuration on UI (#32510)
- graph: repair theme detection for nx console components (#32607)
- js: esm loader should handle absolute paths on windows #32376 (#32383, #32376)
- js: improve
@nx/js/typescriptplugin check for buildable libraries (#32405, #32116, #32290) - js: do not infer the project type in the
@nx/js/typescriptplugin (#32421) - js: use a unique typescript custom condition name for the workspace (#32429, #31332)
- js: store stale references correctly in
typescript-syncgenerator (#32596) - misc: update @types/node to v20.19.9 to support fetch API (#32092, #31637)
- misc: respect string values in alwaysAddToPackageJson migration flag (#32433, #30586)
- misc: check for
packagesexistence to detect pnpm workspaces setup (#32474) - module-federation: do not rely on virtualRuntimeEntry #31831 (#32387, #31831, #32404)
- nx-cloud: read package.json correctly for workspace name when creating new cloud workspace (#32504)
- nx-cloud: forward --help to nx-cloud aliases (#32627)
- nx-dev: update navbar CTA buttons and updates event tracking (#32392)
- nx-dev: re-enable contact form (#32493)
- nx-dev: task graph should not break docs (#32501)
- nx-dev: update header logo to link to nx.dev homepage (#32502)
- nx-dev: issue with index pages not showing content lists (#32559)
- nx-dev: resolve multiple styling issues in Astro documentation (#32561)
- nx-dev: add missing data in plugin migrations (#32562)
- nx-dev: remove self-referencing redirects causing infinite loops (#32615)
- plugin: handle directory paths correctly in executor and generator generators (#31856, #31803, #31776)
- release: ensure versionData is accurate for all transitive dependencies (#32531)
- rspack: expand serve-static target names for init generator (#32587)
- testing: support NX_CACHE_PROJECT_GRAPH when reading inferred config from jest cache file (#32380)
- testing: fall back to
tsconfig.jsonin the jest resolver (#32083) - testing: log the correct installed cypress version when erroring due to using an unsupported version (#32598)
- webpack: migrate from deprecated url.parse() to WHATWG URL API (#32399)
❤️ Thank You
- Caleb Ukle
- Chau Tran @nartc
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Jonathan Gelin @jogelin
- Juri @juristr
- Juri Strumpflohner @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Louie Weng @lourw
- Marc Palm @marcpalm
- MaxKless @MaxKless
- Miguel @mpsanchis
- Nicholas Cunningham @ndcunningham
- Nicole Oliver
- Rares Matei
- Steven Nance
- Tomáš Čarnecký @wereHamster
- 21.5.1-beta.55 Sept 2025pre-release
- 21.5.1-beta.45 Sept 2025pre-release
Release notes
Open source →21.5.1-beta.4 (2025-09-05)
🚀 Features
- angular-rspack: do not rely on postinstall >20.2 (#32613)
- core: add NX_PROJECT_ROOT environment variable to runtime cache inputs (#31428, #20949)
🩹 Fixes
- core: use more reasonable scroll speed on trackpads (#32603)
- core: exclude non-cacheable tasks from flaky detection (#32435)
- core: reduce CPU usage by adding 20ms interval to daemon process check (#32618)
- devkit: remove
nxas direct dependency (#32614) - graph: repair theme detection for nx console components (#32607)
- nx-cloud: forward --help to nx-cloud aliases (#32627)
- nx-dev: remove self-referencing redirects causing infinite loops (#32615)
❤️ Thank You
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- Rares Matei
- 21.5.1-beta.33 Sept 2025pre-release
Release notes
Open source →21.5.1-beta.3 (2025-09-03)
🚀 Features
- nx-dev: update homepage subtagline (2af5446fba)
🩹 Fixes
- js: store stale references correctly in
typescript-syncgenerator (#32596) - release: ensure versionData is accurate for all transitive dependencies (#32531)
- testing: log the correct installed cypress version when erroring due to using an unsupported version (#32598)
❤️ Thank You
- Juri @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Miguel @mpsanchis
- 21.5.0-canary.20250904-ec1f1a44 Sept 2025pre-release
Nothing published for this version
- 21.5.0-canary.20250904-2c678a14 Sept 2025pre-release
Nothing published for this version
- 21.5.0-canary.20250902-f34b5ef2 Sept 2025pre-release
Nothing published for this version
- 21.5.0-canary.20250902-92bd11a2 Sept 2025pre-release
Nothing published for this version
- 21.5.0-canary.20250829-23cffe629 Aug 2025pre-release
Nothing published for this version
- 21.5.0-canary.20250828-e634b5828 Aug 2025pre-release
Nothing published for this version
- 21.5.0-canary.20250826-af4460826 Aug 2025pre-release
Nothing published for this version
- 21.5.0-canary.20250823-a93e74e23 Aug 2025pre-release
Nothing published for this version
- 21.5.0-canary.20250822-2e3940222 Aug 2025pre-release
Nothing published for this version
- 21.5.0-canary.20250821-4ba208521 Aug 2025pre-release
Nothing published for this version
- 21.5.0-canary.20250819-2307a8d19 Aug 2025pre-release
Nothing published for this version
- 21.5.0-canary.20250816-fcfb5ab16 Aug 2025pre-release
Nothing published for this version
- 21.5.0-beta.22 Sept 2025pre-release
Release notes
Open source →21.5.0-beta.2 (2025-09-02)
🚀 Features
- angular: support angular v20.2 (#32351)
- core: add incompatibleWith field for packageJsonUpdates (#32464)
- core: auto-retry lock files changed daemon msgs (#32489)
- graph: unwrap
RankDirPanelfrom experimental (#32490, #32482, #32481) - js: detect duplicate project references in
@nx/js:typescript-sync(#32443) - module-federation: align dynamic federation with latest from module federation and rspack (#32509, #32542)
- nx-dev: nx.dev homepage feature illustrations and CTA (#32298)
- repo: add GitHub Actions workflow to validate PR titles (#32458)
- rspack: support passing templateParameters to HtmlRspackPlugin (#32553)
- tools: add repository update system for automated Nx migrations (#32124)
🩹 Fixes
- core: handle no daemon when stopping (#32455)
- core: create pnpm peer deps settings in the appropriate location when creating workspace (#32470)
- core: repair nx mcp in pnpm/yarn (#32452)
- core: allow additional properties in ProjectMetadata type (#32483)
- core: normalize root project root when merging project config results (#32517)
- core: detect devcontainer environment and skip Nx Console installation prompt if it exists (#32571)
- expo: export output should be within project directory (#32477)
- gradle: use AST parsing to migrate updates to version catalogs (#32463)
- gradle: allow test target name to be configuration from nx.json (#32416)
- graph: nxArgs.projects can be an empty array (#32479)
- graph: project details navigating for new taskGraph and tasks with default configuration on UI (#32510)
- js: use a unique typescript custom condition name for the workspace (#32429, #31332)
- misc: check for
packagesexistence to detect pnpm workspaces setup (#32474) - nx-cloud: read package.json correctly for workspace name when creating new cloud workspace (#32504)
- nx-dev: re-enable contact form (#32493)
- nx-dev: task graph should not break docs (#32501)
- nx-dev: update header logo to link to nx.dev homepage (#32502)
- nx-dev: issue with index pages not showing content lists (#32559)
- nx-dev: resolve multiple styling issues in Astro documentation (#32561)
- nx-dev: add missing data in plugin migrations (#32562)
- rspack: expand serve-static target names for init generator (#32587)
❤️ Thank You
- Caleb Ukle
- Chau Tran @nartc
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- Louie Weng @lourw
- MaxKless @MaxKless
- Nicole Oliver
- Steven Nance
- 21.5.0-beta.121 Aug 2025pre-release
Release notes
Open source →21.5.0-beta.1 (2025-08-21)
🚀 Features
- graph: task graph support multiple targets (#32418)
- js: add includeIgnoredAssetFiles option and per-asset includeIgnoredFiles (#31813)
- vite: support vite 7 (#32422)
🩹 Fixes
- angular: do not update project configuration when not changes were made in migration (#32448)
- angular-rspack: do not error on server budget violation (#32445)
- core: enhance validation for continuous task dependencies (#31786)
- core: retry current message when receiving NX_VERSION_CHANGED from daemon (#32417, #29446)
- core: use black for all fg elements when in light theme (#32415)
- core: fail fast when running commands in parallel (#32386, #28477)
- devkit: include UPDATE changes in findCreatedProjectFiles for generator callbacks (#31429, #29852)
- misc: respect string values in alwaysAddToPackageJson migration flag (#32433, #30586)
- module-federation: do not rely on virtualRuntimeEntry #31831 (#32387, #31831, #32404)
- plugin: handle directory paths correctly in executor and generator generators (#31856, #31803, #31776)
❤️ Thank You
- Chau Tran @nartc
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Leosvel Pérez Espinosa @leosvelperez
- 21.5.0-beta.020 Aug 2025pre-release
Release notes
Open source →21.5.0-beta.0 (2025-08-20)
🚀 Features
- nx: use platform certificate trust store (#31999)
- nx-dev: link ukg article on homepage (c02d448b9f)
- nx-dev: configure rewrite to astro-docs when NEXT_PUBLIC_ASTRO_URL is set (#32424)
- rspack: add support for converting webpack plugin configs #30292 (#32382, #30292)
- webpack: migrate from deprecated url.parse() to WHATWG URL API (f768886ae7)
🩹 Fixes
- angular: set the
tsConfigoption when possible to aid with angular migrations (#32355, #32138) - core: improve Cursor editor detection and extension installation (#32374)
- core: ensure deterministic dummy task generation in task graphs (#32414)
- core: handle unsupported platforms in Cursor IDE install command (#32419)
- core: only prompt for NX Console installation in TTY environments (#32425)
- devkit: restore peer dep range to 2 majors (#32406, #31801)
- graph: some misc fixes to the graph (#32401)
- js: esm loader should handle absolute paths on windows #32376 (#32383, #32376)
- js: improve
@nx/js/typescriptplugin check for buildable libraries (#32405, #32116, #32290) - js: do not infer the project type in the
@nx/js/typescriptplugin (#32421) - misc: update @types/node to v20.19.9 to support fetch API (#32092, #31637)
- nx-dev: update navbar CTA buttons and updates event tracking (#32392)
- testing: support NX_CACHE_PROJECT_GRAPH when reading inferred config from jest cache file (#32380)
- testing: fall back to
tsconfig.jsonin the jest resolver (#32083) - webpack: migrate from deprecated url.parse() to WHATWG URL API (#32399)
❤️ Thank You
- Chau Tran @nartc
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Jonathan Gelin @jogelin
- Juri @juristr
- Juri Strumpflohner @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Marc Palm @marcpalm
- Nicholas Cunningham @ndcunningham
- Tomáš Čarnecký @wereHamster
- 21.4.122 Aug 2025
Release notes
Open source →21.4.1 (2025-08-22)
🚀 Features
- graph: task graph support multiple targets (#32418)
- js: add includeIgnoredAssetFiles option and per-asset includeIgnoredFiles (#31813)
- js: detect duplicate project references in
@nx/js:typescript-sync(#32443) - nx: use platform certificate trust store (#31999)
- nx-dev: link ukg article on homepage (8d16697547)
- nx-dev: configure rewrite to astro-docs when NEXT_PUBLIC_ASTRO_URL is set (#32424)
- repo: add GitHub Actions workflow to validate PR titles (#32458)
- rspack: add support for converting webpack plugin configs #30292 (#32382, #30292)
- tools: add repository update system for automated Nx migrations (#32124)
- webpack: migrate from deprecated url.parse() to WHATWG URL API (70fb618785)
🩹 Fixes
- angular: set the
tsConfigoption when possible to aid with angular migrations (#32355, #32138) - angular: do not update project configuration when not changes were made in migration (#32448)
- angular-rspack: do not error on server budget violation (#32445)
- core: improve Cursor editor detection and extension installation (#32374)
- core: ensure deterministic dummy task generation in task graphs (#32414)
- core: handle unsupported platforms in Cursor IDE install command (#32419)
- core: only prompt for NX Console installation in TTY environments (#32425)
- core: enhance validation for continuous task dependencies (#31786)
- core: retry current message when receiving NX_VERSION_CHANGED from daemon (#32417, #29446)
- core: use black for all fg elements when in light theme (#32415)
- core: fail fast when running commands in parallel (#32386, #28477)
- core: handle no daemon when stopping (#32455)
- core: create pnpm peer deps settings in the appropriate location when creating workspace (#32470)
- core: repair nx mcp in pnpm/yarn (#32452)
- devkit: restore peer dep range to 2 majors (#32406, #31801)
- devkit: include UPDATE changes in findCreatedProjectFiles for generator callbacks (#31429, #29852)
- expo: export output should be within project directory (#32477)
- gradle: use AST parsing to migrate updates to version catalogs (#32463)
- gradle: allow test target name to be configuration from nx.json (#32416)
- graph: some misc fixes to the graph (#32401)
- graph: nxArgs.projects can be an empty array (#32479)
- js: esm loader should handle absolute paths on windows #32376 (#32383, #32376)
- js: improve
@nx/js/typescriptplugin check for buildable libraries (#32405, #32116, #32290) - js: do not infer the project type in the
@nx/js/typescriptplugin (#32421) - misc: update @types/node to v20.19.9 to support fetch API (#32092, #31637)
- misc: respect string values in alwaysAddToPackageJson migration flag (#32433, #30586)
- misc: check for
packagesexistence to detect pnpm workspaces setup (#32474) - module-federation: do not rely on virtualRuntimeEntry #31831 (#32387, #31831, #32404)
- nx-dev: update navbar CTA buttons and updates event tracking (#32392)
- plugin: handle directory paths correctly in executor and generator generators (#31856, #31803, #31776)
- testing: support NX_CACHE_PROJECT_GRAPH when reading inferred config from jest cache file (#32380)
- testing: fall back to
tsconfig.jsonin the jest resolver (#32083) - webpack: migrate from deprecated url.parse() to WHATWG URL API (#32399)
❤️ Thank You
- Chau Tran @nartc
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Jonathan Gelin @jogelin
- Juri @juristr
- Juri Strumpflohner @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Louie Weng @lourw
- Marc Palm @marcpalm
- MaxKless @MaxKless
- Nicholas Cunningham @ndcunningham
- Tomáš Čarnecký @wereHamster
- 21.4.015 Aug 2025
Release notes
Open source →21.4.0 (2025-08-15)
🚀 Features
- add new angular- packages and create legacy packages (#3)
- add new angular- packages and create legacy packages (#3)
- angular: update ngrx to v20 (#32140)
- angular-rspack: add angular rspack to nx repo (31c2810e7e)
- angular-rspack: add withConfigurations (#6)
- angular-rspack: support expanded syntax for
assets,styles, andscripts(#28) - angular-rspack: support
extractLicensesoption (#30) - angular-rspack: improve createConfig public api (#35)
- angular-rspack: support
hostoption for the dev server (#38) - angular-rspack: add allowedHosts option (#47)
- angular-rspack: add support for i18n (#51)
- angular-rspack: add service-worker support (#55)
- angular-rspack: improve entry files handling and index.html generation (#56)
- angular-rspack: use development config for serve (#61)
- angular-rspack: support static site generation (#65)
- angular-rspack: improve styles processing and support tailwindcss v4 (#70)
- angular-rspack: add support for more devServer options (#71)
- angular-rspack: add hmr support (#78)
- angular-rspack: add statsJson plugin (#79)
- angular-rspack: add poll option (#80)
- angular-rspack: add verbose option (#82)
- angular-rspack: add progress option (#83)
- angular-rspack: add watch option (#84)
- angular-rspack: add open option (#85)
- angular-rspack: finalize devServer options (#86)
- angular-rspack: add granular optimization support (#89)
- angular-rspack: add budgets support (#92)
- angular-rspack: add appShell option (#93)
- angular-rspack: support index transformer (#118)
- angular-rspack: include js-based postcss config (#120)
- angular-rspack: support pkg scheme importer (#124)
- angular-rspack: Add "zoneless" option to enable Angular's
provideZonelessChangeDetection()usage (#115) - angular-rspack: add angular-rspack package (16035f42fd)
- angular-rspack: move angular rspack to nx (#32226)
- angular-rspack,angular-rsbuild: rename jit to aot (#11)
- angular-rspack,angular-rsbuild: rename tsconfigPath to tsConfig (#13)
- angular-rspack,angular-rsbuild: rename inlineStylesExtension to inlineStyleLanguage (#14)
- angular-rspack,angular-rsbuild: support web workers (#58)
- angular-rspack,angular-rsbuild: refactor withConfigurations to be createConfig (#9)
- angular-rspack,angular-rsbuild: rename jit to aot (#11)
- angular-rspack,angular-rsbuild: rename tsconfigPath to tsConfig (#13)
- angular-rspack,angular-rsbuild: rename inlineStylesExtension to inlineStyleLanguage (#14)
- angular-rspack,angular-rsbuild: support passing devServer options (#16)
- angular-rspack,angular-rsbuild: add optimization option (#21)
- angular-rspack,angular-rsbuild: rename ssrEntry to ssr.entry (#20)
- angular-rspack,angular-rsbuild: add outputHashing option (#22)
- angular-rspack,angular-rsbuild: support
ssl,sslKey,sslCert, andproxyConfigoptions (#24) - angular-rspack,angular-rsbuild: turn on/off advanced optimizations based on provided options (#26)
- angular-rspack,angular-rsbuild: remove root from api (#23)
- angular-rspack,angular-rsbuild: add outputPath option (#27)
- angular-rspack,angular-rsbuild: add sourcemap option (#29)
- angular-rspack,angular-rsbuild: add chunking options (#31)
- angular-rspack,angular-rsbuild: add
rootoption and improvetsConfighandling (#33) - angular-rspack,angular-rsbuild: add define option (#45)
- angular-rspack,angular-rsbuild: add preserveSymlinks option (#48)
- angular-rspack,angular-rsbuild: add deleteOutputPath option (#49)
- angular-rspack,angular-rsbuild: add externalDependencies option (#50)
- angular-rspack,angular-rsbuild: support web workers (#58)
- angular-rspack,angular-rspack-compiler: reuse existing compilation if exists (#77)
- angular-rspack,angular-rspack-compiler: support angular 20 (#99)
- angular-rspack,angular-rspack-compiler: update to angular 20.1.0 (0b180575b9)
- angular-rspack,angular-rspack-compiler: reuse existing compilation if exists (#77)
- angular-rspack,angular-rspack-compiler: support angular 20 (#99)
- angular-rspack,angular-rspack-compiler: update to angular 20.1.0 (438fdf37eb)
- ⚠️ bundling: remove stylus support (#32035)
- core: add tsBuildInfoFile option all packages tsconfig.lib.json (#32030)
- core: log out-of-sync details returned by sync generators when running
nx sync:check(#32072) - core: display estimated task durations in the tui terminal pane when available (#31972)
- core: add bun parser (#31973, #31862, #31433, #31338, #30607, #30603, #30466, #30460, #30362, #30302)
- core: add nx mcp command (#32022)
- core: calculate dependency view area safely in the tui and render its scrollbar in the correct position (#32187)
- core: add argv field to Pre/Post Tasks Execution contexts (#32259)
- core: add automatic pane switching for failed dependencies (#32006)
- docker: add docker plugin (#31634)
- docker: add support for {env.VAR_NAME} (#32255)
- docker: add --dockerVersion flag for specifying exact version (#32266)
- expo: upgrade Expo to v53 and React Native to 0.79 (#31497, #30557, #31416, #31498)
- gradle: derive atomizer test names using AST parsing (#32275)
- gradle: enable migrations to occur with workspaces using version catalogs (#32342)
- graph: remove legacy graph (#32117)
- graph: optimize task graph loading with lazy loading and caching (#31581)
- js: ignore scoped export conditions (#32063)
- js: add esm support for esbuild and running serve with the node executor (#31965, #10296)
- js: add plugin option to skip build checks when inferring the build task (#32358)
- misc: update repo to 21.4.0-beta.4 (#32180)
- node: add prune target to node apps (#32119)
- node: setup docker should init the docker plugin (#32120)
- node: enhance debugging support for Node applications (#31949)
- nx-dev: make payfit testimonial clickable on nx cloud page (c2d0ecfd82)
- nx-dev: update nx.dev homepage (#32132)
- nx-dev: adjustments to nx.dev homepage (#32235)
- release: allow custom nx-release-publish executors to read versionData (#32306)
- repo: use ts solution in the nx repo (#31654)
🩹 Fixes
- angular: update
jest-preset-angularto v15 (#32050, #32024) - angular: update migration target version for
jest-preset-angularv15 package update (#32051) - angular: add missing config properties to adapter whitelist (#32186)
- angular: prevent worker creation snippet from being added to worker file (#32339, #31977)
- angular-rspack: remove failing node importer (331550b3ba)
- angular-rspack: sass-loader should not be required when using css (#32)
- angular-rspack: dev-server works for ssr (#34)
- angular-rspack: fix assets normalization (#39)
- angular-rspack: process styles correctly handling urls (#40)
- angular-rspack: stylesheet should be attached to html (#41)
- angular-rspack: publicPath for server should not be auto (4fb7b4f2e2)
- angular-rspack: multiple configurations (#54)
- angular-rspack: ensure ngDevMode set correctly by DefinePlugin (#57)
- angular-rspack: mark @angular/localize as optional peer dep (#60)
- angular-rspack: do not rely on nx workspace (#62)
- angular-rspack: handle windows disk drive in loader #53 (#64, #53)
- angular-rspack: ensure
stylePreprocessorOptionsis correctly used (#72) - angular-rspack: update
@rspack/coredependency (#73) - angular-rspack: ssg should not run on serve (#75)
- angular-rspack: remove options that do not exist in Angular Webpack (#81)
- angular-rspack: type warning on budgets (916c40b7c3)
- angular-rspack: ensure cjs for serve (#98)
- angular-rspack: do not generate sourceMaps when disabled (75bcf5818a)
- angular-rspack: ensure mode is set based on optimization settings (a0bd226843)
- angular-rspack: exclude assets from being copied into server build (#117)
- angular-rspack: apply SASS deprecation for global stylesheets (#119)
- angular-rspack: fix ignore glob for .gitkeep (#121)
- angular-rspack: add node_modules to includePaths if populated (#126)
- angular-rspack: delete build outputPath only once (#127)
- angular-rspack: remove failing node importer (abc3eeb0c0)
- angular-rspack: ensure i18n inline plugin uses sourcemap correctly (1b73284df1)
- angular-rspack,angular-rspack-compiler: surface errors from ComponentStylesheetResult ensuring sass andincludePaths are passed (#87)
- angular-rspack,angular-rspack-compiler: surface errors from ComponentStylesheetResult ensuring sass andincludePaths are passed (#87)
- angular-rspack-compiler: depend directly on @angular/build (5a11d7a4ba)
- bundling: fix stylus installation error due to npm security (#32036)
- bundling: normalize Windows paths for additionalEntryPoints (#32336, #29690)
- core: adjust artifacts path for publish (#31979)
- core: render the correct output in the tui terminal pane when pinning task (#31975)
- core: handle undefined packageJson.dependencies (#31998)
- core: improve build time by narrowing the path scope for upload (#32023)
- core: improve tui minimal view display and prevent flashing scrollbar (#32045)
- core: make tasks list columns in the tui more compact (#32074)
- core: improve arrow key detection for interactive programs (#32075)
- core: prevent thread leaks in nx_walker and logger (#32061)
- core: disable TUI on ai agents (#31480)
- core: derive graph node type correctly when
projectTypeis not set (#32018, #31983) - core: pnpm lockfile parser handles undefined dependencies (#32084)
- core: prevent --skipInstall from being passed from create-nx-workspace to new generator (#32086, #31834)
- core: cloud commands should be handled before loading local (#32090)
- core: remove graph creation from postinstall hook (#32027, #31694)
- core: only traverse workspace node when it exists (#32165)
- core: add dockerVersionScheme to nx release version (#32172)
- core: cleanup dockerVersionScheme option in release to use withX pattern (#32185)
- core: provide hint that vite will be used when selecting React Router (#32238)
- core: ensure task details are always stored in the task history (#32246)
- core: don't throw during migrate ui execution if migrations.json is gitignored (#32166)
- core: repair nx mcp command (#32264)
- core: update http-proxy-middleware to resolve vulnerability (#32278)
- core: prevent TUI buffer overflow panics in dependency view scrollbar rendering (#32292)
- core: include nested library dependencies in generated package.json (#32313, #30895)
- core: prevent error.log from generating during create-nx-workspace (#32317)
- core: handle .nx installation during nx migrate (#32357)
- docker: format current date to UTC (#32103)
- docker: ensure release fetches data from stdout correctly (#32149)
- docker: add release support when registryUrl is set to docker.io (#32174)
- docker: add docker target group for pdv (#32167)
- docker: generate dockerfile compliant with package manager (#32191)
- expo: update heading text assertion to use regex for flexibility (#31542)
- gradle: fix bootJar, add excludeDependsOn to false (#32157)
- gradle: keep original gradle name (#32220)
- gradle: always add plugin to all projects (#32222)
- gradle: normalize project root paths (#32243)
- gradle: fix gradle bootRun continuous (#32107)
- jest: revert version back to 29 (#31981)
- jest: revert back to Jest 30 after synckit compatibility fix (#31984, #31981)
- js: resolve relative imports correctly in nested projects (#31978, #31980)
- js: handle npm 11 warnings in stderr during registry version resolution (#32223)
- js: fix npm dist-tag error handling TypeError in release-publish executor (#32289)
- js: node executor handles processes robustly (#32356, #30247, #22999, #22945)
- linter: update lint executor to correctly handle
--fixand--quiet(#31970, #31868) - linter: handle negative numbers in flat config AST generation (#32085, #31955)
- misc: fix setup selection (#31997)
- misc: allow scoped package names in application generators (#31957, #31229)
- misc: critical severity for form-data package (#32108)
- misc: small tweaks in messaging (#32131)
- misc: loose and fix the ts solution setup requirements and use it when there is no root tsconfig file (#32150, #32134)
- misc: validate workspace names to reject names starting with numbers (#32088, #31602)
- misc: ensure generateFiles is called using path.join (#32319)
- module-federation: re-add support for mf aliases (#31347)
- module-federation: use asyncStartup for ssr configuration (#32189)
- module-federation: upgrade module federation to 0.18.0 (#32260)
- module-federation: skip splitChunk options for prod build (#32330)
- module-federation: module federation does not depend on static remotes port (#32363)
- nextjs: infer relevant tasks with the typescript sync generator when using ts project references (#31996, #31983)
- nextjs: configure Jest to use tsconfig.json for Next.js apps (#32089, #31555)
- node: prune targets should depend on build (#32147)
- node: ensure cache outputs are set for prune and copy workspace modules (#32171)
- node: outputs should be in the correct format for prune and copy-workspace-modules targets (#32178)
- node: ensure framework deps are added to app package.json (#32192)
- node: ensure windows paths are resolved correctly #31992 (#32318, #31992)
- node: ensure cwd is set in target correctly (#31864, #31863)
- nx: update pricing link in launch templates (#32155)
- nx-cloud: auth token env var usage (#32240)
- nx-dev: reenable YouTube, and Tweet components to markdoc configuration (#32109)
- nx-dev: adjust the filter ui on the blog to have it look less squeezed (990c6f60d1)
- nx-dev: adjust mobile layout for homepage (#32237)
- nx-dev: fix Open Graph image 404s (#32360)
- react: remote generator should normalize names (#32211, #30807)
- react: host generator should not add loadRemote helper when no remotes (#32352)
- react-native: add release option to publisable react-native library (#29817)
- release: provide a link to Manage Release page when "nx release"fails (#32153)
- release: use top-level releaseTagPattern as the default for release groups (#32154)
- release: support "nx relase changelog" for docker images (#32169)
- release: adjust publish error message and version schema (#31190)
- release: ensure no exception when conventionalCommits is false (#32256)
- release: add missing git config options to nx-schema (#32300)
- release: handle git_protocol https when getting auth token #31828 (#32353, #31828)
- release: only delete version plans that are used #31327 (#32362, #31327)
- rspack: update installed version of rspack to be same as @nx/rspack (#32152)
- rspack: abide by rspacks watch configuration (#32133)
- rspack: enable build mode for TypeScript checker in TS solution setups (#32340, #31929)
- testing: normalize spec files correctly in jest
replace-removed-matcher-aliasesmigration (#31995, #31991) - testing: add missing package updates for
ts-jestandjest-utilfor jest v30 migrations (#32017) - testing: add NODE_OPTIONS flag for Node.js 24 compatibility (#32177)
- vite: fix rollup replace files (#32100)
- vite: set name property for test to project name #32163 (#32308, #32163)
- vite: add tslib as a dep for @nx/vite and remove @swc/helpers (#32341)
- webpack: add missing serveStaticTargetName alternatives to webpack init generator (#32309, #32267, #31384)
⚠️ Breaking Changes
- bundling: Stylus (.styl) files are no longer supported.
❤️ Thank You
- Abdullah Ebrahim @A-EbrahimRSA
- Aidan Temple @aidant
- Chau Tran @nartc
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Emily Xiong @xiongemi
- Gil Hanan @gilhanan
- Hassan Khan
- Jack Baker @JackWBaker
- Jack Hsu @jaysoo
- Jakub Chlebowicz @Chlebamaticon
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Jay Bell
- Josh VanAllen @joshvanallen
- Juri @juristr
- Juri Strumpflohner @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Louie Weng @lourw
- Luca Peruzzo @luca-peruzzo
- Marvin Scharle @marvinscharle
- MaxKless @MaxKless
- Mohamed Muhsin @muhsinkamil
- Nicholas Cunningham @ndcunningham
- Nicole Oliver
- PhillipDNrwl
- Rodrigo Yokota @ryok90
- Terry Mun-Andersen @terrymun
- Tobias Lampert @vz-tl
- Victor Savkin @vsavkin
- Wenzel @creadicted
- Yordan Kanchelov @yordan-kanchelov
- Zack Yang @zack9433
- 21.4.0-canary.20250815-18ba31515 Aug 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250813-811d18413 Aug 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250812-d2a059312 Aug 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250809-014e7759 Aug 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250808-c60258e8 Aug 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250807-166a0507 Aug 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250805-990c6f65 Aug 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250802-b88664f2 Aug 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250801-e0a38291 Aug 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250731-b9bfeeb31 Jul 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250730-8ef7d0e30 Jul 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250729-c2d0ecf29 Jul 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250726-64897b726 Jul 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250725-0359f0d25 Jul 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250724-b7c1c0e24 Jul 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250722-5163bcd22 Jul 2025pre-release
Nothing published for this version
- 21.4.0-canary.20250719-34c5b6119 Jul 2025pre-release
Nothing published for this version
- 21.4.0-beta.1213 Aug 2025pre-release
Release notes
Open source →21.4.0-beta.12 (2025-08-13)
🚀 Features
- expo: upgrade Expo to v53 and React Native to 0.79 (#31497, #30557, #31416, #31498)
- gradle: enable migrations to occur with workspaces using version catalogs (#32342)
🩹 Fixes
- angular: prevent worker creation snippet from being added to worker file (#32339, #31977)
- bundling: normalize Windows paths for additionalEntryPoints (#32336, #29690)
- module-federation: skip splitChunk options for prod build (#32330)
- node: ensure cwd is set in target correctly (#31864, #31863)
- release: add missing git config options to nx-schema (#32300)
- rspack: enable build mode for TypeScript checker in TS solution setups (#32340, #31929)
- vite: add tslib as a dep for @nx/vite and remove @swc/helpers (#32341)
❤️ Thank You
- Abdullah Ebrahim @A-EbrahimRSA
- Colum Ferry @Coly010
- Hassan Khan
- Jack Hsu @jaysoo
- Louie Weng @lourw
- Rodrigo Yokota @ryok90
- Wenzel @creadicted
- 21.4.0-beta.1112 Aug 2025pre-release
Release notes
Open source →21.4.0-beta.11 (2025-08-12)
🚀 Features
- gradle: derive atomizer test names using AST parsing (#32275)
❤️ Thank You
- Louie Weng @lourw
- 21.4.0-beta.1012 Aug 2025pre-release
Release notes
Open source →21.4.0-beta.10 (2025-08-12)
🚀 Features
- release: allow custom nx-release-publish executors to read versionData (#32306)
🩹 Fixes
- core: include nested library dependencies in generated package.json (#32313, #30895)
- core: prevent error.log from generating during create-nx-workspace (#32317)
- misc: ensure generateFiles is called using path.join (#32319)
- node: ensure windows paths are resolved correctly #31992 (#32318, #31992)
- vite: set name property for test to project name #32163 (#32308, #32163)
❤️ Thank You
- Colum Ferry @Coly010
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- 21.4.0-beta.912 Aug 2025pre-release
Release notes
Open source →21.4.0-beta.9 (2025-08-12)
🚀 Features
- add new angular- packages and create legacy packages (#3)
- add new angular- packages and create legacy packages (#3)
- angular-rspack: add angular rspack to nx repo (31c2810e7e)
- angular-rspack: add withConfigurations (#6)
- angular-rspack: support expanded syntax for
assets,styles, andscripts(#28) - angular-rspack: support
extractLicensesoption (#30) - angular-rspack: improve createConfig public api (#35)
- angular-rspack: support
hostoption for the dev server (#38) - angular-rspack: add allowedHosts option (#47)
- angular-rspack: add support for i18n (#51)
- angular-rspack: add service-worker support (#55)
- angular-rspack: improve entry files handling and index.html generation (#56)
- angular-rspack: use development config for serve (#61)
- angular-rspack: support static site generation (#65)
- angular-rspack: improve styles processing and support tailwindcss v4 (#70)
- angular-rspack: add support for more devServer options (#71)
- angular-rspack: add hmr support (#78)
- angular-rspack: add statsJson plugin (#79)
- angular-rspack: add poll option (#80)
- angular-rspack: add verbose option (#82)
- angular-rspack: add progress option (#83)
- angular-rspack: add watch option (#84)
- angular-rspack: add open option (#85)
- angular-rspack: finalize devServer options (#86)
- angular-rspack: add granular optimization support (#89)
- angular-rspack: add budgets support (#92)
- angular-rspack: add appShell option (#93)
- angular-rspack: support index transformer (#118)
- angular-rspack: include js-based postcss config (#120)
- angular-rspack: support pkg scheme importer (#124)
- angular-rspack: Add "zoneless" option to enable Angular's
provideZonelessChangeDetection()usage (#115) - angular-rspack: add angular-rspack package (16035f42fd)
- angular-rspack: move angular rspack to nx (#32226)
- angular-rspack,angular-rsbuild: rename jit to aot (#11)
- angular-rspack,angular-rsbuild: rename tsconfigPath to tsConfig (#13)
- angular-rspack,angular-rsbuild: rename inlineStylesExtension to inlineStyleLanguage (#14)
- angular-rspack,angular-rsbuild: support web workers (#58)
- angular-rspack,angular-rsbuild: refactor withConfigurations to be createConfig (#9)
- angular-rspack,angular-rsbuild: rename jit to aot (#11)
- angular-rspack,angular-rsbuild: rename tsconfigPath to tsConfig (#13)
- angular-rspack,angular-rsbuild: rename inlineStylesExtension to inlineStyleLanguage (#14)
- angular-rspack,angular-rsbuild: support passing devServer options (#16)
- angular-rspack,angular-rsbuild: add optimization option (#21)
- angular-rspack,angular-rsbuild: rename ssrEntry to ssr.entry (#20)
- angular-rspack,angular-rsbuild: add outputHashing option (#22)
- angular-rspack,angular-rsbuild: support
ssl,sslKey,sslCert, andproxyConfigoptions (#24) - angular-rspack,angular-rsbuild: turn on/off advanced optimizations based on provided options (#26)
- angular-rspack,angular-rsbuild: remove root from api (#23)
- angular-rspack,angular-rsbuild: add outputPath option (#27)
- angular-rspack,angular-rsbuild: add sourcemap option (#29)
- angular-rspack,angular-rsbuild: add chunking options (#31)
- angular-rspack,angular-rsbuild: add
rootoption and improvetsConfighandling (#33) - angular-rspack,angular-rsbuild: add define option (#45)
- angular-rspack,angular-rsbuild: add preserveSymlinks option (#48)
- angular-rspack,angular-rsbuild: add deleteOutputPath option (#49)
- angular-rspack,angular-rsbuild: add externalDependencies option (#50)
- angular-rspack,angular-rsbuild: support web workers (#58)
- angular-rspack,angular-rspack-compiler: reuse existing compilation if exists (#77)
- angular-rspack,angular-rspack-compiler: support angular 20 (#99)
- angular-rspack,angular-rspack-compiler: update to angular 20.1.0 (0b180575b9)
- angular-rspack,angular-rspack-compiler: reuse existing compilation if exists (#77)
- angular-rspack,angular-rspack-compiler: support angular 20 (#99)
- angular-rspack,angular-rspack-compiler: update to angular 20.1.0 (438fdf37eb)
🩹 Fixes
- angular-rspack: remove failing node importer (331550b3ba)
- angular-rspack: sass-loader should not be required when using css (#32)
- angular-rspack: dev-server works for ssr (#34)
- angular-rspack: fix assets normalization (#39)
- angular-rspack: process styles correctly handling urls (#40)
- angular-rspack: stylesheet should be attached to html (#41)
- angular-rspack: publicPath for server should not be auto (4fb7b4f2e2)
- angular-rspack: multiple configurations (#54)
- angular-rspack: ensure ngDevMode set correctly by DefinePlugin (#57)
- angular-rspack: mark @angular/localize as optional peer dep (#60)
- angular-rspack: do not rely on nx workspace (#62)
- angular-rspack: handle windows disk drive in loader #53 (#64, #53)
- angular-rspack: ensure
stylePreprocessorOptionsis correctly used (#72) - angular-rspack: update
@rspack/coredependency (#73) - angular-rspack: ssg should not run on serve (#75)
- angular-rspack: remove options that do not exist in Angular Webpack (#81)
- angular-rspack: type warning on budgets (916c40b7c3)
- angular-rspack: ensure cjs for serve (#98)
- angular-rspack: do not generate sourceMaps when disabled (75bcf5818a)
- angular-rspack: ensure mode is set based on optimization settings (a0bd226843)
- angular-rspack: exclude assets from being copied into server build (#117)
- angular-rspack: apply SASS deprecation for global stylesheets (#119)
- angular-rspack: fix ignore glob for .gitkeep (#121)
- angular-rspack: add node_modules to includePaths if populated (#126)
- angular-rspack: delete build outputPath only once (#127)
- angular-rspack: remove failing node importer (abc3eeb0c0)
- angular-rspack: ensure i18n inline plugin uses sourcemap correctly (1b73284df1)
- angular-rspack,angular-rspack-compiler: surface errors from ComponentStylesheetResult ensuring sass andincludePaths are passed (#87)
- angular-rspack,angular-rspack-compiler: surface errors from ComponentStylesheetResult ensuring sass andincludePaths are passed (#87)
- angular-rspack-compiler: depend directly on @angular/build (5a11d7a4ba)
- js: fix npm dist-tag error handling TypeError in release-publish executor (#32289)
- webpack: add missing serveStaticTargetName alternatives to webpack init generator (#32309, #32267, #31384)
❤️ Thank You
- Colum Ferry
- Jakub Chlebowicz @Chlebamaticon
- Jason Jean
- Leosvel Pérez Espinosa
- Marvin Scharle
- Tobias Lampert @vz-tl
- Yordan Kanchelov
- Zack Yang @zack9433
- 21.4.0-beta.811 Aug 2025pre-release
Release notes
Open source →21.4.0-beta.8 (2025-08-11)
🚀 Features
- core: calculate dependency view area safely in the tui and render its scrollbar in the correct position (#32187)
- core: add argv field to Pre/Post Tasks Execution contexts (#32259)
- core: add automatic pane switching for failed dependencies (#32006)
- docker: add support for {env.VAR_NAME} (#32255)
- docker: add --dockerVersion flag for specifying exact version (#32266)
- graph: optimize task graph loading with lazy loading and caching (#31581)
- js: ignore scoped export conditions (#32063)
- js: add esm support for esbuild and running serve with the node executor (#31965, #10296)
- node: enhance debugging support for Node applications (#31949)
🩹 Fixes
- core: don't throw during migrate ui execution if migrations.json is gitignored (#32166)
- core: repair nx mcp command (#32264)
- core: update http-proxy-middleware to resolve vulnerability (#32278)
- core: prevent TUI buffer overflow panics in dependency view scrollbar rendering (#32292)
- expo: update heading text assertion to use regex for flexibility (#31542)
- module-federation: upgrade module federation to 0.18.0 (#32260)
- release: adjust publish error message and version schema (#31190)
- release: ensure no exception when conventionalCommits is false (#32256)
- vite: fix rollup replace files (#32100)
❤️ Thank You
- Abdullah Ebrahim @A-EbrahimRSA
- Aidan Temple @aidant
- Colum Ferry @Coly010
- Gil Hanan @gilhanan
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- Luca Peruzzo @luca-peruzzo
- MaxKless @MaxKless
- Mohamed Muhsin @muhsinkamil
- Nicholas Cunningham @ndcunningham
- Terry Mun-Andersen @terrymun
- 21.4.0-beta.77 Aug 2025pre-release
Release notes
Open source →21.4.0-beta.7 (2025-08-07)
🚀 Features
- nx-dev: adjustments to nx.dev homepage (#32235)
🩹 Fixes
- core: provide hint that vite will be used when selecting React Router (#32238)
- core: ensure task details are always stored in the task history (#32246)
- gradle: normalize project root paths (#32243)
- gradle: fix gradle bootRun continuous (#32107)
- misc: validate workspace names to reject names starting with numbers (#32088, #31602)
- nextjs: configure Jest to use tsconfig.json for Next.js apps (#32089, #31555)
- nx-cloud: auth token env var usage (#32240)
- nx-dev: adjust mobile layout for homepage (#32237)
❤️ Thank You
- Colum Ferry @Coly010
- Emily Xiong @xiongemi
- Jason Jean @FrozenPandaz
- Josh VanAllen @joshvanallen
- Juri Strumpflohner @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Nicholas Cunningham @ndcunningham
- Nicole Oliver
- 21.4.0-beta.65 Aug 2025pre-release
Release notes
Open source →21.4.0-beta.6 (2025-08-05)
🚀 Features
- nx-dev: update nx.dev homepage (#32132)
🩹 Fixes
- gradle: keep original gradle name (#32220)
- gradle: always add plugin to all projects (#32222)
- js: handle npm 11 warnings in stderr during registry version resolution (#32223)
- misc: loose and fix the ts solution setup requirements and use it when there is no root tsconfig file (#32150, #32134)
- module-federation: use asyncStartup for ssr configuration (#32189)
- nx: update pricing link in launch templates (#32155)
- nx-dev: adjust the filter ui on the blog to have it look less squeezed (990c6f60d1)
- react: remote generator should normalize names (#32211, #30807)
- rspack: abide by rspacks watch configuration (#32133)
❤️ Thank You
- Colum Ferry @Coly010
- Emily Xiong @xiongemi
- Jack Baker @JackWBaker
- Jay Bell
- Juri @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Nicholas Cunningham @ndcunningham
- Nicole Oliver
- PhillipDNrwl
- 21.4.0-beta.51 Aug 2025pre-release
Release notes
Open source →21.4.0-beta.5 (2025-08-01)
🚀 Features
🩹 Fixes
- angular: add missing config properties to adapter whitelist (#32186)
- core: cleanup dockerVersionScheme option in release to use withX pattern (#32185)
- docker: add docker target group for pdv (#32167)
- docker: generate dockerfile compliant with package manager (#32191)
- module-federation: re-add support for mf aliases (#31347)
- node: ensure framework deps are added to app package.json (#32192)
❤️ Thank You
- Chau Tran @nartc
- Colum Ferry @Coly010
- Leosvel Pérez Espinosa @leosvelperez
- Nicholas Cunningham @ndcunningham
- Rodrigo Yokota @ryok90
- 21.4.0-beta.431 Jul 2025pre-release
Release notes
Open source →21.4.0-beta.4 (2025-07-31)
🚀 Features
🩹 Fixes
- core: only traverse workspace node when it exists (#32165)
- core: add dockerVersionScheme to nx release version (#32172)
- docker: ensure release fetches data from stdout correctly (#32149)
- docker: add release support when registryUrl is set to docker.io (#32174)
- gradle: fix bootJar, add excludeDependsOn to false (#32157)
- misc: small tweaks in messaging (#32131)
- node: prune targets should depend on build (#32147)
- node: ensure cache outputs are set for prune and copy workspace modules (#32171)
- node: outputs should be in the correct format for prune and copy-workspace-modules targets (#32178)
- release: provide a link to Manage Release page when "nx release"fails (#32153)
- release: use top-level releaseTagPattern as the default for release groups (#32154)
- release: support "nx relase changelog" for docker images (#32169)
- rspack: update installed version of rspack to be same as @nx/rspack (#32152)
- testing: add NODE_OPTIONS flag for Node.js 24 compatibility (#32177)
❤️ Thank You
- Colum Ferry @Coly010
- Emily Xiong @xiongemi
- Jack Hsu @jaysoo
- Leosvel Pérez Espinosa @leosvelperez
- Nicholas Cunningham @ndcunningham
- Victor Savkin @vsavkin