24.0.0-rc.0 (2026-10-21)
🚀 Features
- ⚠️ angular: remove deprecated SCAM generators (#37508)
- core: say in nx show target and nx graph how ci treats a target under ultracache (#37489)
- ⚠️ core: remove deprecated NX_MIGRATE_SKIP_REGISTRY_FETCH env var (#37507)
- core: wait for dev servers by default, with a 10-minute readiness timeout (#37515)
- gradle: hash task inputs with includeIgnored and drop the gitignore classifier (#37323)
- ⚠️ linter: remove deprecated setParserOptionsProject generator option (#37509)
- misc: add dev server readiness to the remaining plugins (#37483)
- node: report readiness from generated server apps with emitReadySignal (#37490)
- testing: run generated playwright e2e against the dev server locally and a production build in CI (#37121)
- testing: run generated cypress e2e against a production build in CI (#37130)
🩹 Fixes
- bundling: stop rollup plugin from scanning the workspace during graph creation (#37492)
- core: drop an empty default configuration from the task target (#37485)
- core: let processInBackground payloads fall back to v8 serialization (#37486)
- core: prevent stale cache hits when task inputs share a hash details key (#37397)
- core: show progress for nx affected on the daemon and for each nx reset step (#37514)
- core: pass release publish commands as argv instead of shell strings (#36874)
- gradle: emit valid kotlin dsl when applying the plugin to an existing allprojects block (#37512)
- js: validate @nx/js/typescript compiler and configName options (#37516)
- misc: harden v24 migrations (#37493)
- module-federation: throw from removed mf stubs outside graph creation (#37510)
- nx-dev: replace old nx logo in favicon assets (#37519)
- testing: keep the build target of converted cypress component tests (#37480)
⚠️ Breaking Changes
- linter: remove deprecated setParserOptionsProject generator option (#37509)
thesetParserOptionsProjectgenerator option is
removed. UseenableTypedLintinginstead.nx migraterewrites
generator defaults that set it, but not scripts that pass
--setParserOptionsProjecttonx g. - core: remove deprecated NX_MIGRATE_SKIP_REGISTRY_FETCH env var (#37507)
NX_MIGRATE_SKIP_REGISTRY_FETCHis removed, andnx migrateignores it. To keep resolving versions and migration metadata
through a package-manager install, set
NX_MIGRATE_USE_REGISTRY_RESOLUTION=falseor
migrate.useRegistryResolution: falseinnx.json. - angular: remove deprecated SCAM generators (#37508)
the@nx/angular:scam,@nx/angular:scam-directive,
@nx/angular:scam-pipe, and@nx/angular:scam-to-standalonegenerators
and their@nx/angular/generatorsexports are removed. Use the
@nx/angular:component,@nx/angular:directive, or@nx/angular:pipe
generators instead.
❤️ Thank You
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez