Last release today
26 Aug 2026
Ships on a steady schedule
a new release about every 9 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
3 years old
1896 releases · first in 2023
Release timeline
1896 releases since 2023Releases
- 22.6.120 Mar 2026
Release notes
Open source →22.6.1 (2026-03-20)
🩹 Fixes
- core: skip analytics and DB connection when global bin hands off to local (#34914)
- core: properly quote shell metacharacters in CLI args passed to tasks (#34491, #32305, #26682)
- core: avoid redundant project graph requests in ngcli adapter (#34907)
- core: ensure postTasksExecution fires on SIGINT for continuous tasks (#34876, #34623, #34869)
- core: improve error handling in nx migrate registry fetching (#34926, #33014, #33135)
- core: remove CRA migration logic from nx init (#34912)
- core: pass collectInputs flag through daemon IPC for task hashing (#34915)
- core: prevent DB corruption from concurrent initialization (#34861)
- core: set windowsHide: true on all child process spawns (#34894, #34455)
- gradle: remove annotations from atomizer (#34871)
- js: normalize cwd path separator in typescript plugin targets (#34911)
- js: preserve tsconfig fields in typescript plugin cache (#34908)
- linter: detect require() calls in enforce-module-boundaries rule (#34896, #34096)
- linter: use native nx.configs in convert-to-flat-config for Nx plugins (#34897, #31736)
- linter: convert project-level eslint configs and log when skipped (#34899, #29458)
- linter: use root config to determine ESLint class in plugin (#34900, #32110)
- nx-dev: resolve changelog page 500 error (#34920, #34909)
- testing: handle undefined options in playwright preset (#34750)
- testing: gracefully handle broken jest configs in alias migration (#34901)
❤️ Thank You
- Caleb Ukle
- Claude Opus 4.6
- Claude Opus 4.6 (1M context)
- Craigory Coppola @AgentEnder
- Eric Baer
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- John Wiegert
- Juri Strumpflohner @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Louie Weng @lourw
- lourw @lourw
- 22.6.018 Mar 2026
Release notes
Open source →22.6.0 (2026-03-18)
🚀 Features
- angular: add support for Angular v21.2 (#34592)
- core: update formatting of agent rules documentation (#33356)
- core: add nxVersion to meta in shortUrl for cnw (#34401)
- core: handle agentic sandboxing (#34402)
- core: extract sandbox detection into reusable utility (#34408)
- core: add negation pattern support for plugin include/exclude (#34160)
- core: add --stdin to affected options (#34435, #28770)
- core: support dependency filesets with ^{projectRoot} syntax (#34310)
- core: add agentic mode to nx init (#34418)
- core: automatically set up ai agents in cnw/init when run from within an ai agent (#34469)
- core: implement configure-ai-agents outdated message after tasks (#34463)
- core: improve codex support for configure-ai-agents (#34488)
- core: add --otp to top-level nx release command and detect EOTP errors (#34473)
- core: use static_vcruntime to avoid msvcrt dependency (#19781, #19779)
- core: add commands for debugging cache inputs / outputs (#34414)
- 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)
- core: add explicit cloud opt-out to CNW (#34580)
- core: use jemalloc with tuned decay timers for native module (#34444, #99)
- core: add .nx/polygraph to gitignore in migration and caia (#34659)
- core: migrate napi-rs v2 to v3 (#34619)
- core: add Codex subagent support to configure-ai-agents (#34553)
- core: add polygraph command to initiaze cross-repo sessions (#34722)
- core: add safe plugin cache write utilities with LRU eviction (#34503)
- core: add analytics (#34144)
- core: persist analytics session ID across CLI invocations (#34763)
- core: centralize perf tracking and report metrics to telemetry (#34795)
- core: prompt for analytics preference during workspace creation (#34818)
- core: add task and project count telemetry via performance lifecycle (#34821)
- core: bring back cloud prompts and templates in CNW (#34887, #34671, #34818)
- devkit: add NX_SKIP_FORMAT environment variable to skip Prettier formatting (#34336, #30426, #30403)
- gradle: add properties and wrappers to inputs (#34778)
- js: support configurable typecheck config name (#34675)
- js: add deps-sync generator (#34407)
- maven: report external Maven dependencies in project graph (#34368)
- misc: update PLUGIN.md files to help agents verification (#34379)
- misc: lock in CNW variant 2 with deferred connection (#34416)
- misc: use caret range for swc dependencies in pnpm catalog (#34487, #34472)
- misc: track server page views for AI traffic using Netlify-Agent-Category (#34883)
- nx-dev: add YouTube channel callout to courses page (#34669)
- testing: add cacheDir option to playwright executor (#34413, #34397)
🩹 Fixes
- angular: use SASS indented syntax in nx-welcome component when style is sass (#34510, #33489)
- angular: preserve skipLibCheck in tsconfig.json for standalone projects (#34695, #34164)
- angular-rspack: exclude .json files from JS/TS regex patterns (#34195)
- angular-rspack: use relative path for postcss-cli-resources output (#34681, #34092)
- 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: make sure that mcp args aren't overridden when running configure-ai-agents (#34381)
- core: use a consistent batch id between scheduler and task runner (#34392)
- core: clean up stale socket files before listening (#34236, #34233)
- core: avoid dropping unrelated continuous deps in
makeAcyclic(#34389) - core: make runtime cache key deterministic (#34390)
- core: handle dangling symlinks during cache restore (#34396, #34013)
- core: hitting [1] or [2] should remove pinned panes if they match the current task (#34433, #34175)
- core: remove shellapi from winapi featureset to minimize AV false positives (#34208)
- core: handle Ctrl+C gracefully in configure-ai-agents (dd3b79ebf4)
- 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)
- core: preserve existing source properties in claude plugin config (#34499)
- core: retry entire SQLite transaction on DatabaseBusy (#34533)
- 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)
- 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)
- 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: resolve input files for targets with defaultConfiguration (#34638, #34594)
- core: interpolate {projectRoot} and {projectName} in {workspaceRoot} input patterns in native hasher (#34637, #43, #34225, #34595)
- 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: stabilizes project references in dependsOn and inputs when later plugins rename a project (#34332)
- core: fall back to invoking PM in detection (#34691)
- core: restore CNW user flow to match v22.1.3 (#34671)
- core: enable output prefixing for direct nx:run-commands path (#34670)
- core: support tuple validation when schema
itemsis an array (JSON Schema draft 07) (#34636, #34631) - core: prevent TUI panic when Nx Console is connected (#34718)
- core: add .claude/worktrees to gitignore (#34693)
- core: surface clearer error when CNW hits SANDBOX_FAILED (#34724)
- core: allow nx cloud commands to run outside of a workspace (#34728)
- core: add missing @nx/angular-rspack packages to nx packageGroup (#34743, #32772)
- core: batch-safe hashing for maven and gradle (#34446, #30949)
- core: misc graph changes with nx/graph 1.0.5 (#34761)
- core: improve nx wrapper error message for malformed nx.json (#34736)
- core: ensure batch tasks always have hash for DTE (#34764, #34446)
- core: show json by default for agentic ai (#34780)
- core: gate tui-logger init behind NX_TUI env var " (#34426, #34797)
- core: batch hashing, topological cache walk, and TUI batch fixes (#34798)
- core: fix TUI help text layout (#34754)
- core: preserve params and options when expanding wildcard dependsOn targets (#34822)
- core: add download-cloud-client to cloud command bypass list (#34788, #34746, #34728)
- core: add null guards for runningTasksService in WASM fallback (#34825, #34573)
- core: skip analytics prompt for cloud commands (#34789)
- core: ensure postTasksExecution fires on SIGINT for continuous tasks (#34623)
- core: ensure postTasksExecution fires on SIGINT for continuous tasks " (#34623, #34869)
- core: add .claude/settings.local.json to .gitignore (#34870)
- core: show continuous property in nx show target (#34867)
- core: detect npm from package-lock.json before falling back to invoking PM (#34877, #34691)
- core: trim memory usage associated with io-tracing service (#34866)
- core: ensure workers shutdown after phase cancelled (#34799)
- core: avoid overwhelming DB with connections during analytics init (#34881)
- core: gracefully handle missing package manager and invalid workspace for CNW (#34902)
- core: share .agents skills dir across codex, cursor, gemini (#34882)
- core: wrap CNW normalize args function in error handler (#34905)
- gradle: ensure that atomized task targets have dependsOn (#34611)
- gradle: use globs for dependent task output files (#34590)
- gradle: tee batch runner output to stderr for terminal display (#34630)
- gradle: use object format for dependsOn instead of shorthand strings (#34715)
- gradle: exclude non-JS gradle sub-projects from eslint plugin (#34735)
- gradle: ensure that ci test target depends on take overrides into account (#34777)
- gradle: handle project names containing .json substring (#34832, #34768)
- gradle: always check disk cache for gradle project graph reports (#34873)
- 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)
- js: strip catalogs from pruned pnpm lockfile (#34697, #34337)
- js: normalize paths to posix format in typescript plugin (#34702, #31232)
- js: derive tsbuildinfo filename from iterated tsconfig, not outer config (#34738, #34737)
- js: include tsbuildinfo in dependentTasksOutputFiles for tsc tasks (#34733)
- js: include transitive dep outputs in typecheck inputs (#34773)
- js: add external project reference config files as inputs for tsc tasks (#34770)
- js: always infer dependentTasksOutputFiles for tsc build targets (#34784)
- js: support bun-only environments in release-publish executor (#34835)
- js: skip npm dist-tag add when no new version was resolved (#34843)
- js: track tsconfig files from dependency reference chain as inputs (#34848)
- linter: support eslint v10 (#34534, #34415)
- linter: allow for wildcards paths in enforce-module-boundaries rule (#34066, #32190)
- linter: add catalog: references when fixing missing dependencies (#34734)
- maven: use module-level variable for cache transfer between createNodes and createDependencies (#34386)
- maven: correctly map between maven locators and nx project names (#34366)
- maven: write output after each task in batch mode to ensure correct files are cached (#34400)
- maven: fix set the pom file without changing base directory (#34182, #34181)
- maven: synchronize batch runner invoke() to prevent concurrent access (#34600)
- maven: use mutable lists for Maven session projects (#34834, #34758)
- misc: rewrite Framer URLs to nx.dev in HTML responses (#34445)
- misc: prevent nxCloudId from being generated for new workspaces (#34532)
- misc: bump minimatch to 10.2.1 to address CVE-2026-26996 (#34509, #34507)
- misc: update maven & gradle icons to java duke icon (#34508)
- 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 (#34703)
- misc: address security CVE cluster (copy-webpack-plugin, koa, minimatch) (#34708, #34632, #34621, #34701)
- module-federation: use sslKey instead of sslCert for pathToKey (#34824, #34811)
- nextjs: reset daemon client after project graph creation in withNx (#34518, #32880)
- nuxt: bump nuxt to 3.21.1 to resolve critical audit vulnerability (#34783)
- nuxt: fix E2E test environment and lint issues (#34808)
- nx-cloud: allow download-cloud-client to work outside nx workspaces (#34746)
- nx-cloud: download light client to tmp dir when outside nx workspace (#34805)
- nx-dev: improve plugin registry visibility (#34395)
- nx-dev: add missing nx-cloud intro in sidebar (#34403)
- nx-dev: clarify project linking for workspaces (#34405)
- 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)
- nx-dev: correct interpolate sub command for cli reference (#34585)
- nx-dev: move redirects from Next.js config to Netlify _redirects (#34612)
- nx-dev: adding missing legacy route redirects (#34772)
- nx-dev: remove nx-cloud paths from Framer excluded URL rewrites (#34852)
- nx-dev: cross site link checks working as expected (#34685)
- nx-dev: add clickjacking protection headers to Netlify configs (#34893)
- release: remove unnecessary number from release return type (#34481)
- release: allow null values in schema of dockerVersion (#34171)
- release: add null-safe fallback for version in createGitTagValues (#34598, #34382, #33890, #34391)
- release: skip indirect patch bump for commit types with semverBump "none" (#34841)
- release: include dependent projects in release commit message when using --projects filter (#34845)
- release: deduplicate projects in changelog when using filtered project list (#34851)
- repo: use sudo for global npm install in publish workflow (#34409)
- repo: replace addnab/docker-run-action with direct docker run (#34448)
- repo: revert sudo for global npm install in publish workflow (#34451, #34409)
- repo: fix e2e CI failures from Node 22.12 incompatibility (#34501)
- repo: remove chalk from e2e tests (#34570)
- repo: reset package.json files after local release (#34648)
- repo: remove redundant inputs override for build-base target (#34649)
- testing: use surgical text replacement in Jest matcher alias migration (#34350, #32062)
- testing: remove stale ci.yml from extras.test snapshot (#34690, #34332, #34616)
- testing: infer dependency tsconfig files as playwright plugin inputs (#34803)
- testing: infer task inputs from jest config file references (#34740)
- vite: isPreview=true for Vite Preview server (#34597)
- vite: skip root-relative paths in nxViteTsPaths resolveId (#34694, #34300)
- vite: pin vitest v4 to ~4.0.x to fix Yarn Classic resolution failure (#34878)
- vitest: respect reporters from target options in vitest executor (#34663, #34495)
- vitest: handle zoneless Angular apps in vitest configuration generator (#34700, #33983)
- ⚠️ vitest: resolve reportsDirectory against workspace root (#34720)
- webpack: ensure safe
process.envfallback replacement (#34464, #30826, #34460) - webpack: update e2e snapshot for vitest reportsDirectory change (#34766, #34720)
- webpack: cap less version to <4.6.0 to avoid ESM incompatibility (#34781)
- webpack: bump fork-ts-checker-webpack-plugin to 9.1.0 (#34826, #34404)
⚠️ Breaking Changes
- vitest: resolve reportsDirectory against workspace root (#34720)
❤️ Thank You
- Aaron Casanova
- AgentEnder @AgentEnder
- AI-JamesHenry @AI-JamesHenry
- Amp
- Andreas Hörnicke
- Anurag Agarwal @altaiezior
- anurag.ag @anuragagarwal561994
- barbados-clemens @barbados-clemens
- Benjamin Cabanes @bcabanes
- Benjamin Staneck @Stanzilla
- Brett Burley
- Caleb Ukle
- Charlie Croom
- Chau Tran @nartc
- Claude
- Claude Opus 4.5
- Claude Opus 4.6
- Claude Opus 4.6 (1M context)
- Claude Sonnet 4.5
- Colum Ferry @Coly010
- Coly010 @Coly010
- Copilot @Copilot
- Craigory Coppola @AgentEnder
- Eric Baer @baer
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Jason Weinzierl @JasonWeinzierl
- Jay Bell
- Jesse Zomer
- Joel Lefkowitz
- Josh VanAllen @joshvanallen
- Juri @juristr
- Juri Strumpflohner @juristr
- Kai Gritun
- Leosvel Pérez Espinosa @leosvelperez
- leosvelperez @leosvelperez
- Loëck Vézien
- Louie Weng @lourw
- lourw @lourw
- Mathias Schopmans
- MaxKless @MaxKless
- meeroslav @meeroslav
- Miguel @mpsanchis
- Miroslav Jonaš @meeroslav
- Nelson Dominguez @ekkolon
- Nikola Kalinov @nkalinov
- omasakun @omasakun
- Ondrej Kelle @tondrej
- Samuel Briole
- Steven Nance
- Tomas Ptacek @faileon
- Victor Savkin @vsavkin
- 22.6.0-rc.217 Mar 2026pre-release
Release notes
Open source →22.6.0-rc.2 (2026-03-17)
🚀 Features
🩹 Fixes
- nx-dev: cross site link checks working as expected (#34685)
❤️ Thank You
- barbados-clemens @barbados-clemens
- Caleb Ukle
- Claude Opus 4.6
- Jack Hsu @jaysoo
- 22.6.0-rc.117 Mar 2026pre-release
Release notes
Open source →22.6.0-rc.1 (2026-03-17)
🚀 Features
- js: add deps-sync generator (#34407)
- misc: track server page views for AI traffic using Netlify-Agent-Category (#34883)
🩹 Fixes
- core: ensure postTasksExecution fires on SIGINT for continuous tasks " (#34623, #34869)
- core: add .claude/settings.local.json to .gitignore (#34870)
- core: show continuous property in nx show target (#34867)
- core: detect npm from package-lock.json before falling back to invoking PM (#34877, #34691)
- core: trim memory usage associated with io-tracing service (#34866)
- core: ensure workers shutdown after phase cancelled (#34799)
- core: avoid overwhelming DB with connections during analytics init (#34881)
- gradle: always check disk cache for gradle project graph reports (#34873)
- nx-cloud: download light client to tmp dir when outside nx workspace (#34805)
- vite: pin vitest v4 to ~4.0.x to fix Yarn Classic resolution failure (#34878)
❤️ Thank You
- Claude
- Claude Opus 4.6 (1M context)
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- lourw @lourw
- MaxKless @MaxKless
- Miroslav Jonaš @meeroslav
- Victor Savkin @vsavkin
- 22.6.0-rc.016 Mar 2026pre-release
Release notes
Open source →22.6.0-rc.0 (2026-03-16)
🩹 Fixes
- core: ensure postTasksExecution fires on SIGINT for continuous tasks " (#34623, #34869)
- core: add .claude/settings.local.json to .gitignore (#34870)
- nx-cloud: download light client to tmp dir when outside nx workspace (#34805)
❤️ Thank You
- Jason Jean @FrozenPandaz
- Victor Savkin @vsavkin
- 22.6.0-pr.34894.f87249119 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34876.84b745d19 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34876.039ddae17 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34866.93e888716 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34764.c1c3b2710 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34764.a95729610 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34764.868a8639 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34764.07d8b1510 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34746.a1e500d6 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34728.66566c05 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34722.ef1fe915 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34721.53ed28a6 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34630.341e0e326 Feb 2026pre-release
Nothing published for this version
- 22.6.0-pr.34619.1a7f4022 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34600.455e59026 Feb 2026pre-release
Nothing published for this version
- 22.6.0-pr.34591.64acf172 Mar 2026pre-release
Nothing published for this version
- 22.6.0-pr.34414.d0fddb919 Feb 2026pre-release
Nothing published for this version
- 22.6.0-pr.33655.b3efa094 Mar 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260317-b73cc6917 Mar 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260313-6b59e7413 Mar 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260311-e206a0d11 Mar 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260310-6326b9c10 Mar 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260309-4bb7c769 Mar 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260306-2cd3d586 Mar 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260306-18e47b36 Mar 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260304-e11be5d4 Mar 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260303-1a973ba3 Mar 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260302-923fc452 Mar 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260227-eb4988627 Feb 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260226-ac2ef1a26 Feb 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260225-dc81b8b25 Feb 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260224-6d9057224 Feb 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260223-dd325d723 Feb 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260220-df8a2c420 Feb 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260219-4ca3ee919 Feb 2026pre-release
Nothing published for this version
- 22.6.0-canary.20260218-18bfb0b18 Feb 2026pre-release
Nothing published for this version
- 22.6.0-beta.1416 Mar 2026pre-release
Release notes
Open source →22.6.0-beta.14 (2026-03-16)
🚀 Features
- core: prompt for analytics preference during workspace creation (#34818)
- core: add task and project count telemetry via performance lifecycle (#34821)
🩹 Fixes
- core: fix TUI help text layout (#34754)
- core: preserve params and options when expanding wildcard dependsOn targets (#34822)
- core: add download-cloud-client to cloud command bypass list (#34788, #34746, #34728)
- core: add null guards for runningTasksService in WASM fallback (#34825, #34573)
- core: skip analytics prompt for cloud commands (#34789)
- core: ensure postTasksExecution fires on SIGINT for continuous tasks (#34623)
- gradle: handle project names containing .json substring (#34832, #34768)
- js: support bun-only environments in release-publish executor (#34835)
- js: skip npm dist-tag add when no new version was resolved (#34843)
- js: track tsconfig files from dependency reference chain as inputs (#34848)
- maven: use mutable lists for Maven session projects (#34834, #34758)
- module-federation: use sslKey instead of sslCert for pathToKey (#34824, #34811)
- nx-dev: remove nx-cloud paths from Framer excluded URL rewrites (#34852)
- release: skip indirect patch bump for commit types with semverBump "none" (#34841)
- release: include dependent projects in release commit message when using --projects filter (#34845)
- release: deduplicate projects in changelog when using filtered project list (#34851)
- testing: infer dependency tsconfig files as playwright plugin inputs (#34803)
- testing: infer task inputs from jest config file references (#34740)
- webpack: bump fork-ts-checker-webpack-plugin to 9.1.0 (#34826, #34404)
❤️ Thank You
- AI-JamesHenry @AI-JamesHenry
- Benjamin Cabanes @bcabanes
- Caleb Ukle
- Claude Opus 4.6
- Jason Jean
- Joel Lefkowitz
- Leosvel Pérez Espinosa
- MaxKless @MaxKless
- 22.6.0-beta.1313 Mar 2026pre-release
Release notes
Open source →22.6.0-beta.13 (2026-03-13)
🚀 Features
- core: centralize perf tracking and report metrics to telemetry (#34795)
🩹 Fixes
- core: gate tui-logger init behind NX_TUI env var " (#34426, #34797)
- core: batch hashing, topological cache walk, and TUI batch fixes (#34798)
- nuxt: bump nuxt to 3.21.1 to resolve critical audit vulnerability (#34783)
- nuxt: fix E2E test environment and lint issues (#34808)
- nx-dev: adding missing legacy route redirects (#34772)
❤️ Thank You
- Caleb Ukle
- Claude Opus 4.6
- Jason Jean @FrozenPandaz
- 22.6.0-beta.1211 Mar 2026pre-release
Release notes
Open source →22.6.0-beta.12 (2026-03-11)
🚀 Features
- core: persist analytics session ID across CLI invocations (#34763)
- gradle: add properties and wrappers to inputs (#34778)
- maven: report external Maven dependencies in project graph (#34368)
🩹 Fixes
- core: misc graph changes with nx/graph 1.0.5 (#34761)
- core: improve nx wrapper error message for malformed nx.json (#34736)
- core: ensure batch tasks always have hash for DTE (#34764, #34446)
- core: show json by default for agentic ai (#34780)
- gradle: ensure that ci test target depends on take overrides into account (#34777)
- js: include transitive dep outputs in typecheck inputs (#34773)
- js: add external project reference config files as inputs for tsc tasks (#34770)
- js: always infer dependentTasksOutputFiles for tsc build targets (#34784)
- webpack: update e2e snapshot for vitest reportsDirectory change (#34766, #34720)
- webpack: cap less version to <4.6.0 to avoid ESM incompatibility (#34781)
❤️ Thank You
- Chau Tran @nartc
- Claude Opus 4.6
- Craigory Coppola @AgentEnder
- FrozenPandaz @FrozenPandaz
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- Louie Weng @lourw
- lourw @lourw
- MaxKless @MaxKless
- 22.6.0-beta.119 Mar 2026pre-release
Release notes
Open source →22.6.0-beta.11 (2026-03-09)
🚀 Features
- core: add analytics (#34144)
🩹 Fixes
- core: add missing @nx/angular-rspack packages to nx packageGroup (#34743, #32772)
- core: batch-safe hashing for maven and gradle (#34446, #30949)
- gradle: use object format for dependsOn instead of shorthand strings (#34715)
- gradle: exclude non-JS gradle sub-projects from eslint plugin (#34735)
- js: derive tsbuildinfo filename from iterated tsconfig, not outer config (#34738, #34737)
- js: include tsbuildinfo in dependentTasksOutputFiles for tsc tasks (#34733)
- linter: add catalog: references when fixing missing dependencies (#34734)
- nx-cloud: allow download-cloud-client to work outside nx workspaces (#34746)
- ⚠️ vitest: resolve reportsDirectory against workspace root (#34720)
⚠️ Breaking Changes
- vitest: resolve reportsDirectory against workspace root (#34720)
❤️ Thank You
- Claude Opus 4.6
- Colum Ferry @Coly010
- Coly010 @Coly010
- FrozenPandaz @FrozenPandaz
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- leosvelperez @leosvelperez
- Steven Nance
- Victor Savkin @vsavkin
- 22.6.0-beta.106 Mar 2026pre-release
Release notes
Open source →22.6.0-beta.10 (2026-03-06)
🚀 Features
- core: add polygraph command to initiaze cross-repo sessions (#34722)
- core: add safe plugin cache write utilities with LRU eviction (#34503)
- js: support configurable typecheck config name (#34675)
- nx-dev: add YouTube channel callout to courses page (#34669)
🩹 Fixes
- angular: preserve skipLibCheck in tsconfig.json for standalone projects (#34695, #34164)
- core: enable output prefixing for direct nx:run-commands path (#34670)
- core: support tuple validation when schema
itemsis an array (JSON Schema draft 07) (#34636, #34631) - core: prevent TUI panic when Nx Console is connected (#34718)
- core: add .claude/worktrees to gitignore (#34693)
- core: surface clearer error when CNW hits SANDBOX_FAILED (#34724)
- core: allow nx cloud commands to run outside of a workspace (#34728)
- js: strip catalogs from pruned pnpm lockfile (#34697, #34337)
- js: normalize paths to posix format in typescript plugin (#34702, #31232)
- misc: exclude .netlify paths from Framer proxy edge function (#34703)
- misc: address security CVE cluster (copy-webpack-plugin, koa, minimatch) (#34708, #34632, #34621, #34701)
- vite: skip root-relative paths in nxViteTsPaths resolveId (#34694, #34300)
- vitest: handle zoneless Angular apps in vitest configuration generator (#34700, #33983)
❤️ Thank You
- AgentEnder @AgentEnder
- Claude Opus 4.6
- Copilot @Copilot
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Juri Strumpflohner @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Victor Savkin @vsavkin
- 22.6.0-beta.94 Mar 2026pre-release
Release notes
Open source →22.6.0-beta.9 (2026-03-04)
🚀 Features
- core: migrate napi-rs v2 to v3 (#34619)
- core: add Codex subagent support to configure-ai-agents (#34553)
🩹 Fixes
- core: resolve input files for targets with defaultConfiguration (#34638, #34594)
- core: interpolate {projectRoot} and {projectName} in {workspaceRoot} input patterns in native hasher (#34637, #43, #34225, #34595)
- 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: stabilizes project references in dependsOn and inputs when later plugins rename a project (#34332)
- core: fall back to invoking PM in detection (#34691)
- core: restore CNW user flow to match v22.1.3 (#34671)
- testing: remove stale ci.yml from extras.test snapshot (#34690, #34332, #34616)
❤️ Thank You
- AgentEnder @AgentEnder
- Claude Opus 4.6
- Copilot @Copilot
- Craigory Coppola @AgentEnder
- FrozenPandaz @FrozenPandaz
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- MaxKless @MaxKless
- 22.6.0-beta.83 Mar 2026pre-release
Release notes
Open source →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.727 Feb 2026pre-release
Release notes
Open source →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
- core: support canonical SSH URLs when extracting GitHub user/repo slug during
- 22.6.0-beta.627 Feb 2026pre-release
Release notes
Open source →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.6.0-beta.526 Feb 2026pre-release
Release notes
Open source →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.426 Feb 2026pre-release
Release notes
Open source →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.324 Feb 2026pre-release
Release notes
Open source →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.220 Feb 2026pre-release
Release notes
Open source →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.6.0-beta.120 Feb 2026pre-release
Release notes
Open source →22.6.0-beta.1 (2026-02-19)
🚀 Features
🩹 Fixes
- core: skip stale recomputations and prevent lost file changes in daemon (#34424)
- core: reduce terminal output duplication and allocations in task runner (#34427)
- maven: write output after each task in batch mode to ensure correct files are cached (#34400)
- nx-dev: widen search dialog (#34504)
- nx-dev: update breadcrumb links to match sidebar (#34500)
- repo: fix e2e CI failures from Node 22.12 incompatibility (#34501)
❤️ Thank You
- Caleb Ukle
- Claude Opus 4.6
- Craigory Coppola @AgentEnder
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- Ondrej Kelle @tondrej
- 22.6.0-beta.018 Feb 2026pre-release
Release notes
Open source →22.6.0-beta.0 (2026-02-18)
🚀 Features
- core: update formatting of agent rules documentation (#33356)
- core: add nxVersion to meta in shortUrl for cnw (#34401)
- core: handle agentic sandboxing (#34402)
- core: extract sandbox detection into reusable utility (#34408)
- core: add negation pattern support for plugin include/exclude (#34160)
- core: add --stdin to affected options (#34435, #28770)
- core: support dependency filesets with ^{projectRoot} syntax (#34310)
- core: add agentic mode to nx init (#34418)
- core: automatically set up ai agents in cnw/init when run from within an ai agent (#34469)
- core: implement configure-ai-agents outdated message after tasks (#34463)
- core: improve codex support for configure-ai-agents (#34488)
- core: add --otp to top-level nx release command and detect EOTP errors (#34473)
- devkit: add NX_SKIP_FORMAT environment variable to skip Prettier formatting (#34336, #30426, #30403)
- misc: update PLUGIN.md files to help agents verification (#34379)
- misc: lock in CNW variant 2 with deferred connection (#34416)
- misc: use caret range for swc dependencies in pnpm catalog (#34487, #34472)
- testing: add cacheDir option to playwright executor (#34413, #34397)
🩹 Fixes
- core: make sure that mcp args aren't overridden when running configure-ai-agents (#34381)
- core: use a consistent batch id between scheduler and task runner (#34392)
- core: clean up stale socket files before listening (#34236, #34233)
- core: avoid dropping unrelated continuous deps in
makeAcyclic(#34389) - core: make runtime cache key deterministic (#34390)
- core: handle dangling symlinks during cache restore (#34396, #34013)
- core: hitting [1] or [2] should remove pinned panes if they match the current task (#34433, #34175)
- core: remove shellapi from winapi featureset to minimize AV false positives (#34208)
- core: handle Ctrl+C gracefully in configure-ai-agents (dd3b79ebf4)
- 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)
- maven: use module-level variable for cache transfer between createNodes and createDependencies (#34386)
- maven: correctly map between maven locators and nx project names (#34366)
- misc: rewrite Framer URLs to nx.dev in HTML responses (#34445)
- nx-dev: improve plugin registry visibility (#34395)
- nx-dev: add missing nx-cloud intro in sidebar (#34403)
- nx-dev: clarify project linking for workspaces (#34405)
- nx-dev: use shared preview url for netlify deploy (#34467)
- release: remove unnecessary number from release return type (#34481)
- repo: use sudo for global npm install in publish workflow (#34409)
- repo: replace addnab/docker-run-action with direct docker run (#34448)
- repo: revert sudo for global npm install in publish workflow (#34451, #34409)
❤️ Thank You
- Aaron Casanova
- AgentEnder @AgentEnder
- Andreas Hörnicke
- Benjamin Staneck @Stanzilla
- Brett Burley
- Caleb Ukle
- Claude Opus 4.5
- Claude Opus 4.6
- Claude Sonnet 4.5
- Colum Ferry @Coly010
- Coly010 @Coly010
- Craigory Coppola @AgentEnder
- Eric Baer @baer
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Jay Bell
- Josh VanAllen @joshvanallen
- Juri @juristr
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- meeroslav @meeroslav
- Miroslav Jonaš @meeroslav
- Steven Nance
- 22.5.44 Mar 2026
Release notes
Open source →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.5.326 Feb 2026
Release notes
Open source →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.5.220 Feb 2026
Release notes
Open source →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
- 22.5.113 Feb 2026
Release notes
Open source →22.5.1 (2026-02-13)
🚀 Features
- core: update formatting of agent rules documentation (#33356)
- core: add nxVersion to meta in shortUrl for cnw (#34401)
- core: handle agentic sandboxing (#34402)
- core: extract sandbox detection into reusable utility (#34408)
- core: add negation pattern support for plugin include/exclude (#34160)
- misc: update PLUGIN.md files to help agents verification (#34379)
- misc: lock in CNW variant 2 with deferred connection (#34416)
- testing: add cacheDir option to playwright executor (#34413, #34397)
🩹 Fixes
- core: make sure that mcp args aren't overridden when running configure-ai-agents (#34381)
- core: use a consistent batch id between scheduler and task runner (#34392)
- core: clean up stale socket files before listening (#34236, #34233)
- core: avoid dropping unrelated continuous deps in
makeAcyclic(#34389) - core: make runtime cache key deterministic (#34390)
- core: handle dangling symlinks during cache restore (#34396, #34013)
- core: hitting [1] or [2] should remove pinned panes if they match the current task (#34433, #34175)
- core: remove shellapi from winapi featureset to minimize AV false positives (#34208)
- maven: use module-level variable for cache transfer between createNodes and createDependencies (#34386)
- maven: correctly map between maven locators and nx project names (#34366)
- nx-dev: improve plugin registry visibility (#34395)
- nx-dev: add missing nx-cloud intro in sidebar (#34403)
- nx-dev: clarify project linking for workspaces (#34405)
- repo: use sudo for global npm install in publish workflow (#34409)
- repo: replace addnab/docker-run-action with direct docker run (#34448)
- repo: revert sudo for global npm install in publish workflow (#34451, #34409)
❤️ Thank You
- Benjamin Staneck @Stanzilla
- Brett Burley
- Caleb Ukle
- Claude Opus 4.5
- Claude Opus 4.6
- Claude Sonnet 4.5
- Colum Ferry @Coly010
- Coly010 @Coly010
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Josh VanAllen @joshvanallen
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- meeroslav @meeroslav
- Miroslav Jonaš @meeroslav
- Steven Nance