Releases: nrwl/nx
Releases · nrwl/nx
22.7.0-beta.12
22.7.0-beta.12 (2026-04-10)
🚀 Features
- core: use CNW variant 1 cloud prompt in nx init (#35155)
- core: add source map annotations to nx show target (#35225)
- core: prompt for setup mode when running nx init in empty git directory (#35226)
🩹 Fixes
- angular: add storybook and playwright as implicit dependencies (#35224)
- core: support cross-file variable references in .env files (#34956, #34955)
- core: disable Yarn scripts for temp nx@latest installs (#35210)
- core: use fresh package manager cache for e2e tests (#35211)
- core: add missing inputs and sandbox exclusions for native tasks (#35212)
- core: prevent phantom connections and dead polling in plugin workers (#34823, #34388)
- core: ensure build tasks use copyReadme named input (#35217)
- core: add prettier config inputs to astro-docs format target (#35222)
- core: add vale-changed.mjs script to vale target inputs (d4c55d806a)
- core: add missing build inputs for angular-rspack example projects (fd0dff1078)
- core: add run-native-target script input to dotnet build-analyzer (#35221)
- core: overwrite inferred script target when nx prop defines executor or command (#35227)
- core: exclude populate-local-registry-storage from sandbox I/O checks (#35239)
- js: include npm overrides in generated lockfile (#35192, #34529)
- linter: remove custom eslint hasher (d64aeef5df)
- linter: infer extended tsconfig files as task inputs (#35190)
- linter: add missing inputs to eslint executor target defaults (#35236)
- misc: stream Framer proxy responses and add edge function timing (#35215)
- misc: bump axios to 1.15.0 for all packages (#35237)
- testing: add dependent .d.ts inputs for ts-jest without isolatedModules (#35231)
❤️ Thank You
- AgentEnder @AgentEnder
- Claude
- Craigory Coppola @AgentEnder
- FrozenPandaz @FrozenPandaz
- FUASHI LOT-BILL
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
22.6.5
22.6.5 (2026-04-10)
🚀 Features
- core: allow generate command to skip project graph creation (#35170)
- core: use CNW variant 1 cloud prompt in nx init (#35155)
- core: prompt for setup mode when running nx init in empty git directory (#35226)
- misc: lock in CNW cloud prompt A/B winner and add new variants (#35154)
🩹 Fixes
- angular: add storybook and playwright as implicit dependencies (#35224)
- bundling: bump esbuild for new projects to a version compatible with vite 8 (#35132)
- core: clean up legacy .gemini/skills during configure-ai-agents (#35117)
- core: copy pnpm install configuration to generated package.json (#35016, #30240)
- core: display actual error message when plugin loading fails (#35138, #35137)
- core: bump axios to 1.13.5 to resolve CVE-2026-25639 (#35148, #35145)
- core: update and pin ejs to 5.0.1 (#35157)
- core: misc tui perf fixes (#35187)
- core: replace LGPL-licensed @ltd/j-toml with BSD-3-Clause smol-toml (#35188)
- core: kill discrete tasks and use tree-kill for batch cleanup on SIGINT (#35175)
- core: support cross-file variable references in .env files (#34956, #34955)
- core: disable Yarn scripts for temp nx@latest installs (#35210)
- core: use fresh package manager cache for e2e tests (#35211)
- core: prevent phantom connections and dead polling in plugin workers (#34823, #34388)
- core: add prettier config inputs to astro-docs format target (#35222)
- core: add vale-changed.mjs script to vale target inputs (41a71dd97d)
- core: add missing build inputs for angular-rspack example projects (d71dcc6a9a)
- core: add run-native-target script input to dotnet build-analyzer (#35221)
- core: overwrite inferred script target when nx prop defines executor or command (#35227)
- core: update cleanup mock to match async signature in package-json spec (c9d51d31f9)
- gradle: prevent Gradle and Maven daemon accumulation during project graph recalculation (#35143)
- gradle: use namespace import for tree-kill to match codebase convention (7c4f4af802)
- js: resolve ENOWORKSPACES test error in setupVerdaccio for @nx/js:library generator (#34755)
- js: include npm overrides in generated lockfile (#35192, #34529)
- linter: infer extended tsconfig files as task inputs (#35190)
- maven: prevent batch executor hang from premature worker exit (#35001, #34757)
- maven: use require for tree-kill to avoid esModuleInterop mismatch between lib and spec configs (8bd4c182ca)
- misc: use workspace root for package manager detection and normalize paths in plugins (#35116)
- misc: stream Framer proxy responses and add edge function timing (#35215)
- misc: bump axios to 1.15.0 for all packages (#35237)
- repo: clean Angular CLI restore target before cache copy (#35121)
- repo: update issue-notifier.yml (#35178)
❤️ Thank You
- Alexandre Ducarne @JiggyJinjo
- Claude
- Claude Opus 4.6
- Claude Opus 4.6 (1M context)
- Craigory Coppola @AgentEnder
- FrozenPandaz @FrozenPandaz
- FUASHI LOT-BILL
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- leosvelperez @leosvelperez
- MaxKless @MaxKless
- Parker Norwood @parker-norwood
- Robert Sidzinka
- Steven Nance
- Victor Savkin @vsavkin
22.7.0-beta.11
22.7.0-beta.11 (2026-04-08)
🚀 Features
- core: allow generate command to skip project graph creation (#35170)
- core: remove polygraph cloud passthrough (#35153)
- repo: add e2e test for nx build process verification (#35119)
🩹 Fixes
- core: misc tui perf fixes (#35187)
- core: replace LGPL-licensed @ltd/j-toml with BSD-3-Clause smol-toml (#35188)
- core: supply chain hardening via transitive dependency pinning (#35159)
- core: kill discrete tasks and use tree-kill for batch cleanup on SIGINT (#35175)
- gradle: infer input extensions on project graph generation (#35160)
- gradle: hoist shared task computation out of per-class loop in atomized CI target generation (#35199)
- gradle: patch 0.1.19 to beta.11 (#35202)
- maven: prevent batch executor hang from premature worker exit (#35001, #34757)
- maven: make install targets noop when maven.install.skip=true (#35009)
- repo: update issue-notifier.yml (#35178)
❤️ Thank You
- Alexandre Ducarne @JiggyJinjo
- Claude
- Claude Opus 4.6 (1M context)
- Craigory Coppola @AgentEnder
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- jaysoo @jaysoo
- Louie Weng @lourw
- MaxKless @MaxKless
- Victor Savkin @vsavkin
22.7.0-beta.10
22.7.0-beta.10 (2026-04-02)
🚀 Features
- misc: lock in CNW cloud prompt A/B winner and add new variants (#35154)
- repo: enforce no-disabled-tests via ESLint with per-project warning caps (#35122)
🩹 Fixes
- bundling: bump esbuild for new projects to a version compatible with vite 8 (#35132)
- core: reduce published nx package size with files allowlist (#35109)
- core: clean up legacy .gemini/skills during configure-ai-agents (#35117)
- core: copy pnpm install configuration to generated package.json (#35016, #30240)
- core: improve migrate error reporting (#34980)
- core: display actual error message when plugin loading fails (#35138, #35137)
- core: bump axios to 1.13.5 to resolve CVE-2026-25639 (#35148, #35145)
- core: update and pin ejs to 5.0.1 (#35157)
- gradle: prevent Gradle and Maven daemon accumulation during project graph recalculation (#35143)
- js: use explicit nx/bin/nx path in start-local-registry (#35127)
- js: resolve ENOWORKSPACES test error in setupVerdaccio for @nx/js:library generator (#34755)
- misc: use workspace root for package manager detection and normalize paths in plugins (#35116)
- repo: clean Angular CLI restore target before cache copy (#35121)
- repo: correct build target outputs for docker and vue packages (#35136)
- repo: narrow copy-assets outputs to prevent overlap with build-base (#35097)
❤️ Thank You
- Claude Opus 4.6
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- leosvelperez @leosvelperez
- MaxKless @MaxKless
- Parker Norwood @parker-norwood
- Robert Sidzinka
- Steven Nance
22.6.4
22.6.4 (2026-04-01)
🚀 Features
- misc: update nx init telemetry meta from CSV to JSON format (#35076)
- nx-dev: add conditional blog/changelog proxy in edge function (#35043)
🩹 Fixes
- core: validate bundler option for Angular presets in create-nx-workspace (#35074)
- core: handle "." and absolute paths as workspace name in CNW (#35083, #1)
- core: pin version of axios (#35093)
- core: preserve sibling dependency inputs in native hashing (#35071)
- core: sandbox exclusions, multi-line typeof import detection, global ensurePackage mock (#35056)
- core: no-interactive should disable prompts during migrate (#35106)
- gradle: increase project graph timeout defaults (#35058)
- js: recognize tsgo in dependency-checks lint rule (#35048)
- js: narrow tsc build-base outputs to only tsc-produced file types (#35041)
- js: include tsbuildinfo in narrowed tsc build-base outputs (#35086, #35041)
- js: use explicit nx/bin/nx path in start-local-registry (#35127)
- misc: handle non-interactive mode and add template shorthand names for CNW (#35045)
- react: force Vite 7 when using React Router in framework mode (#35101)
- react-native: use vite's transformWithEsbuild instead of direct esbuild import (5771eb3346)
- repo: pass env vars into docker builds in publish workflow (#35060)
- repo: bump picomatch from 4.0.2 to 4.0.4 (#35081, #35068)
- repo: fixup lock-threads failing with resource inaccessible message (#35005)
- repo: fix lockfile (b070e23445)
- repo: re-enable Cypress HMR e2e tests after upstream tapable fix (#35105, #34969, #20693)
- repo: disable ts-jest diagnostics for workspace-plugin tests (b013f93dca)
- vite: update vitest and plugin-react-swc versions for vite 8 compat (#35062)
- vite: bump sass version for vue/nuxt presets for Vite 8 compat (#35073)
- webpack: bump postcss-loader to ^8.2.1 to eliminate transitive yaml@1.x CVE (#35028, #35025)
❤️ Thank You
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- Miroslav Jonaš @meeroslav
- Robert Sidzinka
22.7.0-beta.9
22.7.0-beta.9 (2026-03-31)
🩹 Fixes
- core: restore metadata table for telemetry session tracking (#35099)
- core: no-interactive should disable prompts during migrate (#35106)
- gradle: detect @input provider-based dependencies (#35090)
- react: force Vite 7 when using React Router in framework mode (#35101)
- repo: fixup lock-threads failing with resource inaccessible message (#35005)
- repo: re-enable Cypress HMR e2e tests after upstream tapable fix (#35105, #34969, #20693)
❤️ Thank You
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Louie Weng @lourw
22.7.0-beta.8
22.7.0-beta.8 (2026-03-31)
🚀 Features
- misc: update nx init telemetry meta from CSV to JSON format (#35076)
- repo: enable tsgo compiler for nx package (#35047)
🩹 Fixes
- core: validate bundler option for Angular presets in create-nx-workspace (#35074)
- core: handle "." and absolute paths as workspace name in CNW (#35083, #1)
- core: pin version of axios (#35093)
- core: preserve sibling dependency inputs in native hashing (#35071)
- core: restore nx package exports compatibility (#35095)
- core: sandbox exclusions, multi-line typeof import detection, global ensurePackage mock (#35056)
- gradle: increase project graph timeout defaults (#35058)
- gradle: use object notation for exclude tasks (#35085)
- js: include tsbuildinfo in narrowed tsc build-base outputs (#35086, #35041)
- repo: pass env vars into docker builds in publish workflow (#35060)
- repo: bump picomatch from 4.0.2 to 4.0.4 (#35081, #35068)
- vite: update vitest and plugin-react-swc versions for vite 8 compat (#35062)
- vite: bump sass version for vue/nuxt presets for Vite 8 compat (#35073)
- webpack: bump postcss-loader to ^8.2.1 to eliminate transitive yaml@1.x CVE (#35028, #35025)
❤️ Thank You
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- Louie Weng @lourw
- lourw @lourw
- Miroslav Jonaš @meeroslav
- Robert Sidzinka
22.7.0-beta.7
22.7.0-beta.7 (2026-03-28)
🚀 Features
- nx-dev: add conditional blog/changelog proxy in edge function (#35043)
🩹 Fixes
- gradle: increase project graph timeout defaults (#35058)
- js: recognize tsgo in dependency-checks lint rule (#35048)
- js: narrow tsc build-base outputs to only tsc-produced file types (#35041)
- misc: handle non-interactive mode and add template shorthand names for CNW (#35045)
- repo: copy-assets plugin and e2e improvements (#35042, #34994)
- repo: pass env vars into docker builds in publish workflow (#35060)
- vite: update vitest and plugin-react-swc versions for vite 8 compat (#35062)
❤️ Thank You
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
22.7.0-beta.6
22.7.0-beta.6 (2026-03-27)
🚀 Features
- misc: a/b test cloud prompt copy in create-nx-workspace (#35039)
🩹 Fixes
- core: add package export for nx/release/changelog-renderer (#35033)
- js: add {projectRoot} prefix to d.ts fileset in typescript plugin (#35037)
- nx-dev: correct YouTube channel URL on courses page (#35034)
- repo: add copy-assets plugin and migrate all packages from legacy-post-build (#34994)
❤️ Thank You
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Juri Strumpflohner @juristr
22.6.3
22.6.3 (2026-03-27)
🚀 Features
- misc: a/b test cloud prompt copy in create-nx-workspace (#35039)
🩹 Fixes
- js: add {projectRoot} prefix to d.ts fileset in typescript plugin (#35037)
- misc: use namespace import for chalk v4 compatibility (7c9f873bd1)
- misc: handle non-interactive mode and add template shorthand names for CNW (#35045)
❤️ Thank You
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz