Releases: nrwl/nx
Releases · nrwl/nx
22.5.4
22.5.4 (2026-03-04)
🚀 Features
- core: add .nx/polygraph to gitignore in migration and caia (#34659)
🩹 Fixes
- angular-rspack: use relative path for postcss-cli-resources output (#34681, #34092)
- core: support canonical SSH URLs when extracting GitHub user/repo slug during
nx release(#31684, #31682) - core: update sourceRespository description of nx import (#34606)
- core: update minimatch to 10.2.4 (#34660)
- core: skip writing deps cache if already up-to-date (#34582)
- core: resolve false positive loop detection when running with Bun (#34640, #0, #1, #2, #3, #4, #5, #6, #33997)
- core: fall back to invoking PM in detection (#34691)
- core: restore CNW user flow to match v22.1.3 (#34671)
- gradle: tee batch runner output to stderr for terminal display (#34630)
- maven: synchronize batch runner invoke() to prevent concurrent access (#34600)
- misc: boost CLI command reference search ranking (#34625)
- misc: fix broken nx.dev redirects and remove legacy redirect-rules files (#34673)
- misc: use pathToFileURL for cross-platform path handling in postcss-cli-resources (#34676, #33052)
- misc: exclude .netlify paths from Framer proxy edge function (1ce5e91f5e)
- repo: reset package.json files after local release (#34648)
- repo: remove redundant inputs override for build-base target (#34649)
- vitest: respect reporters from target options in vitest executor (#34663, #34495)
❤️ Thank You
- AgentEnder @AgentEnder
- Caleb Ukle
- Claude Opus 4.6
- Copilot @Copilot
- Craigory Coppola @AgentEnder
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- Nelson Dominguez @ekkolon
22.6.0-beta.8
22.6.0-beta.8 (2026-03-03)
🚀 Features
- core: add .nx/polygraph to gitignore in migration and caia (#34659)
🩹 Fixes
- angular-rspack: use relative path for postcss-cli-resources output (#34681, #34092)
- core: update sourceRespository description of nx import (#34606)
- core: update minimatch to 10.2.4 (#34660)
- gradle: tee batch runner output to stderr for terminal display (#34630)
- misc: boost CLI command reference search ranking (#34625)
- misc: fix broken nx.dev redirects and remove legacy redirect-rules files (#34673)
- misc: use pathToFileURL for cross-platform path handling in postcss-cli-resources (#34676, #33052)
- repo: reset package.json files after local release (#34648)
- repo: remove redundant inputs override for build-base target (#34649)
- vitest: respect reporters from target options in vitest executor (#34663, #34495)
❤️ Thank You
- Caleb Ukle
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
22.6.0-beta.7
22.6.0-beta.7 (2026-02-27)
🚀 Features
🩹 Fixes
- core: support canonical SSH URLs when extracting GitHub user/repo slug during
nx release(#31684, #31682) - maven: synchronize batch runner invoke() to prevent concurrent access (#34600)
❤️ Thank You
- Claude Opus 4.6
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- Nelson Dominguez @ekkolon
22.6.0-beta.6
22.6.0-beta.6 (2026-02-27)
🚀 Features
- angular: add support for Angular v21.2 (#34592)
🩹 Fixes
- core: preserve nxCloud=skip in non-interactive CNW mode (#34616, #34580)
- core: make watch command work with all and initialRun specified (#32282, #32281)
- linter: support eslint v10 (#34534, #34415)
- linter: allow for wildcards paths in enforce-module-boundaries rule (#34066, #32190)
- maven: fix set the pom file without changing base directory (#34182, #34181)
- testing: use surgical text replacement in Jest matcher alias migration (#34350, #32062)
❤️ Thank You
- Anurag Agarwal @altaiezior
- anurag.ag @anuragagarwal561994
- Eric Baer
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Jason Weinzierl
- Jesse Zomer
- Leosvel Pérez Espinosa @leosvelperez
- omasakun @omasakun
22.5.3
22.5.3 (2026-02-26)
🚀 Features
- core: add --json flag for better AX to nx list (#34551)
- core: add passthrough for nx-cloud apply-locally command (#34557)
- core: add explicit cloud opt-out to CNW (#34580)
🩹 Fixes
- angular: use SASS indented syntax in nx-welcome component when style is sass (#34510, #33489)
- angular-rspack: exclude .json files from JS/TS regex patterns (#34195)
- bundling: skip unnecessary type-check in TS Solution Setup when skipTypeCheck is true (#34493, #34492)
- bundling: add docs link to generatePackageJson error message (#34562, #30146)
- bundling: fix regression on process.env usage for webpack (#34583, #34279)
- core: preserve existing source properties in claude plugin config (#34499)
- core: retry entire SQLite transaction on DatabaseBusy (#34533)
- core: reject pending promises directly when plugin worker exits unexpectedly (#34588, #34564)
- core: use recursive FSEvents on macOS instead of non-recursive kqueue (#34523, #34329, #33781, #34522)
- core: remove unused getTerminalOutput from BatchProcess (#34604)
- core: handle FORCE_COLOR=0 with picocolors (#34520, #34305, #34387)
- core: use scoped cache key for unresolved npm imports in TargetProjectLocator (#34605)
- core: preserve nxCloud=skip in non-interactive CNW mode (#34616, #34580)
- core: make watch command work with all and initialRun specified (#32282, #32281)
- gradle: ensure that atomized task targets have dependsOn (#34611)
- gradle: use globs for dependent task output files (#34590)
- js: use per-invocation cache in TS plugin to fix NX_ISOLATE_PLUGINS=false (#34566)
- js: guard against undefined closest node in rehoistNodes (#34347, #34322)
- js: remove redundant vite.config.ts generation for vitest projects (#34603, #34399)
- linter: support eslint v10 (#34534, #34415)
- linter: allow for wildcards paths in enforce-module-boundaries rule (#34066, #32190)
- maven: fix set the pom file without changing base directory (#34182, #34181)
- misc: bump minimatch to 10.2.1 to address CVE-2026-26996 (#34509, #34507)
- misc: update maven & gradle icons to java duke icon (#34508)
- nx-dev: correct interpolate sub command for cli reference (#34585)
- nx-dev: move redirects from Next.js config to Netlify _redirects (#34612)
- release: allow null values in schema of dockerVersion (#34171)
- release: add null-safe fallback for version in createGitTagValues (#34598, #34382, #33890, #34391)
- repo: remove chalk from e2e tests (#34570)
- testing: use surgical text replacement in Jest matcher alias migration (#34350, #32062)
- vite: isPreview=true for Vite Preview server (#34597)
- webpack: ensure safe
process.envfallback replacement (#34464, #30826, #34460)
❤️ Thank You
- Amp
- Anurag Agarwal @altaiezior
- anurag.ag @anuragagarwal561994
- Caleb Ukle
- Charlie Croom
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Eric Baer
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Jason Weinzierl
- Jesse Zomer
- Kai Gritun
- Leosvel Pérez Espinosa @leosvelperez
- Louie Weng @lourw
- Mathias Schopmans
- MaxKless @MaxKless
- Miguel @mpsanchis
- Miroslav Jonaš @meeroslav
- Nikola Kalinov @nkalinov
- omasakun @omasakun
- Samuel Briole
- Tomas Ptacek @faileon
22.6.0-beta.5
22.6.0-beta.5 (2026-02-26)
🚀 Features
- core: add explicit cloud opt-out to CNW (#34580)
🩹 Fixes
- core: remove unused getTerminalOutput from BatchProcess (#34604)
- core: handle FORCE_COLOR=0 with picocolors (#34520, #34305, #34387)
- core: use scoped cache key for unresolved npm imports in TargetProjectLocator (#34605)
- gradle: ensure that atomized task targets have dependsOn (#34611)
- gradle: use globs for dependent task output files (#34590)
- js: remove redundant vite.config.ts generation for vitest projects (#34603, #34399)
- nx-dev: move redirects from Next.js config to Netlify _redirects (#34612)
- vite: isPreview=true for Vite Preview server (#34597)
❤️ Thank You
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- Louie Weng @lourw
- Nikola Kalinov @nkalinov
22.6.0-beta.4
22.6.0-beta.4 (2026-02-25)
🩹 Fixes
- angular-rspack: exclude .json files from JS/TS regex patterns (#34195)
- bundling: fix regression on process.env usage for webpack (#34583, #34279)
- core: show the correct status for stopped continuous tasks (#34226)
- core: reject pending promises directly when plugin worker exits unexpectedly (#34588, #34564)
- core: use recursive FSEvents on macOS instead of non-recursive kqueue (#34523, #34329, #33781, #34522)
- js: guard against undefined closest node in rehoistNodes (#34347, #34322)
- nx-dev: correct interpolate sub command for cli reference (#34585)
- release: allow null values in schema of dockerVersion (#34171)
- release: add null-safe fallback for version in createGitTagValues (#34598, #34382, #33890, #34391)
- repo: remove chalk from e2e tests (#34570)
❤️ Thank You
- Amp
- Caleb Ukle
- Charlie Croom
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Kai Gritun
- Leosvel Pérez Espinosa @leosvelperez
- Miguel @mpsanchis
- Miroslav Jonaš @meeroslav
- Tomas Ptacek @faileon
22.6.0-beta.3
22.6.0-beta.3 (2026-02-24)
🚀 Features
- core: improve AX of configure-ai-agents with auto-detection (#34496)
- core: add AI agent mode to nx import (#34498)
- core: add preferBatch executor option (#34293)
- core: add --json flag for better AX to nx list (#34551)
- core: add passthrough for nx-cloud apply-locally command (#34557)
- core: add yarn berry catalog support (#34552)
🩹 Fixes
- angular: use SASS indented syntax in nx-welcome component when style is sass (#34510, #33489)
- bundling: skip unnecessary type-check in TS Solution Setup when skipTypeCheck is true (#34493, #34492)
- bundling: add docs link to generatePackageJson error message (#34562, #30146)
- core: preserve existing source properties in claude plugin config (#34499)
- core: retry entire SQLite transaction on DatabaseBusy (#34533)
- js: use per-invocation cache in TS plugin to fix NX_ISOLATE_PLUGINS=false (#34566)
- misc: bump minimatch to 10.2.1 to address CVE-2026-26996 (#34509, #34507)
- misc: update maven & gradle icons to java duke icon (#34508)
- webpack: ensure safe
process.envfallback replacement (#34464, #30826, #34460)
❤️ Thank You
- Claude Opus 4.6
- Colum Ferry
- Jack Hsu
- Jason Jean
- Leosvel Pérez Espinosa
- Loëck Vézien
- Mathias Schopmans
- MaxKless @MaxKless
- Samuel Briole
22.6.0-beta.2
22.6.0-beta.2 (2026-02-20)
🚀 Features
- core: add commands for debugging cache inputs / outputs (#34414)
🩹 Fixes
- core: commands shouldn't hang when passing --help (#34506)
- misc: prevent nxCloudId from being generated for new workspaces (#34532)
- nextjs: reset daemon client after project graph creation in withNx (#34518, #32880)
❤️ Thank You
- Craigory Coppola @AgentEnder
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
22.5.2
22.5.2 (2026-02-20)
🚀 Features
- core: use static_vcruntime to avoid msvcrt dependency (#19781, #19779)
- misc: use caret range for swc dependencies in pnpm catalog (#34487, #34472)
🩹 Fixes
- core: handle Ctrl+C gracefully in configure-ai-agents (9128fcb66f)
- core: prevent staggered and duplicate lines in dynamic output (#34462)
- core: only pull configure-ai-agents from latest if local version is not latest (#34484)
- core: gate tui-logger init behind
NX_TUIenv var (#34426) - core: avoid blocking event loop during TUI PTY resize (#34385)
- core: use workspace root for path resolution when baseUrl is not set (#34453)
- core: replace buggy ignore-files trie with correct path-component gitignore matching (#34447)
- core: skip stale recomputations and prevent lost file changes in daemon (#34424)
- core: reduce terminal output duplication and allocations in task runner (#34427)
- core: commands shouldn't hang when passing --help (#34506)
- maven: write output after each task in batch mode to ensure correct files are cached (#34400)
- misc: rewrite Framer URLs to nx.dev in HTML responses (#34445)
- misc: prevent nxCloudId from being generated for new workspaces (#34532)
- nextjs: reset daemon client after project graph creation in withNx (#34518, #32880)
- nx-dev: use shared preview url for netlify deploy (#34467)
- nx-dev: widen search dialog (#34504)
- nx-dev: update breadcrumb links to match sidebar (#34500)
- release: remove unnecessary number from release return type (#34481)
- repo: fix e2e CI failures from Node 22.12 incompatibility (#34501)
❤️ Thank You
- Andreas Hörnicke
- Caleb Ukle
- Claude Opus 4.6
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Jay Bell
- Juri @juristr
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- Ondrej Kelle @tondrej
- Steven Nance