Change8

21.5.1

📦 nxView on GitHub →
20 features🐛 39 fixes🔧 8 symbols

Summary

This release introduces support for Angular v20.2, enhances Rspack capabilities including webpack plugin conversion, and brings numerous stability fixes across core functionality, build systems (JS/TS, Vite 7), and the Nx Console UI.

✨ New Features

  • Support for Angular v20.2 added.
  • Angular RSPack now avoids reliance on postinstall >20.2.
  • Added `incompatibleWith` field for `packageJsonUpdates` in core.
  • Core now auto-retries lock files changed daemon messages.
  • Added `NX_PROJECT_ROOT` environment variable to runtime cache inputs.
  • Task graph now supports multiple targets.
  • Unwrapped `RankDirPanel` from experimental status in graph visualization.
  • Added `includeIgnoredAssetFiles` option and per-asset `includeIgnoredFiles` for JS/TS projects.
  • Detect duplicate project references in `@nx/js:typescript-sync`.
  • Module Federation dynamic federation aligned with latest from module federation and rspack.
  • Nx now uses the platform certificate trust store.
  • Nx Dev homepage links to UKG article.
  • Nx Dev configures rewrite to astro-docs when `NEXT_PUBLIC_ASTRO_URL` is set.
  • Nx Dev homepage updated with new feature illustrations and CTA.
  • Nx Dev homepage subtagline updated.
  • Rspack now supports converting webpack plugin configurations.
  • Rspack now supports passing `templateParameters` to `HtmlRspackPlugin`.
  • Added repository update system for automated Nx migrations.
  • Vite 7 support added.
  • Webpack migrated from deprecated `url.parse()` to WHATWG URL API.

🐛 Bug Fixes

  • Angular migration now sets the `tsConfig` option when possible to aid migrations.
  • Angular migration no longer updates project configuration if no changes were made.
  • Angular RSPack no longer errors on server budget violation.
  • Improved Cursor editor detection and extension installation.
  • Ensured deterministic dummy task generation in task graphs.
  • Handled unsupported platforms in Cursor IDE install command.
  • Nx Console installation prompt now only appears in TTY environments.
  • Enhanced validation for continuous task dependencies.
  • Retrying current message when receiving `NX_VERSION_CHANGED` from daemon.
  • Used black color for all foreground elements when in light theme.
  • Failing fast when running commands in parallel.
  • Handled case with no daemon when stopping.
  • Created pnpm peer deps settings in the appropriate location when creating a workspace.
  • Repaired nx mcp in pnpm/yarn.
  • Allowed additional properties in `ProjectMetadata` type.
  • Normalized root project root when merging project config results.
  • Detect devcontainer environment and skip Nx Console installation prompt if it exists.
  • Used more reasonable scroll speed on trackpads.
  • Excluded non-cacheable tasks from flaky detection.
  • Reduced CPU usage by adding 20ms interval to daemon process check.
  • Restored peer dependency range to 2 majors in devkit.
  • Included UPDATE changes in `findCreatedProjectFiles` for generator callbacks.
  • Removed `nx` as a direct dependency in devkit.
  • Expo output is now correctly placed within the project directory.
  • Gradle migration now uses AST parsing to migrate updates to version catalogs.
  • Gradle now allows the test target name to be configured from `nx.json`.
  • Fixed miscellaneous issues in the graph visualization.
  • Ensured `nxArgs.projects` can be an empty array in graph.
  • Repaired project details navigation for new taskGraph and tasks with default configuration on UI.
  • Repaired theme detection for nx console components.
  • ESM loader now handles absolute paths on Windows.
  • Improved `@nx/js/typescript` plugin check for buildable libraries.
  • The `@nx/js/typescript` plugin no longer infers the project type.
  • Used a unique typescript custom condition name for the workspace.
  • Stored stale references correctly in `typescript-sync` generator.
  • Updated `@types/node` to v20.19.9 to support fetch API.
  • Respected string values in `alwaysAddToPackageJson` migration flag.
  • Checked for `packages` existence to detect pnpm workspaces setup.
  • Module Federation no longer relies on virtualRuntimeEntry.

🔧 Affected Symbols

RankDirPanelNX_PROJECT_ROOTpackageJsonUpdates@nx/js:typescript-syncHtmlRspackPluginProjectMetadata@nx/js/typescripturl.parse()