Change8

22.0.0-beta.1

Breaking Changes
📦 nxView on GitHub →
7 breaking26 features🐛 29 fixes🔧 21 symbols

Summary

Nx 22.0.0-beta.1 introduces major features like pnpm catalog support, new .NET and Maven plugins, and significant refactoring in the release system, alongside several breaking changes removing legacy APIs and updating defaults.

⚠️ Breaking Changes

  • The `CreateNodes` v1 types for Nx 22 have been removed.
  • The deprecated `decorate-cli` script has been removed, and Nx no longer sorts tsconfig paths by default.
  • Legacy versioning in the release process has been removed.
  • Defaults for fixed release group tag pattern, preserving matching dependency ranges, and strictPreid have been switched.
  • The default value for `preserveMatchingDependencyRanges` is now set to true.
  • Release configuration properties (`releaseTag*`) have been refactored into a single `releaseTag` object.
  • The default value for `updateDependents` is now set to "always".

Migration Steps

  1. If you were using CreateNodes v1 types, update your code to use the new types introduced in Nx 22.
  2. Remove usage of the deprecated `decorate-cli` script.
  3. Review your release configuration in `nx.json` as legacy versioning properties have been removed and defaults have changed (e.g., `preserveMatchingDependencyRanges` is now true by default, and `updateDependents` defaults to "always").
  4. If you relied on the previous structure of release tag configuration, update your configuration to use the new `releaseTag` object structure.

✨ New Features

  • Added `excludeFromExternal` option to the esbuild executor for bundling.
  • Added `--check=all` flag to `configure-ai-agents`.
  • Exposed `registerProjectGraphRecomputationListener` from the daemon client.
  • Added support for pnpm catalogs.
  • Enhanced spinner handling and added a spinner to inferred conversion.
  • Updated the underlying Rust implementation.
  • Docker plugin now supports inferring additional arguments for targets with interpolation support.
  • Added initial draft of the .NET plugin.
  • Gradle plugin now supports specifying a custom installation path.
  • Introduced the Maven plugin.
  • Removed migrations prior to v20.
  • Module Federation now supports TS Solution and Package Manager workspaces paradigms.
  • Nest plugin ensures dependencies are added to the project's package.json.
  • Updated descriptions for `nx login` and `nx logout`.
  • Added v22 to the version picker in `nx-dev`.
  • Release process now matches `nx affected` behavior to determine relevant conventional commits.
  • Added `releaseTagPatternPreferDockerVersion` option to specify the version to use for git tags.
  • Release process now supports graph-aware filtering, and `updateDependents` can be set to "always".
  • The release process allows setting `changelog.renderer` directly to an implementation.
  • New `replaceExistingContents` CLI and API option for changelog generation.
  • The ReleaseClient can now ignore the `nx.json` release configuration.
  • Allows conventional commit style aliases in version plan release types.
  • Support for `{versionActionsVersion}` in the docker version scheme.
  • Storybook plugin added `watch-deps` and `build-deps` targets.
  • Vite plugin added support for buildable libs with Vitest.
  • Vue plugin migrated `@vitejs/plugin-vue` to version 6.0.1.

🐛 Bug Fixes

  • Improved message for unsupported typescript project references in Angular plugin.
  • Ensured ngpackagr tsconfig options are set correctly based on version.
  • Angular Rspack plugin now avoids parsing JSON with babel.
  • Angular Rspack plugin ensures root `node_modules` is included when resolving packages.
  • Angular Rspack plugin now bubbles errors correctly.
  • Bundling: postcss-cli-resources now handles relative deploy url correctly.
  • Core: Improved provenance error reporting with custom registry information.
  • Core: Optimized task hashing using BFS and added performance logging.
  • Core: Tweaked the `configure-ai-agents` prompt.
  • Core: Ensured nx is published with the correct dependency version for native packages.
  • Core: Upgraded axios to 1.12.0 to address CVE-2025-58754.
  • Core: Repaired repository root on `setupAiAgents` during `nx init`.
  • Core: Removed the requirement to be in a package manager workspace.
  • Core: Removed duplicated "Running" string from TUI title.
  • Core: Correctly displayed the bottom corner indicator of the TUI in the progress section.
  • Core: Temporarily disabled TUI for `run-one`.
  • Core: Ensured `--help` works properly with infix notation.
  • Core: Improved database connection initialization and error messages.
  • Core: Prioritized in-progress tasks section visibility in TUI.
  • Core: Enhanced TUI summary output to fix miscellaneous issues.
  • Core: Formatted catalog definition files when appropriate during `nx migrate`.
  • Core: Allowed prerelease versions of nx to be used with devkit.
  • Core: Restored migrations used by `nx repair`.
  • Core: Avoided changing existing project names if a `project.json` file is added to a project.
  • Core: Does not manually remove wal files for existing databases.
  • Core: Does not print flaky tasks guidance when nx cloud is already enabled.
  • Core: Added wrappers for start and stop agent `nx-cloud` commands.
  • Core: Reverted changes to the db connection initialization.
  • Core: Stored the reason when marking the daemon as disabled.

🔧 Affected Symbols

CreateNodes v1 typesdecorate-cli scripttsconfig paths sortingconfigure-ai-agentsregisterProjectGraphRecomputationListenernx loginnx logoutngpackagr tsconfig optionspostcss-cli-resourcesaxiossetupAiAgentsnx migrateReleaseClientnx.json release configchangelog.rendererreleaseTag* propertiesreleaseTagupdateDependentspreserveMatchingDependencyRangesnx-cloud commands (start/stop agent)db connection initialization