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. 23.0.0-beta.128 Apr 2026pre-release
    Release notes

    23.0.0-beta.1 (2026-04-27)

    🩹 Fixes

    • core: prevent spinner flicker when sync applying (#35445)
    • core: exclude hyperfine env vars from daemon env reflection (182273670a)
    • core: provide actionable feedback when running migrations and pre-install fails with npm peer dep errors (#33961, #33942)
    • core: consider virtual trees in multiGlobWithWorkspaceContext (#35447, #31805, #35373, #32588)
    • core: surface ./nx --version stderr and force devDeps install (#35469)
    • detox: generate valid JSON in .detoxrc for non-expo apps (bde1f18cef)
    • js: include extended tsconfigs from project references in typecheck inputs (#35457)
    • linter: detect root lint target added in same generator run (#35296, #23147, #34531)
    • testing: convert executor-based jest.config.ts and preserve type-only imports (#35286, #34593)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    Open source →
  2. 23.0.0-beta.024 Apr 2026pre-release
    Release notes

    23.0.0-beta.0 (2026-04-24)

    🚀 Features

    • core: add support for '...' as a spread token when merging target config (#34285)

    🩹 Fixes

    • core: remove redundant allWorkspaceFiles from the project graph pipeline (#34425)

    ❤️ Thank You

    • Claude
    • Craigory Coppola @AgentEnder
    • Leosvel Pérez Espinosa @leosvelperez
    Open source →
  3. 22.7.830 Jul 2026
    Release notes

    22.7.8 (2026-07-30)

    🩹 Fixes

    • angular-rspack: dispose stylesheet bundler so one-shot builds exit (#35869)
    • core: use workspace package manager when fetching migrations via install (#35866)
    • core: omit peer dependencies when installing packages to a temp dir (#36295)
    • core: prevent shell injection in nx import (#36348)
    • core: stop passing git revisions through a shell in affected commands (#36379)
    • core: allow nx build scripts in generated pnpm-workspace.yaml (#35564)
    • core: acknowledge @swc/core build script in generated pnpm-workspace.yaml (#35608)
    • core: keep real dependencies when omitting peers from npm temp installs (#36518, #36295)
    • core: bump pinned axios and brace-expansion past vulnerable versions (#36507, #36474)
    • detox: resolve jest versions locally instead of importing @nx/jest internals (3ce3f6ab6e)
    • docker: run release pipeline docker commands without a shell (#36505)
    • js: exclude typescript 7 from supported versions on 22.7.x (dc804964e9)
    • js: resolve the verdaccio bin through its package.json (#36479)
    • misc: use default import for chalk in @nx/workspace output.ts (#35523, #35521, #34111, #21201, #26667)
    • repo: use default inputs instead of the '...' token in nx-dev on 22.7.x (#35530)
    • repo: trust wix/brew tap so macOS detox CI can install applesimutils (#36146)
    • testing: seed typescript before plugins in e2e workspaces to avoid TS7 stub (7f5ffbfcbc)

    ❤️ Thank You

    Open source →
  4. 22.7.711 Jul 2026
    Release notes

    22.7.7 (2026-07-10)

    🩹 Fixes

    • core: prevent path traversal / zip-slip in self-hosted remote cache (#36116)
    • core: warn when the self-hosted remote cache disables TLS verification (NXC-4593) (#36132, #36116)
    • dotnet: declare obj as a publish output to fix sandbox violation (#35858)
    • dotnet: declare directory build props input for analyzer dotnet tasks (df7540195a)
    • dotnet: declare directory build props on the separate release build target (6545ee2222)
    • dotnet: declare directory build props on the analyzer tests dotnet targets (e72ee0dd79)

    ❤️ Thank You

    • FrozenPandaz @FrozenPandaz
    • Jason Jean @FrozenPandaz
    Open source →
  5. 22.7.623 Jun 2026
    Release notes

    22.7.6 (2026-06-23)

    🩹 Fixes

    • misc: bump happy-dom, tmp, and form-data to patched versions (#36013)

    ❤️ Thank You

    • Jack Hsu @jaysoo
    Open source →
  6. 22.7.527 May 2026
    Release notes

    22.7.5 (2026-05-27)

    🩹 Fixes

    • core: update tmp to 0.2.6 due to CVE-2026-44705 (#35813)

    ❤️ Thank You

    • Jack Hsu @jaysoo
    Open source →
  7. 22.7.425 May 2026
    Release notes

    22.7.4 (2026-05-25)

    🩹 Fixes

    • core: update brace-expansion and yaml (#35790)

    ❤️ Thank You

    • Jack Hsu @jaysoo
    Open source →
  8. 22.7.322 May 2026
    Release notes

    22.7.3 (2026-05-22)

    🚀 Features

    • js: support pnpm 11.2.2 (#35772)

    🩹 Fixes

    • angular: only add @oxc-project/runtime on the vitest-analog path (#35734)
    • angular-rspack: exclude eslint config from tailwind v4 source scan (#35663)
    • core: warn before installing unknown npm packages as preset (#35644)
    • core: preserve input order in createNodes plugin results (#35595)
    • core: resolve local plugin subpath imports from source (#35631)
    • core: treat undefined task parallelism as parallel when scheduling (#35736)
    • core: handle object form of bin field in getPrettierPath (#35680)
    • core: detect vscode copilot ai agent (#35757)
    • core: allow local plugin subpath imports without custom conditions (#35751, #35631)
    • dotnet: include Directory.. files in inputs (#35738)
    • gradle: add transitive:true to all tasks (#35677)
    • gradle: pin generated e2e project toolchain to installed JDK (#35703)
    • js: fall back to npm publish when bun publish fails with auth error (#35756)
    • linter: improve convert-to-flat-config output fidelity (#35330)
    • linter: only rewrite workspace-package peer deps to workspace:* (#35423, #35318, #33417)
    • misc: stop inferring projects: 'self' in dependsOn entries (#35686)
    • misc: skip $ escaping in file paths on windows (#35692)
    • repo: run dotnet restore before publish (#35771)
    • repo: run dotnet restore before macos e2e job (#35774)
    • rsbuild: infer build outputs from distPath.root directly (#35707)
    • rsbuild: lazy-require @rsbuild/core in plugin so spec mocks work after jest.resetModules (#35707)
    • testing: correct yargs-parser import in getJestProjectsAsync (#35672, #35654)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • Artur @arturovt
    • Benjamin Staneck @Stanzilla
    • Copilot @Copilot
    • Craigory Coppola @AgentEnder
    • FrozenPandaz @FrozenPandaz
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • leosvelperez @leosvelperez
    • Louie Weng @lourw
    Open source →
  9. 22.7.214 May 2026
    Release notes

    22.7.2 (2026-05-14)

    🚀 Features

    • gradle: stream batch task results to nx as they finish (#35487)
    • nx-dev: track docs analytics for code copy, LLM prompt, YouTube (#35526)
    • testing: add migration for Jest 30 snapshot guide link (#35629)

    🩹 Fixes

    • angular: disable vitest watch by default (#35493)
    • angular-rspack: keep root-scoped assets out of per-locale i18n emit (#35621)
    • bundling: include tsconfig solution input for rollup (#35476)
    • bundling: include tsconfig solution input for webpack (#35477, #35476)
    • core: bump axios to 1.16.0 for all packages (#35568)
    • core: add provenance check in nx console status path (#35485)
    • core: remove access control header from graph app (#35494)
    • core: ensure verbose logs go to stderr and daemon logs are properly decorated (#34358)
    • core: show flaky-task count in run summary (#35491)
    • core: unique telemetry user_id; expose workspace_id dimension (#35553)
    • core: update minimatch to 10.2.5 (#35569, #34660)
    • core: restore use-legacy-versioning shim for @nx/js@21 ensurePackage path (#35574)
    • core: isolate NX_PARALLEL env var in parallel-related specs (#35579)
    • core: skip handleimport miss path when nx key packages are absent (#35596)
    • core: use gethostuuid(3) instead of ioreg on macOS (#35599)
    • core: isolate cache env vars in splitArgs spec (#35584)
    • core: enable node's native v8 compile cache support (#35415, #20454)
    • core: support skipped batch tasks end-to-end and fix TUI double logs (#35617)
    • core: keep TUI task selection on the in-progress section (#35640)
    • core: allow nx mcp to run outside of an Nx workspace (#35655)
    • core: cast perf entries to PerformanceMeasure for detail access (43c0c821ba)
    • devkit: exclude dist from jest module path scan (#35615)
    • devkit: expand @nx/devkit/internal re-exports for cherry-picked v23 deep-import migration (#35541)
    • dotnet: correct output paths for Web SDK and centralized dist setups (#35398)
    • gradle: exclude batch-runner from jest haste-map crawl (#35501)
    • gradle: exclude project-graph from jest module path scan (#35609)
    • gradle: support Windows file paths (#35184, #34987)
    • js: strip glob from inferred outputs before resolving as path (#35463, #35452)
    • js: reference vitest.config in eslint dep-checks for vitest libs (#35460, #33670, #35450)
    • js: include transitive workspace deps in pruned pnpm lockfile (#35532, #35347, #34655)
    • linter: prevent ENOENT crash in getRelativeImportPath for unresolvable paths (#35007, #13872, #34066, #30491, #16716, #35006, #21889, #32190)
    • maven: skip attached artifacts that fail to materialize in batch record (#35473)
    • maven: serialize Maven 4 build state recording (#35555)
    • maven: widen runCLI timeout for --no-batch maven.test.ts cases (#35589)
    • nx-dev: document nested CLI subcommands beyond two levels (#35519)
    • nx-dev: short-circuit bot probes in framer rewrite edge function (#35527)
    • react: withSvgr migration preserves other properties (#35484)
    • repo: clear NX_INVOCATION_ROOT_PID in run-native-target to avoid recursion false-positive (443dee0b22)
    • repo: revert deep-import rewrites that targeted v23-only @nx/devkit/internal entry (ac8187963d)
    • repo: unblock 22.7.x cargo tests and nx-build e2e (#34285)
    • repo: expand "..." spread token in graph typecheck inputs (#34285, #35458)
    • testing: pin jest to ~30.3.0 to avoid jest-runtime 30.4 RN incompat (#35618)
    • testing: handle absolute cypress screenshotsFolder/videosFolder paths (#35624)
    • testing: exclude dist and out-tsc from default jest module path scan (#35619)
    • testing: update remaining snapshot guide links missed by migration (cd350c1140)

    ❤️ Thank You

    • Adam Keenan @adamk33n3r
    • AgentEnder @AgentEnder
    • beeman
    • Claude
    • Craigory Coppola @AgentEnder
    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Max Kless
    • MaxKless @MaxKless
    • Optischa @Optischa
    • Sharon Lougheed
    Open source →
  10. 22.7.128 Apr 2026
    Release notes

    22.7.1 (2026-04-28)

    🩹 Fixes

    • core: prevent spinner flicker when sync applying (#35445)
    • core: exclude hyperfine env vars from daemon env reflection (5095b4be7d)
    • core: provide actionable feedback when running migrations and pre-install fails with npm peer dep errors (#33961, #33942)
    • core: consider virtual trees in multiGlobWithWorkspaceContext (#35447, #31805, #35373, #32588)
    • core: surface ./nx --version stderr and force devDeps install (#35469)
    • core: keep continuous children alive when nx:noop orchestrator completes (#35388)
    • core: start TUI event reader synchronously in enter() to prevent stdin race (#35465, #34619, #34144)
    • core: use require for global to local Nx handoff so Windows drive paths work (#35478)
    • core: prevent daemon shutdown from cache-poisoned in-process nx loads (#35482, #35444, #34463, #34111)
    • detox: generate valid JSON in .detoxrc for non-expo apps (eb2fa8ced4)
    • js: include extended tsconfigs from project references in typecheck inputs (#35457)
    • linter: detect root lint target added in same generator run (#35296, #23147, #34531)
    • misc: exclude stories and specs from tailwind content scanning (#35470)
    • misc: resolve pnpm catalog: refs in version lookups (#35459, #35453)
    • nextjs: use cached project graph in withNx (#35475, #34518, #32880)
    • node: include tsconfig input in node-app esbuild scaffold (#35466)
    • release: handle short and full project names in commit scopes (#34219)
    • testing: convert executor-based jest.config.ts and preserve type-only imports (#35286, #34593)

    ❤️ Thank You

    • Claude
    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • ShwethaSundar
    Open source →
  11. 22.7.024 Apr 2026
    Release notes

    22.7.0 (2026-04-24)

    🚀 Features

    • core: add .nx/self-healing to .gitignore (#34855)
    • core: decouple DB version from Nx version and share DB across worktrees (#34942)
    • core: auto-open browser for Cloud setup URL during create-nx-workspace (#35014)
    • core: allow generate command to skip project graph creation (#35170)
    • core: remove polygraph cloud passthrough (#35153)
    • core: use CNW variant 1 cloud prompt in nx init (#35155)
    • core: add source map annotations to nx show target (#35225)
    • core: prompt for setup mode when running nx init in empty git directory (#35226)
    • core: add json input type for selective JSON field hashing (#35248)
    • core: update nx-set-shas usage to v5 (#34934)
    • core: add NX_BAIL environment variable (#34711)
    • core: add page up/down to tui shortcuts (#34525)
    • core: add logging and progress message types to daemon (#35342)
    • dotnet: add ci-workflow generator (#33321)
    • js: support nx.sync.ignoredDependencies in typescript-sync (#35401)
    • misc: a/b test cloud prompt copy in create-nx-workspace (#35039)
    • misc: update nx init telemetry meta from CSV to JSON format (#35076)
    • misc: lock in CNW cloud prompt A/B winner and add new variants (#35154)
    • nx-dev: add conditional blog/changelog proxy in edge function (#35043)
    • nx-dev: add nx-blog sitemap to root sitemap index (#35363)
    • repo: add nx-labs repo target and use glob pattern for update-all-repos (#34999)
    • repo: enable tsgo compiler for nx package (#35047)
    • repo: enforce no-disabled-tests via ESLint with per-project warning caps (#35122)
    • repo: add e2e test for nx build process verification (#35119)
    • vite: add compiler option to vite plugin for tsgo support (#35429, #33821, #35047, #35167)

    🩹 Fixes

    • angular: update duplicate migration keys (#34961)
    • angular: add storybook and playwright as implicit dependencies (#35224)
    • angular: preserve specific file paths in tsconfig when adding secondary entry point (#35254, #33051)
    • angular: fall back to addUndefinedDefaults when addUndefinedObjectDefaults is unavailable (#35290)
    • angular-rspack: ensure rebuild chunks emitted summary accurate (#34979, #34936)
    • angular-rspack: normalize Windows path separators for i18n (#35252, #32864)
    • angular-rspack: add fileReplacements to resolve.alias (#34197)
    • angular-rspack: fixes issues with angular-rspack hmr (#35294, #35040)
    • bundling: disable swc input source map resolution (#35010, #32671)
    • bundling: bump esbuild for new projects to a version compatible with vite 8 (#35132)
    • bundling: declare tsconfig.json as input for esbuild targets (#35432)
    • 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)
    • core: split-target should handle projects with colons in name better (#34725)
    • core: prevent TUI crash when task output arrives after completion (#34785, #34677)
    • core: respect --parallel limit for discrete task concurrency (#34721, #34117, #31494)
    • core: use scroll-offset-based scrollbar positioning in TUI (#34689)
    • core: skip import-equals namespace aliases in native scanner (#34947, #34644)
    • core: include command name on all telemetry events (#34949)
    • core: skip workspace context setup when global bin hands off to local (#34953, #34914)
    • core: add explicit exports entry for nx/src/native directory (#34967, #34111)
    • core: use upsert to prevent FK constraint violations in task DB (#34977)
    • core: runtime inputs shouldn't be cached at task_hasher layer and filesets should be in the hash_plans layer (#34971, #30170)
    • core: suppress postinstall error output when nx is not yet built (#34986)
    • core: show better log message when isolated plugin shuts down after hook completion (#34922)
    • core: handle owners and conformance project refs on move/remove (#34815)
    • core: resolve published nx migrate package resolution (#35013, #34111)
    • core: prevent batch executor error on prematurely completed tasks (#35015)
    • core: add timeouts to GitHub push flow to prevent CLI hangs (#35011, #34482)
    • core: prevent nx watch infinite loop from overly broad output globs (#34995)
    • core: add package export for nx/release/changelog-renderer (#35033)
    • core: validate bundler option for Angular presets in create-nx-workspace (#35074)
    • core: handle "." and absolute paths as workspace name in CNW (#35083, #1)
    • core: pin version of axios (#35093)
    • core: preserve sibling dependency inputs in native hashing (#35071)
    • core: restore nx package exports compatibility (#35095)
    • core: sandbox exclusions, multi-line typeof import detection, global ensurePackage mock (#35056)
    • core: restore metadata table for telemetry session tracking (#35099)
    • core: no-interactive should disable prompts during migrate (#35106)
    • core: reduce published nx package size with files allowlist (#35109)
    • core: clean up legacy .gemini/skills during configure-ai-agents (#35117)
    • core: copy pnpm install configuration to generated package.json (#35016, #30240)
    • core: improve migrate error reporting (#34980)
    • core: display actual error message when plugin loading fails (#35138, #35137)
    • core: bump axios to 1.13.5 to resolve CVE-2026-25639 (#35148, #35145)
    • core: update and pin ejs to 5.0.1 (#35157)
    • core: misc tui perf fixes (#35187)
    • core: replace LGPL-licensed @ltd/j-toml with BSD-3-Clause smol-toml (#35188)
    • core: supply chain hardening via transitive dependency pinning (#35159)
    • core: kill discrete tasks and use tree-kill for batch cleanup on SIGINT (#35175)
    • core: support cross-file variable references in .env files (#34956, #34955)
    • core: disable Yarn scripts for temp nx@latest installs (#35210)
    • core: use fresh package manager cache for e2e tests (#35211)
    • core: add missing inputs and sandbox exclusions for native tasks (#35212)
    • core: prevent phantom connections and dead polling in plugin workers (#34823, #34388)
    • core: ensure build tasks use copyReadme named input (#35217)
    • core: add prettier config inputs to astro-docs format target (#35222)
    • core: add vale-changed.mjs script to vale target inputs (d4c55d806a)
    • core: add missing build inputs for angular-rspack example projects (fd0dff1078)
    • core: add run-native-target script input to dotnet build-analyzer (#35221)
    • core: overwrite inferred script target when nx prop defines executor or command (#35227)
    • core: exclude populate-local-registry-storage from sandbox I/O checks (#35239)
    • core: replace exec() with spawn() to prevent maxBuffer crash on large command output (#35256)
    • core: inline daemon status check, drop subprocess workaround (#35273)
    • core: don't cache project graph errors on daemon (#35088)
    • core: cap TUI parallel slots by total task count (#35299)
    • core: don't hang when workspace contains a named pipe (#35289)
    • core: optimize warm cache performance for task execution (#35172, #31067)
    • core: allow controlling migrate fallback installation concurrency (#35312)
    • core: support pnpm multi-document lockfiles (#35271)
    • core: await queued processTask promises before cache.getBatch (#35322, #35172)
    • core: use v8 serialization in pseudo-IPC channel (#35332)
    • core: recognize json inputs in TS task hasher fallback (#35334)
    • core: speed up nx --version by avoiding heavy imports (#35326)
    • core: resolve native binary crash on aarch64 linux with 16K/64K page kernels (#35356, #145353, #6541, #1547, #1549, #35345)
    • core: normalize spawned run-commands output (#35358)
    • core: create process report on fatal error in .nx/workspace-data (#35193)
    • core: improve native TypeScript type definitions (#35251)
    • core: don't spread plugin name into set constructor (#35385)
    • core: allow --target/-t and -p flags for nx run with colon targets (#35394, #35098)
    • core: make nx version lookup bundle-safe (#35430)
    • core: restore top-level schemas/ in published nx package (#35427, #34111, #35109, #35411)
    • core: wait for stdio drain before capturing task output (#35422, #35302)
    • core: prevent deferred spinner text update from causing early spinner appearance (#35435)
    • devkit: prevent double install in generators for TS solution workspaces (#34891)
    • devkit: add startTime and endTime to TaskResult interface (#34996)
    • gradle: remove annotations from atomizer (#34871)
    • gradle: ignore test enums when atomizing (#34974)
    • gradle: increase project graph timeout defaults (#35058)
    • gradle: use object notation for exclude tasks (#35085)
    • gradle: detect @Input provider-based dependencies (#35090)
    • gradle: prevent Gradle and Maven daemon accumulation during project graph recalculation (#35143)
    • gradle: infer input extensions on project graph generation (#35160)
    • gradle: hoist shared task computation out of per-class loop in atomized CI target generation (#35199)
    • gradle: patch 0.1.19 to beta.11 (#35202)
    • gradle: recognize Kotlin compile tasks in inferred input extensions (#35335)
    • gradle: resolve sandbox violations in e2e-gradle tests (#35349, #35315)
    • js: normalize cwd path separator in typescript plugin targets (#34911)
    • js: preserve tsconfig fields in typescript plugin cache (#34908)
    • js: pass configName to typecheck command in TS plugin (#34989, #34274)
    • js: add input on .d.ts files within dependency projects (#34968)
    • js: add {projectRoot} prefix to d.ts fileset in typescript plugin (#35037)
    • js: recognize tsgo in dependency-checks lint rule (#35048)
    • js: narrow tsc build-base outputs to only tsc-produced file types (#35041)
    • js: include tsbuildinfo in narrowed tsc build-base outputs (#35086, #35041)
    • js: use explicit nx/bin/nx path in start-local-registry (#35127)
    • js: resolve ENOWORKSPACES test error in setupVerdaccio for @nx/js:library generator (#34755)
    • js: include npm overrides in generated lockfile (#35192, #34529)
    • js: stop generating baseUrl in tsconfig, use ./ prefix for path mappings (#34965, #32958)
    • js: suppress false swc-node/ts-node warning on Node 22.18+ (#35247, #32567)
    • js: avoid full source scan in readTsConfigPaths (#35300)
    • js: resolve project tsconfig for inferred tsc run-commands targets in dependency-checks (#35291)
    • js: declare .d.cts/.d.mts as typecheck inputs and outputs (#35357)
    • js: resolve build output dir from globbed outputs in node executor (#35288, #35041, #35198, #35301)
    • js: avoid double-prefixing node executor output paths (#35050, #35044, #33577)
    • js: add npm workspace support to prune-lockfile executor (#35383, #33523)
    • 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)
    • linter: prepend framework configs before baseConfig in flat config generation (#34898, #28381, #32923)
    • linter: remove custom eslint hasher (d64aeef5df)
    • linter: infer extended tsconfig files as task inputs (#35190)
    • linter: add missing inputs to eslint executor target defaults (#35236)
    • maven: prevent batch executor hang from premature worker exit (#35001, #34757)
    • maven: make install targets noop when maven.install.skip=true (#35009)
    • maven: log analyzer startup under verbose instead of stdout (#35361)
    • maven: honor settings.xml in Maven 3 batch runner (#35216)
    • misc: make webinar banner theme-aware with light mode support (#35029)
    • misc: handle non-interactive mode and add template shorthand names for CNW (#35045)
    • misc: use workspace root for package manager detection and normalize paths in plugins (#35116)
    • misc: stream Framer proxy responses and add edge function timing (#35215)
    • misc: bump axios to 1.15.0 for all packages (#35237)
    • misc: allow create-nx-workspace . --no-interactive in empty directory (#35281)
    • misc: remove process exit handlers when child process exits (#35279)
    • module-federation: enable ESM output for Angular rspack MF plugin (#34839, #34584, #33992)
    • module-federation: bump @module-federation/enhanced to ^2.3.3 (#35314, #35311)
    • nextjs: align nx-dev build inputs and update plugin defaults (#35238)
    • nextjs: add semver to required packages in update-package-json (#35384, #34095)
    • node: split package-manager exec command for VS Code launch.json (#35295, #35276)
    • nx-cloud: remove invalid images (#34997, #34970)
    • nx-dev: resolve changelog page 500 error (#34920, #34909)
    • nx-dev: build nx-dev in-place to fix ai package resolution (#34730, #34669)
    • nx-dev: improve docs search ranking and metrics (#34992)
    • nx-dev: correct YouTube channel URL on courses page (#35034)
    • nx-dev: improve search ranking for reference pages (#35243, #1, #7, #2)
    • nx-dev: seo improvements for nx.dev/docs (#35244)
    • nx-dev: restore sitemap generation (#35351)
    • nx-dev: remove broken header links (podcast) (#35410)
    • react: force Vite 7 when using React Router in framework mode (#35101)
    • react: support Vite 8 for React Router apps (#35365)
    • release: fall back to gh user search for author usernames (#34904)
    • release: surface swallowed publish errors when stdout is not valid JSON (#35283, #34497)
    • release: apply preid to dependent patch bumps (#35381, #33488)
    • repo: skip flaky Cypress HMR e2e tests (#34969)
    • repo: use @nx/nx-source export condition in jest resolver (#34972)
    • repo: resolve FreeBSD build disk space issue (#35030)
    • repo: add copy-assets plugin and migrate all packages from legacy-post-build (#34994)
    • repo: copy-assets plugin and e2e improvements (#35042, #34994)
    • repo: pass env vars into docker builds in publish workflow (#35060)
    • repo: bump picomatch from 4.0.2 to 4.0.4 (#35081, #35068)
    • repo: fixup lock-threads failing with resource inaccessible message (#35005)
    • repo: re-enable Cypress HMR e2e tests after upstream tapable fix (#35105, #34969, #20693)
    • repo: clean Angular CLI restore target before cache copy (#35121)
    • repo: correct build target outputs for docker and vue packages (#35136)
    • repo: narrow copy-assets outputs to prevent overlap with build-base (#35097)
    • repo: update issue-notifier.yml (#35178)
    • repo: resolve FreeBSD build OOM and disk exhaustion (#35309, #35231)
    • repo: switch agent apt mirror to azure to avoid canonical sync races (#35324)
    • testing: handle undefined options in playwright preset (#34750)
    • testing: gracefully handle broken jest configs in alias migration (#34901)
    • testing: add dependent .d.ts inputs for ts-jest without isolatedModules (#35231)
    • testing: declare external tsconfig files as playwright e2e task inputs (#35287)
    • testing: include config file path in plugin hash calculation (#35346)
    • vite: add support for Vite 8 (#34850, #34849)
    • vite: update vitest and plugin-react-swc versions for vite 8 compat (#35062)
    • vite: bump sass version for vue/nuxt presets for Vite 8 compat (#35073)
    • vitest: resolve addPlugin default in init generator (#34990)
    • vitest: add dependent task output files as inputs for vitest test targets (#35242)
    • vitest: infer ancestor tsconfig files as test task inputs (#35241)
    • webpack: bump postcss-loader to ^8.2.1 to eliminate transitive [email protected] CVE (#35028, #35025)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • AI-JamesHenry @AI-JamesHenry
    • Alexandre Ducarne @JiggyJinjo
    • Amp
    • barbados-clemens @barbados-clemens
    • Ben Snyder
    • Caleb Ukle
    • Charlie Croom
    • Claude
    • Claude Opus 4.6
    • Claude Opus 4.6 (1M context)
    • Colum Ferry @Coly010
    • Copilot @Copilot
    • Craigory Coppola @AgentEnder
    • dan-winters @dan-winters
    • Eric Baer
    • FrozenPandaz @FrozenPandaz
    • FUASHI LOT-BILL
    • Jack Baker
    • Jack Hsu @jaysoo
    • Jack Stevenson
    • James Henry @JamesHenry
    • jase @jase88
    • Jason Jean @FrozenPandaz
    • Jay Bell
    • jaysoo @jaysoo
    • Jeff Miller @jeff-miller-cfa
    • John Wiegert
    • Juri Strumpflohner @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • leosvelperez @leosvelperez
    • Louie Weng @lourw
    • lourw @lourw
    • Lucas Estevão
    • MaxKless @MaxKless
    • Miroslav Jonaš @meeroslav
    • mungodewar @mungodewar
    • Nelson Dominguez @ekkolon
    • Parker Norwood @parker-norwood
    • Raashish Aggarwal @raashish1601
    • Robert Sidzinka
    • Sai Asish Y @SAY-5
    • Seth Davenport @SethDavenport
    • Steven Nance
    • Tomas Ptacek @faileon
    • Victor Savkin @vsavkin
    Open source →
  12. 22.7.0-rc.224 Apr 2026pre-release
    Release notes

    22.7.0-rc.2 (2026-04-24)

    🚀 Features

    🩹 Fixes

    • bundling: declare tsconfig.json as input for esbuild targets (#35432)
    • core: allow --target/-t and -p flags for nx run with colon targets (#35394, #35098)
    • core: make nx version lookup bundle-safe (#35430)
    • core: restore top-level schemas/ in published nx package (#35427, #34111, #35109, #35411)
    • core: wait for stdio drain before capturing task output (#35422, #35302)
    • js: add npm workspace support to prune-lockfile executor (#35383, #33523)
    • maven: honor settings.xml in Maven 3 batch runner (#35216)
    • misc: remove process exit handlers when child process exits (#35279)
    • nx-dev: remove broken header links (podcast) (#35410)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Jeff Miller @jeff-miller-cfa
    • Juri Strumpflohner @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • Lucas Estevão
    • MaxKless @MaxKless
    • Seth Davenport @SethDavenport
    Open source →
  13. 22.7.0-rc.123 Apr 2026pre-release
    Release notes

    22.7.0-rc.1 (2026-04-23)

    🚀 Features

    • js: support nx.sync.ignoredDependencies in typescript-sync (#35401)

    🩹 Fixes

    ❤️ Thank You

    • Claude
    • Craigory Coppola @AgentEnder
    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • Raashish Aggarwal @raashish1601
    Open source →
  14. 22.7.0-rc.022 Apr 2026pre-release
    Release notes

    22.7.0-rc.0 (2026-04-22)

    🩹 Fixes

    • core: don't spread plugin name into set constructor (#35385)
    • nextjs: add semver to required packages in update-package-json (#35384, #34095)
    • react: support Vite 8 for React Router apps (#35365)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    Open source →
  15. 22.7.0-pr.35413.8891d1723 Apr 2026pre-release

    Nothing published for this version

  16. 22.7.0-pr.35356.e1b62ce21 Apr 2026pre-release

    Nothing published for this version

  17. 22.7.0-pr.35019.f500fd725 Mar 2026pre-release

    Nothing published for this version

  18. 22.7.0-pr.34971.73bed1f24 Mar 2026pre-release

    Nothing published for this version

  19. 22.7.0-pr.34971.531c09c23 Mar 2026pre-release

    Nothing published for this version

  20. 22.7.0-pr.34941.897df6923 Mar 2026pre-release

    Nothing published for this version

  21. 22.7.0-pr.34894.3fb67b519 Mar 2026pre-release

    Nothing published for this version

  22. 22.7.0-pr.34823.636be203 Apr 2026pre-release

    Nothing published for this version

  23. 22.7.0-pr.33655.d8f5d5030 Mar 2026pre-release

    Nothing published for this version

  24. 22.7.0-pr.33655.9c4745323 Mar 2026pre-release

    Nothing published for this version

  25. 22.7.0-pr.33655.57246dd22 Apr 2026pre-release

    Nothing published for this version

  26. 22.7.0-pr.33655.527519b25 Mar 2026pre-release

    Nothing published for this version

  27. 22.7.0-pr.33655.2b962771 Apr 2026pre-release

    Nothing published for this version

  28. 22.7.0-pr.33655.12b0dd724 Mar 2026pre-release

    Nothing published for this version

  29. 22.7.0-canary.20260422-3d9bc7a22 Apr 2026pre-release

    Nothing published for this version

  30. 22.7.0-canary.20260417-8f47bf217 Apr 2026pre-release

    Nothing published for this version

  31. 22.7.0-canary.20260407-918193a7 Apr 2026pre-release

    Nothing published for this version

  32. 22.7.0-canary.20260407-794e0b47 Apr 2026pre-release

    Nothing published for this version

  33. 22.7.0-canary.20260403-8d35b8a3 Apr 2026pre-release

    Nothing published for this version

  34. 22.7.0-canary.20260331-63a8f2731 Mar 2026pre-release

    Nothing published for this version

  35. 22.7.0-canary.20260327-691bb1127 Mar 2026pre-release

    Nothing published for this version

  36. 22.7.0-canary.20260325-bc9823925 Mar 2026pre-release

    Nothing published for this version

  37. 22.7.0-canary.20260322-79bbe1b22 Mar 2026pre-release

    Nothing published for this version

  38. 22.7.0-canary.20260320-2c4fb2a20 Mar 2026pre-release

    Nothing published for this version

  39. 22.7.0-beta.1722 Apr 2026pre-release
    Release notes

    22.7.0-beta.17 (2026-04-22)

    🚀 Features

    • core: add logging and progress message types to daemon (#35342)
    • nx-dev: add nx-blog sitemap to root sitemap index (#35363)

    🩹 Fixes

    • core: create process report on fatal error in .nx/workspace-data (#35193)
    • core: improve native TypeScript type definitions (#35251)
    • maven: log analyzer startup under verbose instead of stdout (#35361)
    • misc: allow create-nx-workspace . --no-interactive in empty directory (#35281)
    • testing: include config file path in plugin hash calculation (#35346)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • Claude
    • Claude Opus 4.6
    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jack Stevenson
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • mungodewar @mungodewar
    Open source →
  40. 22.7.0-beta.1621 Apr 2026pre-release
    Release notes

    22.7.0-beta.16 (2026-04-21)

    🩹 Fixes

    • core: speed up nx --version by avoiding heavy imports (#35326)
    • core: resolve native binary crash on aarch64 linux with 16K/64K page kernels (#35356, #145353, #6541, #1547, #1549, #35345)
    • core: normalize spawned run-commands output (#35358)
    • gradle: recognize Kotlin compile tasks in inferred input extensions (#35335)
    • gradle: resolve sandbox violations in e2e-gradle tests (#35349, #35315)
    • js: declare .d.cts/.d.mts as typecheck inputs and outputs (#35357)
    • js: resolve build output dir from globbed outputs in node executor (#35288, #35041, #35198, #35301)
    • module-federation: bump @module-federation/enhanced to ^2.3.3 (#35314, #35311)
    • nx-dev: restore sitemap generation (#35351)

    ❤️ Thank You

    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    Open source →
  41. 22.7.0-beta.1517 Apr 2026pre-release
    Release notes

    22.7.0-beta.15 (2026-04-17)

    🩹 Fixes

    • core: use v8 serialization in pseudo-IPC channel (#35332)
    • core: recognize json inputs in TS task hasher fallback (#35334)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • Craigory Coppola @AgentEnder
    Open source →
  42. 22.7.0-beta.1417 Apr 2026pre-release
    Release notes

    22.7.0-beta.14 (2026-04-17)

    🚀 Features

    • core: add page up/down to tui shortcuts (#34525)

    🩹 Fixes

    • core: allow controlling migrate fallback installation concurrency (#35312)
    • core: support pnpm multi-document lockfiles (#35271)
    • core: await queued processTask promises before cache.getBatch (#35322, #35172)
    • repo: switch agent apt mirror to azure to avoid canonical sync races (#35324)

    ❤️ Thank You

    • Ben Snyder
    • Caleb Ukle
    • Craigory Coppola @AgentEnder
    • Jason Jean @FrozenPandaz
    • Jay Bell
    • Leosvel Pérez Espinosa @leosvelperez
    Open source →
  43. 22.7.0-beta.1316 Apr 2026pre-release
    Release notes

    22.7.0-beta.13 (2026-04-16)

    🚀 Features

    • core: add json input type for selective JSON field hashing (#35248)
    • core: update nx-set-shas usage to v5 (#34934)
    • core: add NX_BAIL environment variable (#34711)

    🩹 Fixes

    • angular: preserve specific file paths in tsconfig when adding secondary entry point (#35254, #33051)
    • angular: fall back to addUndefinedDefaults when addUndefinedObjectDefaults is unavailable (#35290)
    • angular-rspack: normalize Windows path separators for i18n (#35252, #32864)
    • angular-rspack: add fileReplacements to resolve.alias (#34197)
    • angular-rspack: fixes issues with angular-rspack hmr (#35294, #35040)
    • core: replace exec() with spawn() to prevent maxBuffer crash on large command output (#35256)
    • core: inline daemon status check, drop subprocess workaround (#35273)
    • core: don't cache project graph errors on daemon (#35088)
    • core: cap TUI parallel slots by total task count (#35299)
    • core: don't hang when workspace contains a named pipe (#35289)
    • core: optimize warm cache performance for task execution (#35172, #31067)
    • js: stop generating baseUrl in tsconfig, use ./ prefix for path mappings (#34965, #32958)
    • js: suppress false swc-node/ts-node warning on Node 22.18+ (#35247, #32567)
    • js: avoid full source scan in readTsConfigPaths (#35300)
    • js: resolve project tsconfig for inferred tsc run-commands targets in dependency-checks (#35291)
    • nextjs: align nx-dev build inputs and update plugin defaults (#35238)
    • node: split package-manager exec command for VS Code launch.json (#35295, #35276)
    • nx-dev: improve search ranking for reference pages (#35243, #1, #7, #2)
    • nx-dev: seo improvements for nx.dev/docs (#35244)
    • release: surface swallowed publish errors when stdout is not valid JSON (#35283, #34497)
    • repo: resolve FreeBSD build OOM and disk exhaustion (#35309, #35231)
    • testing: declare external tsconfig files as playwright e2e task inputs (#35287)
    • vitest: add dependent task output files as inputs for vitest test targets (#35242)
    • vitest: infer ancestor tsconfig files as test task inputs (#35241)

    ❤️ Thank You

    • Caleb Ukle
    • Claude Opus 4.6 (1M context)
    • Craigory Coppola @AgentEnder
    • dan-winters @dan-winters
    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • jase @jase88
    • Jason Jean @FrozenPandaz
    • jaysoo @jaysoo
    • Leosvel Pérez Espinosa @leosvelperez
    • Miroslav Jonaš @meeroslav
    • Nelson Dominguez @ekkolon
    • Sai Asish Y @SAY-5
    • Tomas Ptacek @faileon
    Open source →
  44. 22.7.0-beta.1210 Apr 2026pre-release
    Release notes

    22.7.0-beta.12 (2026-04-10)

    🚀 Features

    • core: use CNW variant 1 cloud prompt in nx init (#35155)
    • core: add source map annotations to nx show target (#35225)
    • core: prompt for setup mode when running nx init in empty git directory (#35226)

    🩹 Fixes

    • angular: add storybook and playwright as implicit dependencies (#35224)
    • core: support cross-file variable references in .env files (#34956, #34955)
    • core: disable Yarn scripts for temp nx@latest installs (#35210)
    • core: use fresh package manager cache for e2e tests (#35211)
    • core: add missing inputs and sandbox exclusions for native tasks (#35212)
    • core: prevent phantom connections and dead polling in plugin workers (#34823, #34388)
    • core: ensure build tasks use copyReadme named input (#35217)
    • core: add prettier config inputs to astro-docs format target (#35222)
    • core: add vale-changed.mjs script to vale target inputs (d4c55d806a)
    • core: add missing build inputs for angular-rspack example projects (fd0dff1078)
    • core: add run-native-target script input to dotnet build-analyzer (#35221)
    • core: overwrite inferred script target when nx prop defines executor or command (#35227)
    • core: exclude populate-local-registry-storage from sandbox I/O checks (#35239)
    • js: include npm overrides in generated lockfile (#35192, #34529)
    • linter: remove custom eslint hasher (d64aeef5df)
    • linter: infer extended tsconfig files as task inputs (#35190)
    • linter: add missing inputs to eslint executor target defaults (#35236)
    • misc: stream Framer proxy responses and add edge function timing (#35215)
    • misc: bump axios to 1.15.0 for all packages (#35237)
    • testing: add dependent .d.ts inputs for ts-jest without isolatedModules (#35231)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • Claude
    • Craigory Coppola @AgentEnder
    • FrozenPandaz @FrozenPandaz
    • FUASHI LOT-BILL
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    Open source →
  45. 22.7.0-beta.118 Apr 2026pre-release
    Release notes

    22.7.0-beta.11 (2026-04-08)

    🚀 Features

    • core: allow generate command to skip project graph creation (#35170)
    • core: remove polygraph cloud passthrough (#35153)
    • repo: add e2e test for nx build process verification (#35119)

    🩹 Fixes

    • core: misc tui perf fixes (#35187)
    • core: replace LGPL-licensed @ltd/j-toml with BSD-3-Clause smol-toml (#35188)
    • core: supply chain hardening via transitive dependency pinning (#35159)
    • core: kill discrete tasks and use tree-kill for batch cleanup on SIGINT (#35175)
    • gradle: infer input extensions on project graph generation (#35160)
    • gradle: hoist shared task computation out of per-class loop in atomized CI target generation (#35199)
    • gradle: patch 0.1.19 to beta.11 (#35202)
    • maven: prevent batch executor hang from premature worker exit (#35001, #34757)
    • maven: make install targets noop when maven.install.skip=true (#35009)
    • repo: update issue-notifier.yml (#35178)

    ❤️ Thank You

    • Alexandre Ducarne @JiggyJinjo
    • Claude
    • Claude Opus 4.6 (1M context)
    • Craigory Coppola @AgentEnder
    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • jaysoo @jaysoo
    • Louie Weng @lourw
    • MaxKless @MaxKless
    • Victor Savkin @vsavkin
    Open source →
  46. 22.7.0-beta.102 Apr 2026pre-release
    Release notes

    22.7.0-beta.10 (2026-04-02)

    🚀 Features

    • misc: lock in CNW cloud prompt A/B winner and add new variants (#35154)
    • repo: enforce no-disabled-tests via ESLint with per-project warning caps (#35122)

    🩹 Fixes

    • bundling: bump esbuild for new projects to a version compatible with vite 8 (#35132)
    • core: reduce published nx package size with files allowlist (#35109)
    • core: clean up legacy .gemini/skills during configure-ai-agents (#35117)
    • core: copy pnpm install configuration to generated package.json (#35016, #30240)
    • core: improve migrate error reporting (#34980)
    • core: display actual error message when plugin loading fails (#35138, #35137)
    • core: bump axios to 1.13.5 to resolve CVE-2026-25639 (#35148, #35145)
    • core: update and pin ejs to 5.0.1 (#35157)
    • gradle: prevent Gradle and Maven daemon accumulation during project graph recalculation (#35143)
    • js: use explicit nx/bin/nx path in start-local-registry (#35127)
    • js: resolve ENOWORKSPACES test error in setupVerdaccio for @nx/js:library generator (#34755)
    • misc: use workspace root for package manager detection and normalize paths in plugins (#35116)
    • repo: clean Angular CLI restore target before cache copy (#35121)
    • repo: correct build target outputs for docker and vue packages (#35136)
    • repo: narrow copy-assets outputs to prevent overlap with build-base (#35097)

    ❤️ Thank You

    • Claude Opus 4.6
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • leosvelperez @leosvelperez
    • MaxKless @MaxKless
    • Parker Norwood @parker-norwood
    • Robert Sidzinka
    • Steven Nance
    Open source →
  47. 22.7.0-beta.91 Apr 2026pre-release
    Release notes

    22.7.0-beta.9 (2026-03-31)

    🩹 Fixes

    • core: restore metadata table for telemetry session tracking (#35099)
    • core: no-interactive should disable prompts during migrate (#35106)
    • gradle: detect @Input provider-based dependencies (#35090)
    • react: force Vite 7 when using React Router in framework mode (#35101)
    • repo: fixup lock-threads failing with resource inaccessible message (#35005)
    • repo: re-enable Cypress HMR e2e tests after upstream tapable fix (#35105, #34969, #20693)

    ❤️ Thank You

    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Louie Weng @lourw
    Open source →
  48. 22.7.0-beta.831 Mar 2026pre-release
    Release notes

    22.7.0-beta.8 (2026-03-31)

    🚀 Features

    • misc: update nx init telemetry meta from CSV to JSON format (#35076)
    • repo: enable tsgo compiler for nx package (#35047)

    🩹 Fixes

    • core: validate bundler option for Angular presets in create-nx-workspace (#35074)
    • core: handle "." and absolute paths as workspace name in CNW (#35083, #1)
    • core: pin version of axios (#35093)
    • core: preserve sibling dependency inputs in native hashing (#35071)
    • core: restore nx package exports compatibility (#35095)
    • core: sandbox exclusions, multi-line typeof import detection, global ensurePackage mock (#35056)
    • gradle: increase project graph timeout defaults (#35058)
    • gradle: use object notation for exclude tasks (#35085)
    • js: include tsbuildinfo in narrowed tsc build-base outputs (#35086, #35041)
    • repo: pass env vars into docker builds in publish workflow (#35060)
    • repo: bump picomatch from 4.0.2 to 4.0.4 (#35081, #35068)
    • vite: update vitest and plugin-react-swc versions for vite 8 compat (#35062)
    • vite: bump sass version for vue/nuxt presets for Vite 8 compat (#35073)
    • webpack: bump postcss-loader to ^8.2.1 to eliminate transitive [email protected] CVE (#35028, #35025)

    ❤️ Thank You

    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • lourw @lourw
    • Miroslav Jonaš @meeroslav
    • Robert Sidzinka
    Open source →
  49. 22.7.0-beta.728 Mar 2026pre-release
    Release notes

    22.7.0-beta.7 (2026-03-28)

    🚀 Features

    • nx-dev: add conditional blog/changelog proxy in edge function (#35043)

    🩹 Fixes

    • gradle: increase project graph timeout defaults (#35058)
    • js: recognize tsgo in dependency-checks lint rule (#35048)
    • js: narrow tsc build-base outputs to only tsc-produced file types (#35041)
    • misc: handle non-interactive mode and add template shorthand names for CNW (#35045)
    • repo: copy-assets plugin and e2e improvements (#35042, #34994)
    • repo: pass env vars into docker builds in publish workflow (#35060)
    • vite: update vitest and plugin-react-swc versions for vite 8 compat (#35062)

    ❤️ Thank You

    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    Open source →
  50. 22.7.0-beta.627 Mar 2026pre-release
    Release notes

    22.7.0-beta.6 (2026-03-27)

    🚀 Features

    • misc: a/b test cloud prompt copy in create-nx-workspace (#35039)

    🩹 Fixes

    • core: add package export for nx/release/changelog-renderer (#35033)
    • js: add {projectRoot} prefix to d.ts fileset in typescript plugin (#35037)
    • nx-dev: correct YouTube channel URL on courses page (#35034)
    • repo: add copy-assets plugin and migrate all packages from legacy-post-build (#34994)

    ❤️ Thank You

    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Juri Strumpflohner @juristr
    Open source →
  51. 22.7.0-beta.527 Mar 2026pre-release
    Release notes

    22.7.0-beta.5 (2026-03-27)

    🚀 Features

    • core: auto-open browser for Cloud setup URL during create-nx-workspace (#35014)
    • repo: add nx-labs repo target and use glob pattern for update-all-repos (#34999)

    🩹 Fixes

    • bundling: disable swc input source map resolution (#35010, #32671)
    • core: show better log message when isolated plugin shuts down after hook completion (#34922)
    • core: handle owners and conformance project refs on move/remove (#34815)
    • core: resolve published nx migrate package resolution (#35013, #34111)
    • core: prevent batch executor error on prematurely completed tasks (#35015)
    • core: add timeouts to GitHub push flow to prevent CLI hangs (#35011, #34482)
    • core: prevent nx watch infinite loop from overly broad output globs (#34995)
    • devkit: add startTime and endTime to TaskResult interface (#34996)
    • js: add input on .d.ts files within dependency projects (#34968)
    • misc: make webinar banner theme-aware with light mode support (#35029)
    • repo: resolve FreeBSD build disk space issue (#35030)
    • vite: add support for Vite 8 (#34850, #34849)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • barbados-clemens @barbados-clemens
    • Caleb Ukle
    • Claude Opus 4.6
    • Craigory Coppola @AgentEnder
    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • Robert Sidzinka
    • Steven Nance
    Open source →
  52. 22.7.0-beta.424 Mar 2026pre-release
    Release notes

    22.7.0-beta.4 (2026-03-24)

    🚀 Features

    • core: decouple DB version from Nx version and share DB across worktrees (#34942)

    🩹 Fixes

    • angular-rspack: ensure rebuild chunks emitted summary accurate (#34979, #34936)
    • core: use upsert to prevent FK constraint violations in task DB (#34977)
    • core: runtime inputs shouldn't be cached at task_hasher layer and filesets should be in the hash_plans layer (#34971, #30170)
    • core: suppress postinstall error output when nx is not yet built (#34986)
    • gradle: ignore test enums when atomizing (#34974)
    • js: pass configName to typecheck command in TS plugin (#34989, #34274)
    • nx-cloud: remove invalid images (#34997, #34970)
    • nx-dev: improve docs search ranking and metrics (#34992)
    • repo: use @nx/nx-source export condition in jest resolver (#34972)
    • vitest: resolve addPlugin default in init generator (#34990)

    ❤️ Thank You

    • Caleb Ukle
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    Open source →
  53. 22.7.0-beta.324 Mar 2026pre-release
    Release notes

    22.7.0-beta.3 (2026-03-23)

    🩹 Fixes

    • angular: update duplicate migration keys (#34961)
    • core: prevent TUI crash when task output arrives after completion (#34785, #34677)
    • core: respect --parallel limit for discrete task concurrency (#34721, #34117, #31494)
    • core: use scroll-offset-based scrollbar positioning in TUI (#34689)
    • core: skip import-equals namespace aliases in native scanner (#34947, #34644)
    • core: include command name on all telemetry events (#34949)
    • core: skip workspace context setup when global bin hands off to local (#34953, #34914)
    • core: add explicit exports entry for nx/src/native directory (#34967, #34111)
    • release: fall back to gh user search for author usernames (#34904)
    • repo: skip flaky Cypress HMR e2e tests (#34969)

    ❤️ Thank You

    • AI-JamesHenry @AI-JamesHenry
    • Amp
    • Charlie Croom
    • FrozenPandaz @FrozenPandaz
    • Jack Baker
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    Open source →
  54. 22.7.0-beta.221 Mar 2026pre-release
    Release notes

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

    🩹 Fixes

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

    ❤️ Thank You

    • Claude Opus 4.6
    • Craigory Coppola @AgentEnder
    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • jaysoo @jaysoo
    • Juri Strumpflohner @juristr
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • lourw @lourw
    Open source →
  55. 22.7.0-beta.120 Mar 2026pre-release
    Release notes

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

    🩹 Fixes

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

    ❤️ Thank You

    • Leosvel Pérez Espinosa @leosvelperez
    Open source →
  56. 22.7.0-beta.019 Mar 2026pre-release
    Release notes

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

    🚀 Features

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

    🩹 Fixes

    • core: skip analytics and DB connection when global bin hands off to local (#34914)
    • core: properly quote shell metacharacters in CLI args passed to tasks (#34491, #32305, #26682)
    • core: avoid redundant project graph requests in ngcli adapter (#34907)
    • core: ensure postTasksExecution fires on SIGINT for continuous tasks (#34876, #34623, #34869)
    • core: improve error handling in nx migrate registry fetching (#34926, #33014, #33135)
    • core: remove CRA migration logic from nx init (#34912)
    • core: pass collectInputs flag through daemon IPC for task hashing (#34915)
    • js: normalize cwd path separator in typescript plugin targets (#34911)
    • js: preserve tsconfig fields in typescript plugin cache (#34908)
    • linter: detect require() calls in enforce-module-boundaries rule (#34896, #34096)
    • linter: use native nx.configs in convert-to-flat-config for Nx plugins (#34897, #31736)
    • linter: convert project-level eslint configs and log when skipped (#34899, #29458)
    • linter: use root config to determine ESLint class in plugin (#34900, #32110)
    • nx-dev: resolve changelog page 500 error (#34920, #34909)
    • testing: handle undefined options in playwright preset (#34750)

    ❤️ Thank You

    • Caleb Ukle
    • Claude Opus 4.6 (1M context)
    • Craigory Coppola @AgentEnder
    • Eric Baer
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • John Wiegert
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    Open source →
  57. 22.6.510 Apr 2026
    Release notes

    22.6.5 (2026-04-10)

    🚀 Features

    • core: allow generate command to skip project graph creation (#35170)
    • core: use CNW variant 1 cloud prompt in nx init (#35155)
    • core: prompt for setup mode when running nx init in empty git directory (#35226)
    • misc: lock in CNW cloud prompt A/B winner and add new variants (#35154)

    🩹 Fixes

    • angular: add storybook and playwright as implicit dependencies (#35224)
    • bundling: bump esbuild for new projects to a version compatible with vite 8 (#35132)
    • core: clean up legacy .gemini/skills during configure-ai-agents (#35117)
    • core: copy pnpm install configuration to generated package.json (#35016, #30240)
    • core: display actual error message when plugin loading fails (#35138, #35137)
    • core: bump axios to 1.13.5 to resolve CVE-2026-25639 (#35148, #35145)
    • core: update and pin ejs to 5.0.1 (#35157)
    • core: misc tui perf fixes (#35187)
    • core: replace LGPL-licensed @ltd/j-toml with BSD-3-Clause smol-toml (#35188)
    • core: kill discrete tasks and use tree-kill for batch cleanup on SIGINT (#35175)
    • core: support cross-file variable references in .env files (#34956, #34955)
    • core: disable Yarn scripts for temp nx@latest installs (#35210)
    • core: use fresh package manager cache for e2e tests (#35211)
    • core: prevent phantom connections and dead polling in plugin workers (#34823, #34388)
    • core: add prettier config inputs to astro-docs format target (#35222)
    • core: add vale-changed.mjs script to vale target inputs (41a71dd97d)
    • core: add missing build inputs for angular-rspack example projects (d71dcc6a9a)
    • core: add run-native-target script input to dotnet build-analyzer (#35221)
    • core: overwrite inferred script target when nx prop defines executor or command (#35227)
    • core: update cleanup mock to match async signature in package-json spec (c9d51d31f9)
    • gradle: prevent Gradle and Maven daemon accumulation during project graph recalculation (#35143)
    • gradle: use namespace import for tree-kill to match codebase convention (7c4f4af802)
    • js: resolve ENOWORKSPACES test error in setupVerdaccio for @nx/js:library generator (#34755)
    • js: include npm overrides in generated lockfile (#35192, #34529)
    • linter: infer extended tsconfig files as task inputs (#35190)
    • maven: prevent batch executor hang from premature worker exit (#35001, #34757)
    • maven: use require for tree-kill to avoid esModuleInterop mismatch between lib and spec configs (8bd4c182ca)
    • misc: use workspace root for package manager detection and normalize paths in plugins (#35116)
    • misc: stream Framer proxy responses and add edge function timing (#35215)
    • misc: bump axios to 1.15.0 for all packages (#35237)
    • repo: clean Angular CLI restore target before cache copy (#35121)
    • repo: update issue-notifier.yml (#35178)

    ❤️ Thank You

    • Alexandre Ducarne @JiggyJinjo
    • Claude
    • Claude Opus 4.6
    • Claude Opus 4.6 (1M context)
    • Craigory Coppola @AgentEnder
    • FrozenPandaz @FrozenPandaz
    • FUASHI LOT-BILL
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • leosvelperez @leosvelperez
    • MaxKless @MaxKless
    • Parker Norwood @parker-norwood
    • Robert Sidzinka
    • Steven Nance
    • Victor Savkin @vsavkin
    Open source →
  58. 22.6.41 Apr 2026
    Release notes

    22.6.4 (2026-04-01)

    🚀 Features

    • misc: update nx init telemetry meta from CSV to JSON format (#35076)
    • nx-dev: add conditional blog/changelog proxy in edge function (#35043)

    🩹 Fixes

    • core: validate bundler option for Angular presets in create-nx-workspace (#35074)
    • core: handle "." and absolute paths as workspace name in CNW (#35083, #1)
    • core: pin version of axios (#35093)
    • core: preserve sibling dependency inputs in native hashing (#35071)
    • core: sandbox exclusions, multi-line typeof import detection, global ensurePackage mock (#35056)
    • core: no-interactive should disable prompts during migrate (#35106)
    • gradle: increase project graph timeout defaults (#35058)
    • js: recognize tsgo in dependency-checks lint rule (#35048)
    • js: narrow tsc build-base outputs to only tsc-produced file types (#35041)
    • js: include tsbuildinfo in narrowed tsc build-base outputs (#35086, #35041)
    • js: use explicit nx/bin/nx path in start-local-registry (#35127)
    • misc: handle non-interactive mode and add template shorthand names for CNW (#35045)
    • react: force Vite 7 when using React Router in framework mode (#35101)
    • react-native: use vite's transformWithEsbuild instead of direct esbuild import (5771eb3346)
    • repo: pass env vars into docker builds in publish workflow (#35060)
    • repo: bump picomatch from 4.0.2 to 4.0.4 (#35081, #35068)
    • repo: fixup lock-threads failing with resource inaccessible message (#35005)
    • repo: fix lockfile (b070e23445)
    • repo: re-enable Cypress HMR e2e tests after upstream tapable fix (#35105, #34969, #20693)
    • repo: disable ts-jest diagnostics for workspace-plugin tests (b013f93dca)
    • vite: update vitest and plugin-react-swc versions for vite 8 compat (#35062)
    • vite: bump sass version for vue/nuxt presets for Vite 8 compat (#35073)
    • webpack: bump postcss-loader to ^8.2.1 to eliminate transitive [email protected] CVE (#35028, #35025)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Miroslav Jonaš @meeroslav
    • Robert Sidzinka
    Open source →
  59. 22.6.327 Mar 2026
    Release notes

    22.6.3 (2026-03-27)

    🚀 Features

    • misc: a/b test cloud prompt copy in create-nx-workspace (#35039)

    🩹 Fixes

    • js: add {projectRoot} prefix to d.ts fileset in typescript plugin (#35037)
    • misc: use namespace import for chalk v4 compatibility (7c9f873bd1)
    • misc: handle non-interactive mode and add template shorthand names for CNW (#35045)

    ❤️ Thank You

    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    Open source →
  60. 22.6.226 Mar 2026
    Release notes

    22.6.2 (2026-03-26)

    🚀 Features

    • core: auto-open browser for Cloud setup URL during create-nx-workspace (#35014)
    • repo: add nx-labs repo target and use glob pattern for update-all-repos (#34999)

    🩹 Fixes

    • angular: update duplicate migration keys (#34961)
    • angular-rspack: ensure rebuild chunks emitted summary accurate (#34979, #34936)
    • bundling: disable swc input source map resolution (#35010, #32671)
    • core: split-target should handle projects with colons in name better (#34725)
    • core: prevent TUI crash when task output arrives after completion (#34785, #34677)
    • core: respect --parallel limit for discrete task concurrency (#34721, #34117, #31494)
    • core: use scroll-offset-based scrollbar positioning in TUI (#34689)
    • core: skip import-equals namespace aliases in native scanner (#34947, #34644)
    • core: include command name on all telemetry events (#34949)
    • core: skip workspace context setup when global bin hands off to local (#34953, #34914)
    • core: use upsert to prevent FK constraint violations in task DB (#34977)
    • core: runtime inputs shouldn't be cached at task_hasher layer and filesets should be in the hash_plans layer (#34971, #30170)
    • core: show better log message when isolated plugin shuts down after hook completion (#34922)
    • core: handle owners and conformance project refs on move/remove (#34815)
    • core: resolve published nx migrate package resolution (#35013, #34111)
    • core: prevent batch executor error on prematurely completed tasks (#35015)
    • core: add timeouts to GitHub push flow to prevent CLI hangs (#35011, #34482)
    • devkit: prevent double install in generators for TS solution workspaces (#34891)
    • devkit: add startTime and endTime to TaskResult interface (#34996)
    • gradle: ignore test enums when atomizing (#34974)
    • js: pass configName to typecheck command in TS plugin (#34989, #34274)
    • js: add input on .d.ts files within dependency projects (#34968)
    • linter: prepend framework configs before baseConfig in flat config generation (#34898, #28381, #32923)
    • misc: make webinar banner theme-aware with light mode support (#35029)
    • module-federation: enable ESM output for Angular rspack MF plugin (#34839, #34584, #33992)
    • nx-cloud: remove invalid images (#34997, #34970)
    • nx-dev: build nx-dev in-place to fix ai package resolution (#34730, #34669)
    • nx-dev: improve docs search ranking and metrics (#34992)
    • release: fall back to gh user search for author usernames (#34904)
    • repo: skip flaky Cypress HMR e2e tests (#34969)
    • repo: resolve FreeBSD build disk space issue (#35030)
    • vite: add support for Vite 8 (#34850, #34849)
    • vitest: resolve addPlugin default in init generator (#34990)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • AI-JamesHenry @AI-JamesHenry
    • Amp
    • barbados-clemens @barbados-clemens
    • Caleb Ukle
    • Charlie Croom
    • Claude Opus 4.6
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • FrozenPandaz @FrozenPandaz
    • Jack Baker
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • jaysoo @jaysoo
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • Robert Sidzinka
    • Steven Nance
    Open source →