24.0.0-beta.3 (2026-10-18)
🚀 Features
- ⚠️ core: remove the legacy target-name cache fallback (#37313)
- core: select affected tasks by default (#37433)
- core: give nx migrate --run-migration the same agent flow as full runs (#37409)
- ⚠️ core: support ?? fallbacks in Nx tokens (#37410)
- ⚠️ core: finish v24 release-tag and pnpm prune cleanups (#37446)
- core: rename ultracache ignoredReads/ignoredWrites to ignoreReads/ignoreWrites (#37417)
- ⚠️ dotnet: make the inferred restore target opt-in (#36991)
- js: name script targets with a single nx-target-name comment (#37418)
- ⚠️ misc: migrate removed config helpers with loadable stubs (#37156)
- misc: remove deprecated executors (#37160)
- ⚠️ module-federation: remove nx module federation and migrate to official plugins (#37221)
- testing: replace "@nx-ultracache: imports" with "@nx-ignore-server-inputs" (#37419)
🩹 Fixes
- core: show output appended to a running task in the inline TUI (#37413)
- core: support pnpm build approvals declared by custom presets and plugins (#37057)
- core: ignore pnpm store-probe temp files in the watcher and walker (#37373)
- core: retry readyWhen probes every 250 ms by default (#37424)
- core: run postinstall steps only from the workspace's nx install (#37422)
- core: handle readyWhen hosts and ports dev servers resolve at startup (#37414)
- ⚠️ js: framework plugins defer typecheck to @nx/js/typescript (#37342, #36744)
- misc: add origin/ defaultBase for bitbucket when affected has no defaultBase (#37445)
- release: allow filtered releases with pending version plans for other groups (#37359)
⚠️ Breaking Changes
- js: framework plugins defer typecheck to @nx/js/typescript (#37342, #36744)
@nx/js/typescriptis the onlytsctypecheck
provider, in TS solution setups and outside them.@nx/rsbuild,
@nx/remix/pluginand@nx/react/router-pluginno longer infer a
typechecktarget and droptypecheckTargetName.@nx/vite/plugin
infers one only for Vue projects (vue-tsc). Each package's 24.0.0
migration registers@nx/js/typescriptwhere it's missing. - dotnet: make the inferred restore target opt-in (#36991)
@nx/dotnetno longer infers arestoretarget. Run
dotnet restoredirectly, or set"restore": truein the plugin's
options in nx.json.
Stacked on #36981, and aimed at the 24 train. The last commit is the new
work. - core: finish v24 release-tag and pnpm prune cleanups (#37446)
- core: support ?? fallbacks in Nx tokens (#37410)
- An
outputsplaceholder whose option is0orfalseresolves to
that value instead of dropping the output. {env.*}and??fallbacks in the release settings that resolve
placeholders, such as tag patterns and commit messages, are an error
instead of literal text. DockerversionSchemes, which@nx/docker
resolves, are unchanged.- Direct-mode
nx:run-commands, the default, builds the command env the
way forked mode does.envFilereferences see the project's.env
values, and an empty shell variable no longer overrides anenvFile
value.NX_LOAD_DOT_ENV_FILESand the root.envfollow the task env,
not the Nx process, except for a command in a pseudo-terminal (see
Implementation Notes).
- An
- misc: migrate removed config helpers with loadable stubs (#37156)
Deprecated config helpers no longer configure builds.
Existing workspaces must follow the migration instructions. - core: remove the legacy target-name cache fallback (#37313)
- module-federation: remove nx module federation and migrate to official plugins (#37221)
❤️ Thank You
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- meeroslav @meeroslav
- Miroslav Jonaš @meeroslav