# Nx changelog > A build system with first-class monorepo support. - Vendor: Nx - Category: Developer Tools - Official site: https://nx.dev - Tracked by: What's New (https://whatsnew.fyi/product/nx) - Harvested from: GitHub (nrwl/nx) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### 23.2.0-beta.5 - Date: 2026-08-06 - Version: 23.2.0-beta.5 - Original notes: https://github.com/nrwl/nx/releases/tag/23.2.0-beta.5 - Permalink: https://whatsnew.fyi/product/nx/releases/23.2.0-beta.5 - Labels: Pre-release - **added** — Add support for Angular v22.1 - **added** — Add nx migrate --run-migration to run a single migration - **added** — Let migration generators skip their AI step - **changed** — Show Cloud app link for remote cache instead of docs - **added** — Generate .nx/ci-config.yaml for agent distribution - **added** — Add nx start-nx-agents as an alias for nx-cloud start-nx-agents - **added** — Support tag-based project selection in release - **fixed** — Keep buildable libraries private in Angular - **fixed** — Stop builds crashing on non-array styleUrls in angular-rspack - **fixed** — Normalize resolved module paths - **fixed** — Stop pruneProjectGraph from mutating the source project graph - **fixed** — Make preset empty work without github.com and improve template download errors - **fixed** — Drain to stdout before exiting nx affected - **security** — Update brace-expansion to 5.0.9 for CVE-2026-14257 - **fixed** — Skip unchanged version action projects in Docker - **fixed** — Keep the kb index working for uncommitted articles in nx-dev - **fixed** — Make module federation packages optional peer dependencies in React - **fixed** — Ignore deleted projects in historical affectedness in release - **fixed** — Support custom conventional commit types in release - **fixed** — Skip changelog resolution for unversioned projects in release ##### 23.2.0-beta.5 (2026-08-06) ###### 🚀 Features - **angular:** add support for Angular v22.1 ([#36521](https://github.com/nrwl/nx/pull/36521)) - **core:** add nx migrate --run-migration to run a single migration ([#36407](https://github.com/nrwl/nx/pull/36407)) - **core:** let migration generators skip their AI step ([#36532](https://github.com/nrwl/nx/pull/36532)) - **core:** show Cloud app link for remote cache instead of docs ([#36460](https://github.com/nrwl/nx/pull/36460)) - **nx-cloud:** generate .nx/ci-config.yaml for agent distribution ([#36504](https://github.com/nrwl/nx/pull/36504)) - **nx-cloud:** add nx start-nx-agents as an alias for nx-cloud start-nx-agents ([#36572](https://github.com/nrwl/nx/pull/36572)) - **release:** support tag-based project selection ([#36537](https://github.com/nrwl/nx/pull/36537)) ###### 🩹 Fixes - **angular:** keep buildable libraries private ([#36545](https://github.com/nrwl/nx/pull/36545)) - **angular-rspack:** stop builds crashing on non-array styleUrls ([#36550](https://github.com/nrwl/nx/pull/36550)) - **core:** normalize resolved module paths ([#36556](https://github.com/nrwl/nx/pull/36556), [#36549](https://github.com/nrwl/nx/issues/36549)) - **core:** stop pruneProjectGraph from mutating the source project graph ([#36517](https://github.com/nrwl/nx/pull/36517), [#36470](https://github.com/nrwl/nx/issues/36470)) - **core:** make preset empty work without github.com and improve template download errors ([#36508](https://github.com/nrwl/nx/pull/36508)) - **core:** drain to stdout before exiting `nx affected` ([#36569](https://github.com/nrwl/nx/pull/36569), [#36568](https://github.com/nrwl/nx/issues/36568)) - **core:** update brace-expansion to 5.0.9 for CVE-2026-14257 ([#36577](https://github.com/nrwl/nx/pull/36577)) - **docker:** skip unchanged version action projects ([#36542](https://github.com/nrwl/nx/pull/36542)) - **misc:** move plugin internal imports to devkit/internal ([#36430](https://github.com/nrwl/nx/pull/36430)) - **nx-dev:** keep the kb index working for uncommitted articles ([#36588](https://github.com/nrwl/nx/pull/36588)) - **react:** make module federation packages optional peer dependencies ([#36492](https://github.com/nrwl/nx/pull/36492)) - **release:** ignore deleted projects in historical affectedness ([#36538](https://github.com/nrwl/nx/pull/36538)) - **release:** support custom conventional commit types ([#36539](https://github.com/nrwl/nx/pull/36539)) - **release:** skip changelog resolution for unversioned projects ([#36544](https://github.com/nrwl/nx/pull/36544)) - **release:** preserve package.json formatting ([#36540](https://github.com/nrwl/nx/pull/36540)) - **testing:** reserve dev-server ports in the react-router e2e suite ([#36585](https://github.com/nrwl/nx/pull/36585)) ###### ❤️ Thank You - Aaron Thomas @ATKasem - AI-JamesHenry @AI-JamesHenry - ATKasem @ATKasem - Craigory Coppola @AgentEnder - Harsh Mathur @harshmathurx - Jack Hsu @jaysoo - Jamie Trip - Jason Jean @FrozenPandaz - Leosvel Pérez Espinosa @leosvelperez - Louie Weng @lourw - Optischa @Optischa ### 22.7.8 - Date: 2026-07-30 - Version: 22.7.8 - Original notes: https://github.com/nrwl/nx/releases/tag/22.7.8 - Permalink: https://whatsnew.fyi/product/nx/releases/22.7.8 - **fixed** — Dispose stylesheet bundler in angular-rspack so one-shot builds exit - **fixed** — Use workspace package manager when fetching migrations via install - **fixed** — Omit peer dependencies when installing packages to a temp dir - **security** — Prevent shell injection in nx import - **security** — Stop passing git revisions through a shell in affected commands - **fixed** — Allow nx build scripts in generated pnpm-workspace.yaml - **fixed** — Acknowledge @swc/core build script in generated pnpm-workspace.yaml - **fixed** — Keep real dependencies when omitting peers from npm temp installs - **security** — Bump pinned axios and brace-expansion past vulnerable versions - **fixed** — Resolve jest versions locally instead of importing @nx/jest internals in detox - **security** — Run release pipeline docker commands without a shell - **fixed** — Exclude typescript 7 from supported versions on 22.7.x - **fixed** — Resolve the verdaccio bin through its package.json - **fixed** — Use default import for chalk in @nx/workspace output.ts - **fixed** — Use default inputs instead of the '...' token in nx-dev on 22.7.x - **fixed** — Trust wix/brew tap so macOS detox CI can install applesimutils - **fixed** — Seed typescript before plugins in e2e workspaces to avoid TS7 stub ##### 22.7.8 (2026-07-30) ###### 🩹 Fixes - **angular-rspack:** dispose stylesheet bundler so one-shot builds exit ([#35869](https://github.com/nrwl/nx/pull/35869)) - **core:** use workspace package manager when fetching migrations via install ([#35866](https://github.com/nrwl/nx/pull/35866)) - **core:** omit peer dependencies when installing packages to a temp dir ([#36295](https://github.com/nrwl/nx/pull/36295)) - **core:** prevent shell injection in nx import ([#36348](https://github.com/nrwl/nx/pull/36348)) - **core:** stop passing git revisions through a shell in affected commands ([#36379](https://github.com/nrwl/nx/pull/36379)) - **core:** allow nx build scripts in generated pnpm-workspace.yaml ([#35564](https://github.com/nrwl/nx/pull/35564)) - **core:** acknowledge @swc/core build script in generated pnpm-workspace.yaml ([#35608](https://github.com/nrwl/nx/issues/35608)) - **core:** keep real dependencies when omitting peers from npm temp installs ([#36518](https://github.com/nrwl/nx/pull/36518), [#36295](https://github.com/nrwl/nx/issues/36295)) - **core:** bump pinned axios and brace-expansion past vulnerable versions ([#36507](https://github.com/nrwl/nx/pull/36507), [#36474](https://github.com/nrwl/nx/issues/36474)) - **detox:** resolve jest versions locally instead of importing @nx/jest internals ([3ce3f6ab6e](https://github.com/nrwl/nx/commit/3ce3f6ab6e)) - **docker:** run release pipeline docker commands without a shell ([#36505](https://github.com/nrwl/nx/pull/36505)) - **js:** exclude typescript 7 from supported versions on 22.7.x ([dc804964e9](https://github.com/nrwl/nx/commit/dc804964e9)) - **js:** resolve the verdaccio bin through its package.json ([#36479](https://github.com/nrwl/nx/pull/36479)) - **misc:** use default import for chalk in @nx/workspace output.ts ([#35523](https://github.com/nrwl/nx/pull/35523), [#35521](https://github.com/nrwl/nx/issues/35521), [#34111](https://github.com/nrwl/nx/issues/34111), [#21201](https://github.com/nrwl/nx/issues/21201), [#26667](https://github.com/nrwl/nx/issues/26667)) - **repo:** use default inputs instead of the '...' token in nx-dev on 22.7.x ([#35530](https://github.com/nrwl/nx/issues/35530)) - **repo:** trust wix/brew tap so macOS detox CI can install applesimutils ([#36146](https://github.com/nrwl/nx/pull/36146)) - **testing:** seed typescript before plugins in e2e workspaces to avoid TS7 stub ([7f5ffbfcbc](https://github.com/nrwl/nx/commit/7f5ffbfcbc)) ###### ❤️ Thank You - Craigory Coppola @AgentEnder - FrozenPandaz @FrozenPandaz - Jack Hsu @jaysoo - Jason Jean @FrozenPandaz - Jonathan Garvey @jdgarvey - Miroslav Jonaš @meeroslav ### 23.1.1 - Date: 2026-07-30 - Version: 23.1.1 - Original notes: https://github.com/nrwl/nx/releases/tag/23.1.1 - Permalink: https://whatsnew.fyi/product/nx/releases/23.1.1 - **added** — Derive stable repo key from normalized remote and relative path - **added** — Add react + vite + vitest + playwright example - **fixed** — Speed up angular-rspack builds and align behavior with the esbuild application builder - **fixed** — Support TypeScript esbuildConfig files in the esbuild executor - **fixed** — Acknowledge @swc/core build scripts when configuring rollup - **fixed** — Speed up npm lockfile parsing - **fixed** — Speed up lockfile parsing and catalog resolution - **fixed** — Show performance report recommendations only when actionable - **fixed** — Close daemon log descriptors after spawn to avoid Node 26 crash - **security** — Prevent shell injection in nx import - **fixed** — Correct the 22.6.0 gitignore and analytics migration wiring - **fixed** — Support npm 12 and pnpm in the package provenance check - **fixed** — Honor pnpm minimumReleaseAge config on pnpm 11 - **fixed** — Support pnpm 11 patched dependency hashes - **fixed** — Resolve name refs copied into pattern-matched target arrays - **fixed** — Resolve source-loaded plugin transitive workspace imports - **fixed** — Unbreak pnpm 11 installs by acknowledging build-script deps from generators - **fixed** — Include continuous and default-config dependencies in show target - **fixed** — Respect --aiAgents none to skip AI agent file generation - **fixed** — Bump pinned axios and brace-expansion past vulnerable versions ##### 23.1.1 (2026-07-30) ###### 🚀 Features - **core:** derive stable repo key from normalized remote and relative path ([#36439](https://github.com/nrwl/nx/pull/36439)) - **repo:** add react + vite + vitest + playwright example ([#35921](https://github.com/nrwl/nx/pull/35921)) ###### 🩹 Fixes - **angular-rspack:** speed up builds and align behavior with the esbuild application builder ([#36268](https://github.com/nrwl/nx/pull/36268), [#34936](https://github.com/nrwl/nx/issues/34936)) - **bundling:** support TypeScript esbuildConfig files in the esbuild executor ([#36352](https://github.com/nrwl/nx/pull/36352), [#36349](https://github.com/nrwl/nx/issues/36349)) - **bundling:** acknowledge @swc/core build scripts when configuring rollup ([#36412](https://github.com/nrwl/nx/pull/36412)) - **core:** speed up npm lockfile parsing ([#36216](https://github.com/nrwl/nx/pull/36216)) - **core:** speed up lockfile parsing and catalog resolution ([#36223](https://github.com/nrwl/nx/pull/36223)) - **core:** show performance report recommendations only when actionable ([#36344](https://github.com/nrwl/nx/pull/36344)) - **core:** close daemon log descriptors after spawn to avoid Node 26 crash ([#36280](https://github.com/nrwl/nx/pull/36280)) - **core:** prevent shell injection in nx import ([#36348](https://github.com/nrwl/nx/pull/36348)) - **core:** correct the 22.6.0 gitignore and analytics migration wiring ([#36356](https://github.com/nrwl/nx/pull/36356)) - **core:** support npm 12 and pnpm in the package provenance check ([#36354](https://github.com/nrwl/nx/pull/36354), [#36338](https://github.com/nrwl/nx/issues/36338)) - **core:** honor pnpm minimumReleaseAge config on pnpm 11 ([#36335](https://github.com/nrwl/nx/pull/36335), [#36330](https://github.com/nrwl/nx/issues/36330)) - **core:** support pnpm 11 patched dependency hashes ([#36360](https://github.com/nrwl/nx/pull/36360)) - **core:** resolve name refs copied into pattern-matched target arrays ([#36359](https://github.com/nrwl/nx/pull/36359)) - **core:** resolve source-loaded plugin transitive workspace imports ([#36296](https://github.com/nrwl/nx/pull/36296)) - **core:** unbreak pnpm 11 installs by acknowledging build-script deps from generators ([#36302](https://github.com/nrwl/nx/pull/36302)) - **core:** include continuous and default-config dependencies in show target ([#36374](https://github.com/nrwl/nx/pull/36374)) - **core:** make unit tests pass locally regardless of invoking package manager ([#35994](https://github.com/nrwl/nx/pull/35994)) - **core:** respect --aiAgents none to skip AI agent file generation ([#34944](https://github.com/nrwl/nx/pull/34944), [#34692](https://github.com/nrwl/nx/issues/34692)) - **core:** use --config.frozen-lockfile=false for pnpm add during migrate ([#36337](https://github.com/nrwl/nx/pull/36337)) - **core:** run selected projects with --exclude-task-dependencies ([#35562](https://github.com/nrwl/nx/pull/35562)) - **core:** stop passing git revisions through a shell in affected commands ([#36379](https://github.com/nrwl/nx/pull/36379)) - **core:** collect trickling watcher bursts fully on daemon force-flush ([#36391](https://github.com/nrwl/nx/pull/36391)) - **core:** report tasks running in another Nx process in the inline TUI ([#36341](https://github.com/nrwl/nx/pull/36341)) - **core:** stop ratatui cursor queries from racing the TUI event stream ([#36318](https://github.com/nrwl/nx/pull/36318)) - **core:** render critical-path tasks as a nested list in the job summary ([#36394](https://github.com/nrwl/nx/pull/36394)) - **core:** keep pnpm-workspace.yaml comments and read package.json as jsonc ([#36411](https://github.com/nrwl/nx/pull/36411)) - **core:** support multiple brace groups in workspace glob matching ([#36395](https://github.com/nrwl/nx/pull/36395)) - **core:** handle CRLF line endings in pnpm multi-document lockfiles ([#36419](https://github.com/nrwl/nx/pull/36419), [#35828](https://github.com/nrwl/nx/issues/35828), [#3584 _[Truncated at 4000 characters — full notes: https://github.com/nrwl/nx/releases/tag/23.1.1]_ ### 23.2.0-beta.4 - Date: 2026-07-30 - Version: 23.2.0-beta.4 - Original notes: https://github.com/nrwl/nx/releases/tag/23.2.0-beta.4 - Permalink: https://whatsnew.fyi/product/nx/releases/23.2.0-beta.4 - Labels: Pre-release - **fixed** — make tui cloud icon visible on light terminal themes - **fixed** — pin typescript in preset dependencies so npm cannot hoist typescript 7 - **security** — bump pinned axios and brace-expansion past vulnerable versions - **fixed** — parse pnpm lockfiles that omit the packages block - **fixed** — keep real dependencies when omitting peers from npm temp installs - **fixed** — resolve ensurePackage against the workspace - **fixed** — run release pipeline docker commands without a shell - **fixed** — serialize cypress installs and skip the binary when unused ##### 23.2.0-beta.4 (2026-07-30) ###### 🩹 Fixes - **core:** make tui cloud icon visible on light terminal themes ([#36495](https://github.com/nrwl/nx/pull/36495)) - **core:** pin typescript in preset dependencies so npm cannot hoist typescript 7 ([#36497](https://github.com/nrwl/nx/pull/36497)) - **core:** bump pinned axios and brace-expansion past vulnerable versions ([#36507](https://github.com/nrwl/nx/pull/36507), [#36474](https://github.com/nrwl/nx/issues/36474)) - **core:** parse pnpm lockfiles that omit the packages block ([#36512](https://github.com/nrwl/nx/pull/36512)) - **core:** keep real dependencies when omitting peers from npm temp installs ([#36518](https://github.com/nrwl/nx/pull/36518)) - **devkit:** resolve ensurePackage against the workspace ([#36496](https://github.com/nrwl/nx/pull/36496)) - **docker:** run release pipeline docker commands without a shell ([#36505](https://github.com/nrwl/nx/pull/36505)) - **repo:** serialize cypress installs and skip the binary when unused ([#36493](https://github.com/nrwl/nx/pull/36493)) ###### ❤️ Thank You - Jack Hsu @jaysoo - Jason Jean @FrozenPandaz ### 23.2.0-beta.3 - Date: 2026-07-28 - Version: 23.2.0-beta.3 - Original notes: https://github.com/nrwl/nx/releases/tag/23.2.0-beta.3 - Permalink: https://whatsnew.fyi/product/nx/releases/23.2.0-beta.3 - Labels: Pre-release - **added** — Add bun dependency-catalog support - **added** — Derive stable repo key from normalized remote and relative path - **fixed** — Speed up builds and align behavior with the esbuild application builder in angular-rspack - **fixed** — Preserve FORCE_COLOR=0 intent for forked child tasks - **fixed** — Handle colons in target name when resolving inputs to generate graph - **fixed** — Merge default plugins through the source-map-aware merge path - **fixed** — Keep nx migrate on the requested version when release-age gates interfere - **fixed** — Avoid bogus duplicate project name errors when generating nested apps - **fixed** — Resolve the verdaccio bin through its package.json - **fixed** — Resolve package and extension-less tsconfig extends read from the tree - **fixed** — Use projectService for typed linting in flat configs - **fixed** — Preserve package alias keys in generated package.json - **fixed** — Prevent crash when opening browser in Podman+WSL container - **fixed** — Include migration docs in the built package for react-native - **fixed** — Lazy-load @rspack/core in create-compiler to avoid eager ESM resolution - **fixed** — Prevent out-of-memory crash during atomized test graph creation in vitest ##### 23.2.0-beta.3 (2026-07-28) ###### 🚀 Features - **core:** add bun dependency-catalog support ([#36434](https://github.com/nrwl/nx/pull/36434)) - **core:** derive stable repo key from normalized remote and relative path ([#36439](https://github.com/nrwl/nx/pull/36439)) ###### 🩹 Fixes - **angular-rspack:** speed up builds and align behavior with the esbuild application builder ([#36268](https://github.com/nrwl/nx/pull/36268), [#34936](https://github.com/nrwl/nx/issues/34936)) - **core:** preserve FORCE_COLOR=0 intent for forked child tasks ([#35293](https://github.com/nrwl/nx/pull/35293)) - **core:** handle colons in target name when resolving inputs to generate graph ([#36429](https://github.com/nrwl/nx/pull/36429), [#33710](https://github.com/nrwl/nx/issues/33710)) - **core:** merge default plugins through the source-map-aware merge path ([#36257](https://github.com/nrwl/nx/pull/36257)) - **core:** keep nx migrate on the requested version when release-age gates interfere ([#36444](https://github.com/nrwl/nx/pull/36444)) - **core:** avoid bogus duplicate project name errors when generating nested apps ([#36458](https://github.com/nrwl/nx/pull/36458)) - **js:** resolve the verdaccio bin through its package.json ([#36479](https://github.com/nrwl/nx/pull/36479)) - **js:** resolve package and extension-less tsconfig extends read from the tree ([#36271](https://github.com/nrwl/nx/pull/36271)) - **linter:** use projectService for typed linting in flat configs ([#35727](https://github.com/nrwl/nx/pull/35727)) - **misc:** preserve package alias keys in generated package.json ([#35207](https://github.com/nrwl/nx/pull/35207)) - **misc:** prevent crash when opening browser in Podman+WSL container ([#34639](https://github.com/nrwl/nx/pull/34639)) - **react-native:** include migration docs in the built package ([#36378](https://github.com/nrwl/nx/pull/36378)) - **repo:** drop stale e2e dependsOn overrides that omit the local registry ([#36482](https://github.com/nrwl/nx/pull/36482)) - **rspack:** lazy-load @rspack/core in create-compiler to avoid eager ESM resolution ([#36476](https://github.com/nrwl/nx/pull/36476)) - **vitest:** prevent out-of-memory crash during atomized test graph creation ([#36339](https://github.com/nrwl/nx/pull/36339), [#36315](https://github.com/nrwl/nx/issues/36315)) ###### ❤️ Thank You - AgentEnder @AgentEnder - Amp - Charlie Croom - Claude - Claude Fable 5 - Claude Sonnet 5 - Cogi @dbwodlf3 - Copilot @Copilot - Craigory Coppola @AgentEnder - FrozenPandaz @FrozenPandaz - Jack Stevenson - Jaeil Yu - Jason Jean @FrozenPandaz - Leosvel Pérez Espinosa @leosvelperez - Louis DeScioli - Miroslav Jonas @meeroslav ### 23.2.0-beta.2 - Date: 2026-07-21 - Version: 23.2.0-beta.2 - Original notes: https://github.com/nrwl/nx/releases/tag/23.2.0-beta.2 - Permalink: https://whatsnew.fyi/product/nx/releases/23.2.0-beta.2 - Labels: Pre-release - **added** — Forward mouse and resize events to tasks running in the TUI's pty - **added** — Add vitest support for e2e tests in nx-plugin - **fixed** — Acknowledge @swc/core build scripts when configuring rollup - **fixed** — Keep pnpm-workspace.yaml comments and read package.json as jsonc - **fixed** — Support multiple brace groups in workspace glob matching - **fixed** — Handle CRLF line endings in pnpm multi-document lockfiles - **fixed** — Correct glob pattern expansion for ZeroOrOne groups - **fixed** — Stop re-querying confirmed cache misses in task orchestrator - **fixed** — Sample project graph perf span telemetry per session at 10% - **fixed** — Strip terminal query sequences when replaying task output - **fixed** — Add @swc/core when configuring jest with the swc compiler ##### 23.2.0-beta.2 (2026-07-21) ###### 🚀 Features - **core:** forward mouse and resize events to tasks running in the TUI's pty ([#36322](https://github.com/nrwl/nx/pull/36322)) - **nx-plugin:** add vitest support for e2e tests ([#34041](https://github.com/nrwl/nx/pull/34041)) ###### 🩹 Fixes - **bundling:** acknowledge @swc/core build scripts when configuring rollup ([#36412](https://github.com/nrwl/nx/pull/36412)) - **core:** keep pnpm-workspace.yaml comments and read package.json as jsonc ([#36411](https://github.com/nrwl/nx/pull/36411)) - **core:** support multiple brace groups in workspace glob matching ([#36395](https://github.com/nrwl/nx/pull/36395)) - **core:** handle CRLF line endings in pnpm multi-document lockfiles ([#36419](https://github.com/nrwl/nx/pull/36419), [#35828](https://github.com/nrwl/nx/issues/35828), [#35840](https://github.com/nrwl/nx/issues/35840)) - **core:** correct glob pattern expansion for ZeroOrOne groups ([#31857](https://github.com/nrwl/nx/pull/31857)) - **core:** stop re-querying confirmed cache misses in task orchestrator ([#36301](https://github.com/nrwl/nx/pull/36301), [#35632](https://github.com/nrwl/nx/issues/35632)) - **core:** sample project graph perf span telemetry per session at 10% ([#36420](https://github.com/nrwl/nx/pull/36420)) - **core:** strip terminal query sequences when replaying task output ([#36432](https://github.com/nrwl/nx/pull/36432)) - **testing:** add @swc/core when configuring jest with the swc compiler ([#36409](https://github.com/nrwl/nx/pull/36409)) ###### ❤️ Thank You - AgentEnder @AgentEnder - Copilot @Copilot - Craigory Coppola @AgentEnder - Jason Jean @FrozenPandaz - Leosvel Pérez Espinosa @leosvelperez ### 23.2.0-beta.1 - Date: 2026-07-20 - Version: 23.2.0-beta.1 - Original notes: https://github.com/nrwl/nx/releases/tag/23.2.0-beta.1 - Permalink: https://whatsnew.fyi/product/nx/releases/23.2.0-beta.1 - Labels: Pre-release - **added** — Add react + vite + vitest + playwright example - **fixed** — Make unit tests pass locally regardless of invoking package manager - **fixed** — Respect --aiAgents none to skip AI agent file generation - **fixed** — Use --config.frozen-lockfile=false for pnpm add during migrate - **fixed** — Run selected projects with --exclude-task-dependencies - **fixed** — Stop passing git revisions through a shell in affected commands - **fixed** — Collect trickling watcher bursts fully on daemon force-flush - **fixed** — Report tasks running in another Nx process in the inline TUI - **fixed** — Stop ratatui cursor queries from racing the TUI event stream - **fixed** — Render critical-path tasks as a nested list in the job summary - **fixed** — Keep override parser when convert-to-flat-config uses FlatCompat - **fixed** — Do not cache static remote assets in the dev-server plugin - **fixed** — Strip version suffix from npm dependency names for bun compatibility - **fixed** — Align VersionDataEntry dependency types with VersionActions to allow null values - **fixed** — Update configuration generator nx.json for Storybook - **fixed** — Prevent watch false leaking into dev server config in Vite - **fixed** — Propagate watch option from executor to webpack config ##### 23.2.0-beta.1 (2026-07-20) ###### 🚀 Features - **repo:** add react + vite + vitest + playwright example ([#35921](https://github.com/nrwl/nx/pull/35921)) ###### 🩹 Fixes - **core:** make unit tests pass locally regardless of invoking package manager ([#35994](https://github.com/nrwl/nx/pull/35994)) - **core:** respect --aiAgents none to skip AI agent file generation ([#34944](https://github.com/nrwl/nx/pull/34944), [#34692](https://github.com/nrwl/nx/issues/34692)) - **core:** use --config.frozen-lockfile=false for pnpm add during migrate ([#36337](https://github.com/nrwl/nx/pull/36337)) - **core:** run selected projects with --exclude-task-dependencies ([#35562](https://github.com/nrwl/nx/pull/35562)) - **core:** stop passing git revisions through a shell in affected commands ([#36379](https://github.com/nrwl/nx/pull/36379)) - **core:** collect trickling watcher bursts fully on daemon force-flush ([#36391](https://github.com/nrwl/nx/pull/36391)) - **core:** report tasks running in another Nx process in the inline TUI ([#36341](https://github.com/nrwl/nx/pull/36341)) - **core:** stop ratatui cursor queries from racing the TUI event stream ([#36318](https://github.com/nrwl/nx/pull/36318)) - **core:** render critical-path tasks as a nested list in the job summary ([#36394](https://github.com/nrwl/nx/pull/36394)) - **linter:** keep override parser when convert-to-flat-config uses FlatCompat ([#36363](https://github.com/nrwl/nx/pull/36363)) - **module-federation:** do not cache static remote assets in the dev-server plugin ([#36279](https://github.com/nrwl/nx/pull/36279), [#36278](https://github.com/nrwl/nx/issues/36278)) - **module-federation:** strip version suffix from npm dependency names for bun compatibility ([#34960](https://github.com/nrwl/nx/pull/34960)) - **release:** align VersionDataEntry dependency types with VersionActions to allow null values ([#35932](https://github.com/nrwl/nx/pull/35932), [#35913](https://github.com/nrwl/nx/issues/35913)) - **storybook:** update configuration generator nx.json ([#34880](https://github.com/nrwl/nx/pull/34880), [#34879](https://github.com/nrwl/nx/issues/34879)) - **vite:** prevent watch false leaking into dev server config ([#36080](https://github.com/nrwl/nx/pull/36080), [#36078](https://github.com/nrwl/nx/issues/36078)) - **webpack:** propagate watch option from executor to webpack config ([#34927](https://github.com/nrwl/nx/pull/34927), [#22945](https://github.com/nrwl/nx/issues/22945)) ###### ❤️ Thank You - Craigory Coppola @AgentEnder - David Johnson @djohnson-aperture - duckot13 - FrozenPandaz @FrozenPandaz - ilan weissberg @ilanwei1 - Jack Hsu @jaysoo - Jason Jean @FrozenPandaz - Leosvel Pérez Espinosa @leosvelperez - Martijn van der Meij @Squixx - Prafful S @prafful1234 - Richard Roozenboom @Roozenboom - Thees Hengstermann @theescodes - Tushar Khadde @Tusharkhadde ### 23.2.0-beta.0 - Date: 2026-07-17 - Version: 23.2.0-beta.0 - Original notes: https://github.com/nrwl/nx/releases/tag/23.2.0-beta.0 - Permalink: https://whatsnew.fyi/product/nx/releases/23.2.0-beta.0 - Labels: Pre-release - **added** — Add a full-width TUI status bar and vim-style pane search - **added** — Confirm before creating migration commits on the default branch - **changed** — Speed up npm lockfile parsing - **changed** — Speed up lockfile parsing and catalog resolution - **changed** — Bump ci-workflow generator to node 24 and current action majors - **fixed** — Make webpack-related packages optional peer dependencies - **fixed** — Support TypeScript esbuildConfig files in the esbuild executor - **fixed** — Show performance report recommendations only when actionable - **fixed** — Close daemon log descriptors after spawn to avoid Node 26 crash - **fixed** — Prevent shell injection in nx import - **fixed** — Correct the 22.6.0 gitignore and analytics migration wiring - **fixed** — Support npm 12 and pnpm in the package provenance check - **fixed** — Honor pnpm minimumReleaseAge config on pnpm 11 - **fixed** — Support pnpm 11 patched dependency hashes - **fixed** — Resolve name refs copied into pattern-matched target arrays - **fixed** — Resolve source-loaded plugin transitive workspace imports - **fixed** — Unbreak pnpm 11 installs by acknowledging build-script deps from generators - **fixed** — Include continuous and default-config dependencies in show target - **fixed** — Support private methods and static blocks in babel preset - **fixed** — Parse pnpm/npm publish JSON containing braces in file paths - **fixed** — Resolve CSS url() assets on Windows in postcss-cli-resources ##### 23.2.0-beta.0 (2026-07-17) ###### 🚀 Features - **core:** confirm before creating migration commits on the default branch ([#36314](https://github.com/nrwl/nx/pull/36314)) - **core:** add a full-width TUI status bar and vim-style pane search ([#36263](https://github.com/nrwl/nx/pull/36263)) ###### 🩹 Fixes - **angular:** make webpack-related packages optional peer dependencies ([#36310](https://github.com/nrwl/nx/pull/36310)) - **bundling:** support TypeScript esbuildConfig files in the esbuild executor ([#36352](https://github.com/nrwl/nx/pull/36352), [#36349](https://github.com/nrwl/nx/issues/36349)) - **core:** speed up npm lockfile parsing ([#36216](https://github.com/nrwl/nx/pull/36216)) - **core:** speed up lockfile parsing and catalog resolution ([#36223](https://github.com/nrwl/nx/pull/36223)) - **core:** show performance report recommendations only when actionable ([#36344](https://github.com/nrwl/nx/pull/36344)) - **core:** close daemon log descriptors after spawn to avoid Node 26 crash ([#36280](https://github.com/nrwl/nx/pull/36280)) - **core:** prevent shell injection in nx import ([#36348](https://github.com/nrwl/nx/pull/36348)) - **core:** correct the 22.6.0 gitignore and analytics migration wiring ([#36356](https://github.com/nrwl/nx/pull/36356)) - **core:** support npm 12 and pnpm in the package provenance check ([#36354](https://github.com/nrwl/nx/pull/36354), [#36338](https://github.com/nrwl/nx/issues/36338)) - **core:** honor pnpm minimumReleaseAge config on pnpm 11 ([#36335](https://github.com/nrwl/nx/pull/36335), [#36330](https://github.com/nrwl/nx/issues/36330)) - **core:** support pnpm 11 patched dependency hashes ([#36360](https://github.com/nrwl/nx/pull/36360)) - **core:** resolve name refs copied into pattern-matched target arrays ([#36359](https://github.com/nrwl/nx/pull/36359), [#36302](https://github.com/nrwl/nx/issues/36302)) - **core:** resolve source-loaded plugin transitive workspace imports ([#36296](https://github.com/nrwl/nx/pull/36296)) - **core:** unbreak pnpm 11 installs by acknowledging build-script deps from generators ([#36302](https://github.com/nrwl/nx/pull/36302)) - **core:** include continuous and default-config dependencies in show target ([#36374](https://github.com/nrwl/nx/pull/36374)) - **js:** support private methods and static blocks in babel preset ([#36218](https://github.com/nrwl/nx/pull/36218), [#36205](https://github.com/nrwl/nx/issues/36205)) - **js:** parse pnpm/npm publish JSON containing braces in file paths ([#36241](https://github.com/nrwl/nx/pull/36241), [#36236](https://github.com/nrwl/nx/issues/36236)) - **misc:** resolve CSS url() assets on Windows in postcss-cli-resources ([#36353](https://github.com/nrwl/nx/pull/36353), [#36336](https://github.com/nrwl/nx/issues/36336), [#34676](https://github.com/nrwl/nx/issues/34676)) - **misc:** suppress outdated disclaimer for unsupported AI agents with AGENTS.md ([#36324](https://github.com/nrwl/nx/pull/36324), [#36264](https://github.com/nrwl/nx/issues/36264)) - **misc:** bump ci-workflow generator to node 24 and current action majors ([#36364](https://github.com/nrwl/nx/pull/36364)) - **release:** only extract body issue references linked via closing keywords ([#36326](https://github.com/nrwl/nx/pull/36326), [#35682](https://github.com/nrwl/nx/issues/35682), [#35764](https://github.com/nrwl/nx/issues/35764), [#13420](https://github.com/nrwl/nx/issues/13420), [#781](https://github.com/nrwl/nx/issues/781), [#3175](https://github.com/nrwl/nx/issues/3175), [#418](https://github.com/nrwl/nx/issues/418), [#2292](https://github.com/nrwl/nx/issues/2292), [#123](https://github.com/nrwl/nx/issues/123)) - **repo:** bump decompress to safe version ([#36333](https://github.com/nrwl/nx/pull/36333)) - **vitest:** honor watch config and keep --ui open in the test executor ([#36237](https://github.com/nrwl/nx/pull/36237), [#30263](https://github.com/nrwl/nx/issues/30263)) - **vitest:** generate root vitest.config.ts instead _[Truncated at 4000 characters — full notes: https://github.com/nrwl/nx/releases/tag/23.2.0-beta.0]_ ### 23.1.0 - Date: 2026-07-13 - Version: 23.1.0 - Original notes: https://github.com/nrwl/nx/releases/tag/23.1.0 - Permalink: https://whatsnew.fyi/product/nx/releases/23.1.0 - **added** — Support Angular v22 - **added** — Show a performance report at the end of every run - **added** — Support filtered targetDefaults via the nested-array shape - **added** — Re-add isCacheableTask helper - **added** — Add mouse support to the terminal UI - **added** — Scaffold create-nx-workspace into the current directory - **added** — Support Expo SDK 56 - **removed** — Drop eslint v8 support - **added** — Add migration to drop typescript-eslint v8-removed rules from flat configs - **added** — Add next 14 to 15 and react 18 to 19 upgrade paths - **added** — Add utm tracking to clickable cloud prompt links - **added** — Show product hunt launch banner in docs - **added** — Add option to force changelog generation for programmatic usage - **added** — Enable the tsgo compiler workspace-wide - **added** — Support @rspack/core@2 and @rsbuild/core@2 with multi-version compliance - **added** — Update Storybook to support Angular 22 - **added** — Add migration to verify typecheck after the 23.1 migration - **added** — Add configurable ts paths build/test targets and stabilize build coordination for vite - **fixed** — Resolve esbuild option paths relative to the workspace root - **fixed** — Prevent path traversal / zip-slip in self-hosted remote cache ##### 23.1.0 (2026-07-13) ###### 🚀 Features - ⚠️ **angular:** support angular v22 ([#35851](https://github.com/nrwl/nx/pull/35851), [#35910](https://github.com/nrwl/nx/issues/35910)) - **core:** show a performance report at the end of every run ([#36077](https://github.com/nrwl/nx/pull/36077)) - **core:** support filtered targetDefaults via the nested-array shape ([#36049](https://github.com/nrwl/nx/pull/36049)) - **core:** re-add isCacheableTask helper ([#36177](https://github.com/nrwl/nx/pull/36177)) - **core:** add mouse support to the terminal UI ([#35868](https://github.com/nrwl/nx/pull/35868)) - **core:** scaffold create-nx-workspace into the current directory ([#36134](https://github.com/nrwl/nx/pull/36134)) - **expo:** support Expo SDK 56 ([#35904](https://github.com/nrwl/nx/pull/35904), [#35714](https://github.com/nrwl/nx/issues/35714)) - ⚠️ **linter:** drop eslint v8 support ([#36006](https://github.com/nrwl/nx/pull/36006)) - **linter:** add migration to drop typescript-eslint v8-removed rules from flat configs ([#36123](https://github.com/nrwl/nx/pull/36123)) - **misc:** add next 14 to 15 and react 18 to 19 upgrade paths ([#36031](https://github.com/nrwl/nx/pull/36031)) - **nx-cloud:** add utm tracking to clickable cloud prompt links ([#36028](https://github.com/nrwl/nx/pull/36028)) - **nx-dev:** show product hunt launch banner in docs ([#36112](https://github.com/nrwl/nx/pull/36112)) - **nx-dev:** show product hunt launch banner in docs" ([#36129](https://github.com/nrwl/nx/pull/36129), [#36112](https://github.com/nrwl/nx/issues/36112)) - **release:** add option to force changelog generation for programmatic usage ([#36242](https://github.com/nrwl/nx/pull/36242)) - **repo:** enable the tsgo compiler workspace-wide ([#35926](https://github.com/nrwl/nx/pull/35926), [#35047](https://github.com/nrwl/nx/issues/35047), [#35167](https://github.com/nrwl/nx/issues/35167)) - **rspack:** support @rspack/core@2 and @rsbuild/core@2 (multi-version compliance) ([#35682](https://github.com/nrwl/nx/pull/35682), [#35764](https://github.com/nrwl/nx/issues/35764), [#13420](https://github.com/nrwl/nx/issues/13420), [#781](https://github.com/nrwl/nx/issues/781)) - **storybook:** update Storybook to support Angular 22 ([#36293](https://github.com/nrwl/nx/pull/36293)) - **testing:** add migration to verify typecheck after the 23.1 migration ([#36106](https://github.com/nrwl/nx/pull/36106)) - **vite:** add configurable ts paths build/test targets and stabilize build coordination ([#34890](https://github.com/nrwl/nx/pull/34890)) ###### 🩹 Fixes - **angular:** resolve esbuild option paths relative to the workspace root ([#36017](https://github.com/nrwl/nx/pull/36017), [#35936](https://github.com/nrwl/nx/issues/35936)) - **angular:** bump prescribed angular version to 22.0.4 ([#36130](https://github.com/nrwl/nx/pull/36130)) - **angular:** make nx migrate to Angular 22 leave a buildable workspace ([#36183](https://github.com/nrwl/nx/pull/36183)) - **angular-rspack:** surface compilation failures as build errors and release resources on teardown ([#36018](https://github.com/nrwl/nx/pull/36018)) - **bundling:** restore preprocessor extensions in postcss normalizeOp… ([#36057](https://github.com/nrwl/nx/pull/36057), [#35854](https://github.com/nrwl/nx/issues/35854)) - **bundling:** prevent TS6059 when an app imports a workspace lib from source ([#36217](https://github.com/nrwl/nx/pull/36217), [#35017](https://github.com/nrwl/nx/issues/35017)) - **core:** avoid tsconfig path false positives for sibling project roots ([#35796](https://github.com/nrwl/nx/pull/35796), [#35795](https://github.com/nrwl/nx/issues/35795), [#35786](https://github.com/nrwl/nx/issues/35786)) - **core:** do not write minimumReleaseAgeExclude during nx migrate ([#36045](https://github.com/nrwl/nx/pull/36045)) - **core:** do not crash nx migrate on non-semver dependency specifiers ([#36051](https://github.com/nrwl/nx/pull/36051)) - **c _[Truncated at 4000 characters — full notes: https://github.com/nrwl/nx/releases/tag/23.1.0]_ ### 23.1.0-rc.3 - Date: 2026-07-13 - Version: 23.1.0-rc.3 - Original notes: https://github.com/nrwl/nx/releases/tag/23.1.0-rc.3 - Permalink: https://whatsnew.fyi/product/nx/releases/23.1.0-rc.3 - Labels: Pre-release - **added** — Update Storybook to support Angular 22 - **fixed** — Omit peer dependencies when installing packages to a temp dir - **fixed** — Include root package.json dependencies for '.'-rooted projects - **fixed** — Reduce task hashing memory usage on large workspaces - **fixed** — Bump @swc/cli to 0.8.1 to patch critical decompress advisory - **fixed** — Export @nx/esbuild/executors entry point - **changed** — Template the e2e config for fresh projects instead of ast-parsing it ##### 23.1.0-rc.3 (2026-07-13) ###### 🚀 Features - **storybook:** update Storybook to support Angular 22 ([#36293](https://github.com/nrwl/nx/pull/36293)) ###### 🩹 Fixes - **core:** omit peer dependencies when installing packages to a temp dir ([#36295](https://github.com/nrwl/nx/pull/36295)) - **core:** include root package.json dependencies for '.'-rooted projects ([#36291](https://github.com/nrwl/nx/pull/36291), [#33791](https://github.com/nrwl/nx/issues/33791), [#36290](https://github.com/nrwl/nx/issues/36290)) - **core:** reduce task hashing memory usage on large workspaces ([#36267](https://github.com/nrwl/nx/pull/36267), [#36152](https://github.com/nrwl/nx/issues/36152)) - **js:** bump @swc/cli to 0.8.1 to patch critical decompress advisory ([#36294](https://github.com/nrwl/nx/pull/36294)) - **misc:** export @nx/esbuild/executors entry point ([#36282](https://github.com/nrwl/nx/pull/36282)) - **testing:** template the e2e config for fresh projects instead of ast-parsing it ([#36304](https://github.com/nrwl/nx/pull/36304)) ###### ❤️ Thank You - FrozenPandaz @FrozenPandaz - Jason Jean @FrozenPandaz - Leosvel Pérez Espinosa @leosvelperez - Steffen Neubauer @stefreak