PackageTrack

npm · #4700 most downloaded on npm

@nx/eslint

23.1.2nrwl/nx

The ESLint plugin for Nx contains executors, generators and utilities used for linting JavaScript/TypeScript projects within an Nx workspace.

Release timeline

1760 releases since 2023
20232026

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 →