PackageTrack

npm · #4377 most downloaded on npm

@nx/workspace

23.1.2nrwl/nx

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.

Release timeline

1890 releases since 2023
20232026

Releases

  1. 21.6.1-beta.09 Sept 2025pre-release
    Release notes

    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
    Open source →
  2. 21.6.0-canary.20250926-7f4a8ea26 Sept 2025pre-release

    Nothing published for this version

  3. 21.6.0-canary.20250926-6480d3d26 Sept 2025pre-release

    Nothing published for this version

  4. 21.6.0-canary.20250924-bd1b68924 Sept 2025pre-release

    Nothing published for this version

  5. 21.6.0-canary.20250923-146f57723 Sept 2025pre-release

    Nothing published for this version

  6. 21.6.0-canary.20250922-dbcafa022 Sept 2025pre-release

    Nothing published for this version

  7. 21.6.0-canary.20250917-93fcc4817 Sept 2025pre-release

    Nothing published for this version

  8. 21.6.0-canary.20250916-a42997216 Sept 2025pre-release

    Nothing published for this version

  9. 21.6.0-canary.20250915-98c47f015 Sept 2025pre-release

    Nothing published for this version

  10. 21.6.0-canary.20250912-cfc03a212 Sept 2025pre-release

    Nothing published for this version

  11. 21.6.0-canary.20250908-95e7b498 Sept 2025pre-release

    Nothing published for this version

  12. 21.5.319 Sept 2025
    Release notes

    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
    Open source →
  13. 21.5.211 Sept 2025
    Release notes

    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
    Open source →
  14. 21.5.18 Sept 2025
    Release notes

    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 RankDirPanel from 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 tsConfig option 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 nx as 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/typescript plugin check for buildable libraries (#32405, #32116, #32290)
    • js: do not infer the project type in the @nx/js/typescript plugin (#32421)
    • js: use a unique typescript custom condition name for the workspace (#32429, #31332)
    • js: store stale references correctly in typescript-sync generator (#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 packages existence 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.json in 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
    Open source →
  15. 21.5.1-beta.55 Sept 2025pre-release
    Release notes

    21.5.1-beta.5 (2025-09-05)

    🩹 Fixes

    • gradle: allow test target name to be configured from nx.json" (#32637, #32416)

    ❤️ Thank You

    • Louie Weng @lourw
    Open source →
  16. 21.5.1-beta.45 Sept 2025pre-release
    Release notes

    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 nx as 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
    Open source →
  17. 21.5.1-beta.33 Sept 2025pre-release
    Release notes

    21.5.1-beta.3 (2025-09-03)

    🚀 Features

    🩹 Fixes

    • js: store stale references correctly in typescript-sync generator (#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
    Open source →
  18. 21.5.0-canary.20250904-ec1f1a44 Sept 2025pre-release

    Nothing published for this version

  19. 21.5.0-canary.20250904-2c678a14 Sept 2025pre-release

    Nothing published for this version

  20. 21.5.0-canary.20250902-f34b5ef2 Sept 2025pre-release

    Nothing published for this version

  21. 21.5.0-canary.20250902-92bd11a2 Sept 2025pre-release

    Nothing published for this version

  22. 21.5.0-canary.20250829-23cffe629 Aug 2025pre-release

    Nothing published for this version

  23. 21.5.0-canary.20250828-e634b5828 Aug 2025pre-release

    Nothing published for this version

  24. 21.5.0-canary.20250826-af4460826 Aug 2025pre-release

    Nothing published for this version

  25. 21.5.0-canary.20250823-a93e74e23 Aug 2025pre-release

    Nothing published for this version

  26. 21.5.0-canary.20250822-2e3940222 Aug 2025pre-release

    Nothing published for this version

  27. 21.5.0-canary.20250821-4ba208521 Aug 2025pre-release

    Nothing published for this version

  28. 21.5.0-canary.20250819-2307a8d19 Aug 2025pre-release

    Nothing published for this version

  29. 21.5.0-canary.20250816-fcfb5ab16 Aug 2025pre-release

    Nothing published for this version

  30. 21.5.0-beta.22 Sept 2025pre-release
    Release notes

    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 RankDirPanel from 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 packages existence 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
    Open source →
  31. 21.5.0-beta.121 Aug 2025pre-release
    Release notes

    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
    Open source →
  32. 21.5.0-beta.020 Aug 2025pre-release
    Release notes

    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 tsConfig option 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/typescript plugin check for buildable libraries (#32405, #32116, #32290)
    • js: do not infer the project type in the @nx/js/typescript plugin (#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.json in 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
    Open source →
  33. 21.4.122 Aug 2025
    Release notes

    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 tsConfig option 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/typescript plugin check for buildable libraries (#32405, #32116, #32290)
    • js: do not infer the project type in the @nx/js/typescript plugin (#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 packages existence 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.json in 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
    Open source →
  34. 21.4.015 Aug 2025
    Release notes

    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, and scripts (#28)
    • angular-rspack: support extractLicenses option (#30)
    • angular-rspack: improve createConfig public api (#35)
    • angular-rspack: support host option 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, and proxyConfig options (#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 root option and improve tsConfig handling (#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-angular to v15 (#32050, #32024)
    • angular: update migration target version for jest-preset-angular v15 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 stylePreprocessorOptions is correctly used (#72)
    • angular-rspack: update @rspack/core dependency (#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 projectType is 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 --fix and --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-aliases migration (#31995, #31991)
    • testing: add missing package updates for ts-jest and jest-util for 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
    Open source →
  35. 21.4.0-canary.20250815-18ba31515 Aug 2025pre-release

    Nothing published for this version

  36. 21.4.0-canary.20250813-811d18413 Aug 2025pre-release

    Nothing published for this version

  37. 21.4.0-canary.20250812-d2a059312 Aug 2025pre-release

    Nothing published for this version

  38. 21.4.0-canary.20250809-014e7759 Aug 2025pre-release

    Nothing published for this version

  39. 21.4.0-canary.20250808-c60258e8 Aug 2025pre-release

    Nothing published for this version

  40. 21.4.0-canary.20250807-166a0507 Aug 2025pre-release

    Nothing published for this version

  41. 21.4.0-canary.20250805-990c6f65 Aug 2025pre-release

    Nothing published for this version

  42. 21.4.0-canary.20250802-b88664f2 Aug 2025pre-release

    Nothing published for this version

  43. 21.4.0-canary.20250801-e0a38291 Aug 2025pre-release

    Nothing published for this version

  44. 21.4.0-canary.20250731-b9bfeeb31 Jul 2025pre-release

    Nothing published for this version

  45. 21.4.0-canary.20250730-8ef7d0e30 Jul 2025pre-release

    Nothing published for this version

  46. 21.4.0-canary.20250729-c2d0ecf29 Jul 2025pre-release

    Nothing published for this version

  47. 21.4.0-canary.20250726-64897b726 Jul 2025pre-release

    Nothing published for this version

  48. 21.4.0-canary.20250725-0359f0d25 Jul 2025pre-release

    Nothing published for this version

  49. 21.4.0-canary.20250724-b7c1c0e24 Jul 2025pre-release

    Nothing published for this version

  50. 21.4.0-canary.20250722-5163bcd22 Jul 2025pre-release

    Nothing published for this version

  51. 21.4.0-canary.20250719-34c5b6119 Jul 2025pre-release

    Nothing published for this version

  52. 21.4.0-beta.1213 Aug 2025pre-release
    Release notes

    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
    Open source →
  53. 21.4.0-beta.1112 Aug 2025pre-release
    Release notes

    21.4.0-beta.11 (2025-08-12)

    🚀 Features

    • gradle: derive atomizer test names using AST parsing (#32275)

    ❤️ Thank You

    • Louie Weng @lourw
    Open source →
  54. 21.4.0-beta.1012 Aug 2025pre-release
    Release notes

    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
    Open source →
  55. 21.4.0-beta.912 Aug 2025pre-release
    Release notes

    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, and scripts (#28)
    • angular-rspack: support extractLicenses option (#30)
    • angular-rspack: improve createConfig public api (#35)
    • angular-rspack: support host option 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, and proxyConfig options (#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 root option and improve tsConfig handling (#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 stylePreprocessorOptions is correctly used (#72)
    • angular-rspack: update @rspack/core dependency (#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
    Open source →
  56. 21.4.0-beta.811 Aug 2025pre-release
    Release notes

    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
    Open source →
  57. 21.4.0-beta.77 Aug 2025pre-release
    Release notes

    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
    Open source →
  58. 21.4.0-beta.65 Aug 2025pre-release
    Release notes

    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
    Open source →
  59. 21.4.0-beta.51 Aug 2025pre-release
    Release notes

    21.4.0-beta.5 (2025-08-01)

    🚀 Features

    • graph: remove legacy graph (#32117)
    • misc: update repo to 21.4.0-beta.4 (#32180)

    🩹 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
    Open source →
  60. 21.4.0-beta.431 Jul 2025pre-release
    Release notes

    21.4.0-beta.4 (2025-07-31)

    🚀 Features

    • angular: update ngrx to v20 (#32140)
    • node: setup docker should init the docker plugin (#32120)

    🩹 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
    Open source →