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.2.0-canary.20250604-283ec764 Jun 2025pre-release

    Nothing published for this version

  2. 21.2.0-canary.20250603-88c51963 Jun 2025pre-release

    Nothing published for this version

  3. 21.2.0-canary.20250530-b51676a30 May 2025pre-release

    Nothing published for this version

  4. 21.2.0-canary.20250529-c8a6ffb29 May 2025pre-release

    Nothing published for this version

  5. 21.2.0-canary.20250528-257245528 May 2025pre-release

    Nothing published for this version

  6. 21.2.0-canary.20250527-4a9484127 May 2025pre-release

    Nothing published for this version

  7. 21.2.0-canary.20250524-e2b3aca24 May 2025pre-release

    Nothing published for this version

  8. 21.2.0-canary.20250523-560a53e23 May 2025pre-release

    Nothing published for this version

  9. 21.2.0-canary.20250522-7e0719c22 May 2025pre-release

    Nothing published for this version

  10. 21.2.0-canary.20250521-a52a43521 May 2025pre-release

    Nothing published for this version

  11. 21.2.0-beta.510 Jun 2025pre-release
    Release notes

    21.2.0-beta.5 (2025-06-10)

    🩹 Fixes

    • core: scope native logging to nx module by default (#31530)
    • gradle: fix gradle test running gaps (#31313)
    • js: enhance TypeScript transformer loading to support function-based plugins (#31443, #31411)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Emily Xiong @xiongemi
    • Jason Jean @FrozenPandaz
    Open source →
  12. 21.2.0-beta.410 Jun 2025pre-release
    Release notes

    21.2.0-beta.4 (2025-06-10)

    🩹 Fixes

    • core: remove log_error function and standardize logging (#31515)

    ❤️ Thank You

    • Jason Jean @FrozenPandaz
    Open source →
  13. 21.2.0-beta.39 Jun 2025pre-release
    Release notes

    21.2.0-beta.3 (2025-06-09)

    🚀 Features

    • ⚠️ angular: support angular v20 (#31369)
    • angular: update angular eslint packages to v20 (#31489)
    • bundling: use tsconfig.lib.json for rollup.config.ts (#30453)
    • misc: enhance IDE integration with Nx Console auto-installation and improved logging (#31462)
    • repo: add golden list of projects to our Nightly CI (#31414)
    • repo: add ndcunningham to Claude workflow authorized users (#31479)
    • repo: migrate to pnpm 10 (#31427)
    • ⚠️ storybook: support storybook 9 (#31172)

    🩹 Fixes

    • add .ts extension to nx-release script reference in project.json (#31483)
    • bundling: do not normalize tsconfig path for Windows with rollup (#30567)
    • core: use ts-node option from tsconfig files when creating transpiler (#31469)
    • core: Update macos pipelines configuration (#31476)
    • core: scope typescript resolution cache correctly when processing the graph (#31455, #31223)
    • core: remove tabs from local workspace plugins section in nx report (#31490)
    • core: handle external node without default version when generating a pnpm pruned lockfile (#31503, #28627)
    • core: add conditional compilation for WASM build compatibility (#31491)
    • core: default to 'run' target when only project is specified (#31452)
    • linter: infer lint tasks with inputs using {workspaceRoot} to support nested projects (#31488, #31264)
    • linter: update allowed ESLint config file extensions (#30127)
    • nextjs: add extension alias support for handling ESM libs (#31323, #30714)
    • node: esbuild breaks and does not cleanup (#30469)
    • react: allow for buildTargetWebpack to have an executor of @nx/webpack:webpack or @nx/rspack:rspack (#30253, #30235)
    • release: sort groups topologically bottom-up and fix typo to allow multi-level group dependencies (#31374)
    • release: changelog filtering logic for the project commits (#31449)
    • rspack: Add missing return for rspack composoable plugin (#31372)
    • rspack: must run type check with @nx/rspack:rspack when skipTypeChecking is false (#31027, #31026)
    • vite: NxReporter compatible with Vitest ≥0.29 (#31425)
    • webpack: handle package.json exports field for non-buildable libs (#31444)

    ⚠️ Breaking Changes

    • storybook: Remove deprecated generators:
    • angular: Support for Angular v17 was dropped.

    ❤️ Thank You

    • Colum Ferry @Coly010
    • dpnolte @dpnolte
    • Jacob S
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Matthias Stemmler @ms-tng
    • Miguel @mpsanchis
    • Nadav Shatz
    • Nicholas Cunningham @ndcunningham
    • Paul Bohm @enki
    • Paweł Tymczuk @LetItRock
    • Petr Plenkov
    • Rui Lima @rapzo
    • Torin
    Open source →
  14. 21.2.0-beta.25 Jun 2025pre-release
    Release notes

    21.2.0-beta.2 (2025-06-05)

    🚀 Features

    • angular: update nx init legacy integrated migration for angular to handle angular v17 (#31352)
    • gradle: exclude dependsOn tasks (#30913)
    • nest: Update nest version to 11 (#31393, #30188)
    • nx-dev: update hero tagline (41387af458)
    • nx-dev: add rss and atom feeds (ee7dbf9c3a)
    • repo: enhance Claude Code workflow and settings (#31405, #31380)

    🩹 Fixes

    • angular: update tsconfig files generation to better support angular v20 (#31357)
    • angular: keep extra target metadata when needed in convert-to-rspack generator (#31309)
    • angular: generate correct output for buildable libraries on windows (#31437, #31436)
    • angular: optimize ng-packagr-lite watch mode file writing (#31434, #31033)
    • core: generate workspace file readme typo (#31341, #31335)
    • core: fix broken nx-cloud url shortening logic (#31283)
    • core: infer codex environment and use default tasks runner (#31359)
    • core: use next available port when the port for nx graph is in use (#31365, #30915)
    • core: handle run-commands targets with no commands (#31364, #31345)
    • core: implement missing --print flag for nx graph command (#31406, #30255)
    • core: update getTouchedProjectsFromLockFile to handle deleted/moved projects correctly (#31361)
    • core: ensure nx init implementation for angular correctly resolves @angular/core (#31430, #31291)
    • core: print installation logs when installing latest version during nx migrate and using --verbose (#31432)
    • gradle: add migration script to check gradle plugin version (#31304)
    • js: write typescript plugin cache files atomically (#31390, #30239, #31187)
    • js: enable end-to-end tests for Vue application in dev mode (#31415)
    • linter: handle ng-package.json file with no lib.entryFile in @nx/enforce-module-boundaries rule (#31360)
    • linter: fix line endings handling in '@nx/eslint:convert-to-flat-config' generator (#31043)
    • module-federation: enhance remote entry handling with query parameters in paths (#30615, #30602)
    • node: add project name sanitization for Docker commands. (#31461, #31421)
    • nx-dev: only track analytics in prod envs (#31367)
    • remix: update setup-tailwind generator to correct import statements (#30599, #30343)
    • rspack: fix issue with optimization options in rspack config (#31337, #31268, #30292)
    • rspack: ensure nest applications generated correctly #31204 (#31424, #31204)
    • vite: bump @analogjs/vite-plugin-angular to 1.16.x (#31317)
    • vite: add ajv dependency for non-pnpm package managers (#31413)
    • vite: resolve project-specific tsconfig before workspace fallback (#31423, #28945)
    • webpack: add support for retrieving all transitive non-buildable dependencies (#31343)

    ❤️ Thank You

    • Brandon Roberts @brandonroberts
    • Colum Ferry @Coly010
    • Emily Xiong @xiongemi
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Johann Wagner @konqi
    • Juri Strumpflohner @juristr
    • laney
    • Leosvel Pérez Espinosa @leosvelperez
    • Miroslav Jonaš @meeroslav
    • Nicholas Cunningham @ndcunningham
    • Terry @Teamop
    Open source →
  15. 21.2.0-beta.126 May 2025pre-release
    Release notes

    21.2.0-beta.1 (2025-05-26)

    🚀 Features

    • angular: add support for rspack module federation (#31231)
    • angular: support angular cli v20.0.0-rc.3 (#30715)
    • nx-dev: AI landing page (#31310)

    🩹 Fixes

    • core: handle killing child processes of continuous tasks on Windows (#31296, #31235)
    • core: do not hide task list with run-many if there is only 1 task (#31324)
    • gradle: change run and bootRun to cacheable false (#31287)
    • linter: speed up inferred plugin node processing (#31281)
    • module-federation: use runtimeChunk false when not in dev mode (#31256, #30637, #31114)
    • react: add missing dependency when generating a react lib that has testing (#31308)
    • react: routing option to library generator (#31328, #30721)
    • storybook: improve speed of storybook plugin (#31277, #22953, #31276)

    ❤️ Thank You

    • Charlie Croom
    • Colum Ferry @Coly010
    • Emily Xiong @xiongemi
    • Jack Hsu @jaysoo
    • Jonathan Cammisuli @Cammisuli
    • Juri Strumpflohner @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • Miroslav Jonaš @meeroslav
    • Nicholas Cunningham @ndcunningham
    Open source →
  16. 21.1.36 Jun 2025
    Release notes

    21.1.3 (2025-06-06)

    🚀 Features

    • nx-dev: AI landing page (#31310)
    • nx-dev: update hero tagline (53ea3062e7)
    • nx-dev: add rss and atom feeds (77dea60a49)
    • repo: add golden list of projects to our Nightly CI (#31414)

    🩹 Fixes

    • angular: keep extra target metadata when needed in convert-to-rspack generator (#31309)
    • core: handle killing child processes of continuous tasks on Windows (#31296, #31235)
    • core: generate workspace file readme typo (#31341, #31335)
    • core: fix broken nx-cloud url shortening logic (#31283)
    • core: infer codex environment and use default tasks runner (#31359)
    • core: use next available port when the port for nx graph is in use (#31365, #30915)
    • core: handle run-commands targets with no commands (#31364, #31345)
    • core: implement missing --print flag for nx graph command (#31406, #30255)
    • core: update getTouchedProjectsFromLockFile to handle deleted/moved projects correctly (#31361)
    • core: ensure nx init implementation for angular correctly resolves @angular/core (#31430, #31291)
    • core: print installation logs when installing latest version during nx migrate and using --verbose (#31432)
    • core: use ts-node option from tsconfig files when creating transpiler (#31469)
    • core: Update macos pipelines configuration (#31476)
    • gradle: change run and bootRun to cacheable false (#31287)
    • gradle: add migration script to check gradle plugin version (#31304)
    • js: write typescript plugin cache files atomically (#31390, #30239, #31187)
    • js: enable end-to-end tests for Vue application in dev mode (#31415)
    • linter: speed up inferred plugin node processing (#31281)
    • linter: handle ng-package.json file with no lib.entryFile in @nx/enforce-module-boundaries rule (#31360)
    • linter: fix line endings handling in '@nx/eslint:convert-to-flat-config' generator (#31043)
    • module-federation: enhance remote entry handling with query parameters in paths (#30615, #30602)
    • nextjs: add extension alias support for handling ESM libs (#31323, #30714)
    • node: add project name sanitization for Docker commands. (#31461, #31421)
    • nx-dev: only track analytics in prod envs (#31367)
    • react: add missing dependency when generating a react lib that has testing (#31308)
    • react: routing option to library generator (#31328, #30721)
    • release: sort groups topologically bottom-up and fix typo to allow multi-level group dependencies (#31374)
    • remix: update setup-tailwind generator to correct import statements (#30599, #30343)
    • rspack: fix issue with optimization options in rspack config (#31337, #31268, #30292)
    • rspack: ensure nest applications generated correctly #31204 (#31424, #31204)
    • rspack: Add missing return for rspack composoable plugin (#31372)
    • storybook: improve speed of storybook plugin (#31277, #22953, #31276)
    • vite: bump @analogjs/vite-plugin-angular to 1.16.x (#31317)
    • vite: add ajv dependency for non-pnpm package managers (#31413)
    • vite: resolve project-specific tsconfig before workspace fallback (#31423, #28945)
    • webpack: add support for retrieving all transitive non-buildable dependencies (#31343)

    ❤️ Thank You

    • Brandon Roberts @brandonroberts
    • Charlie Croom
    • Colum Ferry @Coly010
    • Emily Xiong @xiongemi
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Johann Wagner @konqi
    • Juri Strumpflohner @juristr
    • laney
    • Leosvel Pérez Espinosa @leosvelperez
    • Miguel @mpsanchis
    • Miroslav Jonaš @meeroslav
    • Nadav Shatz
    • Nicholas Cunningham @ndcunningham
    • Terry @Teamop
    Open source →
  17. 21.1.224 May 2025
    Release notes

    21.1.2 (2025-05-24)

    🩹 Fixes

    • core: do not hide task list with run-many if there is only 1 task (#31324)

    ❤️ Thank You

    • Jonathan Cammisuli @Cammisuli
    Open source →
  18. 21.1.121 May 2025
    Release notes

    21.1.1 (2025-05-21)

    🩹 Fixes

    ❤️ Thank You

    • Colum Ferry @Coly010
    Open source →
  19. 21.1.020 May 2025
    Release notes

    21.1.0 (2025-05-20)

    🚀 Features

    • angular: handle prerender and appshell in covert to rspack (#31210)
    • angular: migrate to angular rspack 21 (#31216)
    • core: focus single tasks (#31159)
    • core: run parallel based on the number of cpu cores (#31011)
    • core: add nx console messaging to TUI (#31148)
    • core: update getTouchedProjectsFromLockFile to detect which projects were changed from pnpm lock file diff (#31091, #29986)
    • core: add ai rule files to gitignore (#31238)
    • devkit: allow requiring cts config files (#31103)
    • nx-dev: replace monorepo world link with office hours (3f5fd896a1)
    • rspack: upgrade to version 1.3.8 (#31070)
    • vite: add ajv dev dependency for vite-plugin-dts (#31107)

    🩹 Fixes

    • angular: install @angular/build when using vitest test runner (#31169, #30646)
    • core: send up and down arrows to pty in interactive mode (#31084)
    • core: fail nx release cli when publish step fails (#31088)
    • core: explicitly cleanup forked process task runner (#31106)
    • core: add keepExistingVersions to jest option to preserve dependency versions (#30652)
    • core: run script should exit the process when kill signals are r… (#31109)
    • core: resolve excessive CPU consumption via child_process.rs (#31110)
    • core: clearer tui colors on light themes (#31095)
    • core: tui should not exit when underlying process is cancelled (#31112)
    • core: tui summary should capture more terminal outputs (#31113)
    • core: replace posix.relative with relative for path resolution (#30783)
    • core: handle process killing more robustly (#31131)
    • core: only cleanup db connection on exit (#31137)
    • core: Update React,Vue and Node generators applications for CNW (#31059)
    • core: simplify action dispatch, use mutex locking, and avoid unnecessary clones (#31157)
    • core: show all native logs for debug mode (#31154)
    • core: handle npm scope when matching project substring (#31160)
    • core: change default native logging to "OFF" (#31161)
    • core: do not follow symlinks when creating remote cache tarball (#31138, #31085)
    • core: improve pinned tasks annotation on narrow width (#31175)
    • core: make running a single task more transparent (#31163)
    • core: do not set tasks which cannot be interactive to interactive (#31240)
    • core: remove engines field, improve compatibility documentation (#31245)
    • core: ensure that global nx works with dot-nx workspace after init (#31249)
    • core: Update e2e nightly test to not hang (#31218)
    • core: record task runs via the queue (#31253)
    • core: restore older nx core migrations for repair (#31254)
    • core: prefer vertical layout categorically if there are less tha… (#31221)
    • docs: typo in introduction.md (#31145)
    • esbuild: update peerDep range (#30402, #30167, #30009, #30370)
    • gradle: specify idle timeout for gradle batch runner (#31009)
    • gradle: fix gradle tests (#30879)
    • gradle: return success false for failed task (#31178)
    • gradle: make ci inputs same as test inputs (#31198)
    • js: handle ${configDir} in tsconfig files when inferring tasks (#31098, #30883)
    • linter: handle the flat config in workspace rule generators (#29253, #29252)
    • module-federation: generalize the check of the remote project specified in the buildTarget (#31211, #30808)
    • nextjs: Update glob for cache output (#31177)
    • nx-dev: webinar list page shows event date (#30953)
    • nx-dev: Add docs for disableChecksum option for s3-cache (#31199)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Emily Xiong @xiongemi
    • Ian Luca @ianldgs
    • Isaac Mann @isaacplmann
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Jonathan Cammisuli @Cammisuli
    • Jonathan Gelin @jogelin
    • Juri @juristr
    • laney
    • Leosvel Pérez Espinosa @leosvelperez
    • Nicholas Cunningham @ndcunningham
    • Nicolas Beaussart @beaussan
    • Nicolas Marien
    • pawel-twardziak
    • Stanislas Bernard
    • Tyler Hendrickson @hendrickson-tyler
    • Yiheng @ianzone
    Open source →
  20. 21.1.0-canary.20250520-da9d84c20 May 2025pre-release

    Nothing published for this version

  21. 21.1.0-canary.20250517-c92b4a317 May 2025pre-release

    Nothing published for this version

  22. 21.1.0-canary.20250516-7db44a816 May 2025pre-release

    Nothing published for this version

  23. 21.1.0-canary.20250515-81ecb2215 May 2025pre-release

    Nothing published for this version

  24. 21.1.0-canary.20250514-889dee014 May 2025pre-release

    Nothing published for this version

  25. 21.1.0-canary.20250513-8cf4b5513 May 2025pre-release

    Nothing published for this version

  26. 21.1.0-canary.20250510-cbb261910 May 2025pre-release

    Nothing published for this version

  27. 21.1.0-canary.20250509-8c50b7f9 May 2025pre-release

    Nothing published for this version

  28. 21.1.0-canary.20250508-98d33548 May 2025pre-release

    Nothing published for this version

  29. 21.1.0-canary.20250507-30a77097 May 2025pre-release

    Nothing published for this version

  30. 21.1.0-canary.20250506-72a0ef56 May 2025pre-release

    Nothing published for this version

  31. 21.1.0-beta.217 May 2025pre-release
    Release notes

    21.1.0-beta.2 (2025-05-17)

    🚀 Features

    • angular: migrate to angular rspack 21 (#31216)
    • core: update getTouchedProjectsFromLockFile to detect which projects were changed from pnpm lock file diff (#31091, #29986)
    • core: add ai rule files to gitignore (#31238)
    • devkit: allow requiring cts config files (#31103)
    • vite: add ajv dev dependency for vite-plugin-dts (#31107)

    🩹 Fixes

    • core: do not set tasks which cannot be interactive to interactive (#31240)
    • core: remove engines field, improve compatibility documentation (#31245)
    • core: ensure that global nx works with dot-nx workspace after init (#31249)
    • core: Update e2e nightly test to not hang (#31218)
    • core: record task runs via the queue (#31253)
    • core: restore older nx core migrations for repair (#31254)
    • core: prefer vertical layout categorically if there are less tha… (#31221)
    • linter: handle the flat config in workspace rule generators (#29253, #29252)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Jonathan Cammisuli @Cammisuli
    • laney
    • Nicholas Cunningham @ndcunningham
    • Nicolas Marien
    • pawel-twardziak
    Open source →
  32. 21.1.0-beta.114 May 2025pre-release
    Release notes

    21.1.0-beta.1 (2025-05-14)

    🚀 Features

    • angular: handle prerender and appshell in covert to rspack (#31210)
    • core: add nx console messaging to TUI (#31148)

    🩹 Fixes

    • esbuild: update peerDep range (#30402, #30167, #30009, #30370)
    • gradle: make ci inputs same as test inputs (#31198)
    • module-federation: generalize the check of the remote project specified in the buildTarget (#31211, #30808)
    • nx-dev: Add docs for disableChecksum option for s3-cache (#31199)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Emily Xiong @xiongemi
    • Jonathan Cammisuli @Cammisuli
    • Jonathan Gelin @jogelin
    • Nicholas Cunningham @ndcunningham
    • Tyler Hendrickson @hendrickson-tyler
    Open source →
  33. 21.1.0-beta.013 May 2025pre-release
    Release notes

    21.1.0-beta.0 (2025-05-13)

    🚀 Features

    • core: focus single tasks (#31159)
    • core: run parallel based on the number of cpu cores (#31011)
    • nx-dev: replace monorepo world link with office hours (3f5fd896a1a)
    • rspack: upgrade to version 1.3.8 (#31070)

    🩹 Fixes

    • angular: install @angular/build when using vitest test runner (#31169, #30646)
    • core: send up and down arrows to pty in interactive mode (#31084)
    • core: fail nx release cli when publish step fails (#31088)
    • core: explicitly cleanup forked process task runner (#31106)
    • core: add keepExistingVersions to jest option to preserve dependency versions (#30652)
    • core: run script should exit the process when kill signals are r… (#31109)
    • core: resolve excessive CPU consumption via child_process.rs (#31110)
    • core: clearer tui colors on light themes (#31095)
    • core: tui should not exit when underlying process is cancelled (#31112)
    • core: tui summary should capture more terminal outputs (#31113)
    • core: replace posix.relative with relative for path resolution (#30783)
    • core: handle process killing more robustly (#31131)
    • core: only cleanup db connection on exit (#31137)
    • core: Update React,Vue and Node generators applications for CNW (#31059)
    • core: simplify action dispatch, use mutex locking, and avoid unnecessary clones (#31157)
    • core: show all native logs for debug mode (#31154)
    • core: handle npm scope when matching project substring (#31160)
    • core: change default native logging to "OFF" (#31161)
    • core: do not follow symlinks when creating remote cache tarball (#31138, #31085)
    • core: improve pinned tasks annotation on narrow width (#31175)
    • core: make running a single task more transparent (#31163)
    • docs: typo in introduction.md (#31145)
    • gradle: specify idle timeout for gradle batch runner (#31009)
    • gradle: fix gradle tests (#30879)
    • gradle: return success false for failed task (#31178)
    • js: handle ${configDir} in tsconfig files when inferring tasks (#31098, #30883)
    • nextjs: Update glob for cache output (#31177)
    • nx-dev: webinar list page shows event date (#30953)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Emily Xiong @xiongemi
    • Ian Luca @ianldgs
    • Isaac Mann @isaacplmann
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Jonathan Cammisuli @Cammisuli
    • Juri @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • Nicholas Cunningham @ndcunningham
    • Nicolas Beaussart @beaussan
    • Stanislas Bernard
    • Yiheng @ianzone
    Open source →
  34. 21.0.421 May 2025
    Release notes

    21.0.4 (2025-05-21)

    🚀 Features

    • nx-dev: replace monorepo world link with office hours (7e67c810f4)

    🩹 Fixes

    • angular: install @angular/build when using vitest test runner (#31169, #30646)
    • core: Update React,Vue and Node generators applications for CNW (#31059)
    • core: simplify action dispatch, use mutex locking, and avoid unnecessary clones (#31157)
    • core: show all native logs for debug mode (#31154)
    • core: handle npm scope when matching project substring (#31160)
    • core: change default native logging to "OFF" (#31161)
    • core: do not follow symlinks when creating remote cache tarball (#31138, #31085)
    • core: improve pinned tasks annotation on narrow width (#31175)
    • core: remove engines field, improve compatibility documentation (#31245)
    • core: ensure that global nx works with dot-nx workspace after init (#31249)
    • core: Update e2e nightly test to not hang (#31218)
    • core: record task runs via the queue (#31253)
    • core: restore older nx core migrations for repair (#31254)
    • docs: typo in introduction.md (#31145)
    • esbuild: update peerDep range (#30402, #30167, #30009, #30370)
    • gradle: return success false for failed task (#31178)
    • gradle: make ci inputs same as test inputs (#31198)
    • linter: handle the flat config in workspace rule generators (#29253, #29252)
    • module-federation: generalize the check of the remote project specified in the buildTarget (#31211, #30808)
    • nextjs: Update glob for cache output (#31177)
    • nx-dev: Add docs for disableChecksum option for s3-cache (#31199)

    ❤️ Thank You

    • Emily Xiong @xiongemi
    • Ian Luca @ianldgs
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Jonathan Cammisuli @Cammisuli
    • Jonathan Gelin @jogelin
    • Juri @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • Nicholas Cunningham @ndcunningham
    • pawel-twardziak
    • Stanislas Bernard
    • Tyler Hendrickson @hendrickson-tyler
    Open source →
  35. 21.0.4-beta.010 May 2025pre-release
    Release notes

    21.0.4-beta.0 (2025-05-10)

    🚀 Features

    • core: focus single tasks (#31159)

    🩹 Fixes

    • core: Update React,Vue and Node generators applications for CNW (#31059)
    • core: simplify action dispatch, use mutex locking, and avoid unnecessary clones (#31157)
    • core: show all native logs for debug mode (#31154)
    • core: handle npm scope when matching project substring (#31160)
    • core: change default native logging to "OFF" (#31161)
    • core: do not follow symlinks when creating remote cache tarball (#31138, #31085)
    • docs: typo in introduction.md (#31145)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • Ian Luca @ianldgs
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Jonathan Cammisuli @Cammisuli
    • Nicholas Cunningham @ndcunningham
    • Stanislas Bernard
    Open source →
  36. 21.0.38 May 2025
    Release notes

    21.0.3 (2025-05-08)

    🩹 Fixes

    • core: replace posix.relative with relative for path resolution (#30783)
    • core: handle process killing more robustly (#31131)
    • core: only cleanup db connection on exit (#31137)
    • gradle: specify idle timeout for gradle batch runner (#31009)
    • gradle: fix gradle tests (#30879)

    ❤️ Thank You

    • Emily Xiong @xiongemi
    • Jason Jean @FrozenPandaz
    • Jonathan Cammisuli @Cammisuli
    Open source →
  37. 21.0.27 May 2025
    Release notes

    21.0.2 (2025-05-07)

    🩹 Fixes

    • core: run script should exit the process when kill signals are r… (#31109)
    • core: resolve excessive CPU consumption via child_process.rs (#31110)
    • core: clearer tui colors on light themes (#31095)
    • core: tui should not exit when underlying process is cancelled (#31112)
    • core: tui summary should capture more terminal outputs (#31113)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    Open source →
  38. 21.0.17 May 2025
    Release notes

    21.0.1 (2025-05-07)

    🚀 Features

    • rspack: upgrade to version 1.3.8 (#31070)

    🩹 Fixes

    • core: send up and down arrows to pty in interactive mode (#31084)
    • core: fail nx release cli when publish step fails (#31088)
    • core: explicitly cleanup forked process task runner (#31106)
    • core: add keepExistingVersions to jest option to preserve dependency versions (#30652)
    • js: handle ${configDir} in tsconfig files when inferring tasks (#31098, #30883)
    • nx-dev: webinar list page shows event date (#30953)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Isaac Mann @isaacplmann
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Nicholas Cunningham @ndcunningham
    • Nicolas Beaussart @beaussan
    Open source →
  39. 21.0.05 May 2025
    Release notes

    21.0.0 (2025-05-05)

    🚀 Features

    • angular: update angular-rspack to 20.7 (#30737)
    • ⚠️ angular: remove deprecated functionalities for v21 (#30769)
    • core: introduce continuous tasks (#29750, #29025)
    • core: share continuous tasks (#29901)
    • core: add the experimental Terminal UI for tasks (#30565)
    • core: enable dte to execute continuous tasks (#29993)
    • core: add shared status for tui (#30679)
    • core: clean up unneeded continuous tasks after tasks are done (#30746)
    • core: stream task output for all tasks except for direct output… (#30822)
    • core: add flaky task detection to tui summary (#30835)
    • core: allow executors to specify if they are continuous (#30821)
    • ⚠️ core: remove usage of cli property from migration definitions (#30855)
    • ⚠️ core: remove deprecated readWorkspaceConfig (#30868)
    • core: add enter and q keybindings (#30786)
    • ⚠️ core: drop support for create nodes v1 in favor of only calling create nodes v2 (#30616)
    • ⚠️ core: remove legacy cache flag from nx.json (#30787)
    • core: disable tui when output style is set to an incompatible style (#30873)
    • ⚠️ core: drop support for node versions prior to 20.19.0 (#30818)
    • core: support reading NX_TUI_AUTO_EXIT env var (#30971)
    • core: bump devkit support range and remove some deprecated APIs (#30840)
    • core: add continuous option to targets for Detox, Expo, and React Native (#30988)
    • ⚠️ core: remove outputStyle=compact (#31016)
    • gradle: add batch runner (#30457)
    • gradle: set gradle task continuous for bootRun (#30931)
    • graph: Create Migrate UI (#30734)
    • graph: add undo migration option when one is pending approval (#30878)
    • graph: show next steps for successful migrations (307c45542a)
    • graph: show next steps for successful migrations (#30934)
    • java: add gradle kotlin plugin (#29464)
    • js: infer continuous for watch-deps task (#29976)
    • linter: add support for package based secondary entry points (#30809, #18552)
    • misc: remove generation of target defaults for atomized e2e tasks (#30730)
    • misc: remove migrations prior to v19 in preparation for v21 (#30839)
    • module-federation: add continuous tasks support to react rspack (#30644)
    • node: generate new apps with continuous: true (#30148)
    • nuxt: enable continuous tasks (#30925)
    • nx-dev: add React landing page (#30612)
    • nx-dev: add course preview component (4f8b407a75)
    • nx-dev: tutorial landing page and improvements (#30757)
    • nx-dev: add conformance rule to verify blog post cover images (5651270b33)
    • react: undeprecate svgr option for Next.js apps since --turbo supports it (#30909)
    • react: replace deprecated babel classProperties.loose option in .babelrc files (#30912)
    • react-native: update executor and schema files for expo and react-native to be continuous (#30985)
    • ⚠️ release: useLegacyVersioning is false by default, migrate config (#30838)
    • ⚠️ release: support gitlab releases (#30802)
    • remix: add continuous task support (#29905)
    • ⚠️ remix: remove deprecated static-serve target name from inferred targets (#30982)
    • rspack: add continous inference support (#29973)
    • rspack: use custom WriteIndexHtmlPlugin to handle variable interpolation (#30805)
    • storybook: infer continuous tasks for storybook serve and serve-static (#30069)
    • testing: add continuous tasks support for jest e2e with node (#30675)
    • testing: support continuous tasks (#30632)
    • ⚠️ testing: remove deprecated getJestProjects (#30844)
    • ⚠️ testing: remove tsConfig option from the @nx/jest:jest executor (#30888)
    • ⚠️ testing: remove tsConfig and copyFiles options from the @nx/cypress:cypress executor (#30870)
    • vite: infer continuous tasks for dev (#30043)
    • webpack: add continuous inference support (#29974)
    • webpack: set default sassImplementation to sass-embedded (#30580)
    • webpack: remove isolatedConfig option for @nx/webpack:webpack (#30910)

    🩹 Fixes

    • check if dependencies & devDependencies exist before deleting dep (#30224, #30222)
    • angular: remove deprecated standaloneConfig from generators (#30578)
    • angular: handle ssr with convert-to-rspack (#30752)
    • angular: convert-to-rspack correctly migrating existing custom webpack configs (#30778)
    • angular: convert-to-rspack should ensure zone.js is not treated as local file (#30966)
    • core: schedule tasks and release waiting threads when continuous task is already running (#30673)
    • core: improve tui exit consistency and summary (#30678)
    • core: use dev tty for crossterm (#30696)
    • core: only register forced shutdown when tui is enabled (#30735)
    • core: improve flaky ci test (#30738)
    • core: disable tui when CI=true (#30754)
    • core: migrate-ui-api should always use its own migrate module (#30779)
    • core: wait for exit before getting terminal output (#30816)
    • core: fix issue with summary missing outputs (#30819)
    • core: allow disabling output streaming with NX_STREAM_OUTPUT (#30834)
    • core: add continuous to the project.json schema (#30853)
    • core: ensure task environments are processed properly in dte (#30862)
    • core: handle skipped tasks and trigger finished state (#30864)
    • core: do not clone screen on every render loop of the TUI (#30872)
    • core: error message when failing to fetch migrations is no good (#30874)
    • core: quick fix to support trailing commas when reading hoisted … (#29436)
    • core: properly print errors coming from js when tui is enabled (#30885)
    • core: tui summary should handle in progress tasks properly (#30905)
    • core: throw errors when task graph has invalid continuous tasks (#30924)
    • core: kill child processes when pseudo terminal shutsdown (#30935)
    • core: write keybindings with control to terminal panes in intera… (#30938)
    • core: dont cache default plugins as all plugins if loading plugins fails (#30927)
    • core: fix logging when directory does not exist (#30944)
    • ⚠️ core: respect packageManager field in package.json when detecting version (#29249)
    • core: fix terminal output for non-tui (#30957)
    • core: include nx version in native file cache (#30963, #30940, #29184)
    • core: error when restoring http cache with no outputs (#30961)
    • core: return results after NodeChildProcessWithNonDirectOutput has already exited (#30943)
    • core: don't display fork script path in tui (#30970)
    • core: prioritize --output-style flag over tui env vars (#30969)
    • core: use process#kill instead of tree-kill for windows and macos (#30976)
    • core: Disable the macOS job to prevent PRs from being blocked by its long runtime. (#30984)
    • core: send signals when killing child process on unix (#30987)
    • core: fix windows native build (#30990)
    • core: run discrete tasks using batches if possible (#30991)
    • core: improve tui task_list bottom section responsive design (#30993)
    • core: update fork task runner so it propagates exit signals (#30998)
    • core: remove unnecessary corepack defaults (#30992)
    • core: skip vt100 parsing if tui disabled (#31010)
    • core: tui summary should not show canceled during run-one because tasks are skipped (#31014)
    • core: ensure the terminal is restored when cloud exits (#31013)
    • core: Update nightly tests to work with continuous local-registry (#31007)
    • core: enable E2E tests for macOS in CI workflow (#30986)
    • core: reset should clear cloud light client (#31021)
    • core: nx init should configure plugins for encapsulated workspaces (#31020)
    • core: more tui summary updates and unit tests (#31019)
    • core: exit the command with sigint if it is interrupted (#31028)
    • core: Disable e2e matrix as macos is still hanging at install (#31041)
    • core: tui summary should show cancelled when interrupting dev server (#31042)
    • core: q should exit tui immediately if all tasks complete (#31040)
    • core: improve tui selected task contrast (#31039)
    • core: update ci-workflow generator package manager installation (#31018)
    • core: switch to tui-term fork to support dimmed content (#31044)
    • core: kill tasks run via run-commands (#31045)
    • gradle: make sure v1 hash file is named differently to prevent compatability errors (#30846)
    • gradle: add gradle migration to change ciTargetName (#30965)
    • gradle: fix workflow to run assemble check with batch (#31022)
    • graph: ensure deps from graph-client->migrate-ui exists so taliwind styles are compiled correctly (#30762)
    • graph: disable primary CTA for Migrate UI when approval is required first (#30836)
    • graph: make migrate ui future migration circles cleaner (#30898)
    • js: remove check that ts plugin is used for ts sync generator (#30743)
    • linter: remove empty entry in typescript eslint flat config (#30727, #30725)
    • ⚠️ misc: only provide default value for object properties if object already has value (#28838, #23153)
    • module-federation: remove disabling runtimeChunk (#30637, #9582)
    • module-federation: check the remote project targets for buildTarget to use #30808 (#30867, #30808)
    • nx-dev: refer to the youtube video instead of storing the videos… (#30739)
    • nx-dev: toc should only include headings from the article body (4dbc3c7156)
    • nx-dev: update blog posts with avif cover images (d6ea3ab45f)
    • react: mark react-router dev/start targets as continuous (#30776)
    • react: migration for babel supports configs that do not use @nx/react/babel (#30962)
    • release: ensure generatorOptions and rootVersionActionsOptions are passed to updateLockfile function (#30796)
    • release: ensure versionData is always populated even when no bumps (#30866)
    • release: only error on missing manifestsToUpdate if a project is being directly processed (#31004)
    • repo: don't cancel running jobs on master when new branch merged (#30871)
    • testing: fix cypress and playwright atomized targetDefaults so they match correctly (#30717, #28842)
    • testing: use correct server process reference when killing the server in the cypress preset (#30994)
    • testing: ignore test outputs from playwright when linting (#31015)
    • vue: install @typescript-eslint/parser when generating project using it (#31008)

    ⚠️ Breaking Changes

    • ⚠️ core: remove outputStyle=compact (#31016)
    • remix: Remove deprecated static-serve target name from Remix
    • misc: Currently if an executor's schema provides some default
    • core: We are updating our minimum node version to 20.19.0
    • ⚠️ core: respect packageManager field in package.json when detecting version (#29249)
    • ⚠️ release: support gitlab releases (#30802)
    • testing: The previously deprecated and unused tsConfig and
    • testing: The previously deprecated and unused tsConfig option
    • ⚠️ core: remove legacy cache flag from nx.json (#30787)
    • ⚠️ core: drop support for create nodes v1 in favor of only calling create nodes v2 (#30616)
    • core: The previously deprecated readWorkspaceConfig
    • core: The cli property from migration generator definitions
    • testing: The previously deprecated getJestProjects function
    • ⚠️ release: useLegacyVersioning is false by default, migrate config (#30838)
    • angular: Remove the deprecated data persistence operators

    ❤️ Thank You

    • Altan Stalker
    • Colum Ferry
    • Craigory Coppola @AgentEnder
    • Emily Xiong
    • François
    • Isaac Mann @isaacplmann
    • Jack Hsu
    • Jacob Ley @JacobLey
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Jonathan Cammisuli @Cammisuli
    • Juri
    • Leosvel Pérez Espinosa
    • MaxKless @MaxKless
    • Mike Hartington @mhartington
    • Miroslav Jonaš
    • Nicholas Cunningham @ndcunningham
    • Thomas Dekiere
    Open source →
  40. 21.0.0-rc.45 May 2025pre-release
    Release notes

    21.0.0-rc.4 (2025-05-05)

    🩹 Fixes

    • core: exit the command with sigint if it is interrupted (#31028)
    • core: Disable e2e matrix as macos is still hanging at install (#31041)
    • core: tui summary should show cancelled when interrupting dev server (#31042)
    • core: q should exit tui immediately if all tasks complete (#31040)
    • core: improve tui selected task contrast (#31039)
    • core: update ci-workflow generator package manager installation (#31018)
    • core: switch to tui-term fork to support dimmed content (#31044)
    • core: kill tasks run via run-commands (#31045)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Nicholas Cunningham @ndcunningham
    Open source →
  41. 21.0.0-rc.33 May 2025pre-release
    Release notes

    21.0.0-rc.3 (2025-05-03)

    🚀 Features

    • ⚠️ core: remove outputStyle=compact (#31016)

    🩹 Fixes

    • core: remove unnecessary corepack defaults (#30992)
    • core: skip vt100 parsing if tui disabled (#31010)
    • core: tui summary should not show canceled during run-one because tasks are skipped (#31014)
    • core: ensure the terminal is restored when cloud exits (#31013)
    • core: Update nightly tests to work with continuous local-registry (#31007)
    • core: enable E2E tests for macOS in CI workflow (#30986)
    • core: reset should clear cloud light client (#31021)
    • core: nx init should configure plugins for encapsulated workspaces (#31020)
    • core: more tui summary updates and unit tests (#31019)
    • gradle: fix workflow to run assemble check with batch (#31022)
    • release: only error on missing manifestsToUpdate if a project is being directly processed (#31004)
    • testing: ignore test outputs from playwright when linting (#31015)
    • vue: install @typescript-eslint/parser when generating project using it (#31008)

    ⚠️ Breaking Changes

    • ⚠️ core: remove outputStyle=compact (#31016)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • Emily Xiong @xiongemi
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Leosvel Pérez Espinosa @leosvelperez
    • Nicholas Cunningham @ndcunningham
    Open source →
  42. 21.0.0-rc.22 May 2025pre-release
    Release notes

    21.0.0-rc.2 (2025-05-02)

    🩹 Fixes

    • core: fix windows native build (#30990)
    • core: run discrete tasks using batches if possible (#30991)
    • core: improve tui task_list bottom section responsive design (#30993)
    • core: update fork task runner so it propagates exit signals (#30998)
    • testing: use correct server process reference when killing the server in the cypress preset (#30994)

    ❤️ Thank You

    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    Open source →
  43. 21.0.0-rc.12 May 2025pre-release
    Release notes

    21.0.0-rc.1 (2025-05-02)

    🚀 Features

    • core: add continuous option to targets for Detox, Expo, and React Native (#30988)

    🩹 Fixes

    • core: send signals when killing child process on unix (#30987)
    • core: fix windows native build (#30990)
    • core: run discrete tasks using batches if possible (#30991)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • Jason Jean @FrozenPandaz
    • Nicholas Cunningham @ndcunningham
    Open source →
  44. 21.0.0-rc.01 May 2025pre-release
    Release notes

    21.0.0-rc.0 (2025-05-01)

    🚀 Features

    • ⚠️ core: drop support for node versions prior to 20.19.0 (#30818)
    • core: support reading NX_TUI_AUTO_EXIT env var (#30971)
    • core: bump devkit support range and remove some deprecated APIs (#30840)
    • gradle: set gradle task continuous for bootRun (#30931)
    • react-native: update executor and schema files for expo and react-native to be continuous (#30985)
    • ⚠️ remix: remove deprecated static-serve target name from inferred targets (#30982)

    🩹 Fixes

    • angular: convert-to-rspack should ensure zone.js is not treated as local file (#30966)
    • core: don't display fork script path in tui (#30970)
    • core: prioritize --output-style flag over tui env vars (#30969)
    • core: use process#kill instead of tree-kill for windows and macos (#30976)
    • core: Disable the macOS job to prevent PRs from being blocked by its long runtime. (#30984)
    • gradle: add gradle migration to change ciTargetName (#30965)
    • graph: make migrate ui future migration circles cleaner (#30898)
    • ⚠️ misc: only provide default value for object properties if object already has value (#28838, #23153)
    • react: migration for babel supports configs that do not use @nx/react/babel (#30962)

    ⚠️ Breaking Changes

    • remix: Remove deprecated static-serve target name from Remix
    • misc: Currently if an executor's schema provides some default
    • core: We are updating our minimum node version to 20.19.0

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Emily Xiong @xiongemi
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • MaxKless @MaxKless
    • Nicholas Cunningham @ndcunningham
    Open source →
  45. 21.0.0-canary.20250503-675e6ed3 May 2025pre-release

    Nothing published for this version

  46. 21.0.0-canary.20250502-110614d2 May 2025pre-release

    Nothing published for this version

  47. 21.0.0-canary.20250501-8f503581 May 2025pre-release

    Nothing published for this version

  48. 21.0.0-canary.20250430-07b881d30 Apr 2025pre-release

    Nothing published for this version

  49. 21.0.0-canary.20250429-cf4a1f329 Apr 2025pre-release

    Nothing published for this version

  50. 21.0.0-canary.20250426-da4f55b26 Apr 2025pre-release

    Nothing published for this version

  51. 21.0.0-canary.20250425-ee097a825 Apr 2025pre-release

    Nothing published for this version

  52. 21.0.0-canary.20250424-e23b25f24 Apr 2025pre-release

    Nothing published for this version

  53. 21.0.0-canary.20250423-16fc55123 Apr 2025pre-release

    Nothing published for this version

  54. 21.0.0-canary.20250422-8619c1d22 Apr 2025pre-release

    Nothing published for this version

  55. 21.0.0-canary.20250419-8619c1d19 Apr 2025pre-release

    Nothing published for this version

  56. 21.0.0-canary.20250418-8619c1d18 Apr 2025pre-release

    Nothing published for this version

  57. 21.0.0-canary.20250416-caa26a716 Apr 2025pre-release

    Nothing published for this version

  58. 21.0.0-canary.20250206-8bd0bcd6 Feb 2025pre-release

    Nothing published for this version

  59. 21.0.0-canary.20250205-45d51405 Feb 2025pre-release

    Nothing published for this version

  60. 21.0.0-beta.121 May 2025pre-release
    Release notes

    21.0.0-beta.12 (2025-05-01)

    🚀 Features

    • core: disable tui when output style is set to an incompatible style (#30873)
    • graph: show next steps for successful migrations (#30934)
    • nx-dev: add conformance rule to verify blog post cover images (5651270b33)
    • ⚠️ release: support gitlab releases (#30802)

    🩹 Fixes

    • core: write keybindings with control to terminal panes in intera… (#30938)
    • core: dont cache default plugins as all plugins if loading plugins fails (#30927)
    • core: fix logging when directory does not exist (#30944)
    • ⚠️ core: respect packageManager field in package.json when detecting version (#29249)
    • core: fix terminal output for non-tui (#30957)
    • core: include nx version in native file cache (#30963)
    • core: error when restoring http cache with no outputs (#30961)
    • core: return results after NodeChildProcessWithNonDirectOutput has already exited (#30943)
    • nx-dev: update blog posts with avif cover images (d6ea3ab45f)

    ⚠️ Breaking Changes

    • ⚠️ core: respect packageManager field in package.json when detecting version (#29249)
    • ⚠️ release: support gitlab releases (#30802)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jacob Ley @JacobLey
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Juri @juristr
    Open source →