PackageTrack

npm · #4152

@nx/js

23.1.2nrwl/nx

The JS plugin for Nx contains executors and generators that provide the best experience for developing JavaScript and TypeScript projects.

Release timeline

1889 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 →