Releases: nrwl/nx
Releases · nrwl/nx
23.0.0-rc.3
23.0.0-rc.2
23.0.0-rc.2 (2026-06-12)
🩹 Fixes
- core: override shell-quote to ^1.8.4 to patch GHSA-w7jw-789q-3m8p (#35974)
- gradle: make project graph configuration hash deterministic (#35972)
- gradle: exclude incremental-compilation .bin files from task inputs (#35975)
❤️ Thank You
- Jason Jean @FrozenPandaz
23.0.0-rc.1
23.0.0-rc.1 (2026-06-11)
🚀 Features
- nx-dev: add docs top banner for ai monorepos conference (#35956)
🩹 Fixes
- core: allow analytics requests through Claude Code sandbox network filter (#35949)
- core: exclude NX_CLOUD_ env vars from daemon env reflection (#35961)
- core: degrade cooldown-blocked dist-tags within their own channel (#35967)
- repo: correct config path in update-repos scripts and use next migrate CLI (#35968, #35915)
❤️ Thank You
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
23.0.0-rc.0
23.0.0-rc.0 (2026-06-10)
🚀 Features
- core: extend
nx migrate --includeto any package that supports optional updates (#35905) - core: report analytics events for the nx migrate flow (#35937)
- misc: remove migrations prior to v21 in preparation for v23 (#35909, #30839, #32904, #35900)
- misc: multi-version support compliance for detox, expo, react-native, and remix (#35885)
- misc: prompt analytics earlier in init flow (#35922)
🩹 Fixes
- core: show agentic migration prompt descriptions only for the focused choice (#35908)
- misc: rename createNodesV2 value usages in v23 migration, not just imports (#35930)
- misc: declare continuous on inferred executor targets (#35941)
- misc: fix gitlab ci workflow for new repos and merge requests (#34237)
- release: scope ambiguous-scope check to active release group's projects (#35745, #35744)
- repo: increase FreeBSD publish VM memory to prevent OOM (#35914)
- vite: improve vitest 4 migration to better handle vitest workspace config (#35940)
- webpack: add webpack tooling to devDependencies in the v23 migration (#35944)
❤️ Thank You
- Claude Opus 4.8 (1M context)
- Craigory Coppola @AgentEnder
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Justin McLellan @jmclellan-crexi
- Leosvel Pérez Espinosa @leosvelperez
23.0.0-beta.25
23.0.0-beta.25 (2026-06-09)
🚀 Features
- core: extend
nx migrate --includeto any package that supports optional updates (#35905) - misc: remove migrations prior to v21 in preparation for v23 (#35909, #30839, #32904, #35900)
- misc: multi-version support compliance for detox, expo, react-native, and remix (#35885)
🩹 Fixes
- core: respect package manager minimum release age in nx migrate (#35902)
- core: show agentic migration prompt descriptions only for the focused choice (#35908)
- release: scope ambiguous-scope check to active release group's projects (#35745, #35744)
- remix: correct migration implementation path for flat-build packages (#35899, #35893)
- repo: increase FreeBSD publish VM memory to prevent OOM (#35914)
❤️ Thank You
- Claude Opus 4.8 (1M context)
- FrozenPandaz @FrozenPandaz
- Jason Jean @FrozenPandaz
- Justin McLellan @jmclellan-crexi
- Leosvel Pérez Espinosa @leosvelperez
23.0.0-beta.24
23.0.0-beta.24 (2026-06-06)
🚀 Features
- angular: deprecate SCAM generators (#35887)
- core: support prompt-only and hybrid migrations in Nx Console UI (#35822, #35718, #3153)
- core: add JSON schema for migrations.json files (#35888)
- core: add migrations for createNodesV2 -> createNodes rename (#35893, #35386)
⚠️ devkit: deprecate the standalone parameter of addProjectConfiguration (#35883)- misc: add --trustThirdPartyPreset flag to skip confirmation prompt (#35827, #35826)
⚠️ webpack: deprecate webpack/rspack config compose helpers (#35867)
🩹 Fixes
- core: disallow nx migrate --interactive for Nx v23+ targets (#35874)
- core: pre-authorize agentic handoff writes and consult the user before failing a step (#35889)
- core: respect --no-interactive across all nx migrate prompts (#35884)
- core: keep daemon alive when a recompute's plugin load fails (#35705, #35650)
- core: respect NX_PREFER_TS_NODE over native type stripping (#35892)
⚠️ dotnet: graduate @nx/dotnet — drop experimental banner and the /plugin export (#35895)- js: align tsconfig include and exclude inputs inference with TypeScript behavior (#35876)
- misc: publish migration prompt files and report the real migrate fetch error (#35886)
- misc: multi-version support compliance for rollup, webpack, and module-federation (#35860)
- nextjs: multi-version support compliance (NXC-4395) (#35870)
- react: multi-version support compliance (NXC-4399) (#35872)
- react-native: fix TS2742 build error and retarget rollup/webpack migrations to beta.24 (#35896)
- repo: set workspace-plugin type to module to silence Node strip-types warning (#35880)
⚠️ repo: migrate remaining first-party plugins to local dist build (M2-M5) (#35785, #34946, #35743)- repo: use import type for type-only @nx/devkit imports in copy-a… (#35897)
⚠️ Breaking Changes
- dotnet: graduate @nx/dotnet — drop experimental banner and the /plugin export (#35895)
** the@nx/dotnet/pluginentry point has been
removed; use@nx/dotnet. The included migration updatesnx.json
automatically.Related Issue(s)
N/A - repo: migrate remaining first-party plugins to local dist build (M2-M5) (#35785, #34946, #35743)
- devkit: deprecate the standalone parameter of addProjectConfiguration (#35883)
- webpack: deprecate webpack/rspack config compose helpers (#35867)
❤️ Thank You
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jack Stevenson
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
23.0.0-beta.23
23.0.0-beta.23 (2026-06-04)
🚀 Features
- angular: deprecate convert-to-with-mf generator (#35862)
- core: avoid redundant rematch in findMatchingConfigFiles (#35793, #35792)
⚠️ core: rename CreateNodes V2 types to canonical OG names (#35386, #32951)⚠️ nextjs: deprecate withNx function (#35861)
🩹 Fixes
- angular-rspack: dispose stylesheet bundler so one-shot builds exit (#35869)
- core: support local plugins using NodeNext .js import specifiers (#35834)
- core: gate nx migrate first-party/third-party modes to Nx v23+ targets (#35830)
- core: correct 'occured' typo to 'occurred' in error messages (#35852)
- core: use workspace package manager when fetching migrations via install (#35866)
- dotnet: declare obj output for publish/pack and track vitest dep spec tsconfig input (#35858)
- js: use TypeScript readConfigFile instead of JSON.parse in resolvePathsBaseUrl (#35539, #34965, #35537, #35824)
- vue: multi-version support compliance for @nx/vue and @nx/nuxt (#35845)
⚠️ Breaking Changes
- core: rename CreateNodes V2 types to canonical OG names (#35386, #32951)
- nextjs: deprecate withNx function (#35861)
❤️ Thank You
- Abdullah Alaqeel @aqeelat
- Alex Croteau @cw-alexcroteau
- Claude
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- Minh Lê @DucMinhNe
23.0.0-beta.22
23.0.0-beta.22 (2026-06-02)
🚀 Features
- core: add a migrate configuration section to nx.json (#35831)
- core: feed migration docs to agents in nx migrate (#35835)
- linter: deprecate ESLint v8 support (#35819)
⚠️ testing: remove deprecated skipSetupFile and setupFile jest options (#35588)⚠️ vite: deprecate the nxViteTsPaths and nxCopyAssetsPlugin helpers (#35664)
🩹 Fixes
- angular: bump zoneJsVersion to ~0.16.0 to align with Angular v21 (#35799)
- core: read pod cgroup limits instead of node limits in resource metrics (#35622, #35665)
- core: forward full task graph to batch executors under DTE (#35859)
- js: support auto mode for non-pnpm lock files in affected detection (#35141, #34937)
- js: handle already-published version errors in release-publish executor (#35782, #35235)
- misc: multi-version compliance for @nx/express, @nx/node, and @nx/nest (#35807)
- release: skip expensive changelog operations when changelogs are disabled (#35405)
- release: scope fallback to project history for new packages (#35323)
- release: require docker config for docker versioning (#35841)
- repo: rename publish VERSION env var to avoid MSBuild leak (#35849)
- testing: enforce jest 29-30 multi-version compliance for @nx/jest (#35758)
- vite: enforce multi-version support windows for @nx/vite and @nx/vitest (#35671)
⚠️ Breaking Changes
- vite: deprecate the nxViteTsPaths and nxCopyAssetsPlugin helpers (#35664)
- testing: remove deprecated skipSetupFile and setupFile jest options (#35588)
ThesetupFileoption of the@nx/jest:jestexecutor
and theskipSetupFileoption of the@nx/jest:configurationgenerator
are removed.
❤️ Thank You
- Claude
- Craigory Coppola @AgentEnder
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- llwt @llwt
- Miroslav Jonaš @meeroslav
- Olawuni Olagoke @olagokemills
- Steven Nance
- Thiago Zanluca @zanlucathiago
- Thomas Dekiere @thdk
23.0.0-beta.21
23.0.0-beta.21 (2026-05-29)
🚀 Features
- module-federation: deprecate old generators and add new consumer/provider generators (#35825)
🩹 Fixes
- angular-rspack: apply multi-version compliance to @nx/angular-rspack(-compiler) (#35806)
- core: allow nx build scripts in generated pnpm-workspace.yaml (#35564)
- core: update tmp to 0.2.6 due to CVE-2026-44705 (#35813)
- core: correct nx migrate commit-tally undercount and consolidate outcome state (#35820)
- linter: multi-version support compliance for @nx/eslint and @nx/eslint-plugin (#35811, #35806)
- storybook: multi-version support compliance (#35770)
❤️ Thank You
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jack Stevenson
- Leosvel Pérez Espinosa @leosvelperez
- Miroslav Jonaš @meeroslav
23.0.0-beta.20
23.0.0-beta.20 (2026-05-27)
🚀 Features
- core: add agentic mode to nx migrate --run-migrations (#35718)
🩹 Fixes
- core: update brace-expansion and yaml (#35790)
❤️ Thank You
- Jack Hsu @jaysoo
- Leosvel Pérez Espinosa @leosvelperez
- leosvelperez @leosvelperez