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
202420252026

Releases

  1. 22.1.0-canary.20251027-29467da27 Oct 2025pre-release

    Nothing published for this version

  2. 22.1.0-canary.20251024-7712d2a24 Oct 2025pre-release

    Nothing published for this version

  3. 22.1.0-canary.20251023-59cf49523 Oct 2025pre-release

    Nothing published for this version

  4. 22.1.0-canary.20251022-681825e22 Oct 2025pre-release

    Nothing published for this version

  5. 22.1.0-beta.811 Nov 2025pre-release
    Release notes

    22.1.0-beta.8 (2025-11-11)

    🚀 Features

    • release: add resolveVersionPlans option to changelog CLI and API (#33435)
    • vitest: split entrypoint into plugin, generators, executors (#33426)
    • vitest: support vitest 4 (#33424)

    🩹 Fixes

    • core: clean up dead processes from metrics (#33437)
    • core: resolve lockfile cache regression with keyMap state (#33448, #33256)
    • js: update vitest generator import in library generator (#33430)
    • js: improve typescript plugin performance (#33425, #33076)
    • release: changelog renderer should render commit title with breaking changes (#33439)
    • storybook: remove optional nature of migration (#33427)
    • vitest: do not fail when cleanedAngularVersion is of incorrect type (#33436, #33347)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Coly010 @Coly010
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    Open source →
  6. 22.1.0-beta.710 Nov 2025pre-release
    Release notes

    22.1.0-beta.7 (2025-11-10)

    🚀 Features

    • testing: support cypress v15 (#33393, #33304)
    • vitest: split vitest into @nx/vitest plugin (#33311)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Coly010 @Coly010
    • Leosvel Pérez Espinosa @leosvelperez
    • leosvelperez @leosvelperez
    Open source →
  7. 22.1.0-beta.610 Nov 2025pre-release
    Release notes

    22.1.0-beta.6 (2025-11-08)

    🚀 Features

    • core: disable interactivity by default for run-one task outputs in tui (#33358)
    • core: track system metrics and link plugins to workers when possible (#33411)
    • gradle: use gitignore to determine dependant task output files (#33402)
    • maven: add ci-workflow generator (#33346)
    • maven: bump version from 0.0.8 to 0.0.9 (#33405)
    • storybook: generate ai instructions for converting from CJS to ESM after migration (#33395)
    • vite: add vitest 4 to peerDep range to prevent conflicts (#33394)

    🩹 Fixes

    • core: handle various directories when importing prettier (#33383)
    • core: prevent args from being split by spaces when executing through nx wrapper (#33362)
    • core: correctly identify local workspace dependencies on windows (#33408)
    • maven: forward parameters through target dependencies (#33365)
    • nx-dev: fix GitHub star button styling in mobile view (#33385)
    • testing: use .cts config files for Jest 30+ to fix __dirname issues (#33349, #32236)

    ❤️ Thank You

    • Claude
    • Colum Ferry @Coly010
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • MaxKless @MaxKless
    Open source →
  8. 22.1.0-beta.55 Nov 2025pre-release
    Release notes

    22.1.0-beta.5 (2025-11-05)

    🚀 Features

    🩹 Fixes

    • module-federation: update @module-federation packages to fix Koa vulnerability (#33285, #33380)
    • vite: ensure createVitest looks only from projectRoot (#33361)

    ❤️ Thank You

    • Colum Ferry
    • Eric Büttner
    • Leosvel Pérez Espinosa
    Open source →
  9. 22.1.0-beta.43 Nov 2025pre-release
    Release notes

    22.1.0-beta.4 (2025-11-03)

    🚀 Features

    • core: enable tui by default on windows (#33314)
    • core: batch hash tasks without custom hashers (#33327)
    • core: add OSC 9;4 progress indicator support to TUI (#33325)
    • maven: upgrade to version 0.0.8 with automated migration (#33315)

    🩹 Fixes

    • maven: set migration version to 22.1.0-beta.4 (#33345)
    • vite: ensure atomizer does not consider projects outside the project root (#33344)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Jason Jean @FrozenPandaz
    Open source →
  10. 22.1.0-beta.31 Nov 2025pre-release
    Release notes

    22.1.0-beta.3 (2025-11-01)

    🚀 Features

    • misc: remove CI investigation recommendations from agent rules (#33309)
    • storybook: add support for storybook 10 (#33277, #33141)

    🩹 Fixes

    • core: also look in .nx installation when reading nx.json extends (#33306)
    • maven: resolve maven dependencies from project roots (#33313)
    • nextjs: ensure eslint-config-next matches Next.js 14 and 15 versions (#30259, #30258, #30257)
    • vite: prevent race-condition when importing @vitejs/plugin-vue (#33307)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Eric Büttner
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • MaxKless @MaxKless
    Open source →
  11. 22.1.0-beta.228 Oct 2025pre-release
    Release notes

    22.1.0-beta.2 (2025-10-28)

    🚀 Features

    • nx-dev: add downloadable resources page and React book blog post (160b4cce34)
    • vite: add atomizer support for vitest (#33265)

    🩹 Fixes

    • core: turn v8 serializer off by default but fallback to it if json serialization fails (#33274, #4, #2, #3)
    • core: make sure that gemini contextFileName is string before trying to resolve (#33280)
    • docker: guard commitSha null in plugin interpolation (#33275)
    • webpack: prevent errors when importing @nx/webpack before typescript is installed (#33251)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • Emilio Heinzmann @emiliosheinz
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Juri Strumpflohner
    • MaxKless @MaxKless
    Open source →
  12. 22.1.0-beta.127 Oct 2025pre-release
    Release notes

    22.1.0-beta.1 (2025-10-27)

    🚀 Features

    • gradle: add custom installation path to options (#33187)

    🩹 Fixes

    • core: fix swapped arguments when resolving catalog references from the filesystem (#33237)
    • core: should find dockerfiles to suggest installing docker plugin (#33234)
    • core: stream without prefixes showing tui (#33194, #32535)
    • core: ensure daemon writes project graph cache to disk consistently (#33217)
    • core: add accept header to http remote cache get (#33093, #33092)
    • core: prevent undefined importer crash in pnpm lockfile parsing (#33223)
    • core: split lockfile cache and other performance improvements (#33256)
    • docker: handle undefined options when creating graph (#33235)
    • docker: handle dockerfile at project root tag (#33236)
    • misc: handle null exit codes from crashed child processes (#33163, #29204)
    • vite: nxViteTsPaths supports local path aliases (#33241, #33231)

    ❤️ Thank You

    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Hugo Burton @hugs7
    • Jack Hsu @jaysoo
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • Sander Boelhouwers
    Open source →
  13. 22.1.0-beta.024 Oct 2025pre-release
    Release notes

    22.1.0-beta.0 (2025-10-23)

    🚀 Features

    • core: update rust (#33220)
    • docker: support inferring additional args for targets with interpolation support (#32892)
    • release: support {versionActionsVersion} in docker version scheme (#33178)

    🩹 Fixes

    • core: adding output error reason (#33159)
    • core: continue execution when cloud client is unavailable (#33214)
    • core: prevent error message containing [object Object] for invalid {workspaceRoot} placement (#33203)
    • maven: add support for unbound goals in plugin targets (#33191)
    • maven: use File.isAbsolute for cross-platform path detection (#33195)
    • misc: add explanatory footer to ai agents prompts (#33182)
    • node: migrate to koa 3.0.3 (#33208)
    • nx-dev: update docs code blocks usage (#32998)
    • nx-dev: add copy-docs back as a dep of serve (#33215)

    ❤️ Thank You

    • Caleb Ukle
    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Emilio Heinzmann @emiliosheinz
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • MaxKless @MaxKless
    • Zachary DeRose @ZackDeRose
    Open source →
  14. 22.0.417 Nov 2025
    Release notes

    22.0.4 (2025-11-17)

    🚀 Features

    • core: pull nx init from latest before executing (#33446)
    • docker: add skipDefaultTag option to build target (#33477, #33506)
    • maven: add option to prefix all maven targets (#33420)

    🩹 Fixes

    • core: resolve lockfile cache regression with keyMap state (#33448, #33256)
    • core: optimize batch task scheduling to prevent redundant traversals (#33455, #33366)
    • core: capture stderr in nx add command for better error messages (#33462)
    • core: include require paths when resolving specified plugins (#33495)
    • core: prevent hanging between command end and process exit (#33500)
    • gradle: bump gradle migration version (#33479)
    • graph: add nx:build-native dependency to typecheck target (#33428)
    • js: improve typescript plugin performance (#33425, #33076)
    • maven: skip maven plugin computation on vercel/netlify (#33486)
    • misc: handle ERR_USE_AFTER_CLOSE gracefully in nx init and create-nx-workspace (#33469)
    • release: changelog renderer should render commit title with breaking changes (#33439)

    ❤️ Thank You

    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • MaxKless @MaxKless
    Open source →
  15. 22.0.310 Nov 2025
    Release notes

    22.0.3 (2025-11-10)

    🚀 Features

    • core: batch hash tasks without custom hashers (#33327)
    • core: add OSC 9;4 progress indicator support to TUI (#33325)
    • core: disable interactivity by default for run-one task outputs in tui (#33358)
    • gradle: use gitignore to determine dependant task output files (#33402)
    • maven: upgrade to version 0.0.8 with automated migration (#33315)
    • maven: add ci-workflow generator (#33346)
    • maven: bump version from 0.0.8 to 0.0.9 (#33405)
    • misc: remove CI investigation recommendations from agent rules (#33309)
    • vite: add vitest 4 to peerDep range to prevent conflicts (#33394)

    🩹 Fixes

    • core: also look in .nx installation when reading nx.json extends (#33306)
    • core: handle various directories when importing prettier (#33383)
    • core: prevent args from being split by spaces when executing through nx wrapper (#33362)
    • core: correctly identify local workspace dependencies on windows (#33408)
    • maven: resolve maven dependencies from project roots (#33313)
    • maven: set migration version to 22.1.0-beta.4 (#33345)
    • maven: forward parameters through target dependencies (#33365)
    • module-federation: update @module-federation packages to fix Koa vulnerability (#33285, #33380)
    • nextjs: ensure eslint-config-next matches Next.js 14 and 15 versions (#30259, #30258, #30257)
    • nx-dev: fix GitHub star button styling in mobile view (#33385)
    • testing: use .cts config files for Jest 30+ to fix __dirname issues (#33349, #32236)
    • vite: prevent race-condition when importing @vitejs/plugin-vue (#33307)

    ❤️ Thank You

    • Claude
    • Colum Ferry @Coly010
    • Eric Büttner @tuffz
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • MaxKless @MaxKless
    Open source →
  16. 22.0.228 Oct 2025
    Release notes

    22.0.2 (2025-10-28)

    🚀 Features

    • docker: support inferring additional args for targets with interpolation support (#32892)
    • gradle: add custom installation path to options (#33187)
    • nx-dev: add downloadable resources page and React book blog post (4b6009764a)
    • release: support {versionActionsVersion} in docker version scheme (#33178)

    🩹 Fixes

    • core: continue execution when cloud client is unavailable (#33214)
    • core: prevent error message containing [object Object] for invalid {workspaceRoot} placement (#33203)
    • core: fix swapped arguments when resolving catalog references from the filesystem (#33237)
    • core: should find dockerfiles to suggest installing docker plugin (#33234)
    • core: stream without prefixes showing tui (#33194, #32535)
    • core: add accept header to http remote cache get (#33093, #33092)
    • core: prevent undefined importer crash in pnpm lockfile parsing (#33223)
    • core: split lockfile cache and other performance improvements (#33256)
    • core: ensure daemon writes project graph cache to disk consistently (#33217)
    • core: turn v8 serializer off by default but fallback to it if json serialization fails (#33274, #4, #2, #3)
    • core: make sure that gemini contextFileName is string before trying to resolve (#33280)
    • docker: handle undefined options when creating graph (#33235)
    • docker: handle dockerfile at project root tag (#33236)
    • docker: guard commitSha null in plugin interpolation (#33275)
    • maven: use File.isAbsolute for cross-platform path detection (#33195)
    • misc: add explanatory footer to ai agents prompts (#33182)
    • misc: handle null exit codes from crashed child processes (#33163, #29204)
    • node: migrate to koa 3.0.3 (#33208)
    • nx-dev: update docs code blocks usage (#32998)
    • nx-dev: add copy-docs back as a dep of serve (#33215)
    • vite: nxViteTsPaths supports local path aliases (#33241, #33231)
    • webpack: prevent errors when importing @nx/webpack before typescript is installed (#33251)

    ❤️ Thank You

    • Caleb Ukle
    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Emilio Heinzmann @emiliosheinz
    • Hugo Burton @hugs7
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Juri Strumpflohner
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • MaxKless @MaxKless
    • Sander Boelhouwers
    Open source →
  17. 22.0.122 Oct 2025
    Release notes

    22.0.1 (2025-10-22)

    🩹 Fixes

    • core: adding output error reason (#33159)
    • maven: add support for unbound goals in plugin targets (#33191)

    ❤️ Thank You

    • Jason Jean @FrozenPandaz
    • Zachary DeRose @ZackDeRose
    Open source →
  18. 22.0.022 Oct 2025
    Release notes

    22.0.0 (2025-10-22)

    🚀 Features

    • ⚠️ bundling: change default useLegacyTypescriptPlugin to false for v22 (#32754)
    • bundling: add excludeFromExternal option to esbuild executor (#32980)
    • core: prompt for ai agent files on nx init (#32889)
    • ⚠️ core: remove NX_DISABLE_DB environment variable (#32887)
    • ⚠️ core: remove CreateNodes v1 types for Nx 22 (#32951)
    • core: add --check=all flag to configure-ai-agents (#32968)
    • core: expose registerProjectGraphRecomputationListener from daemon client (#33005)
    • core: add support for pnpm catalogs (#32978, #30035, #29772)
    • core: enhance spinner handling and add spinner to inferred conversion (#33031)
    • devkit: bump compatibility to Nx 21 - 23 (6b86c33c30)
    • dotnet: add initial draft of .NET plugin (#32869)
    • ⚠️ js: remove the experimental and deprecated inlining feature from the tsc and swc executors (#32783)
    • maven: introduce maven plugin (#32947)
    • ⚠️ misc: remove deprecated decorate-cli script and stop sorting tsconfig paths by default (#32781)
    • misc: remove migrations prior to v20 (#32904)
    • module-federation: support TS Soln and Package Manager workspaces paradigms (#33056)
    • nest: ensure dependencies are added to project's package.json #32548 (#32986, #32548)
    • nx-cloud: update description on nx login and logout (#31344)
    • nx-dev: add v22 to version picker (#33110)
    • react: remove support for non-isolated webpack config in ponentTestingPreset (#32787)
    • react: keep deprecated @nx/react/bundle-rollup module since there is not a replacement when using @nx/rollup:rollup executor (#32821)
    • ⚠️ release: match nx affected behavior to determine relevant conventional commits (#32915)
    • ⚠️ release: remove deprecated legacy versioning (#32888)
    • ⚠️ release: switch defaults for fixed release group tag pattern, preserve matching dependency ranges and strictPreid (#32878)
    • ⚠️ release: set preserveMatchingDependencyRanges to true by default (#32983)
    • release: add releaseTagPatternPreferDockerVersion to specify version to use for git tag #32900 (#32972, #32900)
    • ⚠️ release: release graph aware filtering, updateDependents can now be "always" (#32971)
    • ⚠️ release: set updateDependents to always by default (#33029)
    • ⚠️ release: refactor releaseTag* properties to a releaseTag object (#33020)
    • release: allow changelog.renderer to be set to an implementation directly (#33095)
    • release: new replaceExistingContents CLI and API option for changelog (#33096)
    • release: allow ignoring nx.json release config with ReleaseClient (#33099)
    • release: allow conventional commit style aliases in version plan release types (#33167)
    • ⚠️ rspack: remove application generator in favour of framework-specific options (#32755)
    • ⚠️ rspack: remove deprecated deleteOutputPath and sassImplementation options (#32756)
    • storybook: add watch-deps and build-deps targets (deb10f2818)
    • vite: add buildable libs support for vitest (#32973)
    • vue: migrate @vitejs/plugin-vue to 6.0.1 (#33097)
    • ⚠️ webpack: remove deprecated deleteOutputPath and sassImplementation options (#32828)

    🩹 Fixes

    • angular: improve message for unsupported typescript project references (#33148)
    • angular: ensure ngpackagr tsconfig options set correctly based on version #33081 (#33150, #33081)
    • angular-rspack: do not parse json with babel #32690 (#32966, #32690)
    • angular-rspack: ensure root node_modules included when resolving packages (#33144, #33026)
    • angular-rspack: bubble errors correctly (#33183)
    • bundling: ensure tsconfig options are respected with rollup-typescript-plugin (#32816)
    • bundling: postcss-cli-resources should handle relative deploy url #32714 (#32762, #32714)
    • ⚠️ core: remove deprecated simpleName option from library generators (#32716)
    • core: improve provenance error with custom registry information (#32903)
    • core: optimize task hashing with BFS and performance logging (#32911)
    • core: tweak configure-ai-agents prompt (#32914)
    • core: ensure nx is published with the correct dependency version for the native packages (#32928, #32898)
    • core: upgrade axios to 1.12.0 to address CVE-2025-58754 (#32712)
    • core: repair repo root on setupAiAgents in nx init (#32984)
    • core: remove requirement to be in a package manager workspace (#32992)
    • core: remove duplicated "Running" string from tui title (#32991)
    • core: display bottom corner indicator of tui in progress section correctly (#32985)
    • core: temporarily disable tui for run-one (#33048)
    • core: ensure --help works properly with infix notation (#32662)
    • core: improve db connection initialization and error messages (#33054, #28640, #30856, #32894)
    • core: prioritize in-progress tasks section visibility in tui (#33053)
    • core: enhance tui summary output to fix misc issues (#33057)
    • core: format catalog definition files when appropriate in nx migrate (#33105)
    • core: allow prerelease versions of nx to be used with devkit (#33123)
    • core: restore migrations used by nx repair (#33124)
    • core: avoid changing existing project name if a project.json file is added to a project (#33114)
    • core: do not remove wal files manually for existing databases (#33143)
    • core: do not print flaky tasks guidance when nx cloud is already enabled (#33149)
    • core: add wrappers for start and stop agent nx-cloud commands (#33140)
    • core: revert changes to the db connection initialization (#33156)
    • core: store reason when marking daemon as disabled (#33172)
    • dotnet: fixup various issues + missing functionality (#33132)
    • graph: prevent content from overflowing in the PDV component (#33120)
    • js: temporarily hash all external dependencies for tasks inferred by the @nx/js/typescript plugin (#32912)
    • js: ensure node execute completes before exit (#32629, #32385, #32356)
    • linter: install correct deps in eslint convert to flat config generator (#33078)
    • ⚠️ misc: don't set legacy-peer-deps by default (#33014, #22066, #29537)
    • module-federation: ensure angular rspack module federation supports live reload (#33137)
    • nextjs: remove whitespace for newly generated server component (1d687c4994)
    • nextjs: update entrypoints for buildable library with vite to include server entry #31457 (#32977, #31457)
    • nx-cloud: update broken documentation links to AI features (0149fac877)
    • nx-dev: improve default zoom level of graph nodes in docs (#32910)
    • nx-dev: provide message to check previous docs w/ empty migrations (#32919)
    • nx-dev: watch for theme changes for project/task graph components (#32885)
    • nx-dev: update credit pricing link to new docs page (#32899)
    • nx-dev: update nextjs internal-link-checker to include astro urls (#33045)
    • nx-dev: respect NX_DEV_URL in sitemap checker (#33058)
    • nx-dev: handle null github data (#33061)
    • nx-dev: add docker to build-tools tech section (#33164)
    • react: dynamic module federation should not initialize remoteUrlDefinitions to empty object (#33059, #27927, #33055, #27793, #27842)
    • release: ensure schema for release.groups is correct (#33007)
    • release: skip filtered out groups when processing (#33044)
    • ⚠️ release: ensure multilines in breaking changes are rendered by changelog renderer (#33070, #33014)
    • release: replace local dependency protocols of unchanged dependencies #30995 (#33151, #30995)
    • ⚠️ release: better respect version plan file contents for changelog entries (#33166)
    • release: breaking change contents extraction (#33184)
    • remix: @nx/remix/package.json export typo fixed #32810 (#32940, #32810)
    • remix: ensure supported version of vite is used (#33089)
    • repo: fix pr releases to not depend on a broken range (#32993)
    • testing: show warning instead of error when no blob outputs found during merge (#33022)
    • vite: ensure tsconfig file is resolved from workspaceRoot #31987 (#32990, #31987)
    • vite: enable build watch mode by default for preview (#31604, #31623)
    • vite: add logic to prevent overwriting generated package.json (#30705, #30312)

    ⚠️ Breaking Changes

    • release: config.conventionalCommitsConfig for DefaultChangelogRenderer is no longer nullable. (#33166)

    • misc: The --legacy-peer-deps behavior is no longer forced. (#33014, #22066, #29537)

      If you need it, configure your package manager to enforce it.

    • release: This is a breaking change in the preferred configuration structure. Existing configurations will continue to work through the migration period, but users should update to the new nested format. (#33020)

    • release: Users who relied on the previous 'auto' behavior can (#33029)

      explicitly set updateDependents: 'auto' in their nx.json:

        {
          "release": {
            "version": {
              "updateDependents": "auto
      
    • release: The signature of init() on VersionActions has (#32971)

      changed, it no longer accepts a second argument. Validation of the manifest files, if any, now takes place via a separate method (validate()) call after construction of the new ReleaseGraph. For the most part, users do not need custom VersionActions so only a small percentage of consumers should be impacted. Fixes https://github.com/nrwl/nx/issues/31273

    • ⚠️ core: remove CreateNodes v1 types for Nx 22 (#32951)

    • ⚠️ release: set preserveMatchingDependencyRanges to true by default (#32983)

    • ⚠️ release: switch defaults for fixed release group tag pattern, preserve matching dependency ranges and strictPreid (#32878)

    • ⚠️ release: remove deprecated legacy versioning (#32888)

    • release: More files are now being used to determine relevant (#32915)

      commits, meaning there is higher chance for projects to receive version bumps

    • misc: The long-deprecated decorate-cli script has been (#32781)

      removed. BREAKING CHANGE: The nx format command and generators no longer default to sorting TypeScript path mappings. To keep the previous behavior, pass the --sort-root-tsconfig-paths flag to the command or set NX_FORMAT_SORT_TSCONFIG_PATHS=true.

    • ⚠️ core: remove NX_DISABLE_DB environment variable (#32887)

    • js: The experimental inlining feature in the @nx/js:tsc (#32783)

      and @nx/js:swc executors was removed. A migration will remove the related options (external and externalBuildTargets). Still, if you use or rely on the feature, you need to make your dependencies buildable or use a different build tool with bundling capabilities.

    • ⚠️ webpack: remove deprecated deleteOutputPath and sassImplementation options (#32828)

    • ⚠️ rspack: remove deprecated deleteOutputPath and sassImplementation options (#32756)

    • ⚠️ rspack: remove application generator in favour of framework-specific options (#32755)

    • ⚠️ bundling: change default useLegacyTypescriptPlugin to false for v22 (#32754)

    • core: simpleName option is no longer supported in library generators (#32716)

    ❤️ Thank You

    • Andrew Ovens @aovens-quantifi
    • Caleb Ukle
    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • David Scourfield @daiscog
    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Juri @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • MaxKless @MaxKless
    • Mike Cebrian
    • Miroslav Jonaš @meeroslav
    • Mischa Fischer
    • Nikola Kalinov
    • Shai Reznik @shairez
    • Terry Mun-Andersen @terrymun
    • Vijay Ramakrishnan
    • Zoran Kokeza
    Open source →
  19. 22.0.0-rc.021 Oct 2025pre-release
    Release notes

    22.0.0-rc.0 (2025-10-21)

    🩹 Fixes

    • angular: improve message for unsupported typescript project references (#33148)
    • angular: ensure ngpackagr tsconfig options set correctly based on version #33081 (#33150, #33081)
    • core: do not remove wal files manually for existing databases (#33143)
    • core: do not print flaky tasks guidance when nx cloud is already enabled (#33149)
    • core: add wrappers for start and stop agent nx-cloud commands (#33140)
    • core: revert changes to the db connection initialization (#33156)
    • release: replace local dependency protocols of unchanged dependencies #30995 (#33151, #30995)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • David Scourfield @daiscog
    • Leosvel Pérez Espinosa @leosvelperez
    • Miroslav Jonaš @meeroslav
    Open source →
  20. 22.0.0-canary.20251021-693444521 Oct 2025pre-release

    Nothing published for this version

  21. 22.0.0-canary.20251018-6549d2a18 Oct 2025pre-release

    Nothing published for this version

  22. 22.0.0-canary.20251016-849f35616 Oct 2025pre-release

    Nothing published for this version

  23. 22.0.0-canary.20251015-f37c13b15 Oct 2025pre-release

    Nothing published for this version

  24. 22.0.0-canary.20251014-82acc8414 Oct 2025pre-release

    Nothing published for this version

  25. 22.0.0-canary.20251013-14efeff13 Oct 2025pre-release

    Nothing published for this version

  26. 22.0.0-canary.20251010-bfaa91b10 Oct 2025pre-release

    Nothing published for this version

  27. 22.0.0-canary.20251008-05ab5168 Oct 2025pre-release

    Nothing published for this version

  28. 22.0.0-canary.20251007-01d5f3f7 Oct 2025pre-release

    Nothing published for this version

  29. 22.0.0-canary.20251006-738b06b6 Oct 2025pre-release

    Nothing published for this version

  30. 22.0.0-canary.20251006-0149fac6 Oct 2025pre-release

    Nothing published for this version

  31. 22.0.0-canary.20251002-3bac1242 Oct 2025pre-release

    Nothing published for this version

  32. 22.0.0-canary.20251001-e28a97a1 Oct 2025pre-release

    Nothing published for this version

  33. 22.0.0-beta.921 Oct 2025pre-release
    Release notes

    22.0.0-beta.9 (2025-10-20)

    🚀 Features

    • core: enhance spinner handling and add spinner to inferred conversion (#33031)
    • maven: introduce maven plugin (#32947)

    🩹 Fixes

    • angular-rspack: ensure root node_modules included when resolving packages (#33144, #33026)
    • module-federation: ensure angular rspack module federation supports live reload (#33137)

    ❤️ Thank You

    • Caleb Ukle
    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Jason Jean @FrozenPandaz
    • Miroslav Jonaš @meeroslav
    Open source →
  34. 22.0.0-beta.819 Oct 2025pre-release
    Release notes

    22.0.0-beta.8 (2025-10-19)

    🚀 Features

    • dotnet: add initial draft of .NET plugin (#32869)
    • nx-dev: add v22 to version picker (#33110)
    • storybook: add watch-deps and build-deps targets (deb10f2818)
    • vue: migrate @vitejs/plugin-vue to 6.0.1 (#33097)

    🩹 Fixes

    • core: enhance tui summary output to fix misc issues (#33057)
    • core: format catalog definition files when appropriate in nx migrate (#33105)
    • core: allow prerelease versions of nx to be used with devkit (#33123)
    • core: restore migrations used by nx repair (#33124)
    • core: avoid changing existing project name if a project.json file is added to a project (#33114)
    • graph: prevent content from overflowing in the PDV component (#33120)
    • linter: install correct deps in eslint convert to flat config generator (#33078)

    ❤️ Thank You

    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Juri @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • Vijay Ramakrishnan
    Open source →
  35. 22.0.0-beta.716 Oct 2025pre-release
    Release notes

    22.0.0-beta.7 (2025-10-16)

    🚀 Features

    • release: allow changelog.renderer to be set to an implementation directly (#33095)
    • release: new replaceExistingContents CLI and API option for changelog (#33096)
    • release: allow ignoring nx.json release config with ReleaseClient (#33099)

    🩹 Fixes

    • core: improve db connection initialization and error messages (#33054, #28640, #30856, #32894)
    • core: prioritize in-progress tasks section visibility in tui (#33053)
    • remix: ensure supported version of vite is used (#33089)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • James Henry @JamesHenry
    • Leosvel Pérez Espinosa @leosvelperez
    Open source →
  36. 22.0.0-beta.615 Oct 2025pre-release
    Release notes

    22.0.0-beta.6 (2025-10-15)

    🚀 Features

    ❤️ Thank You

    • Leosvel Pérez Espinosa @leosvelperez
    Open source →
  37. 22.0.0-beta.515 Oct 2025pre-release
    Release notes

    22.0.0-beta.5 (2025-10-15)

    🚀 Features

    • core: expose registerProjectGraphRecomputationListener from daemon client (#33005)
    • module-federation: support TS Soln and Package Manager workspaces paradigms (#33056)
    • ⚠️ release: set updateDependents to always by default (#33029)
    • ⚠️ release: refactor releaseTag* properties to a releaseTag object (#33020)

    🩹 Fixes

    • core: display bottom corner indicator of tui in progress section correctly (#32985)
    • core: temporarily disable tui for run-one (#33048)
    • core: ensure --help works properly with infix notation (#32662)
    • ⚠️ misc: don't set legacy-peer-deps by default (#33014, #22066, #29537)
    • nx-dev: update nextjs internal-link-checker to include astro urls (#33045)
    • nx-dev: respect NX_DEV_URL in sitemap checker (#33058)
    • nx-dev: handle null github data (#33061)
    • react: dynamic module federation should not initialize remoteUrlDefinitions to empty object (#33059, #27927, #33055, #27793, #27842)
    • release: skip filtered out groups when processing (#33044)
    • ⚠️ release: ensure multilines in breaking changes are rendered by changelog renderer (#33070, #33014)

    ⚠️ Breaking Changes

    • release: The --legacy-peer-deps behavior is no longer forced.
    • misc: The --legacy-peer-deps behavior is no longer forced.
    • release: This is a breaking change in the preferred configuration structure. Existing configurations will continue to work through the migration period, but users should update to the new nested format.
    • release: Users who relied on the previous 'auto' behavior can

    ❤️ Thank You

    • Caleb Ukle
    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • James Henry @JamesHenry
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    Open source →
  38. 22.0.0-beta.48 Oct 2025pre-release
    Release notes

    22.0.0-beta.4 (2025-10-08)

    🚀 Features

    • core: add --check=all flag to configure-ai-agents (#32968)
    • nest: ensure dependencies are added to project's package.json #32548 (#32986, #32548)
    • nx-cloud: update description on nx login and logout (#31344)
    • release: add releaseTagPatternPreferDockerVersion to specify version to use for git tag #32900 (#32972, #32900)
    • ⚠️ release: release graph aware filtering, updateDependents can now be "always" (#32971)
    • vite: add buildable libs support for vitest (#32973)

    🩹 Fixes

    • core: remove duplicated "Running" string from tui title (#32991)
    • release: ensure schema for release.groups is correct (#33007)
    • testing: show warning instead of error when no blob outputs found during merge (#33022)
    • vite: enable build watch mode by default for preview (#31604, #31623)

    ⚠️ Breaking Changes

    • release: The signature of init() on VersionActions has

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • MaxKless @MaxKless
    • Nikola Kalinov
    • Shai Reznik @shairez
    Open source →
  39. 22.0.0-beta.37 Oct 2025pre-release
    Release notes

    22.0.0-beta.3 (2025-10-07)

    🚀 Features

    • bundling: add excludeFromExternal option to esbuild executor (#32980)
    • ⚠️ core: remove CreateNodes v1 types for Nx 22 (#32951)
    • ⚠️ release: match nx affected behavior to determine relevant conventional commits (#32915)
    • ⚠️ release: remove deprecated legacy versioning (#32888)
    • ⚠️ release: switch defaults for fixed release group tag pattern, preserve matching dependency ranges and strictPreid (#32878)
    • ⚠️ release: set preserveMatchingDependencyRanges to true by default (#32983)

    🩹 Fixes

    • angular-rspack: do not parse json with babel #32690 (#32966, #32690)
    • bundling: postcss-cli-resources should handle relative deploy url #32714 (#32762, #32714)
    • core: upgrade axios to 1.12.0 to address CVE-2025-58754 (#32712)
    • core: repair repo root on setupAiAgents in nx init (#32984)
    • core: remove requirement to be in a package manager workspace (#32992)
    • nextjs: remove whitespace for newly generated server component (1d687c4994)
    • nextjs: update entrypoints for buildable library with vite to include server entry #31457 (#32977, #31457)
    • nx-cloud: update broken documentation links to AI features (0149fac877)
    • remix: @nx/remix/package.json export typo fixed #32810 (#32940, #32810)
    • repo: fix pr releases to not depend on a broken range (#32993)
    • vite: ensure tsconfig file is resolved from workspaceRoot #31987 (#32990, #31987)

    ⚠️ Breaking Changes

    • ⚠️ core: remove CreateNodes v1 types for Nx 22 (#32951)
    • ⚠️ release: set preserveMatchingDependencyRanges to true by default (#32983)
    • ⚠️ release: switch defaults for fixed release group tag pattern, preserve matching dependency ranges and strictPreid (#32878)
    • ⚠️ release: remove deprecated legacy versioning (#32888)
    • release: More files are now being used to determine relevant

    ❤️ Thank You

    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Juri @juristr
    • MaxKless @MaxKless
    • Mischa Fischer
    • Terry Mun-Andersen @terrymun
    • Zoran Kokeza
    Open source →
  40. 22.0.0-beta.22 Oct 2025pre-release
    Release notes

    22.0.0-beta.2 (2025-10-02)

    🩹 Fixes

    • core: tweak configure-ai-agents prompt (#32914)
    • core: ensure nx is published with the correct dependency version for the native packages (#32928, #32898)

    ❤️ Thank You

    • Juri @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    Open source →
  41. 22.0.0-beta.11 Oct 2025pre-release
    Release notes

    22.0.0-beta.1 (2025-10-27)

    🚀 Features

    • bundling: add excludeFromExternal option to esbuild executor (#32980)
    • ⚠️ core: remove CreateNodes v1 types for Nx 22 (#32951)
    • core: add --check=all flag to configure-ai-agents (#32968)
    • core: expose registerProjectGraphRecomputationListener from daemon client (#33005)
    • core: add support for pnpm catalogs (#32978, #30035, #29772)
    • core: enhance spinner handling and add spinner to inferred conversion (#33031)
    • core: update rust (#33220)
    • docker: support inferring additional args for targets with interpolation support (#32892)
    • dotnet: add initial draft of .NET plugin (#32869)
    • gradle: add custom installation path to options (#33187)
    • maven: introduce maven plugin (#32947)
    • ⚠️ misc: remove deprecated decorate-cli script and stop sorting tsconfig paths by default (#32781)
    • misc: remove migrations prior to v20 (#32904)
    • module-federation: support TS Soln and Package Manager workspaces paradigms (#33056)
    • nest: ensure dependencies are added to project's package.json #32548 (#32986, #32548)
    • nx-cloud: update description on nx login and logout (#31344)
    • nx-dev: add v22 to version picker (#33110)
    • ⚠️ release: match nx affected behavior to determine relevant conventional commits (#32915)
    • ⚠️ release: remove deprecated legacy versioning (#32888)
    • ⚠️ release: switch defaults for fixed release group tag pattern, preserve matching dependency ranges and strictPreid (#32878)
    • ⚠️ release: set preserveMatchingDependencyRanges to true by default (#32983)
    • release: add releaseTagPatternPreferDockerVersion to specify version to use for git tag #32900 (#32972, #32900)
    • ⚠️ release: release graph aware filtering, updateDependents can now be "always" (#32971)
    • ⚠️ release: set updateDependents to always by default (#33029)
    • ⚠️ release: refactor releaseTag* properties to a releaseTag object (#33020)
    • release: allow changelog.renderer to be set to an implementation directly (#33095)
    • release: new replaceExistingContents CLI and API option for changelog (#33096)
    • release: allow ignoring nx.json release config with ReleaseClient (#33099)
    • release: allow conventional commit style aliases in version plan release types (#33167)
    • release: support {versionActionsVersion} in docker version scheme (#33178)
    • storybook: add watch-deps and build-deps targets (deb10f2818)
    • vite: add buildable libs support for vitest (#32973)
    • vue: migrate @vitejs/plugin-vue to 6.0.1 (#33097)

    🩹 Fixes

    • angular: improve message for unsupported typescript project references (#33148)
    • angular: ensure ngpackagr tsconfig options set correctly based on version #33081 (#33150, #33081)
    • angular-rspack: do not parse json with babel #32690 (#32966, #32690)
    • angular-rspack: ensure root node_modules included when resolving packages (#33144, #33026)
    • angular-rspack: bubble errors correctly (#33183)
    • bundling: postcss-cli-resources should handle relative deploy url #32714 (#32762, #32714)
    • core: improve provenance error with custom registry information (#32903)
    • core: optimize task hashing with BFS and performance logging (#32911)
    • core: tweak configure-ai-agents prompt (#32914)
    • core: ensure nx is published with the correct dependency version for the native packages (#32928, #32898)
    • core: upgrade axios to 1.12.0 to address CVE-2025-58754 (#32712)
    • core: repair repo root on setupAiAgents in nx init (#32984)
    • core: remove requirement to be in a package manager workspace (#32992)
    • core: remove duplicated "Running" string from tui title (#32991)
    • core: display bottom corner indicator of tui in progress section correctly (#32985)
    • core: temporarily disable tui for run-one (#33048)
    • core: ensure --help works properly with infix notation (#32662)
    • core: improve db connection initialization and error messages (#33054, #28640, #30856, #32894)
    • core: prioritize in-progress tasks section visibility in tui (#33053)
    • core: enhance tui summary output to fix misc issues (#33057)
    • core: format catalog definition files when appropriate in nx migrate (#33105)
    • core: allow prerelease versions of nx to be used with devkit (#33123)
    • core: restore migrations used by nx repair (#33124)
    • core: avoid changing existing project name if a project.json file is added to a project (#33114)
    • core: do not remove wal files manually for existing databases (#33143)
    • core: do not print flaky tasks guidance when nx cloud is already enabled (#33149)
    • core: add wrappers for start and stop agent nx-cloud commands (#33140)
    • core: revert changes to the db connection initialization (#33156)
    • core: store reason when marking daemon as disabled (#33172)
    • core: adding output error reason (#33159)
    • core: continue execution when cloud client is unavailable (#33214)
    • core: prevent error message containing [object Object] for invalid {workspaceRoot} placement (#33203)
    • core: fix swapped arguments when resolving catalog references from the filesystem (#33237)
    • core: should find dockerfiles to suggest installing docker plugin (#33234)
    • core: stream without prefixes showing tui (#33194, #32535)
    • core: ensure daemon writes project graph cache to disk consistently (#33217)
    • core: add accept header to http remote cache get (#33093, #33092)
    • core: prevent undefined importer crash in pnpm lockfile parsing (#33223)
    • core: split lockfile cache and other performance improvements (#33256)
    • docker: handle undefined options when creating graph (#33235)
    • docker: handle dockerfile at project root tag (#33236)
    • dotnet: fixup various issues + missing functionality (#33132)
    • graph: prevent content from overflowing in the PDV component (#33120)
    • js: temporarily hash all external dependencies for tasks inferred by the @nx/js/typescript plugin (#32912)
    • js: ensure node execute completes before exit (#32629, #32385, #32356)
    • linter: install correct deps in eslint convert to flat config generator (#33078)
    • maven: add support for unbound goals in plugin targets (#33191)
    • maven: use File.isAbsolute for cross-platform path detection (#33195)
    • ⚠️ misc: don't set legacy-peer-deps by default (#33014, #22066, #29537)
    • misc: add explanatory footer to ai agents prompts (#33182)
    • misc: handle null exit codes from crashed child processes (#33163, #29204)
    • module-federation: ensure angular rspack module federation supports live reload (#33137)
    • nextjs: remove whitespace for newly generated server component (1d687c4994)
    • nextjs: update entrypoints for buildable library with vite to include server entry #31457 (#32977, #31457)
    • node: migrate to koa 3.0.3 (#33208)
    • nx-cloud: update broken documentation links to AI features (0149fac877)
    • nx-dev: improve default zoom level of graph nodes in docs (#32910)
    • nx-dev: provide message to check previous docs w/ empty migrations (#32919)
    • nx-dev: watch for theme changes for project/task graph components (#32885)
    • nx-dev: update credit pricing link to new docs page (#32899)
    • nx-dev: update nextjs internal-link-checker to include astro urls (#33045)
    • nx-dev: respect NX_DEV_URL in sitemap checker (#33058)
    • nx-dev: handle null github data (#33061)
    • nx-dev: add docker to build-tools tech section (#33164)
    • nx-dev: update docs code blocks usage (#32998)
    • nx-dev: add copy-docs back as a dep of serve (#33215)
    • react: dynamic module federation should not initialize remoteUrlDefinitions to empty object (#33059, #27927, #33055, #27793, #27842)
    • release: ensure schema for release.groups is correct (#33007)
    • release: skip filtered out groups when processing (#33044)
    • ⚠️ release: ensure multilines in breaking changes are rendered by changelog renderer (#33070, #33014)
    • release: replace local dependency protocols of unchanged dependencies #30995 (#33151, #30995)
    • ⚠️ release: better respect version plan file contents for changelog entries (#33166)
    • release: breaking change contents extraction (#33184)
    • remix: @nx/remix/package.json export typo fixed #32810 (#32940, #32810)
    • remix: ensure supported version of vite is used (#33089)
    • repo: fix pr releases to not depend on a broken range (#32993)
    • testing: show warning instead of error when no blob outputs found during merge (#33022)
    • vite: ensure tsconfig file is resolved from workspaceRoot #31987 (#32990, #31987)
    • vite: enable build watch mode by default for preview (#31604, #31623)
    • vite: add logic to prevent overwriting generated package.json (#30705, #30312)
    • vite: nxViteTsPaths supports local path aliases (#33241, #33231)

    ⚠️ Breaking Changes

    • release: config.conventionalCommitsConfig for DefaultChangelogRenderer is no longer nullable. (#33166)

    • release: The --legacy-peer-deps behavior is no longer forced. (#33070, #33014)

      If you need it, configure your package manager to enforce it. Would only render the first line, and without the PR reference.

      Expected Behavior

      The changelog renderer should:

      1. Capture and render all lines of a breaking change explanation, not just the first line
      2. Include PR/commit references in the breaking change section (e.g., ([#33014](url)))
      3. Properly indent multi-line and multi-paragraph breaking changes for better readability
      4. Maintain consistent formatting between the feature/fix entry and its corresponding breaking change entry Example of correct output:
      ### ⚠️  Breaking Changes
      - **misc:** The `--legacy-peer-deps` behavior is no longer forced.
      ([#33014](url))
        If you need it, configure your package manager to enforce it.
      
    • misc: The --legacy-peer-deps behavior is no longer forced. (#33014, #22066, #29537)

      If you need it, configure your package manager to enforce it.

    • release: This is a breaking change in the preferred configuration structure. Existing configurations will continue to work through the migration period, but users should update to the new nested format. (#33020)

    • release: Users who relied on the previous 'auto' behavior can (#33029)

      explicitly set updateDependents: 'auto' in their nx.json:

        {
          "release": {
            "version": {
              "updateDependents": "auto
      
    • release: The signature of init() on VersionActions has (#32971)

      changed, it no longer accepts a second argument. Validation of the manifest files, if any, now takes place via a separate method (validate()) call after construction of the new ReleaseGraph. For the most part, users do not need custom VersionActions so only a small percentage of consumers should be impacted. Fixes https://github.com/nrwl/nx/issues/31273

    • ⚠️ core: remove CreateNodes v1 types for Nx 22 (#32951)

    • ⚠️ release: set preserveMatchingDependencyRanges to true by default (#32983)

    • ⚠️ release: switch defaults for fixed release group tag pattern, preserve matching dependency ranges and strictPreid (#32878)

    • ⚠️ release: remove deprecated legacy versioning (#32888)

    • release: More files are now being used to determine relevant (#32915)

      commits, meaning there is higher chance for projects to receive version bumps

    • misc: The long-deprecated decorate-cli script has been (#32781)

      removed. BREAKING CHANGE: The nx format command and generators no longer default to sorting TypeScript path mappings. To keep the previous behavior, pass the --sort-root-tsconfig-paths flag to the command or set NX_FORMAT_SORT_TSCONFIG_PATHS=true.

    ❤️ Thank You

    • Andrew Ovens @aovens-quantifi
    • Caleb Ukle
    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • David Scourfield @daiscog
    • Emilio Heinzmann @emiliosheinz
    • Hugo Burton @hugs7
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Juri @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • MaxKless @MaxKless
    • Mike Cebrian
    • Miroslav Jonaš @meeroslav
    • Mischa Fischer
    • Nikola Kalinov
    • Sander Boelhouwers
    • Shai Reznik @shairez
    • Terry Mun-Andersen @terrymun
    • Vijay Ramakrishnan
    • Zachary DeRose @ZackDeRose
    • Zoran Kokeza
    Open source →
  42. 22.0.0-beta.01 Oct 2025pre-release
    Release notes

    22.0.0-beta.0 (2025-10-01)

    🚀 Features

    • ⚠️ bundling: change default useLegacyTypescriptPlugin to false for v22 (#32754)
    • core: prompt for ai agent files on nx init (#32889)
    • ⚠️ core: remove NX_DISABLE_DB environment variable (#32887)
    • devkit: bump compatibility to Nx 21 - 23 (6b86c33c30)
    • ⚠️ js: remove the experimental and deprecated inlining feature from the tsc and swc executors (#32783)
    • react: remove support for non-isolated webpack config in ponentTestingPreset (#32787)
    • react: keep deprecated @nx/react/bundle-rollup module since there is not a replacement when using @nx/rollup:rollup executor (#32821)
    • ⚠️ rspack: remove application generator in favour of framework-specific options (#32755)
    • ⚠️ rspack: remove deprecated deleteOutputPath and sassImplementation options (#32756)
    • ⚠️ webpack: remove deprecated deleteOutputPath and sassImplementation options (#32828)

    🩹 Fixes

    • bundling: ensure tsconfig options are respected with rollup-typescript-plugin (#32816)
    • ⚠️ core: remove deprecated simpleName option from library generators (#32716)

    ⚠️ Breaking Changes

    • ⚠️ core: remove NX_DISABLE_DB environment variable (#32887)
    • js: The experimental inlining feature in the @nx/js:tsc
    • ⚠️ webpack: remove deprecated deleteOutputPath and sassImplementation options (#32828)
    • ⚠️ rspack: remove deprecated deleteOutputPath and sassImplementation options (#32756)
    • ⚠️ rspack: remove application generator in favour of framework-specific options (#32755)
    • ⚠️ bundling: change default useLegacyTypescriptPlugin to false for v22 (#32754)
    • core: simpleName option is no longer supported in library

    ❤️ Thank You

    • Colum Ferry @Coly010
    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    Open source →
  43. 21.7.0-canary.20250930-e14440830 Sept 2025pre-release

    Nothing published for this version

  44. 21.7.0-canary.20250929-405d91d29 Sept 2025pre-release

    Nothing published for this version

  45. 21.6.1117 Apr 2026
    Release notes

    21.6.11 (2026-04-17)

    🩹 Fixes

    • linter: handle various flat config override structures (#33548, #31796)
    • linter: handle variable references in replaceOverride (#34026, #34010)

    ❤️ Thank You

    • Claude Opus 4.5
    • Jack Hsu @jaysoo
    Open source →
  46. 21.6.1027 Nov 2025
    Release notes

    21.6.10 (2025-11-27)

    🩹 Fixes

    • bundling: replace rollup-plugin-copy with nx copy assets plugin (#33601, #32398)
    • core: kill child process tree in different running tasks (#33636, #32438, #33460)
    • storybook: remove STORYBOOK_PROJECT_ROOT when running automigrate to prevent hanging (#33567, #32492)

    ❤️ Thank You

    • Jack Hsu @jaysoo
    • jaysoo @jaysoo
    • Leosvel Pérez Espinosa @leosvelperez
    Open source →
  47. 21.6.918 Nov 2025
    Release notes

    21.6.9 (2025-11-18)

    🩹 Fixes

    ❤️ Thank You

    • Andrew Ovens @aovens-quantifi
    Open source →
  48. 21.6.830 Oct 2025
    Release notes

    21.6.8 (2025-10-30)

    🚀 Features

    • bundling: add excludeFromExternal option to esbuild executor (#32980)

    ❤️ Thank You

    • Claude
    • Jack Hsu @jaysoo
    Open source →
  49. 21.6.728 Oct 2025
    Release notes

    21.6.7 (2025-10-28)

    🚀 Features

    • gradle: add custom installation path to options (#33187)

    🩹 Fixes

    • core: improve db connection initialization and error messages (#33054, #28640, #30856, #32894)
    • core: do not remove wal files manually for existing databases (#33143)
    • core: revert changes to the db connection initialization (#33156)
    • core: continue execution when cloud client is unavailable (#33214)
    • core: prevent error message containing [object Object] for invalid {workspaceRoot} placement (#33203)
    • core: ensure daemon writes project graph cache to disk consistently (#33217)
    • core: add accept header to http remote cache get (#33093, #33092)
    • core: prevent undefined importer crash in pnpm lockfile parsing (#33223)
    • misc: handle null exit codes from crashed child processes (#33163, #29204)

    ❤️ Thank You

    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • Sander Boelhouwers
    Open source →
  50. 21.6.622 Oct 2025
    Release notes

    21.6.6 (2025-10-21)

    🩹 Fixes

    • angular: improve message for unsupported typescript project references (#33148)
    • angular: ensure ngpackagr tsconfig options set correctly based on version #33081 (#33150, #33081)
    • angular-rspack: ensure root node_modules included when resolving packages (#33144, #33026)
    • core: improve db connection initialization and error messages (#33054, #28640, #30856, #32894)
    • core: prioritize in-progress tasks section visibility in tui (#33053)
    • core: enhance tui summary output to fix misc issues (#33057)
    • core: restore migrations used by nx repair (#33124)
    • core: avoid changing existing project name if a project.json file is added to a project (#33114)
    • core: do not remove wal files manually for existing databases (#33143)
    • core: do not print flaky tasks guidance when nx cloud is already enabled (#33149)
    • core: add wrappers for start and stop agent nx-cloud commands (#33140)
    • core: revert changes to the db connection initialization (#33156)
    • graph: prevent content from overflowing in the PDV component (#33120)
    • linter: install correct deps in eslint convert to flat config generator (#33078)
    • module-federation: ensure angular rspack module federation supports live reload (#33137)
    • remix: ensure supported version of vite is used (#33089)
    • vite: add logic to prevent overwriting generated package.json (#30705, #30312)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • David Scourfield @daiscog
    • Jack Hsu @jaysoo
    • Leosvel Pérez Espinosa @leosvelperez
    • Mike Cebrian
    • Miroslav Jonaš @meeroslav
    Open source →
  51. 21.6.515 Oct 2025
    Release notes

    21.6.5 (2025-10-15)

    🚀 Features

    • core: expose registerProjectGraphRecomputationListener from daemon client (#33005)

    🩹 Fixes

    • core: display bottom corner indicator of tui in progress section correctly (#32985)
    • core: temporarily disable tui for run-one (#33048)
    • core: ensure --help works properly with infix notation (#32662)
    • nx-dev: update nextjs internal-link-checker to include astro urls (#33045)
    • nx-dev: respect NX_DEV_URL in sitemap checker (#33058)
    • nx-dev: handle null github data (#33061)
    • react: dynamic module federation should not initialize remoteUrlDefinitions to empty object (#33059, #27927, #33055, #27793, #27842)
    • release: ensure multilines in breaking changes are rendered by changelog renderer (#33070, #33014)

    ❤️ Thank You

    • Caleb Ukle
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    Open source →
  52. 21.6.48 Oct 2025
    Release notes

    21.6.4 (2025-10-08)

    🚀 Features

    • core: prompt for ai agent files on nx init (#32889)
    • core: add --check=all flag to configure-ai-agents (#32968)
    • nest: ensure dependencies are added to project's package.json #32548 (#32986, #32548)
    • nx-cloud: update description on nx login and logout (#31344)
    • vite: add buildable libs support for vitest (#32973)

    🩹 Fixes

    • angular-rspack: do not parse json with babel #32690 (#32966, #32690)
    • bundling: postcss-cli-resources should handle relative deploy url #32714 (#32762, #32714)
    • core: upgrade axios to 1.12.0 to address CVE-2025-58754 (#32712)
    • core: repair repo root on setupAiAgents in nx init (#32984)
    • core: remove requirement to be in a package manager workspace (#32992)
    • core: remove duplicated "Running" string from tui title (#32991)
    • nextjs: remove whitespace for newly generated server component (8868cc5d31)
    • nextjs: update entrypoints for buildable library with vite to include server entry #31457 (#32977, #31457)
    • nx-cloud: update broken documentation links to AI features (7a5930a1fa)
    • remix: @nx/remix/package.json export typo fixed #32810 (#32940, #32810)
    • repo: fix pr releases to not depend on a broken range (#32993)
    • testing: show warning instead of error when no blob outputs found during merge (#33022)
    • vite: ensure tsconfig file is resolved from workspaceRoot #31987 (#32990, #31987)
    • vite: enable build watch mode by default for preview (#31604, #31623)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Juri @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • MaxKless @MaxKless
    • Mischa Fischer
    • Nikola Kalinov
    • Shai Reznik @shairez
    • Terry Mun-Andersen @terrymun
    • Zoran Kokeza
    Open source →
  53. 21.6.32 Oct 2025
    Release notes

    21.6.3 (2025-10-02)

    🩹 Fixes

    • core: improve provenance error with custom registry information (#32903)
    • core: optimize task hashing with BFS and performance logging (#32911)
    • core: tweak configure-ai-agents prompt (#32914)
    • core: ensure nx is published with the correct dependency version for the native packages (#32928, #32898)
    • js: temporarily hash all external dependencies for tasks inferred by the @nx/js/typescript plugin (#32912)
    • nx-dev: improve default zoom level of graph nodes in docs (#32910)
    • nx-dev: provide message to check previous docs w/ empty migrations (#32919)
    • nx-dev: watch for theme changes for project/task graph components (#32885)
    • nx-dev: update credit pricing link to new docs page (#32899)

    ❤️ Thank You

    • Caleb Ukle
    • Jason Jean @FrozenPandaz
    • Juri @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    Open source →
  54. 21.6.229 Sept 2025
    Release notes

    21.6.2 (2025-09-29)

    This was a version bump only, there were no code changes.

    Open source →
  55. 21.6.129 Sept 2025
    Release notes

    21.6.1 (2025-09-29)

    🚀 Features

    • angular: support angular v20.3.0 (#32730)
    • core: replace the pagination from the tui tasks list with scrolling (#32560)
    • core: generate AI files in create-nx-workspace (#32442)
    • core: add NX_PROJECT_ROOT environment variable to runti… (#32736, #31428)
    • core: improve split target to support Gradle format (#32766)
    • core: add id, start and end time to lifecycle hooks (#32583)
    • core: add configure-ai-agents command (#32825)
    • docker: add env var for providing docker registry (#32676)
    • docker: ensure docker:build dependsOn build (#32697)
    • graph: unified graph UI and controls (#32724)
    • misc: add Cookiebot global scripts to astro-docs (#32660)
    • nx-dev: disable Algolia search on non-docs pages when Astro docs are enabled (#32789)
    • nx-dev: change login button to try nx cloud (5e0bcae9ef)
    • nx-dev: enhance UI animations & statistics display (#32863)
    • release: new option preserveMatchingDependencyRanges to not update matching version ranges (#32556)
    • rspack: respect deleteOutputPath option in rspack executor (#32609, #32015)
    • testing: infer task to merge reports from playwright atomized tasks (#31615)
    • testing: support inferring atomized tasks for cypress component tests (#32733)
    • testing: forward e2e-ci task options to their atomized tasks (#32765)
    • ⚠️ webpack: remove SVGR option and provide withSvgr composable function (#32843)

    🩹 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)
    • 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)
    • 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)
    • core: update tui title text structure (#32793)
    • core: move from execFile to exec for windows support (#32836, #32713)
    • core: do not show placeholder parallel entries in tui when filtering (#32837)
    • core: do not add cache_outputs foreign key to task_details when NX_DISABLE_DB=true (#32824, #32208)
    • core: prevent terminal pane scrolling on tasks list events (#32818)
    • core: display prettier valid errors (#32771)
    • core: add env var to disable fetching migration metadata from registry (#32850)
    • core: project graph creation processes project dependencies correctly (#32784, #31454)
    • core: tweak messaging if vscode / cursor aren't installed (#32877)
    • core: spinner shows correct plugin count during project graph creation (#32871)
    • gradle: use project configurations to determine project dependencies (#32704)
    • gradle: support custom test targets (#32728)
    • gradle: skip targets on Netlify since the Java version is too old (#32852)
    • graph: update graph package (#32829)
    • misc: add typescript output to the eslint ignore when needed (#32775)
    • misc: remove unnecessary bust property from plugin hashes (#32807)
    • nest: setup tsconfig to use decorators #30749 (#32859, #30749)
    • 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)
    • nx-dev: fix client-side redirect issue for OSS cloud plan form (f1b00ca610)
    • react: only add react router plugin when using react router #32525 (#32814, #32525)
    • release: optimize release version internals (#32534)
    • repo: update broken CI documentation link in README (#32633, #32549)
    • repo: move codeql to yml based config s.t. it runs properly on forks (#32659)
    • repo: remove duplicate permissions block in publish workflow (#32868)
    • rspack: mark svgr support as deprecated (#32861)
    • vite: handle config server properly for libs (#32608)

    ⚠️ Breaking Changes

    • webpack: The svgr option has been removed from withReact,

    ❤️ Thank You

    • Benjamin Cabanes @bcabanes
    • Caleb Ukle
    • Chau Tran @nartc
    • Colum Ferry @Coly010
    • Copilot @Copilot
    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Jonathan Gelin @jogelin
    • Juri @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • MaxKless @MaxKless
    • Miguel @mpsanchis
    • Miroslav Jonaš @meeroslav
    • Omer
    • Philip Fulcher
    Open source →
  56. 21.6.1-rc.027 Sept 2025pre-release
    Release notes

    21.6.1-rc.0 (2025-09-27)

    🚀 Features

    • core: improve split target to support Gradle format (#32766)
    • core: add id, start and end time to lifecycle hooks (#32583)
    • core: add configure-ai-agents command (#32825)
    • nx-dev: enhance UI animations & statistics display (#32863)

    🩹 Fixes

    • core: display prettier valid errors (#32771)
    • core: add env var to disable fetching migration metadata from registry (#32850)
    • core: project graph creation processes project dependencies correctly (#32784, #31454)
    • gradle: skip targets on Netlify since the Java version is too old (#32852)
    • nest: setup tsconfig to use decorators #30749 (#32859, #30749)
    • repo: remove duplicate permissions block in publish workflow (#32868)

    ❤️ Thank You

    • Benjamin Cabanes @bcabanes
    • Colum Ferry @Coly010
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Jonathan Gelin @jogelin
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    • Miroslav Jonaš @meeroslav
    Open source →
  57. 21.6.1-beta.424 Sept 2025pre-release
    Release notes

    21.6.1-beta.4 (2025-09-24)

    🚀 Features

    • nx-dev: change login button to try nx cloud (5e0bcae9ef)

    🩹 Fixes

    • core: move from execFile to exec for windows support (#32836, #32713)
    • core: do not show placeholder parallel entries in tui when filtering (#32837)
    • core: do not add cache_outputs foreign key to task_details when NX_DISABLE_DB=true (#32824, #32208)
    • core: prevent terminal pane scrolling on tasks list events (#32818)
    • graph: update graph package (#32829)
    • misc: remove unnecessary bust property from plugin hashes (#32807)
    • nx-dev: fix client-side redirect issue for OSS cloud plan form (f1b00ca610)
    • react: only add react router plugin when using react router #32525 (#32814, #32525)

    ❤️ Thank You

    • Chau Tran @nartc
    • Colum Ferry @Coly010
    • Juri @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    Open source →
  58. 21.6.1-beta.320 Sept 2025pre-release
    Release notes

    21.6.1-beta.3 (2025-09-20)

    🚀 Features

    • graph: unified graph UI and controls (#32724)
    • nx-dev: disable Algolia search on non-docs pages when Astro docs are enabled (#32789)
    • testing: forward e2e-ci task options to their atomized tasks (#32765)

    🩹 Fixes

    • 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: do not shutdown daemon for project graph errors (#32764)
    • core: fix misc db-related issues (#32745)
    • core: update tui title text structure (#32793)
    • gradle: support custom test targets (#32728)
    • misc: add typescript output to the eslint ignore when needed (#32775)

    ❤️ Thank You

    • Chau Tran @nartc
    • Colum Ferry @Coly010
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    Open source →
  59. 21.6.1-beta.216 Sept 2025pre-release
    Release notes

    21.6.1-beta.2 (2025-09-16)

    🚀 Features

    • angular: support angular v20.3.0 (#32730)
    • core: generate AI files in create-nx-workspace (#32442)
    • core: add NX_PROJECT_ROOT environment variable to runti… (#32736, #31428)
    • docker: add env var for providing docker registry (#32676)
    • docker: ensure docker:build dependsOn build (#32697)
    • release: new option preserveMatchingDependencyRanges to not update matching version ranges (#32556)
    • rspack: respect deleteOutputPath option in rspack executor (#32609, #32015)
    • testing: support inferring atomized tasks for cypress component tests (#32733)

    🩹 Fixes

    • angular: install a compatible version of jest for angular (#32744)
    • 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)
    • 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)
    • gradle: use project configurations to determine project dependencies (#32704)
    • 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
    • Omer
    • Philip Fulcher
    Open source →
  60. 21.6.1-beta.111 Sept 2025pre-release
    Release notes

    21.6.1-beta.1 (2025-09-11)

    🚀 Features

    • core: replace the pagination from the tui tasks list with scrolling (#32560)
    • docker: add env var for providing docker registry (#32676)
    • rspack: respect deleteOutputPath option in rspack executor (#32609, #32015)
    • testing: infer task to merge reports from playwright atomized tasks (#31615)

    🩹 Fixes

    • 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)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Copilot @Copilot
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    • Omer
    Open source →