PackageTrack

npm · #4700 most downloaded on npm

@nx/eslint

23.1.2nrwl/nx

The ESLint plugin for Nx contains executors, generators and utilities used for linting JavaScript/TypeScript projects within an Nx workspace.

Release timeline

1760 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 →