Skip to content

21.2.0

Compare
Choose a tag to compare
@FrozenPandaz FrozenPandaz released this 12 Jun 18:50
18155f4

21.2.0 (2025-06-12)

🚀 Features

  • angular: add support for rspack module federation (#31231)
  • angular: support angular cli v20.0.0-rc.3 (#30715)
  • angular: update nx init legacy integrated migration for angular to handle angular v17 (#31352)
  • ⚠️ angular: support angular v20 (#31369)
  • angular: update angular eslint packages to v20 (#31489)
  • bundling: use tsconfig.lib.json for rollup.config.ts (#30453)
  • gradle: exclude dependsOn tasks (#30913)
  • misc: enhance IDE integration with Nx Console auto-installation and improved logging (#31462)
  • nest: Update nest version to 11 (#31393, #30188)
  • nx-dev: AI landing page (#31310)
  • nx-dev: update hero tagline (41387af458)
  • nx-dev: add rss and atom feeds (ee7dbf9c3a)
  • repo: enhance Claude Code workflow and settings (#31405, #31380)
  • repo: add golden list of projects to our Nightly CI (#31414)
  • repo: add ndcunningham to Claude workflow authorized users (#31479)
  • repo: migrate to pnpm 10 (#31427)
  • ⚠️ storybook: support storybook 9 (#31172)

🩹 Fixes

  • add .ts extension to nx-release script reference in project.json (#31483)
  • angular: update tsconfig files generation to better support angular v20 (#31357)
  • angular: keep extra target metadata when needed in convert-to-rspack generator (#31309)
  • angular: generate correct output for buildable libraries on windows (#31437, #31436)
  • angular: optimize ng-packagr-lite watch mode file writing (#31434, #31033)
  • bundling: do not normalize tsconfig path for Windows with rollup (#30567)
  • bundling: correctly handle .cjs.js .mjs.js in rollup for type definitions (#29366, #29308)
  • core: handle killing child processes of continuous tasks on Windows (#31296, #31235)
  • core: do not hide task list with run-many if there is only 1 task (#31324)
  • core: generate workspace file readme typo (#31341, #31335)
  • core: fix broken nx-cloud url shortening logic (#31283)
  • core: infer codex environment and use default tasks runner (#31359)
  • core: use next available port when the port for nx graph is in use (#31365, #30915)
  • core: handle run-commands targets with no commands (#31364, #31345)
  • core: implement missing --print flag for nx graph command (#31406, #30255)
  • core: update getTouchedProjectsFromLockFile to handle deleted/moved projects correctly (#31361)
  • core: ensure nx init implementation for angular correctly resolves @angular/core (#31430, #31291)
  • core: print installation logs when installing latest version during nx migrate and using --verbose (#31432)
  • core: use ts-node option from tsconfig files when creating transpiler (#31469)
  • core: Update macos pipelines configuration (#31476)
  • core: scope typescript resolution cache correctly when processing the graph (#31455, #31223)
  • core: remove tabs from local workspace plugins section in nx report (#31490)
  • core: handle external node without default version when generating a pnpm pruned lockfile (#31503, #28627)
  • core: add conditional compilation for WASM build compatibility (#31491)
  • core: default to 'run' target when only project is specified (#31452)
  • core: remove log_error function and standardize logging (#31515)
  • core: scope native logging to nx module by default (#31530)
  • core: simplify Nx Console installation prompt (#31532)
  • core: update Node.js version to 22.16.0 since the rust-docker-lts version is not updated (#31547)
  • gradle: change run and bootRun to cacheable false (#31287)
  • gradle: add migration script to check gradle plugin version (#31304)
  • gradle: fix gradle test running gaps (#31313)
  • js: write typescript plugin cache files atomically (#31390, #30239, #31187)
  • js: enable end-to-end tests for Vue application in dev mode (#31415)
  • js: enhance TypeScript transformer loading to support function-based plugins (#31443, #31411)
  • linter: speed up inferred plugin node processing (#31281)
  • linter: handle ng-package.json file with no lib.entryFile in @nx/enforce-module-boundaries rule (#31360)
  • linter: fix line endings handling in '@nx/eslint:convert-to-flat-config' generator (#31043)
  • linter: infer lint tasks with inputs using {workspaceRoot} to support nested projects (#31488, #31264)
  • linter: update allowed ESLint config file extensions (#30127)
  • module-federation: use runtimeChunk false when not in dev mode (#31256, #30637, #31114)
  • module-federation: enhance remote entry handling with query parameters in paths (#30615, #30602)
  • nextjs: add extension alias support for handling ESM libs (#31323, #30714)
  • node: add project name sanitization for Docker commands. (#31461, #31421)
  • node: esbuild breaks and does not cleanup (#30469)
  • nx-dev: only track analytics in prod envs (#31367)
  • react: add missing dependency when generating a react lib that has testing (#31308)
  • react: routing option to library generator (#31328, #30721)
  • react: allow for buildTargetWebpack to have an executor of @nx/webpack:webpack or @nx/rspack:rspack (#30253, #30235)
  • release: sort groups topologically bottom-up and fix typo to allow multi-level group dependencies (#31374)
  • release: changelog filtering logic for the project commits (#31449)
  • remix: update setup-tailwind generator to correct import statements (#30599, #30343)
  • repo: MacOS failures in our E2E Tests (#31528)
  • rspack: fix issue with optimization options in rspack config (#31337, #31268, #30292)
  • rspack: ensure nest applications generated correctly #31204 (#31424, #31204)
  • rspack: Add missing return for rspack composoable plugin (#31372)
  • rspack: must run type check with @nx/rspack:rspack when skipTypeChecking is false (#31027, #31026)
  • storybook: improve speed of storybook plugin (#31277, #22953, #31276)
  • vite: bump @analogjs/vite-plugin-angular to 1.16.x (#31317)
  • vite: add ajv dependency for non-pnpm package managers (#31413)
  • vite: resolve project-specific tsconfig before workspace fallback (#31423, #28945)
  • vite: NxReporter compatible with Vitest ≥0.29 (#31425)
  • webpack: add support for retrieving all transitive non-buildable dependencies (#31343)
  • webpack: handle package.json exports field for non-buildable libs (#31444)

⚠️ Breaking Changes

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

❤️ Thank You