PackageTrack

npm · #4377

@nx/workspace

23.1.2nrwl/nx

The Workspace plugin contains executors and generators that are useful for any Nx workspace. It should be present in every Nx workspace and other plugins build on it.

Release timeline

1890 releases since 2023
202420252026

Releases

  1. 23.2.0-pr.36527.225270924 Aug 2026pre-release

    Nothing published for this version

  2. 23.2.0-canary.20260826-b7682e726 Aug 2026pre-release

    Nothing published for this version

  3. 23.2.0-canary.20260820-c75960a20 Aug 2026pre-release

    Nothing published for this version

  4. 23.2.0-canary.20260814-d9c21b214 Aug 2026pre-release

    Nothing published for this version

  5. 23.2.0-canary.20260811-bc454cf11 Aug 2026pre-release

    Nothing published for this version

  6. 23.2.0-canary.20260810-f8dee8710 Aug 2026pre-release

    Nothing published for this version

  7. 23.2.0-canary.20260807-3298fd87 Aug 2026pre-release

    Nothing published for this version

  8. 23.2.0-canary.20260804-c3b7f1e4 Aug 2026pre-release

    Nothing published for this version

  9. 23.2.0-canary.20260731-0634da331 Jul 2026pre-release

    Nothing published for this version

  10. 23.2.0-canary.20260730-c654db830 Jul 2026pre-release

    Nothing published for this version

  11. 23.2.0-canary.20260729-e3e16e929 Jul 2026pre-release

    Nothing published for this version

  12. 23.2.0-canary.20260728-26fd7d928 Jul 2026pre-release

    Nothing published for this version

  13. 23.2.0-canary.20260724-9c735d424 Jul 2026pre-release

    Nothing published for this version

  14. 23.2.0-canary.20260722-6a072a222 Jul 2026pre-release

    Nothing published for this version

  15. 23.2.0-canary.20260720-beb379f20 Jul 2026pre-release

    Nothing published for this version

  16. 23.2.0-canary.20260717-dc22f7e17 Jul 2026pre-release

    Nothing published for this version

  17. 23.2.0-beta.1026 Aug 2026pre-release
    Release notes

    23.2.0-beta.10 (2026-08-26)

    🚀 Features

    • core: filter static task output to failures and restore CI log grouping (#36453)
    • testing: offer vitest consistently across generators with a unitTestRunner option (#36715)

    🩹 Fixes

    • core: create external nodes for out-of-workspace link dependencies (#36745)
    • core: point duplicate project names from worktrees at the fix (#36734)
    • core: exclude volatile shell and editor env vars from the daemon (#36642, #36610)
    • core: stop the daemon before nx add installs a package (#36767)
    • core: do not allowlist the analytics domain when analytics are off (#36663, #36486)
    • core: isolate pnpm version detection from workspace (#36728, #36727)
    • js: resolve override selectors in affected detection (#36699, #36698)
    • js: make pruned pnpm output installable and run its workspace modules (#36139, #36055, #36066, #36140, #35425, #18402)
    • misc: make generated code lint-clean under oxlint defaults (#36749)
    • misc: de-flake the nx watch e2e suite (#36758)
    • nextjs: stop installing unused Next.js ESLint packages from the library generator (#36779)
    • nextjs: describe the library generator and export its server entry (#36776)
    • nextjs: stop installing unused babel-jest for generated apps (#36765)
    • release: resolve out-of-set local dependency versions (#36334)
    • repo: restore missing linux native binding entries to pnpm-lock (#36785)

    ❤️ Thank You

    Open source →
  18. 23.2.0-beta.921 Aug 2026pre-release
    Release notes

    23.2.0-beta.9 (2026-08-21)

    🚀 Features

    • core: add built-in support for oxfmt formatter alongside prettier (#35089, #30403)

    🩹 Fixes

    • core: stop resending accumulated task hash results to the daemon when hashing tasks (#36716)
    • core: apply package.json updates unblocked by later package groups (#36636)

    ❤️ Thank You

    Open source →
  19. 23.2.0-beta.821 Aug 2026pre-release
    Release notes

    23.2.0-beta.8 (2026-08-21)

    🚀 Features

    • core: add durable run state and a dark orchestration loop to nx migrate (#36403)
    • misc: support vitest generation for node, nest, and express generators (#36665)
    • storybook: adopt the storybook vitest addon for story testing (#36648, #33759)

    🩹 Fixes

    • angular-rspack: rebuild components when their templates or styles change on Windows (#36641, #36619)
    • core: resolve main worktree root without a Windows verbatim prefix (#36649, #35637)
    • core: accept bun.lock lockfileVersion 2 and 3 (#36666)
    • core: maintain cacheability when an executor target default applies (#36477)
    • core: don't leave an unkillable nx process when a terminal closes (#36683, #36682)
    • core: honor the package manager's registry config in nx migrate (#35954, #35843)
    • core: resolve telemetry DNS in-process to avoid a getenv segfault (#36673)
    • core: skip target group members without a target (#36711, #36712)
    • devkit: correct version floor validation for ranges and prereleases (#36724)
    • expo: keep the expo dev server alive under jest (#36635)
    • expo: derive metro projectRoot and node_modules from the app being bundled (#36650, #36531)
    • gradle: emit valid Groovy when applying the plugin to an existing allprojects block (#36697)
    • gradle: surface project graph timeout errors when the process ignores the kill signal (#36713)
    • js: avoid duplicate node start without watch (#36695, #36694)
    • maven: stop running maven and gradle graph analysis through a shell (#36626)
    • misc: bump css-loader so npm can resolve rspack core 2 (#36643)
    • release: Don't attribute commits with no author email to @find (#36526)
    • repo: tell review-pr agents to compare base and HEAD with git (#36644)
    • testing: unblock Cypress component testing on Angular 22.1 (#36637)

    ❤️ Thank You

    Open source →
  20. 23.2.0-beta.711 Aug 2026pre-release
    Release notes

    23.2.0-beta.7 (2026-08-11)

    🚀 Features

    • linter: add the @nx/oxlint plugin (#36491)

    🩹 Fixes

    • testing: install typescript in npm e2e workspaces to keep tsquery off TypeScript 7 (#36478)

    ❤️ Thank You

    Open source →
  21. 23.2.0-beta.611 Aug 2026pre-release
    Release notes

    23.2.0-beta.6 (2026-08-11)

    🩹 Fixes

    • core: restrict daemon and plugin worker socket access to the owning user (#36370)
    • core: drain stdout before exiting nx run-many and nx run (#36607, #36606)
    • core: re-spawn nx migrate without a shell to preserve argv exactly (#36215)
    • devkit: honour cascading ignore files in tree walks and generator formatting (#36575)
    • misc: use workspaceRoot in workspaceModule path (#35142)
    • nx-dev: update docs pricing link (#36625)
    • vitest: use esm config files and import.meta.dirname (#36605)
    • vitest: generate the requested e2e target in inferred workspaces and de-flake the generated plugin e2e (#36623)

    ❤️ Thank You

    Open source →
  22. 23.2.0-beta.57 Aug 2026pre-release
    Release notes

    23.2.0-beta.5 (2026-08-07)

    🚀 Features

    • angular: add support for Angular v22.1 (#36521)
    • core: add nx migrate --run-migration to run a single migration (#36407)
    • core: let migration generators skip their AI step (#36532)
    • core: show Cloud app link for remote cache instead of docs (#36460)
    • nx-cloud: generate .nx/ci-config.yaml for agent distribution (#36504)
    • nx-cloud: add nx start-nx-agents as an alias for nx-cloud start-nx-agents (#36572)
    • release: support tag-based project selection (#36537)

    🩹 Fixes

    • angular: keep buildable libraries private (#36545)
    • angular-rspack: stop builds crashing on non-array styleUrls (#36550)
    • core: normalize resolved module paths (#36556, #36549)
    • core: stop pruneProjectGraph from mutating the source project graph (#36517, #36470)
    • core: make preset empty work without github.com and improve template download errors (#36508)
    • core: drain to stdout before exiting nx affected (#36569, #36568)
    • core: update brace-expansion to 5.0.9 for CVE-2026-14257 (#36577)
    • docker: skip unchanged version action projects (#36542)
    • misc: move plugin internal imports to devkit/internal (#36430)
    • nx-dev: keep the kb index working for uncommitted articles (#36588)
    • react: make module federation packages optional peer dependencies (#36492)
    • release: ignore deleted projects in historical affectedness (#36538)
    • release: support custom conventional commit types (#36539)
    • release: skip changelog resolution for unversioned projects (#36544)
    • release: preserve package.json formatting (#36540)
    • testing: reserve dev-server ports in the react-router e2e suite (#36585)

    ❤️ Thank You

    Open source →
  23. 23.2.0-beta.430 Jul 2026pre-release
    Release notes

    23.2.0-beta.4 (2026-07-30)

    🩹 Fixes

    • core: make tui cloud icon visible on light terminal themes (#36495)
    • core: pin typescript in preset dependencies so npm cannot hoist typescript 7 (#36497)
    • core: bump pinned axios and brace-expansion past vulnerable versions (#36507, #36474)
    • core: parse pnpm lockfiles that omit the packages block (#36512)
    • core: keep real dependencies when omitting peers from npm temp installs (#36518)
    • devkit: resolve ensurePackage against the workspace (#36496)
    • docker: run release pipeline docker commands without a shell (#36505)
    • repo: serialize cypress installs and skip the binary when unused (#36493)

    ❤️ Thank You

    Open source →
  24. 23.2.0-beta.329 Jul 2026pre-release
    Release notes

    23.2.0-beta.3 (2026-07-28)

    🚀 Features

    • core: add bun dependency-catalog support (#36434)
    • core: derive stable repo key from normalized remote and relative path (#36439)

    🩹 Fixes

    • angular-rspack: speed up builds and align behavior with the esbuild application builder (#36268, #34936)
    • core: preserve FORCE_COLOR=0 intent for forked child tasks (#35293)
    • core: handle colons in target name when resolving inputs to generate graph (#36429, #33710)
    • core: merge default plugins through the source-map-aware merge path (#36257)
    • core: keep nx migrate on the requested version when release-age gates interfere (#36444)
    • core: avoid bogus duplicate project name errors when generating nested apps (#36458)
    • js: resolve the verdaccio bin through its package.json (#36479)
    • js: resolve package and extension-less tsconfig extends read from the tree (#36271)
    • linter: use projectService for typed linting in flat configs (#35727)
    • misc: preserve package alias keys in generated package.json (#35207)
    • misc: prevent crash when opening browser in Podman+WSL container (#34639)
    • react-native: include migration docs in the built package (#36378)
    • repo: drop stale e2e dependsOn overrides that omit the local registry (#36482)
    • rspack: lazy-load @rspack/core in create-compiler to avoid eager ESM resolution (#36476)
    • vitest: prevent out-of-memory crash during atomized test graph creation (#36339, #36315)

    ❤️ Thank You

    Open source →
  25. 23.2.0-beta.222 Jul 2026pre-release
    Release notes

    23.2.0-beta.2 (2026-07-21)

    🚀 Features

    • core: forward mouse and resize events to tasks running in the TUI's pty (#36322)
    • nx-plugin: add vitest support for e2e tests (#34041)

    🩹 Fixes

    • bundling: acknowledge @swc/core build scripts when configuring rollup (#36412)
    • core: keep pnpm-workspace.yaml comments and read package.json as jsonc (#36411)
    • core: support multiple brace groups in workspace glob matching (#36395)
    • core: handle CRLF line endings in pnpm multi-document lockfiles (#36419, #35828, #35840)
    • core: correct glob pattern expansion for ZeroOrOne groups (#31857)
    • core: stop re-querying confirmed cache misses in task orchestrator (#36301, #35632)
    • core: sample project graph perf span telemetry per session at 10% (#36420)
    • core: strip terminal query sequences when replaying task output (#36432)
    • testing: add @swc/core when configuring jest with the swc compiler (#36409)

    ❤️ Thank You

    Open source →
  26. 23.2.0-beta.120 Jul 2026pre-release
    Release notes

    23.2.0-beta.1 (2026-07-20)

    🚀 Features

    • repo: add react + vite + vitest + playwright example (#35921)

    🩹 Fixes

    • core: make unit tests pass locally regardless of invoking package manager (#35994)
    • core: respect --aiAgents none to skip AI agent file generation (#34944, #34692)
    • core: use --config.frozen-lockfile=false for pnpm add during migrate (#36337)
    • core: run selected projects with --exclude-task-dependencies (#35562)
    • core: stop passing git revisions through a shell in affected commands (#36379)
    • core: collect trickling watcher bursts fully on daemon force-flush (#36391)
    • core: report tasks running in another Nx process in the inline TUI (#36341)
    • core: stop ratatui cursor queries from racing the TUI event stream (#36318)
    • core: render critical-path tasks as a nested list in the job summary (#36394)
    • linter: keep override parser when convert-to-flat-config uses FlatCompat (#36363)
    • module-federation: do not cache static remote assets in the dev-server plugin (#36279, #36278)
    • module-federation: strip version suffix from npm dependency names for bun compatibility (#34960)
    • release: align VersionDataEntry dependency types with VersionActions to allow null values (#35932, #35913)
    • storybook: update configuration generator nx.json (#34880, #34879)
    • vite: prevent watch false leaking into dev server config (#36080, #36078)
    • webpack: propagate watch option from executor to webpack config (#34927, #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
    Open source →
  27. 23.2.0-beta.017 Jul 2026pre-release
    Release notes

    23.2.0-beta.0 (2026-07-17)

    🚀 Features

    • core: confirm before creating migration commits on the default branch (#36314)
    • core: add a full-width TUI status bar and vim-style pane search (#36263)

    🩹 Fixes

    • angular: make webpack-related packages optional peer dependencies (#36310)
    • bundling: support TypeScript esbuildConfig files in the esbuild executor (#36352, #36349)
    • core: speed up npm lockfile parsing (#36216)
    • core: speed up lockfile parsing and catalog resolution (#36223)
    • core: show performance report recommendations only when actionable (#36344)
    • core: close daemon log descriptors after spawn to avoid Node 26 crash (#36280)
    • core: prevent shell injection in nx import (#36348)
    • core: correct the 22.6.0 gitignore and analytics migration wiring (#36356)
    • core: support npm 12 and pnpm in the package provenance check (#36354, #36338)
    • core: honor pnpm minimumReleaseAge config on pnpm 11 (#36335, #36330)
    • core: support pnpm 11 patched dependency hashes (#36360)
    • core: resolve name refs copied into pattern-matched target arrays (#36359, #36302)
    • core: resolve source-loaded plugin transitive workspace imports (#36296)
    • core: unbreak pnpm 11 installs by acknowledging build-script deps from generators (#36302)
    • core: include continuous and default-config dependencies in show target (#36374)
    • js: support private methods and static blocks in babel preset (#36218, #36205)
    • js: parse pnpm/npm publish JSON containing braces in file paths (#36241, #36236)
    • misc: resolve CSS url() assets on Windows in postcss-cli-resources (#36353, #36336, #34676)
    • misc: suppress outdated disclaimer for unsupported AI agents with AGENTS.md (#36324, #36264)
    • misc: bump ci-workflow generator to node 24 and current action majors (#36364)
    • release: only extract body issue references linked via closing keywords (#36326, #35682, #35764, #13420, #781, #3175, #418, #2292, #123)
    • repo: bump decompress to safe version (#36333)
    • vitest: honor watch config and keep --ui open in the test executor (#36237, #30263)
    • vitest: generate root vitest.config.ts instead of deprecated vitest.workspace (#36316, #36311)
    • webpack: disable extractComments on the swc terser minimizer (#36238, #36233)
    • webpack: bundle non-buildable library subpaths with fallback-array exports (#36313, #36309)

    ❤️ Thank You

    • Aaron Thomas @ATKasem
    • Charlie Croom
    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Miroslav Jonaš @meeroslav
    Open source →
  28. 23.1.226 Aug 2026
    Release notes

    23.1.2 (2026-08-26)

    🩹 Fixes

    • angular: make webpack-related packages optional peer dependencies (#36310)
    • angular: keep buildable libraries private (#36545)
    • angular-rspack: stop builds crashing on non-array styleUrls (#36550)
    • angular-rspack: rebuild components when their templates or styles change on Windows (#36641, #36619)
    • core: normalize resolved module paths (#36556, #36549)
    • core: stop pruneProjectGraph from mutating the source project graph (#36517, #36470)
    • core: make preset empty work without github.com and improve template download errors (#36508)
    • core: drain to stdout before exiting nx affected (#36569, #36568)
    • core: update brace-expansion to 5.0.9 for CVE-2026-14257 (#36577)
    • core: restrict daemon and plugin worker socket access to the owning user (#36370)
    • core: drain stdout before exiting nx run-many and nx run (#36607, #36606)
    • core: resolve main worktree root without a Windows verbatim prefix (#36649, #35637)
    • core: accept bun.lock lockfileVersion 2 and 3 (#36666)
    • core: maintain cacheability when an executor target default applies (#36477)
    • core: don't leave an unkillable nx process when a terminal closes (#36683, #36682)
    • core: honor the package manager's registry config in nx migrate (#35954, #35843)
    • core: resolve telemetry DNS in-process to avoid a getenv segfault (#36673)
    • core: skip target group members without a target (#36711, #36712)
    • core: port quoteShellArg helper for no-shell spawn fixes (a9e493bf5f)
    • core: stop resending accumulated task hash results to the daemon when hashing tasks (#36716)
    • core: apply package.json updates unblocked by later package groups (#36636)
    • core: adapt held-updates spec to enquirer prompt shape (8fe6dab9d2)
    • core: create external nodes for out-of-workspace link dependencies (#36745)
    • core: point duplicate project names from worktrees at the fix (#36734)
    • core: exclude volatile shell and editor env vars from the daemon (#36642, #36610)
    • core: stop the daemon before nx add installs a package (#36767)
    • devkit: honour cascading ignore files in tree walks and generator formatting (#36575)
    • devkit: correct version floor validation for ranges and prereleases (#36724)
    • docker: skip unchanged version action projects (#36542)
    • expo: keep the expo dev server alive under jest (#36635)
    • expo: derive metro projectRoot and node_modules from the app being bundled (#36650, #36531)
    • gradle: emit valid Groovy when applying the plugin to an existing allprojects block (#36697)
    • gradle: surface project graph timeout errors when the process ignores the kill signal (#36713)
    • js: avoid duplicate node start without watch (#36695, #36694)
    • js: resolve override selectors in affected detection (#36699, #36698)
    • maven: stop running maven and gradle graph analysis through a shell (#36626)
    • misc: move plugin internal imports to devkit/internal (#36430)
    • misc: use workspaceRoot in workspaceModule path (#35142)
    • misc: bump css-loader so npm can resolve rspack core 2 (#36643)
    • misc: make generated code lint-clean under oxlint defaults (#36749)
    • misc: de-flake the nx watch e2e suite (#36758)
    • nextjs: stop installing unused Next.js ESLint packages from the library generator (#36779)
    • nextjs: describe the library generator and export its server entry (#36776)
    • nx-dev: keep the kb index working for uncommitted articles (#36588)
    • nx-dev: update docs pricing link (#36625)
    • react: make module federation packages optional peer dependencies (#36492)
    • release: ignore deleted projects in historical affectedness (#36538)
    • release: support custom conventional commit types (#36539)
    • release: skip changelog resolution for unversioned projects (#36544)
    • release: preserve package.json formatting (#36540)
    • release: Don't attribute commits with no author email to @find (#36526)
    • release: resolve out-of-set local dependency versions (#36334)
    • repo: tell review-pr agents to compare base and HEAD with git (#36644)
    • testing: reserve dev-server ports in the react-router e2e suite (#36585)
    • testing: install typescript in npm e2e workspaces to keep tsquery off TypeScript 7 (#36478)

    ❤️ Thank You

    Open source →
  29. 23.1.130 Jul 2026
    Release notes

    23.1.1 (2026-07-30)

    🚀 Features

    • core: derive stable repo key from normalized remote and relative path (#36439)
    • repo: add react + vite + vitest + playwright example (#35921)

    🩹 Fixes

    • angular-rspack: speed up builds and align behavior with the esbuild application builder (#36268, #34936)
    • bundling: support TypeScript esbuildConfig files in the esbuild executor (#36352, #36349)
    • bundling: acknowledge @swc/core build scripts when configuring rollup (#36412)
    • core: speed up npm lockfile parsing (#36216)
    • core: speed up lockfile parsing and catalog resolution (#36223)
    • core: show performance report recommendations only when actionable (#36344)
    • core: close daemon log descriptors after spawn to avoid Node 26 crash (#36280)
    • core: prevent shell injection in nx import (#36348)
    • core: correct the 22.6.0 gitignore and analytics migration wiring (#36356)
    • core: support npm 12 and pnpm in the package provenance check (#36354, #36338)
    • core: honor pnpm minimumReleaseAge config on pnpm 11 (#36335, #36330)
    • core: support pnpm 11 patched dependency hashes (#36360)
    • core: resolve name refs copied into pattern-matched target arrays (#36359)
    • core: resolve source-loaded plugin transitive workspace imports (#36296)
    • core: unbreak pnpm 11 installs by acknowledging build-script deps from generators (#36302)
    • core: include continuous and default-config dependencies in show target (#36374)
    • core: make unit tests pass locally regardless of invoking package manager (#35994)
    • core: respect --aiAgents none to skip AI agent file generation (#34944, #34692)
    • core: use --config.frozen-lockfile=false for pnpm add during migrate (#36337)
    • core: run selected projects with --exclude-task-dependencies (#35562)
    • core: stop passing git revisions through a shell in affected commands (#36379)
    • core: collect trickling watcher bursts fully on daemon force-flush (#36391)
    • core: report tasks running in another Nx process in the inline TUI (#36341)
    • core: stop ratatui cursor queries from racing the TUI event stream (#36318)
    • core: render critical-path tasks as a nested list in the job summary (#36394)
    • core: keep pnpm-workspace.yaml comments and read package.json as jsonc (#36411)
    • core: support multiple brace groups in workspace glob matching (#36395)
    • core: handle CRLF line endings in pnpm multi-document lockfiles (#36419, #35828, #35840)
    • core: correct glob pattern expansion for ZeroOrOne groups (#31857)
    • core: stop re-querying confirmed cache misses in task orchestrator (#36301, #35632)
    • core: sample project graph perf span telemetry per session at 10% (#36420)
    • core: strip terminal query sequences when replaying task output (#36432)
    • core: preserve FORCE_COLOR=0 intent for forked child tasks (#35293)
    • core: handle colons in target name when resolving inputs to generate graph (#36429, #33710)
    • core: merge default plugins through the source-map-aware merge path (#36257)
    • core: keep nx migrate on the requested version when release-age gates interfere (#36444)
    • core: avoid bogus duplicate project name errors when generating nested apps (#36458)
    • core: pin typescript in preset dependencies so npm cannot hoist typescript 7 (#36497)
    • core: bump pinned axios and brace-expansion past vulnerable versions (#36507, #36474)
    • core: parse pnpm lockfiles that omit the packages block (#36512)
    • core: keep real dependencies when omitting peers from npm temp installs (#36518)
    • devkit: resolve ensurePackage against the workspace (#36496)
    • docker: run release pipeline docker commands without a shell (#36505)
    • js: support private methods and static blocks in babel preset (#36218, #36205)
    • js: parse pnpm/npm publish JSON containing braces in file paths (#36241, #36236)
    • js: resolve the verdaccio bin through its package.json (#36479)
    • js: resolve package and extension-less tsconfig extends read from the tree (#36271)
    • linter: keep override parser when convert-to-flat-config uses FlatCompat (#36363)
    • linter: use projectService for typed linting in flat configs (#35727)
    • misc: resolve CSS url() assets on Windows in postcss-cli-resources (#36353, #36336)
    • misc: suppress outdated disclaimer for unsupported AI agents with AGENTS.md (#36324, #36264)
    • misc: bump ci-workflow generator to node 24 and current action majors (#36364)
    • misc: preserve package alias keys in generated package.json (#35207)
    • misc: prevent crash when opening browser in Podman+WSL container (#34639)
    • module-federation: do not cache static remote assets in the dev-server plugin (#36279, #36278)
    • module-federation: strip version suffix from npm dependency names for bun compatibility (#34960)
    • react-native: include migration docs in the built package (#36378)
    • release: only extract body issue references linked via closing keywords (#36326, #123)
    • release: align VersionDataEntry dependency types with VersionActions to allow null values (#35932, #35913)
    • repo: bump decompress to safe version (#36333)
    • repo: drop stale e2e dependsOn overrides that omit the local registry (#36482)
    • repo: serialize cypress installs and skip the binary when unused (#36493)
    • rspack: lazy-load @rspack/core in create-compiler to avoid eager ESM resolution (#36476)
    • storybook: update configuration generator nx.json (#34880, #34879)
    • testing: add @swc/core when configuring jest with the swc compiler (#36409)
    • vite: prevent watch false leaking into dev server config (#36080, #36078)
    • vitest: honor watch config and keep --ui open in the test executor (#36237, #30263)
    • vitest: generate root vitest.config.ts instead of deprecated vitest.workspace (#36316, #36311)
    • vitest: prevent out-of-memory crash during atomized test graph creation (#36339, #36315)
    • webpack: disable extractComments on the swc terser minimizer (#36238, #36233)
    • webpack: bundle non-buildable library subpaths with fallback-array exports (#36313, #36309)
    • webpack: propagate watch option from executor to webpack config (#34927, #22945)

    ❤️ Thank You

    Open source →
  30. 23.1.013 Jul 2026
    Release notes

    23.1.0 (2026-07-13)

    🚀 Features

    • ⚠️ angular: support angular v22 (#35851, #35910)
    • core: show a performance report at the end of every run (#36077)
    • core: support filtered targetDefaults via the nested-array shape (#36049)
    • core: re-add isCacheableTask helper (#36177)
    • core: add mouse support to the terminal UI (#35868)
    • core: scaffold create-nx-workspace into the current directory (#36134)
    • expo: support Expo SDK 56 (#35904, #35714)
    • ⚠️ linter: drop eslint v8 support (#36006)
    • linter: add migration to drop typescript-eslint v8-removed rules from flat configs (#36123)
    • misc: add next 14 to 15 and react 18 to 19 upgrade paths (#36031)
    • nx-cloud: add utm tracking to clickable cloud prompt links (#36028)
    • nx-dev: show product hunt launch banner in docs (#36112)
    • nx-dev: show product hunt launch banner in docs" (#36129, #36112)
    • release: add option to force changelog generation for programmatic usage (#36242)
    • repo: enable the tsgo compiler workspace-wide (#35926, #35047, #35167)
    • rspack: support @rspack/core@2 and @rsbuild/core@2 (multi-version compliance) (#35682, #35764, #13420, #781)
    • storybook: update Storybook to support Angular 22 (#36293)
    • testing: add migration to verify typecheck after the 23.1 migration (#36106)
    • vite: add configurable ts paths build/test targets and stabilize build coordination (#34890)

    🩹 Fixes

    • angular: resolve esbuild option paths relative to the workspace root (#36017, #35936)
    • angular: bump prescribed angular version to 22.0.4 (#36130)
    • angular: make nx migrate to Angular 22 leave a buildable workspace (#36183)
    • angular-rspack: surface compilation failures as build errors and release resources on teardown (#36018)
    • bundling: restore preprocessor extensions in postcss normalizeOp… (#36057, #35854)
    • bundling: prevent TS6059 when an app imports a workspace lib from source (#36217, #35017)
    • core: avoid tsconfig path false positives for sibling project roots (#35796, #35795, #35786)
    • core: do not write minimumReleaseAgeExclude during nx migrate (#36045)
    • core: do not crash nx migrate on non-semver dependency specifiers (#36051)
    • core: format AI-edited files after agentic migrations (#36064)
    • core: prefer module.registerHooks to avoid DEP0205 deprecation warning (#36081)
    • core: prevent nx migrate crash when include=optional filters out the target package (#36087)
    • core: make nx migrate honor preapproved packages and emit a valid temp workspace (#36086)
    • core: skip daemon project-graph recompute on no-op file rewrites (#36082)
    • core: prevent the TUI from auto-selecting a completed task when a batch finishes (#35833)
    • core: deregister pseudo-terminal exit handlers when tasks finish (#36115)
    • core: prevent path traversal / zip-slip in self-hosted remote cache (#36116)
    • core: respect explicit --nxCloud=skip for AI agents in create-nx-workspace (#36131)
    • core: warn when the self-hosted remote cache disables TLS verification (NXC-4593) (#36132, #36116)
    • core: throw actionable error when pnpm .modules.yaml is missing (#35666, #35635)
    • core: support ${configDir} in tsconfig path alias resolution (#36037, #35804)
    • core: prevent non-npm devEngines pin from breaking npm registry lookups (#36020, #35815)
    • core: clarify nx sync remediation messaging and surface spinner output in non-tty (#35747)
    • core: exclude direct-dependency overrides from generated package.json (#36040, #35675)
    • core: apply target defaults when project.json overrides an inferred run-commands target with different commands (#36142, #36067)
    • core: run the nx.bat wrapper for dot-nx setup on windows (#36048)
    • core: refine the end-of-run performance report recommendations (#36127, #36077)
    • core: speed up bun lockfile parsing (#36198)
    • core: set NX_CLI_SET in batch worker processes (#36214, #36210)
    • core: use standard utm params on performance-report links (#36226)
    • core: preserve comments in catalog YAML updates (#35733)
    • core: box JsonFileSet payload to keep HashInstruction small (#36247, #35248, #36244, #36152)
    • core: share workspace fileset hash results instead of deep-cloning per task (#36244, #34971, #34942)
    • core: replace per-input visited clones with undo-log scoping in hash planner (#36248, #35071, #36152, #34971, #36244, #35248, #36247)
    • core: intern hash instructions in a pool and plan with id lists (#36249, #35071, #36152, #36248)
    • core: add trailing space after performance report popup title (#36259)
    • core: prevent TUI hint popup from permanently stealing focus (#36256)
    • core: detect Codex sandbox on Linux to disable daemon and plugin isolation (#36273)
    • core: skip projects-filtered targetDefaults when resolved without a project (#36281, #36049)
    • core: size TUI bottom bar reservations to the actual help text (#36261)
    • core: defer unresolved spread tokens when merging intermediate target configurations (#36283, #36235)
    • core: omit peer dependencies when installing packages to a temp dir (#36295)
    • core: include root package.json dependencies for '.'-rooted projects (#36291, #33791, #36290)
    • core: reduce task hashing memory usage on large workspaces (#36267, #36152)
    • devkit: restore prettier v2 support in formatFiles (#36193)
    • gradle: track copy/sync and AGP merge task outputs in dependent task inputs (#36099)
    • gradle: correct change-plugin-version-0-1-23 migration to nx 23.1.0-beta.4 (#36103, #36100)
    • gradle: make project graph reports machine-portable (#36210, #35388)
    • gradle: derive dependent-task input extensions from the task model instead of scanning disk (#36211)
    • graph: prevent project details web view top from being clipped (#36154)
    • js: prevent doubled output paths in buildable library path mappings (#36138, #36079)
    • js: scope incremental type-check .tsbuildinfo per project (#36137, #36113)
    • js: preserve npm allowScripts allowlist in pruned package.json (#36016, #35931)
    • js: resolve catalog references in pruned package.json output (#35805, #35419)
    • js: restore the pre-TypeScript 6 default of loading all @types (#36163)
    • js: avoid import locator unicode position panic (#36133, #36128)
    • js: prevent Windows TS6059 rootDir errors in tsc builds (#36184, #35696)
    • js: preserve esModuleInterop default when migrating to TypeScript 6 (#36225)
    • js: keep tsconfigs compiling and config files loading under TypeScript 6 (#36245)
    • js: wait for process tree exit when stopping node executor tasks (#36230)
    • js: pin tsconfig root dir even when it matches the config directory (#36272, #3175)
    • js: pin rootDir on composite tsconfigs for ts6 (ts-jest strips composite) (#36285, #36272)
    • js: bump @swc/cli to 0.8.1 to patch critical decompress advisory (#36294)
    • linter: install angular-eslint when converting Angular configs to flat config (#36160)
    • linter: run typescript-eslint v8 rule migrations for scoped-only workspaces (#36180)
    • linter: harden the ESLint v9 flat-config migration (#36204)
    • linter: reconcile angular-eslint v22 breaking changes in flat config (#36200)
    • linter: update terminal cli regex for local-dist build (#36201, #36199)
    • maven: de-flake maven e2e by dropping -X debug forks and widening timeout (#36091)
    • misc: bump happy-dom, tmp, and form-data to patched versions (#36013)
    • misc: bump axios to 1.16.1 (#36120)
    • misc: use default import for chalk in @nx/workspace output.ts (#35523, #35521, #34111, #21201, #26667)
    • misc: remove duplicate nx init cloud-prompt telemetry event (#36145)
    • misc: export @nx/esbuild/executors entry point (#36282)
    • nx-cloud: use standard utm params on cloud prompt links (#36227, #36226)
    • nx-dev: keep mobile sidebar toggle clear of the conference banner (#36047)
    • nx-dev: run next-sitemap directly instead of via pnpm (#36054)
    • nx-dev: remove empty SaaS and Mobile template filters (#36085)
    • react: skip react 19 update for workspaces using remix v2 (#36065, #418)
    • react: reserve ports in rspack e2e test to avoid default port collisions (#36090)
    • react: bump eslint-plugin-react below 7.35 for ESLint 9 compatibility (#36161)
    • react: stop pinning eslint-plugin-react in generated projects (#36168, #36161)
    • react: validate typecheck in the React 19 migration (#36186)
    • ⚠️ release: stop breaking change changelog entry from swallowing trailing PR body (#36052, #35910, #33070)
    • release: widen release e2e timeouts to absorb pre-version dlx install (#36092)
    • repo: trust wix/brew tap so macOS detox CI can install applesimutils (#36146)
    • rsbuild: bump @rsbuild/plugin-sass with @rsbuild/core for the v2 migration (#36162)
    • rspack: use contenthash for chunkFilename to prevent stale chunks (#36136, #2292, #36014)
    • testing: keep ts-jest resolving exports-only libs on typescript < 6 (#36089)
    • testing: disable justInTimeCompile for webpack Cypress component testing (#36185)
    • testing: update eslint-plugin-cypress for ESLint 9 compatibility (#36202)
    • testing: template the e2e config for fresh projects instead of ast-parsing it (#36304)
    • vite: widen vite ts-solution e2e build timeouts for cold multi-lib build (#36093)
    • vite: detect @vitejs/plugin-vue2 (vite:vue2) for vue-tsc typecheck (#36125, #36094)
    • vite: update deprecation docs link (#36070, #36053)
    • vitest: apply mode-based config consistently in the test executor (#36041, #35196)
    • vitest: support passing mode through to vitest (#35069)
    • web: run executor/plugin/generator commands with the workspace package manager (#36021, #35950)
    • webpack: prevent TS6059 when a tsc build bundles a workspace lib (#36188, #35017)

    ⚠️ Breaking Changes

    • angular: support angular v22 (#35851, #35910) Angular v19 is no longer supported.
    • linter: drop eslint v8 support (#36006) ESLint v8 is no longer supported. Nx requires ESLint v9 or later.

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • Aidan Temple @aidant
    • Alex Croteau @cw-alexcroteau
    • Caleb Ukle
    • Claude Opus 4.8 (1M context)
    • Craigory Coppola @AgentEnder
    • cyphercodes @cyphercodes
    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Jithin Vijayan @itsjithinv
    • jithin_vijayan
    • Jonathan Garvey @jdgarvey
    • Leosvel Pérez Espinosa @leosvelperez
    • leosvelperez @leosvelperez
    • Marwan Johnstone
    • Miroslav Jonaš @meeroslav
    • Rayan Salhab
    • Richard Roozenboom @Roozenboom
    • Sai Asish Y @SAY-5
    • Shai Reznik @shairez
    • Steffen Neubauer @stefreak
    • Steven Nance
    • titanniya542-spec @titanniya542-spec
    • Wilson Pinto
    Open source →
  31. 23.1.0-rc.313 Jul 2026pre-release
    Release notes

    23.1.0-rc.3 (2026-07-13)

    🚀 Features

    • storybook: update Storybook to support Angular 22 (#36293)

    🩹 Fixes

    • core: omit peer dependencies when installing packages to a temp dir (#36295)
    • core: include root package.json dependencies for '.'-rooted projects (#36291, #33791, #36290)
    • core: reduce task hashing memory usage on large workspaces (#36267, #36152)
    • js: bump @swc/cli to 0.8.1 to patch critical decompress advisory (#36294)
    • misc: export @nx/esbuild/executors entry point (#36282)
    • testing: template the e2e config for fresh projects instead of ast-parsing it (#36304)

    ❤️ Thank You

    • FrozenPandaz @FrozenPandaz
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Steffen Neubauer @stefreak
    Open source →
  32. 23.1.0-rc.29 Jul 2026pre-release
    Release notes

    23.1.0-rc.2 (2026-07-09)

    🩹 Fixes

    • core: defer unresolved spread tokens when merging intermediate target configurations (#36283, #36235)
    • js: pin rootDir on composite tsconfigs for ts6 (ts-jest strips composite) (#36285, #36272)
    • vitest: support passing mode through to vitest (#35069)

    ❤️ Thank You

    • Aidan Temple @aidant
    • Craigory Coppola @AgentEnder
    • Jason Jean @FrozenPandaz
    Open source →
  33. 23.1.0-rc.19 Jul 2026pre-release
    Release notes

    23.1.0-rc.1 (2026-07-09)

    🩹 Fixes

    • core: detect Codex sandbox on Linux to disable daemon and plugin isolation (#36273)
    • core: skip projects-filtered targetDefaults when resolved without a project (#36281, #36049)
    • core: size TUI bottom bar reservations to the actual help text (#36261)
    • js: wait for process tree exit when stopping node executor tasks (#36230)
    • js: pin tsconfig root dir even when it matches the config directory (#36272, #3175)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    Open source →
  34. 23.1.0-rc.07 Jul 2026pre-release
    Release notes

    23.1.0-rc.0 (2026-07-07)

    🚀 Features

    • release: add option to force changelog generation for programmatic usage (#36242)
    • vite: add configurable ts paths build/test targets and stabilize build coordination (#34890)

    🩹 Fixes

    • core: use standard utm params on performance-report links (#36226)
    • core: preserve comments in catalog YAML updates (#35733)
    • core: box JsonFileSet payload to keep HashInstruction small (#36247, #35248, #36244, #36152)
    • core: share workspace fileset hash results instead of deep-cloning per task (#36244, #34971, #34942)
    • core: replace per-input visited clones with undo-log scoping in hash planner (#36248, #35071, #36152, #34971, #36244, #35248, #36247)
    • core: intern hash instructions in a pool and plan with id lists (#36249, #35071, #36152, #36248)
    • core: add trailing space after performance report popup title (#36259)
    • core: prevent TUI hint popup from permanently stealing focus (#36256)
    • js: keep tsconfigs compiling and config files loading under TypeScript 6 (#36245)
    • linter: update terminal cli regex for local-dist build (#36201, #36199)
    • web: run executor/plugin/generator commands with the workspace package manager (#36021, #35950)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Richard Roozenboom @Roozenboom
    • Shai Reznik @shairez
    Open source →
  35. 23.1.0-pr.36263.fac529b9 Jul 2026pre-release

    Nothing published for this version

  36. 23.1.0-pr.36127.e594f5329 Jun 2026pre-release

    Nothing published for this version

  37. 23.1.0-pr.36127.8b9019b26 Jun 2026pre-release

    Nothing published for this version

  38. 23.1.0-pr.36127.5a31f6929 Jun 2026pre-release

    Nothing published for this version

  39. 23.1.0-canary.20260717-ee5de8017 Jul 2026pre-release

    Nothing published for this version

  40. 23.1.0-canary.20260714-6d6570314 Jul 2026pre-release

    Nothing published for this version

  41. 23.1.0-canary.20260713-a5b10cd13 Jul 2026pre-release

    Nothing published for this version

  42. 23.1.0-canary.20260710-54c52e310 Jul 2026pre-release

    Nothing published for this version

  43. 23.1.0-canary.20260709-b95c5079 Jul 2026pre-release

    Nothing published for this version

  44. 23.1.0-canary.20260708-cbc390b8 Jul 2026pre-release

    Nothing published for this version

  45. 23.1.0-canary.20260706-71a511d6 Jul 2026pre-release

    Nothing published for this version

  46. 23.1.0-canary.20260703-5c65c683 Jul 2026pre-release

    Nothing published for this version

  47. 23.1.0-canary.20260702-bdb703a2 Jul 2026pre-release

    Nothing published for this version

  48. 23.1.0-canary.20260630-d5821e230 Jun 2026pre-release

    Nothing published for this version

  49. 23.1.0-canary.20260626-bbd9ce726 Jun 2026pre-release

    Nothing published for this version

  50. 23.1.0-canary.20260623-c8f308f23 Jun 2026pre-release

    Nothing published for this version

  51. 23.1.0-canary.20260622-a79345522 Jun 2026pre-release

    Nothing published for this version

  52. 23.1.0-canary.20260619-954685519 Jun 2026pre-release

    Nothing published for this version

  53. 23.1.0-beta.73 Jul 2026pre-release
    Release notes

    23.1.0-beta.7 (2026-07-03)

    🚀 Features

    • core: scaffold create-nx-workspace into the current directory (#36134)

    🩹 Fixes

    • bundling: prevent TS6059 when an app imports a workspace lib from source (#36217, #35017)
    • core: speed up bun lockfile parsing (#36198)
    • core: set NX_CLI_SET in batch worker processes (#36214, #36210)
    • core: use standard utm params on performance-report links (#36226)
    • gradle: make project graph reports machine-portable (#36210, #35388)
    • gradle: derive dependent-task input extensions from the task model instead of scanning disk (#36211)
    • js: prevent Windows TS6059 rootDir errors in tsc builds (#36184, #35696)
    • js: preserve esModuleInterop default when migrating to TypeScript 6 (#36225)
    • linter: update terminal cli regex for local-dist build (#36201, #36199)
    • misc: remove duplicate nx init cloud-prompt telemetry event (#36145)
    • nx-cloud: use standard utm params on cloud prompt links (#36227, #36226)
    • vite: update deprecation docs link (#36070, #36053)
    • webpack: prevent TS6059 when a tsc build bundles a workspace lib (#36188, #35017)

    ❤️ Thank You

    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Richard Roozenboom @Roozenboom
    • titanniya542-spec @titanniya542-spec
    Open source →
  54. 23.1.0-beta.62 Jul 2026pre-release
    Release notes

    23.1.0-beta.6 (2026-07-02)

    🚀 Features

    • core: re-add isCacheableTask helper (#36177)
    • core: add mouse support to the terminal UI (#35868)

    🩹 Fixes

    • angular: make nx migrate to Angular 22 leave a buildable workspace (#36183)
    • devkit: restore prettier v2 support in formatFiles (#36193)
    • graph: prevent project details web view top from being clipped (#36154)
    • js: avoid import locator unicode position panic (#36133, #36128)
    • linter: run typescript-eslint v8 rule migrations for scoped-only workspaces (#36180)
    • linter: harden the ESLint v9 flat-config migration (#36204)
    • linter: reconcile angular-eslint v22 breaking changes in flat config (#36200)
    • react: validate typecheck in the React 19 migration (#36186)
    • testing: disable justInTimeCompile for webpack Cypress component testing (#36185)
    • testing: update eslint-plugin-cypress for ESLint 9 compatibility (#36202)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • cyphercodes @cyphercodes
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Rayan Salhab
    • Steven Nance
    Open source →
  55. 23.1.0-beta.530 Jun 2026pre-release
    Release notes

    23.1.0-beta.5 (2026-06-30)

    🚀 Features

    • core: show a performance report at the end of every run (#36077)
    • core: support filtered targetDefaults via the nested-array shape (#36049)
    • linter: add migration to drop typescript-eslint v8-removed rules from flat configs (#36123)
    • nx-dev: show product hunt launch banner in docs" (#36129, #36112)

    🩹 Fixes

    • angular: bump prescribed angular version to 22.0.4 (#36130)
    • core: prevent the TUI from auto-selecting a completed task when a batch finishes (#35833)
    • core: deregister pseudo-terminal exit handlers when tasks finish (#36115)
    • core: prevent path traversal / zip-slip in self-hosted remote cache (#36116)
    • core: respect explicit --nxCloud=skip for AI agents in create-nx-workspace (#36131)
    • core: warn when the self-hosted remote cache disables TLS verification (NXC-4593) (#36132, #36116)
    • core: throw actionable error when pnpm .modules.yaml is missing (#35666, #35635)
    • core: support ${configDir} in tsconfig path alias resolution (#36037, #35804)
    • core: prevent non-npm devEngines pin from breaking npm registry lookups (#36020, #35815)
    • core: clarify nx sync remediation messaging and surface spinner output in non-tty (#35747)
    • core: exclude direct-dependency overrides from generated package.json (#36040, #35675)
    • core: apply target defaults when project.json overrides an inferred run-commands target with different commands (#36142, #36067)
    • core: run the nx.bat wrapper for dot-nx setup on windows (#36048)
    • core: refine the end-of-run performance report recommendations (#36127, #36077)
    • js: prevent doubled output paths in buildable library path mappings (#36138, #36079)
    • js: scope incremental type-check .tsbuildinfo per project (#36137, #36113)
    • js: preserve npm allowScripts allowlist in pruned package.json (#36016, #35931)
    • js: resolve catalog references in pruned package.json output (#35805, #35419)
    • js: restore the pre-TypeScript 6 default of loading all @types (#36163)
    • linter: install angular-eslint when converting Angular configs to flat config (#36160)
    • misc: bump axios to 1.16.1 (#36120)
    • misc: use default import for chalk in @nx/workspace output.ts (#35523, #35521, #34111, #21201, #26667)
    • react: bump eslint-plugin-react below 7.35 for ESLint 9 compatibility (#36161)
    • react: stop pinning eslint-plugin-react in generated projects (#36168, #36161)
    • repo: trust wix/brew tap so macOS detox CI can install applesimutils (#36146)
    • rsbuild: bump @rsbuild/plugin-sass with @rsbuild/core for the v2 migration (#36162)
    • rspack: use contenthash for chunkFilename to prevent stale chunks (#36136, #2292, #36014)
    • vite: detect @vitejs/plugin-vue2 (vite:vue2) for vue-tsc typecheck (#36125, #36094)

    ❤️ Thank You

    • Caleb Ukle
    • Craigory Coppola @AgentEnder
    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Jonathan Garvey @jdgarvey
    • Leosvel Pérez Espinosa @leosvelperez
    • Miroslav Jonaš @meeroslav
    • Sai Asish Y @SAY-5
    • Wilson Pinto
    Open source →
  56. 23.1.0-beta.425 Jun 2026pre-release
    Release notes

    23.1.0-beta.4 (2026-06-25)

    🚀 Features

    • core: show a performance report at the end of every run (#36077)
    • nx-dev: show product hunt launch banner in docs (#36112)
    • testing: add migration to verify typecheck after the 23.1 migration (#36106)

    🩹 Fixes

    • core: make nx migrate honor preapproved packages and emit a valid temp workspace (#36086)
    • core: skip daemon project-graph recompute on no-op file rewrites (#36082)
    • gradle: correct change-plugin-version-0-1-23 migration to nx 23.1.0-beta.4 (#36103, #36100)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • Caleb Ukle
    • Claude Opus 4.8 (1M context)
    • Craigory Coppola @AgentEnder
    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    Open source →
  57. 23.1.0-beta.324 Jun 2026pre-release
    Release notes

    23.1.0-beta.3 (2026-06-24)

    🚀 Features

    🩹 Fixes

    • core: prefer module.registerHooks to avoid DEP0205 deprecation warning (#36081)
    • core: prevent nx migrate crash when include=optional filters out the target package (#36087)
    • gradle: track copy/sync and AGP merge task outputs in dependent task inputs (#36099)
    • maven: de-flake maven e2e by dropping -X debug forks and widening timeout (#36091)
    • nx-dev: remove empty SaaS and Mobile template filters (#36085)
    • react: reserve ports in rspack e2e test to avoid default port collisions (#36090)
    • release: widen release e2e timeouts to absorb pre-version dlx install (#36092)
    • testing: keep ts-jest resolving exports-only libs on typescript < 6 (#36089)
    • vite: widen vite ts-solution e2e build timeouts for cold multi-lib build (#36093)

    ❤️ Thank You

    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Jithin Vijayan @itsjithinv
    • jithin_vijayan
    Open source →
  58. 23.1.0-beta.223 Jun 2026pre-release
    Release notes

    23.1.0-beta.2 (2026-06-23)

    🩹 Fixes

    • bundling: restore preprocessor extensions in postcss normalizeOp… (#36057, #35854)
    • core: format AI-edited files after agentic migrations (#36064)
    • react: skip react 19 update for workspaces using remix v2 (#36065, #418)

    ❤️ Thank You

    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Marwan Johnstone
    Open source →
  59. 23.1.0-beta.119 Jun 2026pre-release
    Release notes

    23.1.0-beta.1 (2026-06-19)

    🩹 Fixes

    • core: do not crash nx migrate on non-semver dependency specifiers (#36051)
    • nx-dev: run next-sitemap directly instead of via pnpm (#36054)
    • ⚠️ release: stop breaking change changelog entry from swallowing trailing PR body (#36052, #35910, #33070)

    ⚠️ Breaking Changes

    • release: stop breaking change changelog entry from swallowing trailing PR body (#36052, #35910, #33070) footer followed by additional PR-body content (common with squash-merged PR descriptions), the changelog's "⚠️ Breaking Changes" section captured **everything** afterBREAKING CHANGE:until it reached theCo-authored-by:/ git-metadata block at the very bottom of the commit. As a result, the breaking-change entry swallowed unrelated content such as the## Related issuessection, theFixes #NNNNNreference, and<!-- ... --> HTML comment markers (e.g. polygraph session blocks). For example, commit [192f6681](https://github.com/nrwl/nx/commit/192f66811d67ebd551504b314c2e9ed9614c16e1) (feat(angular): support angular v22) rendered its breaking change as the note **plus** the Related Issues heading, the Fixes #35910` reference, and the entire polygraph session comment block.

      Expected Behavior

      The breaking-change entry contains only the breaking-change note itself. For the example above it now renders just:

      Angular v19 is no longer supported. extractBreakingChangeExplanation now:

      • strips HTML comments (<!-- ... -->, including multi-line) wherever they appear, so a comment in the middle of a note no longer truncates the text around it; and
      • scans line-by-line from the BREAKING CHANGE: line and stops at the first structural boundary: a Markdown heading (e.g. ## Related issues), a horizontal rule / separator (---), a Co-authored-by: trailer, or the git-metadata " delimiter. Multi-line and multi-paragraph breaking changes remain fully supported (preserving the behavior from #33070). Two regression tests were added — one reproducing the 192f6681 commit body, and one proving HTML comments are stripped rather than used to truncate — and all 18 changelog-renderer tests pass.

      Related Issue(s)

      No tracked issue — reported via internal review of the changelog output for commit 192f6681. <!-- polygraph-session-start -->

      View session information ↗ <!-- polygraph-session-end -->

    ❤️ Thank You

    • Jason Jean @FrozenPandaz
    Open source →
  60. 23.1.0-beta.018 Jun 2026pre-release
    Release notes

    23.1.0-beta.0 (2026-06-18)

    🚀 Features

    • ⚠️ angular: support angular v22 (#35851, #35910)
    • ⚠️ linter: drop eslint v8 support (#36006)
    • misc: add next 14 to 15 and react 18 to 19 upgrade paths (#36031)
    • nx-cloud: add utm tracking to clickable cloud prompt links (#36028)
    • repo: enable the tsgo compiler workspace-wide (#35926, #35047, #35167)
    • rspack: support @rspack/core@2 and @rsbuild/core@2 (multi-version compliance) (#35682, #35764, #13420, #781)

    🩹 Fixes

    • angular: resolve esbuild option paths relative to the workspace root (#36017, #35936)
    • angular-rspack: surface compilation failures as build errors and release resources on teardown (#36018)
    • core: avoid tsconfig path false positives for sibling project roots (#35796, #35795, #35786)
    • core: do not write minimumReleaseAgeExclude during nx migrate (#36045)
    • misc: bump happy-dom, tmp, and form-data to patched versions (#36013)
    • nx-dev: keep mobile sidebar toggle clear of the conference banner (#36047)
    • vitest: apply mode-based config consistently in the test executor (#36041, #35196)

    ⚠️ Breaking Changes

    • angular: support angular v22 (#35851, #35910) Angular v19 is no longer supported.

    ❤️ Thank You

    • Alex Croteau @cw-alexcroteau
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • leosvelperez @leosvelperez
    Open source →