Skip to content

Releases: nrwl/nx

22.7.0-beta.2

21 Mar 00:45
1fc3841

Choose a tag to compare

22.7.0-beta.2 Pre-release
Pre-release

22.7.0-beta.2 (2026-03-21)

🩹 Fixes

  • core: set windowsHide: true on all child process spawns (#34894, #34455)
  • core: split-target should handle projects with colons in name better (#34725)
  • devkit: prevent double install in generators for TS solution workspaces (#34891)
  • gradle: remove annotations from atomizer (#34871)
  • linter: prepend framework configs before baseConfig in flat config generation (#34898, #28381, #32923)
  • module-federation: enable ESM output for Angular rspack MF plugin (#34839, #34584, #33992)
  • nx-dev: build nx-dev in-place to fix ai package resolution (#34730, #34669)
  • testing: gracefully handle broken jest configs in alias migration (#34901)

❤️ Thank You

22.6.1

20 Mar 16:17
aa2ca54

Choose a tag to compare

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

22.7.0-beta.1

19 Mar 23:13
a4e8fef

Choose a tag to compare

22.7.0-beta.1 Pre-release
Pre-release

22.7.0-beta.1 (2026-03-19)

🩹 Fixes

  • core: prevent DB corruption from concurrent initialization (#34861)

❤️ Thank You

22.7.0-beta.0

19 Mar 21:13
91b1414

Choose a tag to compare

22.7.0-beta.0 Pre-release
Pre-release

22.7.0-beta.0 (2026-03-19)

🚀 Features

  • core: add .nx/self-healing to .gitignore (#34855)

🩹 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)
  • 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)

❤️ Thank You

22.6.0

18 Mar 14:03
44db03a

Choose a tag to compare

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_TUI env 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, [#3438...
Read more

22.6.0-rc.2

17 Mar 21:20
6ee7091

Choose a tag to compare

22.6.0-rc.2 Pre-release
Pre-release

22.6.0-rc.2 (2026-03-17)

🚀 Features

🩹 Fixes

  • nx-dev: cross site link checks working as expected (#34685)

❤️ Thank You

22.6.0-rc.1

17 Mar 19:41
b73cc69

Choose a tag to compare

22.6.0-rc.1 Pre-release
Pre-release

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

22.6.0-rc.0

16 Mar 21:15
35930fd

Choose a tag to compare

22.6.0-rc.0 Pre-release
Pre-release

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

22.6.0-beta.14

16 Mar 17:13
6b8d5c9

Choose a tag to compare

22.6.0-beta.14 Pre-release
Pre-release

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

22.6.0-beta.13

13 Mar 13:47
0d2d7cb

Choose a tag to compare

22.6.0-beta.13 Pre-release
Pre-release

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