PackageTrack

npm · #4152

@nx/js

23.1.2nrwl/nx

The JS plugin for Nx contains executors and generators that provide the best experience for developing JavaScript and TypeScript projects.

Release timeline

1889 releases since 2023
202420252026

Releases

  1. 22.6.120 Mar 2026
    Release notes

    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
    Open source →
  2. 22.6.018 Mar 2026
    Release notes

    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, #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 items is 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.env fallback 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
    Open source →
  3. 22.6.0-rc.217 Mar 2026pre-release
    Release notes

    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
    Open source →
  4. 22.6.0-rc.117 Mar 2026pre-release
    Release notes

    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
    Open source →
  5. 22.6.0-rc.016 Mar 2026pre-release
    Release notes

    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
    Open source →
  6. 22.6.0-pr.34894.f87249119 Mar 2026pre-release

    Nothing published for this version

  7. 22.6.0-pr.34876.84b745d19 Mar 2026pre-release

    Nothing published for this version

  8. 22.6.0-pr.34876.039ddae17 Mar 2026pre-release

    Nothing published for this version

  9. 22.6.0-pr.34866.93e888716 Mar 2026pre-release

    Nothing published for this version

  10. 22.6.0-pr.34764.c1c3b2710 Mar 2026pre-release

    Nothing published for this version

  11. 22.6.0-pr.34764.a95729610 Mar 2026pre-release

    Nothing published for this version

  12. 22.6.0-pr.34764.868a8639 Mar 2026pre-release

    Nothing published for this version

  13. 22.6.0-pr.34764.07d8b1510 Mar 2026pre-release

    Nothing published for this version

  14. 22.6.0-pr.34746.a1e500d6 Mar 2026pre-release

    Nothing published for this version

  15. 22.6.0-pr.34728.66566c05 Mar 2026pre-release

    Nothing published for this version

  16. 22.6.0-pr.34722.ef1fe915 Mar 2026pre-release

    Nothing published for this version

  17. 22.6.0-pr.34721.53ed28a6 Mar 2026pre-release

    Nothing published for this version

  18. 22.6.0-pr.34630.341e0e326 Feb 2026pre-release

    Nothing published for this version

  19. 22.6.0-pr.34619.1a7f4022 Mar 2026pre-release

    Nothing published for this version

  20. 22.6.0-pr.34600.455e59026 Feb 2026pre-release

    Nothing published for this version

  21. 22.6.0-pr.34591.64acf172 Mar 2026pre-release

    Nothing published for this version

  22. 22.6.0-pr.34414.d0fddb919 Feb 2026pre-release

    Nothing published for this version

  23. 22.6.0-pr.33655.b3efa094 Mar 2026pre-release

    Nothing published for this version

  24. 22.6.0-canary.20260317-b73cc6917 Mar 2026pre-release

    Nothing published for this version

  25. 22.6.0-canary.20260313-6b59e7413 Mar 2026pre-release

    Nothing published for this version

  26. 22.6.0-canary.20260311-e206a0d11 Mar 2026pre-release

    Nothing published for this version

  27. 22.6.0-canary.20260310-6326b9c10 Mar 2026pre-release

    Nothing published for this version

  28. 22.6.0-canary.20260309-4bb7c769 Mar 2026pre-release

    Nothing published for this version

  29. 22.6.0-canary.20260306-2cd3d586 Mar 2026pre-release

    Nothing published for this version

  30. 22.6.0-canary.20260306-18e47b36 Mar 2026pre-release

    Nothing published for this version

  31. 22.6.0-canary.20260304-e11be5d4 Mar 2026pre-release

    Nothing published for this version

  32. 22.6.0-canary.20260303-1a973ba3 Mar 2026pre-release

    Nothing published for this version

  33. 22.6.0-canary.20260302-923fc452 Mar 2026pre-release

    Nothing published for this version

  34. 22.6.0-canary.20260227-eb4988627 Feb 2026pre-release

    Nothing published for this version

  35. 22.6.0-canary.20260226-ac2ef1a26 Feb 2026pre-release

    Nothing published for this version

  36. 22.6.0-canary.20260225-dc81b8b25 Feb 2026pre-release

    Nothing published for this version

  37. 22.6.0-canary.20260224-6d9057224 Feb 2026pre-release

    Nothing published for this version

  38. 22.6.0-canary.20260223-dd325d723 Feb 2026pre-release

    Nothing published for this version

  39. 22.6.0-canary.20260220-df8a2c420 Feb 2026pre-release

    Nothing published for this version

  40. 22.6.0-canary.20260219-4ca3ee919 Feb 2026pre-release

    Nothing published for this version

  41. 22.6.0-canary.20260218-18bfb0b18 Feb 2026pre-release

    Nothing published for this version

  42. 22.6.0-beta.1416 Mar 2026pre-release
    Release notes

    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
    Open source →
  43. 22.6.0-beta.1313 Mar 2026pre-release
    Release notes

    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
    Open source →
  44. 22.6.0-beta.1211 Mar 2026pre-release
    Release notes

    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
    Open source →
  45. 22.6.0-beta.119 Mar 2026pre-release
    Release notes

    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
    Open source →
  46. 22.6.0-beta.106 Mar 2026pre-release
    Release notes

    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 items is 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
    Open source →
  47. 22.6.0-beta.94 Mar 2026pre-release
    Release notes

    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
    Open source →
  48. 22.6.0-beta.83 Mar 2026pre-release
    Release notes

    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
    Open source →
  49. 22.6.0-beta.727 Feb 2026pre-release
    Release notes

    22.6.0-beta.7 (2026-02-27)

    🚀 Features

    • core: use jemalloc with tuned decay timers for native module (#34444, #99)

    🩹 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
    Open source →
  50. 22.6.0-beta.627 Feb 2026pre-release
    Release notes

    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
    Open source →
  51. 22.6.0-beta.526 Feb 2026pre-release
    Release notes

    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
    Open source →
  52. 22.6.0-beta.426 Feb 2026pre-release
    Release notes

    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
    Open source →
  53. 22.6.0-beta.324 Feb 2026pre-release
    Release notes

    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.env fallback 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
    Open source →
  54. 22.6.0-beta.220 Feb 2026pre-release
    Release notes

    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
    Open source →
  55. 22.6.0-beta.120 Feb 2026pre-release
    Release notes

    22.6.0-beta.1 (2026-02-19)

    🚀 Features

    • core: use static_vcruntime to avoid msvcrt dependency (#19781, #19779)

    🩹 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
    Open source →
  56. 22.6.0-beta.018 Feb 2026pre-release
    Release notes

    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_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)
    • 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
    Open source →
  57. 22.5.44 Mar 2026
    Release notes

    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
    Open source →
  58. 22.5.326 Feb 2026
    Release notes

    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.env fallback 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
    Open source →
  59. 22.5.220 Feb 2026
    Release notes

    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_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)
    • 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
    Open source →
  60. 22.5.113 Feb 2026
    Release notes

    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
    Open source →