github nrwl/nx 24.1.0-beta.0

pre-releaseone hour ago

24.1.0-beta.0 (2026-11-10)

🚀 Features

  • core: stop scaffolding apps and libs folders for preset generators (#37635)
  • core: support NX_DB_NAME for local databases (#37200, #37573)
  • js: remove the deprecated classproperties babel preset option (#37634)
  • js: report Verdaccio startup readiness (#37683)
  • node: support NestJS 12 (#36937)
  • nx-dev: validate nx.dev links in packages/ against the docs sitemap (#37805)

🩹 Fixes

  • angular: register the ssr dev server afterEmit hook only once (#37589, #37587)
  • angular-rspack: install the plugin after Angular dependencies (#37562)
  • angular-rspack: refresh SSR apps after server changes (#37607, #37586)
  • angular-rspack: print diagnostic positions and full warning text (#37637, #37431)
  • angular-rspack: respect component style minification (#37722, #37713)
  • core: resolve pnpm aliased dependencies to their own snapshot (#37538, #37429)
  • core: drop repository-local git env from the ai-config clone (#37498, #37436)
  • core: pin the package manager version in generated workspaces (#37261)
  • core: match project patterns with unknown colon prefixes or regex characters (#37500)
  • core: keep migrations.json and prompt files out of migrate commits (#37530)
  • core: load Nx Cloud code in the daemon with Node's native .js loader (#37534)
  • core: keep the daemon running when PROCESS_IN_BACKGROUND fails (#37535)
  • core: stop readyWhen logMatches from matching Nx command lines (#37550)
  • core: avoid MaxListenersExceededWarning on Nx Cloud agents (#37553)
  • core: let readyWhen read the NX_READY_URL its producer reports (#37554)
  • core: name every pending dependency in the readiness wait line (#37555)
  • core: avoid MaxListenersExceededWarning with parallel run-commands (#37556)
  • core: preserve TUI task start times across mode switches (#37558)
  • core: recover external dependencies after configuration errors (#37560)
  • core: avoid pnpm store probes during version detection (#37561)
  • core: count every run-commands readyWhen match, including on stderr (#37567)
  • core: exit 1, not 130, when dependents of a failed task are skipped (#37574, #37506)
  • core: allow options in object dependsOn entries of project and nx.json schemas (#37600)
  • core: fail run-commands tasks that exit before printing readyWhen text (#37591)
  • core: honor run-commands readyWhen for a single command in a terminal (#37594)
  • core: preserve completed task timings across TUI modes (#37592)
  • core: exit 1 on --nx-bail and show why batch tasks were skipped (#37604)
  • core: await file watcher registration before reporting readiness (#37076)
  • core: fix entryWhenNoChanges from adding empty lines to changelogs (#36516)
  • core: detect package manager from workspace root in pnpm workspaces (#35003, #32579)
  • core: resolve workspace-provided packages from the workspace root (#37272)
  • core: recover project dependencies after configuration errors (#37611)
  • core: fail run-commands tasks whose command cannot start (#37628)
  • core: report continuous dependency inputs in nx show target --json (#37649)
  • core: report skipped tasks and count summaries against the run total (#37626)
  • core: load angular.json projects for nx executors converted to builders (#37645, #33651)
  • core: keep claude md nx block that imports agents md (#37646)
  • core: honor NO_PROXY forms and NODE_EXTRA_CA_CERTS in readyWhen url probes (#37676)
  • core: support pnpm global virtual store installs in nx migrate (#37653, #37392)
  • core: recover from native cache load failures (#37652)
  • core: bump undici to 7.30.1 to patch security advisories (#37685, #37331)
  • core: stop findImports when the jsx lexer stalls on multi-byte chars (#37695, #37687)
  • core: prune task results before hash planning (#37714)
  • core: keep cache restores and stores inside task outputs (#37661)
  • core: harden git handling in nx import (#37663)
  • core: verify and pin the nx versions that init and configure-ai-agents install (#37665)
  • core: keep nx cloud credentials and task arguments out of analytics and urls (#37667)
  • core: only serve the graph to local same-origin requests (#37668)
  • core: hash uncovered node_modules reads and keep env out of runtime input logs (#37670)
  • core: remove the duplicate redactUrlCredentials import (#37733)
  • core: check ownership of daemon and pseudo-terminal socket directories (#37660)
  • core: validate fetched migration metadata in nx migrate (#37664)
  • core: keep yarn berry bin folders off the daemon path (#37672)
  • core: report tasks skipped by ultracache to the tasks runner (#37741)
  • core: import ai agent utils through a file url in the daemon (#37380, #37374)
  • core: fail the run when an initiating continuous task exits non-zero (#37756)
  • core: name the bare pnpm node only from the root importer (#37758)
  • core: keep run-commands output written right before a command exits (#37762, #37452)
  • core: match learned ultracache exclusions by suffix category (#37779)
  • core: hash package.json script bodies when targets set their own inputs (#37704, #37457)
  • core: keep temp installs, caches and data directories private to the current user (#37659)
  • dotnet: pass configuration parameter for dotnet test and clean (#36222)
  • graph: reset graph on external select all (#36944)
  • graph: use current nx brand favicon in graph client (#37655)
  • js: keep root tsconfig references to non-project tsconfig files (#37266)
  • js: exclude node_modules from tailwind dependency glob patterns (#37657, #37343)
  • js: include yarn patch checksum in the external node hash (#37709)
  • js: keep a workspace-root rootDir through the typescript plugin tsconfig cache (#37701, #37700)
  • js: update the npm lock file when releasing a root package without workspaces (#37333, #37299)
  • js: treat bun and bun: imports as builtin modules (#37810, #37809)
  • js: build the typescript-sync ignore matcher once and skip source listing for composite checks (#37795, #37791)
  • linter: reuse the project graph under bun lint (#37641)
  • linter: correct converted eslint report paths and cache inferred reports (#37677, #37610)
  • maven: suppress wire payloads in verbose batch builds (#37566)
  • maven: only apply build state paths inside the workspace or build directory (#37671)
  • misc: write versioned docs lockfile into the staging dir (#37546)
  • misc: read nx.dev agent skills from generated/.agents/skills (#37681)
  • misc: patch HTTP, XML and archive dependencies (#37693)
  • misc: widen picomatch dependency from 4.0.4 to ^4.0.7 (#37698)
  • misc: include peers hidden by exports maps in generated package.json (#37761, #37388)
  • nextjs: bump Next.js 15 and 16 to releases patching critical RCEs (#37601)
  • nextjs: make inferred build depend on dependency typecheck in ts solution setups (#37647, #36757)
  • nx-cloud: hand the nx-cloud bin's command line to the bundle's runCLI (#37605)
  • nx-cloud: declare nx logout's URL argument and --all (#37579)
  • nx-cloud: generate .nx/pipelines/ci.yaml from ci-workflow (#37811)
  • nx-plugin: preserve the working directory in generated e2e tests (#37565)
  • nx-plugin: keep create-package e2e package managers consistent (#37651)
  • release: stop release e2e flaking on the GitHub username lookup (#37544)
  • release: treat git and commit-derived input as data in nx release (#37666)
  • release: only resolve workspace changelog changes when it is generated (#37222, #37145)
  • rspack: keep user optimization settings in development web builds (#37570, #37557)
  • rspack: keep extract licenses from crashing module federation builds (#37572, #37209)
  • rspack: apply browserslist targets to scripts, styles and runtime (#37571, #37564)
  • rspack: warn when the ignored transformers option is set (#37643, #36875)
  • storybook: migrate workspaces past the storybook dev server advisories (#37407)
  • storybook: rebuild build-storybook when stories or storybook config change (#37763)
  • storybook: keep nx packages on their version when migrating to storybook 10 (#37336, #37260)
  • testing: generate working spec tsconfigs in TS solution workspaces (#37504)
  • testing: resolve type errors in generated Playwright e2e projects (#37552)
  • testing: keep root project and custom-named jest configs working in v24 (#37503)
  • testing: select the test files jest runs for atomized targets (#37505)
  • testing: infer the serve task from bunx-prefixed playwright webServer commands (#37606, #37597)
  • testing: exclude all generated jest config extensions from the production named input (#37070, #36978)
  • testing: make atomized jest targets run only their own test file (#37625)
  • vite: skip serve targets for library projects without a server config (#37702, #35957)
  • vitest: preserve project-root coverage paths during migration (#37743, #37737)
  • webpack: convert webpack configs of projects served by the js node executor (#37644, #36389)

❤️ Thank You

Don't miss a new nx release

NewReleases is sending notifications on new releases.