nx
23.3.2The Monorepo Platform that amplifies both developers and AI agents. Nx optimizes your builds, scales your CI, and fixes failed PRs automatically. Ship in half the time.
- Maintenance
- Active851 commits in 3 months · bus factor 5
- License
- MITPermissive · OSI-approved
- Security
- 8 advisories1 critical, 5 high, 2 medium · Scorecard 7.9/10
- Supported versions
- No scheduleendoflife.date does not track this project
29.5k stars · 3k forks · 489 open issues · last release 2 days ago · data checked 4 hours ago
Breaking changes
What to check before upgrading, taken from the notes of the last 30 releases.
- 24.0.0Oct 21, 2026
- ⚠️ angular: remove deprecated SCAM generators (#37508)
- ⚠️ core: remove deprecated nx watch --includeDependentProjects alias (#37311)
- ⚠️ core: deprecate executor custom hashers (#37310)
- ⚠️ core: let tasks wait for a continuous dependency to be ready (#37224)
- ⚠️ core: remove the legacy target-name cache fallback (#37313)
- ⚠️ core: support ?? fallbacks in Nx tokens (#37410)
- ⚠️ core: finish v24 release-tag and pnpm prune cleanups (#37446)
- ⚠️ core: remove deprecated NX_MIGRATE_SKIP_REGISTRY_FETCH env var (#37507)
- ⚠️ dotnet: make the inferred restore target opt-in (#36991)
- ⚠️ gradle: remove @nx/gradle/plugin-v1 and migrate to @nx/gradle (#37325)
- ⚠️ linter: remove deprecated setParserOptionsProject generator option (#37509)
- ⚠️ misc: remove no-op createDependencies exports from first-party plugins (#37253)
- ⚠️ misc: migrate removed config helpers with loadable stubs (#37156)
- ⚠️ module-federation: remove nx module federation and migrate to official plugins (#37221)
- ⚠️ remix: remove generators and executors in v24 (e31a37ad31)
- ⚠️ core: remove the dependsOn 'self' / 'dependencies' magic-string shim (#37312)
- ⚠️ core: keep inferred project names when project.json omits a name (#37365)
- ⚠️ js: framework plugins defer typecheck to @nx/js/typescript (#37342, #36744)
⚠️ Breaking Changes
- linter: remove deprecated setParserOptionsProject generator option (#37509)
the
setParserOptionsProjectgenerator option isremoved. Use
enableTypedLintinginstead.nx migraterewritesgenerator defaults that set it, but not scripts that pass
--setParserOptionsProjecttonx g.
Release history
All releases on GitHubAtom feed/feed/nrwl/nx
Badge
[](/p/nrwl/nx)
24.1.0-beta.1 (2026-11-13)
🚀 Features
- core: move @nx/conformance and @nx/owners into the nx repo (#37636)
- linter: add @nx/directive-checks to lint Nx file directives (#37725)
- nx-dev: serve the ci plan cost calculator from the blog site (#37792)
- nx-dev: show nx.dev site banner as top bar in docs (#37853)
🩹 Fixes
- angular-rspack: turn off lazy compilation by default on rspack 2 (#37799)
- angular-rspack: limit dev server CORS access to localhost origins (#37818)
- angular-rspack: validate options and delete output only when a task runs (#37821)
- core: read overrides from pnpm-workspace.yaml for affected (#37364)
- core: stop workspace and package lookups at directories the user controls (#37669)
- core: filter remote cache terminal output before storing and replaying it (#37662)
- core: add missing properties to the nx.json and project.json schemas (#37720)
- core: keep a directory's files listed when a sibling extends its name (#37825)
- core: settle daemon graph requests when computations claim out of order (#37794)
- core: stop readyWhen command probes from leaving processes behind (#37844)
- core: flush task output before the task process exits (#37827)
- core: explain when nx import fails because a folder is not a git repository (#37847)
- core: recompute cached import edges when the lock file changes (#37796)
- core: warn when run-commands drops object or array options (#37749)
- core: use a real require when node hands commonjs a stand-in (#37370)
- core: update
dependsOnentries in move generator (#37450, #37449) - core: respect --aiAgents=none in the template flow (#37494, #37437)
- core: resolve package roots when exports hide package.json (#37497, #37488)
- devkit: skip uninferred targets in convert-to-inferred --project mode (#37772)
- devkit: report plugin-created targets that use removed executors (#37752)
- js: parse each extended tsconfig once per typescript-sync run (#37813)
- js: support Verdaccio 7 in the local registry tooling (#37824)
- release: push release commit and tags after they are created (#37568, #37427)
- storybook: make @nx/cypress an optional peer dependency (#37062, #37005)
- testing: quote spec and output paths in atomized playwright targets (#37822)
❤️ Thank You
- Cestercian @cestercian
- Craigory Coppola @AgentEnder
- Ethan Koenig @ethantkoenig
- Jack Hsu @jaysoo
- Leosvel Pérez Espinosa @leosvelperez
- Louie Weng @lourw
- MaxKless @MaxKless
- Nicole Oliver
- Rahul Kashyap @itisrmk
- Rares Matei
- Zachary DeRose @ZackDeRose