Skip to content

Releases: nrwl/nx

23.0.0-beta.16

17 May 22:05
0f29875

Choose a tag to compare

23.0.0-beta.16 Pre-release
Pre-release

23.0.0-beta.16 (2026-05-17)

🚀 Features

  • core: enable native Node.js TypeScript stripping by default (#35608)

🩹 Fixes

  • ⚠️ testing: migrate @nx/jest to local dist build (#35713)

⚠️ Breaking Changes

  • testing: migrate @nx/jest to local dist build (#35713)

❤️ Thank You

23.0.0-beta.15

16 May 17:45
511cf69

Choose a tag to compare

23.0.0-beta.15 Pre-release
Pre-release

23.0.0-beta.15 (2026-05-16)

🩹 Fixes

  • core: restore nx/src/index entrypoint for Nx Cloud client compatibility (#35712, #35708)

❤️ Thank You

23.0.0-beta.14

16 May 13:21
962f146

Choose a tag to compare

23.0.0-beta.14 Pre-release
Pre-release

23.0.0-beta.14 (2026-05-16)

🩹 Fixes

  • ⚠️ core: remove deprecated initTasksRunner API (#35708, #29993)
  • core: do not drop target defaults in 23.0.0 array migration (#35711)
  • js: add backwards-compatible ./src/internal export shim for conformance@4/5 (#35710, #11347)

⚠️ Breaking Changes

  • core: remove deprecated initTasksRunner API (#35708, #29993)
    ** The deprecated initTasksRunner export is removed
    from the nx package. Consumers should use runDiscreteTasks /
    runContinuousTasks instead.

    Related Issue(s)

    Internal: NXC-4307

❤️ Thank You

23.0.0-beta.13

15 May 22:48
4f14067

Choose a tag to compare

23.0.0-beta.13 Pre-release
Pre-release

23.0.0-beta.13 (2026-05-15)

🚀 Features

  • core: rename nx watch --includeDependentProjects to --includeDependencies (#35699)
  • core: support filtered array-shape targetDefaults with projects and source (#35340)
  • linter: allow prompt-only entries in migration nx-plugin-checks (#35700, #35638)
  • ⚠️ release: drop deprecated releaseTag* flat properties and update v23 defaults (#35694)

🩹 Fixes

  • core: use native graceful process tree shutdown (#33655, #32438)
  • core: warn instead of silently dropping legacy 'self'/'dependencies' dependsOn values (#35687, #35648)
  • core: preserve input order in createNodes plugin results (#35595)
  • gradle: pin generated e2e project toolchain to installed JDK (#35703)
  • js: build to local dist and use nodenext (#35538)
  • rspack: multi-version support compliance for @nx/rspack and @nx/rsbuild (#35676)

⚠️ Breaking Changes

  • release: drop deprecated releaseTag* flat properties and update v23 defaults (#35694)

❤️ Thank You

23.0.0-beta.12

14 May 16:15
70e2752

Choose a tag to compare

23.0.0-beta.12 Pre-release
Pre-release

23.0.0-beta.12 (2026-05-14)

🚀 Features

  • core: support prompt field in migration entries (#35638)

🩹 Fixes

  • core: improve nx migrate multi-major flag handling and feedback (#35673, #35497, #35444)
  • linter: only rewrite workspace-package peer deps to workspace:* (#35423, #35318, #33417)
  • misc: stop inferring projects: 'self' in dependsOn entries (#35686)
  • testing: multi-version support compliance for @nx/cypress (#35670)
  • testing: correct yargs-parser import in getJestProjectsAsync (#35672, #35654)

❤️ Thank You

22.7.2

14 May 21:13
4e9ea1b

Choose a tag to compare

22.7.2 (2026-05-14)

🚀 Features

  • gradle: stream batch task results to nx as they finish (#35487)
  • nx-dev: track docs analytics for code copy, LLM prompt, YouTube (#35526)
  • testing: add migration for Jest 30 snapshot guide link (#35629)

🩹 Fixes

  • angular: disable vitest watch by default (#35493)
  • angular-rspack: keep root-scoped assets out of per-locale i18n emit (#35621)
  • bundling: include tsconfig solution input for rollup (#35476)
  • bundling: include tsconfig solution input for webpack (#35477, #35476)
  • core: bump axios to 1.16.0 for all packages (#35568)
  • core: add provenance check in nx console status path (#35485)
  • core: remove access control header from graph app (#35494)
  • core: ensure verbose logs go to stderr and daemon logs are properly decorated (#34358)
  • core: show flaky-task count in run summary (#35491)
  • core: unique telemetry user_id; expose workspace_id dimension (#35553)
  • core: update minimatch to 10.2.5 (#35569, #34660)
  • core: restore use-legacy-versioning shim for @nx/js@21 ensurePackage path (#35574)
  • core: isolate NX_PARALLEL env var in parallel-related specs (#35579)
  • core: skip handleimport miss path when nx key packages are absent (#35596)
  • core: use gethostuuid(3) instead of ioreg on macOS (#35599)
  • core: isolate cache env vars in splitArgs spec (#35584)
  • core: enable node's native v8 compile cache support (#35415, #20454)
  • core: support skipped batch tasks end-to-end and fix TUI double logs (#35617)
  • core: keep TUI task selection on the in-progress section (#35640)
  • core: allow nx mcp to run outside of an Nx workspace (#35655)
  • core: cast perf entries to PerformanceMeasure for detail access (43c0c821ba)
  • devkit: exclude dist from jest module path scan (#35615)
  • devkit: expand @nx/devkit/internal re-exports for cherry-picked v23 deep-import migration (#35541)
  • dotnet: correct output paths for Web SDK and centralized dist setups (#35398)
  • gradle: exclude batch-runner from jest haste-map crawl (#35501)
  • gradle: exclude project-graph from jest module path scan (#35609)
  • gradle: support Windows file paths (#35184, #34987)
  • js: strip glob from inferred outputs before resolving as path (#35463, #35452)
  • js: reference vitest.config in eslint dep-checks for vitest libs (#35460, #33670, #35450)
  • js: include transitive workspace deps in pruned pnpm lockfile (#35532, #35347, #34655)
  • linter: prevent ENOENT crash in getRelativeImportPath for unresolvable paths (#35007, #13872, #34066, #30491, #16716, #35006, #21889, #32190)
  • maven: skip attached artifacts that fail to materialize in batch record (#35473)
  • maven: serialize Maven 4 build state recording (#35555)
  • maven: widen runCLI timeout for --no-batch maven.test.ts cases (#35589)
  • nx-dev: document nested CLI subcommands beyond two levels (#35519)
  • nx-dev: short-circuit bot probes in framer rewrite edge function (#35527)
  • react: withSvgr migration preserves other properties (#35484)
  • repo: clear NX_INVOCATION_ROOT_PID in run-native-target to avoid recursion false-positive (443dee0b22)
  • repo: revert deep-import rewrites that targeted v23-only @nx/devkit/internal entry (ac8187963d)
  • repo: unblock 22.7.x cargo tests and nx-build e2e (#34285)
  • repo: expand "..." spread token in graph typecheck inputs (#34285, #35458)
  • testing: pin jest to ~30.3.0 to avoid jest-runtime 30.4 RN incompat (#35618)
  • testing: handle absolute cypress screenshotsFolder/videosFolder paths (#35624)
  • testing: exclude dist and out-tsc from default jest module path scan (#35619)
  • testing: update remaining snapshot guide links missed by migration (cd350c1140)

❤️ Thank You

23.0.0-beta.11

13 May 21:32
934a70b

Choose a tag to compare

23.0.0-beta.11 Pre-release
Pre-release

23.0.0-beta.11 (2026-05-13)

🩹 Fixes

  • core: freshness-gate daemon recompute + per-OS force-flush grace (#35650, #35646)
  • gradle: add transitive:true to all tasks (#35677)

❤️ Thank You

23.0.0-beta.10

13 May 02:34
07b16e4

Choose a tag to compare

23.0.0-beta.10 Pre-release
Pre-release

23.0.0-beta.10 (2026-05-13)

🚀 Features

  • ⚠️ bundling: remove SVGR option and provide withSvgr migration (#35611)
  • bundling: add Vite 7 -> 8 migrations (#35614)
  • core: add --mode and --multi-major-mode flags to nx migrate (#35497)
  • ⚠️ misc: remove deprecated js option from component generators (#35616, #29111)
  • testing: bump cypress to 15.14 + remove stale Vite 8 guard (#35613)
  • testing: add migration for Jest 30 snapshot guide link (#35629)

🩹 Fixes

  • angular: multi-version support compliance (#35587)
  • angular-rspack: exclude eslint config from tailwind v4 source scan (#35663)
  • core: support skipped batch tasks end-to-end and fix TUI double logs (#35617)
  • core: keep TUI task selection on the in-progress section (#35640)
  • core: drain in-flight notify events in daemon force_flush_pending (#35646, #35630)
  • ⚠️ core: drop legacy 'self'/'dependencies' magic strings in dependsOn (#35648, #4017)
  • core: correct TUI sidebar viewport height off-by-one (#34682)
  • core: allow nx mcp to run outside of an Nx workspace (#35655)
  • core: warn before installing unknown npm packages as preset (#35644)
  • gradle: support Windows file paths (#35184, #34987)
  • linter: improve convert-to-flat-config output fidelity (#35330)
  • misc: vite migration import fix and ai doc corrections (#35647)
  • testing: correct paths and reserve ports across flaky React MF e2e tests (#35633, #34148, #32948, #35325)
  • testing: multi-version support compliance for @nx/playwright (#35642)
  • testing: exclude dist and out-tsc from default jest module path scan (#35619)

⚠️ Breaking Changes

  • misc: remove deprecated js option from component generators (#35616, #29111)
  • core: drop legacy 'self'/'dependencies' magic strings in dependsOn (#35648, #4017)
  • bundling: remove SVGR option and provide withSvgr migration (#35611)

❤️ Thank You

23.0.0-beta.9

08 May 17:27
a2dfac6

Choose a tag to compare

23.0.0-beta.9 Pre-release
Pre-release

23.0.0-beta.9 (2026-05-08)

🚀 Features

  • ⚠️ angular: remove deprecated ngrx generator (#35567)
  • misc: drop Node 20 support and bump @types/node (#35591)
  • ⚠️ misc: deprecate executors with inferred-plugin replacements (#35576, #35517)
  • ⚠️ vite: remove vitest support in favor of @nx/vitest (#35517)

🩹 Fixes

  • angular-rspack: keep root-scoped assets out of per-locale i18n emit (#35621)
  • core: skip handleimport miss path when nx key packages are absent (#35596)
  • core: use gethostuuid(3) instead of ioreg on macOS (#35599)
  • core: isolate cache env vars in splitArgs spec (#35584)
  • core: enable node's native v8 compile cache support (#35415, #20454)
  • core: error with helpful error instead of looping nx invocations (#34820)
  • devkit: exclude dist from jest module path scan (#35615)
  • gradle: exclude project-graph from jest module path scan (#35609)
  • linter: prevent ENOENT crash in getRelativeImportPath for unresolvable paths (#35007, #13872, #34066, #30491, #16716, #35006, #21889, #32190)
  • maven: widen runCLI timeout for --no-batch maven.test.ts cases (#35589)
  • release: restore packages/devkit/package.json after release (#35598, #34946)
  • repo: drop node 26 from nightly matrix until playwright/yauzl fix (#35626, #40724, #168)
  • testing: pin jest to ~30.3.0 to avoid jest-runtime 30.4 RN incompat (#35618)
  • testing: handle absolute cypress screenshotsFolder/videosFolder paths (#35624)

⚠️ Breaking Changes

  • misc: deprecate executors with inferred-plugin replacements (#35576, #35517)
  • angular: remove deprecated ngrx generator (#35567)
    The @nx/angular:ngrx generator has been removed. Use
    @nx/angular:ngrx-root-store for root state and
    @nx/angular:ngrx-feature-store for feature state instead.
  • vite: remove vitest support in favor of @nx/vitest (#35517)

❤️ Thank You

23.0.0-beta.8

06 May 18:28
b594537

Choose a tag to compare

23.0.0-beta.8 Pre-release
Pre-release

23.0.0-beta.8 (2026-05-06)

🚀 Features

  • ⚠️ bundling: drop legacy typescript plugin and align rollup buildLibsFromSource default (#35516)

🩹 Fixes

  • core: update minimatch to 10.2.5 (#35569, #34660)
  • core: restore use-legacy-versioning shim for @nx/js@21 ensurePackage path (#35574)
  • core: isolate NX_PARALLEL env var in parallel-related specs (#35579)
  • core: bump axios to 1.16.0 for all packages (#35568)
  • dotnet: correct output paths for Web SDK and centralized dist setups (#35398)
  • repo: resolve graph-client build-client sandbox violations (#35522)

⚠️ Breaking Changes

  • bundling: drop legacy typescript plugin and align rollup buildLibsFromSource default (#35516)

❤️ Thank You