PackageTrack

npm · #4152

@nx/js

23.1.2nrwl/nx

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

Release timeline

1889 releases since 2023
202420252026

Releases

  1. 22.4.0-beta.019 Dec 2025pre-release
    Release notes

    22.4.0-beta.0 (2025-12-19)

    🚀 Features

    • angular: support ngrx v21 (#33940)
    • angular: support cypress component testing with zoneless projects (#33941)
    • core: add inline-tui view mode (#32718)
    • maven: add batch executor for multi-task Maven execution (#33228)

    🩹 Fixes

    • angular: support @angular/cli package update during nx migrate (#33918)
    • core: ensure no tui on single tasks (#33910)
    • core: daemon client reconnection on server restart (#33432)
    • core: fix vitest test runner options for angular in cnw (#33921)
    • dotnet: fix dependency graph for multi-targeting and transitive deps (#33908, #33653, #33397)
    • linter: honor setParserOptionsProject in flat config (#33953, #33944)
    • misc: remove auto CI Optimization card from AI page (#33955)
    • module-federation: use localhost as default host #33909 (#33947, #33909)
    • module-federation: skip non-npm external dependencies in getDependencies (#33951, #32819)
    • nx-dev: make sure only prod is indexed (#33922)
    • nx-dev: make sure canonical urls are always nx.dev (#33932)
    • react: set up module federation with webpack and ts soln correctly #31029 (#33920, #31029)
    • testing: ensure jest v30 migration is run (#33916)

    ❤️ Thank You

    • Caleb Ukle
    • Claude Opus 4.5
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • leosvelperez @leosvelperez
    • Max Kless
    Open source →
  2. 22.3.319 Dec 2025
    Release notes

    22.3.3 (2025-12-19)

    🩹 Fixes

    • misc: remove CNW A/B testing flow branching (#33967)

    ❤️ Thank You

    • Jack Hsu @jaysoo
    Open source →
  3. 22.3.219 Dec 2025
    Release notes

    22.3.2 (2025-12-19)

    🚀 Features

    • angular: support ngrx v21 (#33940)
    • angular: support cypress component testing with zoneless projects (#33941)

    🩹 Fixes

    • angular: support @angular/cli package update during nx migrate (#33918)
    • core: fix vitest test runner options for angular in cnw (#33921)
    • linter: honor setParserOptionsProject in flat config (#33953, #33944)
    • module-federation: use localhost as default host #33909 (#33947, #33909)
    • module-federation: skip non-npm external dependencies in getDependencies (#33951, #32819)
    • nx-dev: make sure only prod is indexed (#33922)
    • nx-dev: make sure canonical urls are always nx.dev (#33932)
    • react: set up module federation with webpack and ts soln correctly #31029 (#33920, #31029)
    • testing: ensure jest v30 migration is run (#33916)

    ❤️ Thank You

    • Caleb Ukle
    • Colum Ferry @Coly010
    • Jack Hsu @jaysoo
    • Leosvel Pérez Espinosa @leosvelperez
    • leosvelperez @leosvelperez
    Open source →
  4. 22.3.118 Dec 2025
    Release notes

    22.3.1 (2025-12-18)

    🩹 Fixes

    • core: ensure no tui on single tasks (#33910)
    • dotnet: fix dependency graph for multi-targeting and transitive deps (#33908, #33653, #33397)

    ❤️ Thank You

    • Claude Opus 4.5
    • Craigory Coppola @AgentEnder
    Open source →
  5. 22.3.017 Dec 2025
    Release notes

    22.3.0 (2025-12-17)

    🚀 Features

    • angular: support angular v21 (#33378)
    • angular: add migration to set isolateModules: true to jest tsconfig files (#33889)
    • angular: add migration to replace jest-preset-angular/setup-jest imports (#33899)
    • core: add NX_DEFAULT_OUTPUT_STYLE env var (#33493, #27490)
    • core: add CnwError class for typed error handling in create-nx-workspace (#33839)
    • core: add hints and status messages to the tui (#33838)
    • js: add option for using tsgo compiler when inferring build and typecheck tasks (#33821, #32591)
    • js: improve SWC compilation error logging (#33297)
    • misc: support prettier v3 (#33898, #30801)
    • nx-plugin: allow customizing the location of the companion E2E project (#32073, #32069)
    • rspack: add support for cssFilename config #32498 (#32506, #32498)
    • testing: add option to playwright preset to open html report (#31282)
    • webpack: add support for merging externals to NxAppWebpackPlugin (#33833)

    🩹 Fixes

    • angular: process only the in progress entry points in ng-packagr-lite's write bundles transform function (#33784, #3172, #33560)
    • angular: collect known tsconfig files from non-buildable angular libraries in migration (#33834, #33705)
    • angular: improve error message when using esbuild-based build targets and generating cypress ct (#33846, #33329)
    • angular: install compatible vitest version for angular projects (#33858, #33770)
    • angular: ensure jest and jest-preset-angular are updated correctly for angular v21 (#33896)
    • bundling: correct project path for createTmpTsConfig (#31314, #31522)
    • core: optimize pnpm lockfile parsing with pre-built indexes (#33750, #32669, #32254, #33751)
    • core: share visited Set across affected graph traversal (#33756, #32265)
    • core: set max listeners for process in task orchestrator (#33596, #32439)
    • core: exit with error when generator prompts fail (#33691)
    • core: fix record stat on initial CNW call (#33783)
    • core: ensure terminalOutput is always a string in task results (#33782, #32675)
    • core: improve node creation for pnpm parser (#33788)
    • core: add pnpm/yarn support for CNW templates (#33827)
    • core: swc register base url missing when using tsgo (#33332)
    • core: pass more error detail for CNW (#33844)
    • core: create all tables upfront when creating the database (#33843)
    • core: improve performance of buildExplicitPackageJsonDependencies (#33791)
    • core: do not invoke prettier with --write and --list-different when unsupported (#33857, #33658, #31951)
    • core: preserve command output in TUI summary for non-cached tasks (#33673)
    • core: update CNW messaging and remove cancel event from SIGINT (#33872)
    • core: restore linkTaskDetails param for backwards compatibility (#33874, #33843)
    • core: include PNPM patches in externalDependencies hash computations (#33551)
    • core: add back ability to create cache_outputs table without a foreign key (#33880)
    • core: display task output in TUI when native command runner is disabled (#33881, #32803)
    • core: prevent pinning the same task in multiple panes in the tui (#33863)
    • core: reduce error rate with dir validation and add more debugging data (#33887)
    • core: improve database initialization error handling (#33820)
    • core: invalidate sync generator cache on file changes and use up-to-date project graph (#33780)
    • core: convert * to workspace:* for pnpm/yarn/bun in CNW (#33893)
    • expo: set projectRoot to workspaceRoot for Expo SDK 54+ compatibility (#33836, #33597)
    • graph: serve full project graph when navigating from PDV (#33897)
    • js: use Set for O(1) package.json root lookup (#33757, #32265)
    • js: recognize NodeNext as ESM (#31508)
    • js: display pnpm publish errors without requiring --verbose (#33837)
    • js: make CopyAssetsHandler per-file logs opt-in via verbose mode (#33835, #33521)
    • js: prevent crash when terminating task using the @nx/js:swc executor (#33845, #31938)
    • js: handle workspace packages when nx.name differs from package.json.name (#33583, #33582)
    • js: resolve nx binary from workspace root in node executor (#33842, #33776)
    • js: detect changes to pnpm.overrides and overrides in package.json (#31914)
    • js: check package.json for name when project.json exists but has no name (#31887)
    • js: adjusted stdout and stderr handling to support the latest @swc/cli version (#32685)
    • js: allow copying generated Prisma client (asset) from 'node_modules' (#33822)
    • misc: send connectUrl in completion metadata (#33878)
    • misc: use string type for fetchDepth in azure-pipelines.yml (#33727)
    • module-federation: normalize workspace protocol versions in requiredVersion (#33733, #31397, #33734)
    • module-federation: check port availability before starting remote proxies (#33871, #33470)
    • nest: ensure library is generated with correct outputPath for TS Soln #32060 (#33864, #32060)
    • nextjs: accept fileName option to generate page (#30013)
    • node: sourceMaps option to sourceMap in webpack config (#33333)
    • node: use @swc/helpers instead of tslib when compiler is swc (#33885, #31202)
    • react: update template comment to be valid css (#33169, #20192639)
    • release: {releaseGroupName} not interpolated in changelog tag/releaseTagPattern (#33779)
    • repo: fix dotnet installation on Windows (#33786)
    • repo: restore mise tools in e2e-matrix workflow (#33785, #33772)
    • repo: install nightly Rust for WASM build in publish workflow (#33792, #33772)
    • repo: use RUSTUP_TOOLCHAIN env var for WASM builds (#33794)
    • repo: revert to older nightly Rust for WASM builds (#33797)
    • repo: install correct Rust target for x86_64 macOS build (#33853)
    • rspack: enable build mode for TypeScript checker in TS solution setups (#33447)
    • storybook: conditionally include node imports only for non-angular frameworks (#33728)
    • storybook: use helper to find correct version when pnpm catalogs are used (#33900, #29772)
    • testing: update jest ci target to forward top level args (#31379)
    • vite: update worker configuration in generator to follow Vite's … (#30465)
    • web: update e2e test regex for SWC decorator metadata (#33892)
    • webpack: show webpack chunks when verbose (#30960)
    • webpack: interpolate process.env more verbosely to reduce bundle size with DefinePlugin (#30826)

    ❤️ Thank You

    • Aaro Karell @ajkarell
    • Adwait Athale @adwait1290
    • AgentEnder @AgentEnder
    • Alexey Balmasov
    • Andreas Jagiella @AndreasJagiella-EH
    • Andrew Ovens @avens19
    • Ashish Shanker @AshishShanker
    • Charlie Croom
    • Chau Tran @nartc
    • Claude
    • Claude Opus 4.5
    • Colum Ferry @Coly010
    • Coly010 @Coly010
    • Craigory Coppola @AgentEnder
    • David Antoon @davidantoon
    • Guilherme Siquinelli
    • Hamza Khan @112khanhamza
    • Jack Hsu @jaysoo
    • James Kraus
    • Jan Sudczak @parostatkiem
    • Jason Jean @FrozenPandaz
    • Jay Bell
    • jaysoo @jaysoo
    • Joe Prisk
    • Jonathan Gelin @jogelin
    • Jonathan Wilbur @JonathanWilbur
    • Kamenskih Dmitriy
    • Kasper Christensen
    • Leosvel Pérez Espinosa @leosvelperez
    • Miguel @mpsanchis
    • Miroslav Jonaš @meeroslav
    • Nicholas Cunningham @ndcunningham
    • Raphael Araújo @raphox
    • ResonAtom
    • Svyatoslav Zaytsev @MillerSvt
    • teawithfruit @teawithfruit
    • Timo Santi @diginikkari
    • Tine Kondo @tinesoft
    • Yevhenii Yusenkov @YevheniiYusenkov
    • Zachary DeRose @ZackDeRose
    Open source →
  6. 22.3.0-canary.20251217-6323dba17 Dec 2025pre-release

    Nothing published for this version

  7. 22.3.0-canary.20251216-71bfc2116 Dec 2025pre-release

    Nothing published for this version

  8. 22.3.0-canary.20251215-e864b6a15 Dec 2025pre-release

    Nothing published for this version

  9. 22.3.0-canary.20251211-205daee11 Dec 2025pre-release

    Nothing published for this version

  10. 22.3.0-canary.20251209-60920319 Dec 2025pre-release

    Nothing published for this version

  11. 22.3.0-beta.317 Dec 2025pre-release
    Release notes

    22.3.0-beta.3 (2025-12-17)

    🚀 Features

    • angular: add migration to set isolateModules: true to jest tsconfig files (#33889)
    • angular: add migration to replace jest-preset-angular/setup-jest imports (#33899)
    • core: add hints and status messages to the tui (#33838)
    • misc: support prettier v3 (#33898, #30801)
    • nx-plugin: allow customizing the location of the companion E2E project (#32073, #32069)

    🩹 Fixes

    • angular: ensure jest and jest-preset-angular are updated correctly for angular v21 (#33896)
    • core: display task output in TUI when native command runner is disabled (#33881, #32803)
    • core: prevent pinning the same task in multiple panes in the tui (#33863)
    • core: reduce error rate with dir validation and add more debugging data (#33887)
    • core: improve database initialization error handling (#33820)
    • core: invalidate sync generator cache on file changes and use up-to-date project graph (#33780)
    • graph: serve full project graph when navigating from PDV (#33897)
    • js: allow copying generated Prisma client (asset) from 'node_modules' (#33822)
    • node: use @swc/helpers instead of tslib when compiler is swc (#33885, #31202)
    • storybook: use helper to find correct version when pnpm catalogs are used (#33900, #29772)
    • web: update e2e test regex for SWC decorator metadata (#33892)

    ❤️ Thank You

    • Chau Tran @nartc
    • Claude Opus 4.5
    • Colum Ferry @Coly010
    • Coly010 @Coly010
    • Jack Hsu @jaysoo
    • Jan Sudczak @parostatkiem
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Tine Kondo @tinesoft
    Open source →
  12. 22.3.0-beta.216 Dec 2025pre-release
    Release notes

    22.3.0-beta.2 (2025-12-16)

    🩹 Fixes

    • core: include PNPM patches in externalDependencies hash computations (#33551)
    • core: add back ability to create cache_outputs table without a foreign key (#33880)
    • js: detect changes to pnpm.overrides and overrides in package.json (#31914)
    • js: check package.json for name when project.json exists but has no name (#31887)
    • js: adjusted stdout and stderr handling to support the latest @swc/cli version (#32685)
    • misc: send connectUrl in completion metadata (#33878)
    • misc: use string type for fetchDepth in azure-pipelines.yml (#33727)
    • nextjs: accept fileName option to generate page (#30013)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • Charlie Croom
    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Jason Jean @FrozenPandaz
    • Kasper Christensen
    • Leosvel Pérez Espinosa @leosvelperez
    • Raphael Araújo @raphox
    • teawithfruit @teawithfruit
    • Zachary DeRose @ZackDeRose
    Open source →
  13. 22.3.0-beta.115 Dec 2025pre-release
    Release notes

    22.3.0-beta.1 (2025-12-15)

    🩹 Fixes

    • angular: install compatible vitest version for angular projects (#33858, #33770)
    • core: improve performance of buildExplicitPackageJsonDependencies (#33791)
    • core: do not invoke prettier with --write and --list-different when unsupported (#33857, #33658, #31951)
    • core: preserve command output in TUI summary for non-cached tasks (#33673)
    • core: update CNW messaging and remove cancel event from SIGINT (#33872)
    • core: restore linkTaskDetails param for backwards compatibility (#33874, #33843)
    • module-federation: check port availability before starting remote proxies (#33871, #33470)
    • nest: ensure library is generated with correct outputPath for TS Soln #32060 (#33864, #32060)
    • release: {releaseGroupName} not interpolated in changelog tag/releaseTagPattern (#33779)
    • repo: install correct Rust target for x86_64 macOS build (#33853)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • jaysoo @jaysoo
    • Jonathan Gelin @jogelin
    • Leosvel Pérez Espinosa @leosvelperez
    • Miroslav Jonaš @meeroslav
    Open source →
  14. 22.3.0-beta.015 Dec 2025pre-release
    Release notes

    22.3.0-beta.0 (2025-12-15)

    🚀 Features

    • angular: support angular v21 (#33378)
    • core: add NX_DEFAULT_OUTPUT_STYLE env var (#33493, #27490)
    • core: add CnwError class for typed error handling in create-nx-workspace (#33839)
    • js: add option for using tsgo compiler when inferring build and typecheck tasks (#33821, #32591)
    • js: improve SWC compilation error logging (#33297)
    • rspack: add support for cssFilename config #32498 (#32506, #32498)
    • testing: add option to playwright preset to open html report (#31282)
    • webpack: add support for merging externals to NxAppWebpackPlugin (#33833)

    🩹 Fixes

    • angular: process only the in progress entry points in ng-packagr-lite's write bundles transform function (#33784, #3172, #33560)
    • angular: collect known tsconfig files from non-buildable angular libraries in migration (#33834, #33705)
    • angular: improve error message when using esbuild-based build targets and generating cypress ct (#33846, #33329)
    • angular: install compatible vitest version for angular projects (#33858, #33770)
    • bundling: correct project path for createTmpTsConfig (#31314, #31522)
    • core: optimize pnpm lockfile parsing with pre-built indexes (#33750, #32669, #32254, #33751)
    • core: share visited Set across affected graph traversal (#33756, #32265)
    • core: set max listeners for process in task orchestrator (#33596, #32439)
    • core: exit with error when generator prompts fail (#33691)
    • core: fix record stat on initial CNW call (#33783)
    • core: ensure terminalOutput is always a string in task results (#33782, #32675)
    • core: improve node creation for pnpm parser (#33788)
    • core: add pnpm/yarn support for CNW templates (#33827)
    • core: swc register base url missing when using tsgo (#33332)
    • core: pass more error detail for CNW (#33844)
    • core: create all tables upfront when creating the database (#33843)
    • core: improve performance of buildExplicitPackageJsonDependencies (#33791)
    • core: do not invoke prettier with --write and --list-different when unsupported (#33857, #33658, #31951)
    • expo: set projectRoot to workspaceRoot for Expo SDK 54+ compatibility (#33836, #33597)
    • js: use Set for O(1) package.json root lookup (#33757, #32265)
    • js: recognize NodeNext as ESM (#31508)
    • js: display pnpm publish errors without requiring --verbose (#33837)
    • js: make CopyAssetsHandler per-file logs opt-in via verbose mode (#33835, #33521)
    • js: prevent crash when terminating task using the @nx/js:swc executor (#33845, #31938)
    • js: handle workspace packages when nx.name differs from package.json.name (#33583, #33582)
    • js: resolve nx binary from workspace root in node executor (#33842, #33776)
    • module-federation: normalize workspace protocol versions in requiredVersion (#33733, #31397, #33734)
    • node: sourceMaps option to sourceMap in webpack config (#33333)
    • react: update template comment to be valid css (#33169, #20192639)
    • release: {releaseGroupName} not interpolated in changelog tag/releaseTagPattern (#33779)
    • repo: fix dotnet installation on Windows (#33786)
    • repo: restore mise tools in e2e-matrix workflow (#33785, #33772)
    • repo: install nightly Rust for WASM build in publish workflow (#33792, #33772)
    • repo: use RUSTUP_TOOLCHAIN env var for WASM builds (#33794)
    • repo: revert to older nightly Rust for WASM builds (#33797)
    • repo: install correct Rust target for x86_64 macOS build (#33853)
    • rspack: enable build mode for TypeScript checker in TS solution setups (#33447)
    • storybook: conditionally include node imports only for non-angular frameworks (#33728)
    • testing: update jest ci target to forward top level args (#31379)
    • vite: update worker configuration in generator to follow Vite's … (#30465)
    • webpack: show webpack chunks when verbose (#30960)
    • webpack: interpolate process.env more verbosely to reduce bundle size with DefinePlugin (#30826)

    ❤️ Thank You

    • Aaro Karell @ajkarell
    • Adwait Athale @adwait1290
    • Alexey Balmasov
    • Andreas Jagiella @AndreasJagiella-EH
    • Andrew Ovens @avens19
    • Ashish Shanker @AshishShanker
    • Claude Opus 4.5
    • Colum Ferry @Coly010
    • David Antoon @davidantoon
    • Guilherme Siquinelli
    • Hamza Khan @112khanhamza
    • Jack Hsu @jaysoo
    • James Kraus
    • Jason Jean @FrozenPandaz
    • Jay Bell
    • Joe Prisk
    • Jonathan Gelin @jogelin
    • Jonathan Wilbur @JonathanWilbur
    • Kamenskih Dmitriy
    • Kasper Christensen
    • Leosvel Pérez Espinosa @leosvelperez
    • Miguel @mpsanchis
    • Miroslav Jonaš @meeroslav
    • Nicholas Cunningham @ndcunningham
    • ResonAtom
    • Svyatoslav Zaytsev @MillerSvt
    • Timo Santi @diginikkari
    • Yevhenii Yusenkov @YevheniiYusenkov
    Open source →
  15. 22.2.716 Dec 2025
    Release notes

    22.2.7 (2025-12-16)

    🚀 Features

    • nx-plugin: allow customizing the location of the companion E2E project (#32073, #32069)

    🩹 Fixes

    • core: display task output in TUI when native command runner is disabled (#33881, #32803)
    • core: prevent pinning the same task in multiple panes in the tui (#33863)
    • core: reduce error rate with dir validation and add more debugging data (#33887)
    • node: use @swc/helpers instead of tslib when compiler is swc (#33885, #31202)
    • web: update e2e test regex for SWC decorator metadata (#33892)

    ❤️ Thank You

    • Claude Opus 4.5
    • Colum Ferry @Coly010
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • Tine Kondo @tinesoft
    Open source →
  16. 22.2.616 Dec 2025
    Release notes

    22.2.6 (2025-12-16)

    🩹 Fixes

    • core: include PNPM patches in externalDependencies hash computations (#33551)
    • core: add back ability to create cache_outputs table without a foreign key (#33880)
    • js: detect changes to pnpm.overrides and overrides in package.json (#31914)
    • js: check package.json for name when project.json exists but has no name (#31887)
    • js: adjusted stdout and stderr handling to support the latest @swc/cli version (#32685)
    • misc: use string type for fetchDepth in azure-pipelines.yml (#33727)
    • nextjs: accept fileName option to generate page (#30013)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • Charlie Croom
    • Claude
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Jason Jean @FrozenPandaz
    • Kasper Christensen
    • Leosvel Pérez Espinosa @leosvelperez
    • Raphael Araújo @raphox
    • teawithfruit @teawithfruit
    • Zachary DeRose @ZackDeRose
    Open source →
  17. 22.2.516 Dec 2025
    Release notes

    22.2.5 (2025-12-15)

    🩹 Fixes

    • core: create all tables upfront when creating the database (#33843)
    • core: restore linkTaskDetails param for backwards compatibility (#33874, #33843)
    • misc: send connectUrl in completion metadata (#33878)

    ❤️ Thank You

    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    Open source →
  18. 22.2.415 Dec 2025
    Release notes

    22.2.4 (2025-12-15)

    🚀 Features

    • js: improve SWC compilation error logging (#33297)

    🩹 Fixes

    • angular: collect known tsconfig files from non-buildable angular libraries in migration (#33834, #33705)
    • angular: improve error message when using esbuild-based build targets and generating cypress ct (#33846, #33329)
    • core: improve performance of buildExplicitPackageJsonDependencies (#33791)
    • core: do not invoke prettier with --write and --list-different when unsupported (#33857, #33658, #31951)
    • core: preserve command output in TUI summary for non-cached tasks (#33673)
    • core: update CNW messaging and remove cancel event from SIGINT (#33872)
    • js: prevent crash when terminating task using the @nx/js:swc executor (#33845, #31938)
    • js: handle workspace packages when nx.name differs from package.json.name (#33583, #33582)
    • js: resolve nx binary from workspace root in node executor (#33842, #33776)
    • module-federation: check port availability before starting remote proxies (#33871, #33470)
    • nest: ensure library is generated with correct outputPath for TS Soln #32060 (#33864, #32060)
    • node: sourceMaps option to sourceMap in webpack config (#33333)
    • react: update template comment to be valid css (#33169, #20192639)
    • release: {releaseGroupName} not interpolated in changelog tag/releaseTagPattern (#33779)
    • repo: install correct Rust target for x86_64 macOS build (#33853)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • Claude
    • Claude Opus 4.5
    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    • Hamza Khan @112khanhamza
    • Jack Hsu @jaysoo
    • James Kraus
    • Jason Jean @FrozenPandaz
    • jaysoo @jaysoo
    • Jonathan Gelin @jogelin
    • Leosvel Pérez Espinosa @leosvelperez
    • Miroslav Jonaš @meeroslav
    • Timo Santi @diginikkari
    • Yevhenii Yusenkov @YevheniiYusenkov
    Open source →
  19. 22.2.312 Dec 2025
    Release notes

    22.2.3 (2025-12-12)

    🩹 Fixes

    • core: swc register base url missing when using tsgo (#33332)
    • core: pass more error detail for CNW (#33844)
    • expo: set projectRoot to workspaceRoot for Expo SDK 54+ compatibility (#33836, #33597)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Jack Hsu @jaysoo
    • Jay Bell
    Open source →
  20. 22.2.212 Dec 2025
    Release notes

    22.2.2 (2025-12-12)

    🚀 Features

    • core: add CnwError class for typed error handling in create-nx-workspace (#33839)
    • js: add option for using tsgo compiler when inferring build and typecheck tasks (#33821, #32591)
    • webpack: add support for merging externals to NxAppWebpackPlugin (#33833)

    🩹 Fixes

    • core: add pnpm/yarn support for CNW templates (#33827)
    • js: recognize NodeNext as ESM (#31508)
    • js: display pnpm publish errors without requiring --verbose (#33837)
    • js: make CopyAssetsHandler per-file logs opt-in via verbose mode (#33835, #33521)
    • rspack: enable build mode for TypeScript checker in TS solution setups (#33447)
    • testing: update jest ci target to forward top level args (#31379)
    • webpack: interpolate process.env more verbosely to reduce bundle size with DefinePlugin (#30826)

    ❤️ Thank You

    • Aaro Karell @ajkarell
    • Andreas Jagiella @AndreasJagiella-EH
    • Claude Opus 4.5
    • Colum Ferry @Coly010
    • David Antoon @davidantoon
    • Jack Hsu @jaysoo
    • Jonathan Wilbur @JonathanWilbur
    • Kamenskih Dmitriy
    • Leosvel Pérez Espinosa @leosvelperez
    • Nicholas Cunningham @ndcunningham
    Open source →
  21. 22.2.111 Dec 2025
    Release notes

    22.2.1 (2025-12-11)

    🚀 Features

    • core: add NX_DEFAULT_OUTPUT_STYLE env var (#33493, #27490)
    • rspack: add support for cssFilename config #32498 (#32506, #32498)
    • testing: add option to playwright preset to open html report (#31282)

    🩹 Fixes

    • angular: process only the in progress entry points in ng-packagr-lite's write bundles transform function (#33784, #3172, #33560)
    • bundling: correct project path for createTmpTsConfig (#31314, #31522)
    • core: optimize pnpm lockfile parsing with pre-built indexes (#33750, #32669, #32254, #33751)
    • core: share visited Set across affected graph traversal (#33756, #32265)
    • core: set max listeners for process in task orchestrator (#33596, #32439)
    • core: exit with error when generator prompts fail (#33691)
    • core: fix record stat on initial CNW call (#33783)
    • core: ensure terminalOutput is always a string in task results (#33782, #32675)
    • core: improve node creation for pnpm parser (#33788)
    • js: use Set for O(1) package.json root lookup (#33757, #32265)
    • module-federation: normalize workspace protocol versions in requiredVersion (#33733, #31397, #33734)
    • repo: fix dotnet installation on Windows (#33786)
    • repo: restore mise tools in e2e-matrix workflow (#33785, #33772)
    • repo: install nightly Rust for WASM build in publish workflow (#33792, #33772)
    • repo: use RUSTUP_TOOLCHAIN env var for WASM builds (#33794)
    • repo: revert to older nightly Rust for WASM builds (#33797)
    • storybook: conditionally include node imports only for non-angular frameworks (#33728)
    • vite: update worker configuration in generator to follow Vite's … (#30465)
    • webpack: show webpack chunks when verbose (#30960)

    ❤️ Thank You

    • Adwait Athale @adwait1290
    • Alexey Balmasov
    • Andrew Ovens @avens19
    • Ashish Shanker @AshishShanker
    • Colum Ferry @Coly010
    • Guilherme Siquinelli
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Joe Prisk
    • Kasper Christensen
    • Leosvel Pérez Espinosa @leosvelperez
    • Miguel @mpsanchis
    • Miroslav Jonaš @meeroslav
    • ResonAtom
    • Svyatoslav Zaytsev @MillerSvt
    Open source →
  22. 22.2.08 Dec 2025
    Release notes

    22.2.0 (2025-12-08)

    🚀 Features

    • core: add multiple Nx version detection to nx report (#33599)
    • core: add template support to create-nx-workspace (#33468)
    • docker: auto-select version scheme when only one is available (#33671)
    • expo: support Expo 54 (#33612)
    • gradle: add targetNamePrefix option to mark all gradle targets (#33685)
    • linter: add util to load eslint rules from a directory (#33543)
    • maven: update Maven plugin version to 0.0.11 (#33713)
    • nextjs: add migration to add AI instructions for upgrading to Next 16 (#33608)
    • nuxt: support nuxt v4 (#33611)
    • nx-cloud: prepend nx version to stats metadata (#33568)
    • storybook: support storybook 10.1 (#33637)
    • vite: add vitest 4 migration for users using @nx/vite (#33630)
    • vite: add migration to add @nx/vitest (#33669)
    • vitest: update @analogjs/vitest-angular to 2.1.2 #33602 (#33681, #33602)
    • vitest: make initial generation for JS projects more lightweight (#33670)

    🩹 Fixes

    • angular-rspack: use CJS when serving applications for HMR #33106 (#33693, #33106)
    • angular-rspack: ensure rebuild logs are only printed once (#33694)
    • bundling: replace rollup-plugin-copy with nx copy assets plugin (#33601, #32398)
    • bundling: set buildLibsFromSource in normalize options for Rollup (#33679)
    • core: don't presume a task is long running if its marked cacheable (#33545, #32610)
    • core: daemon command should exit at end (#33547)
    • core: provide error when nested graph construction would occur invoked during createNodes (#33541, #29618)
    • core: filter out automated release commits in getCommitsRelevantToProjects (#33482)
    • core: make daemon socket path unique per process to prevent race condition (#33580, #33491)
    • core: use nx-mcp for older nx versions instead of nx mcp (#33553)
    • core: propagate continuous task failures to dependent tasks (#33492)
    • core: kill child process tree in different running tasks (#33636, #32438, #33460)
    • core: include create-nx-workspace in migration package group (#33643, #33585)
    • core: suppress git stderr output in parseGitOutput (#33645, #33330)
    • core: prevent Nx Console prompt from blocking non-interactive commands (#33646, #33552)
    • core: ensure perf logs are flushed before exit in graph command (#33621)
    • core: nx-schema default value for preserveMatchingDependencyRanges should have changed in v22 (#33587)
    • core: stop adding outdated vscode/cursor rule files to gitignore (#33680)
    • core: sanitize project names for valid git tag names in nx release (#33692, #33262)
    • core: optimize bun lockfile parser (#33623)
    • core: cnw sends correct selectedRepositoryName; prints instructions when user Ctrl+C (#33699)
    • core: use Set for O(1) visited node lookup in hasPath (#33754, #32265)
    • docker: fix releasing non docker projects (#33667)
    • gradle: do not add gradle plugin to plugins block if using version catalogs (#33763)
    • graph: align exclude flag with others by using findMatchingProjects (#33550)
    • graph: surface task graph client error via error toast (#33600)
    • js: ensure copy-workspace-modules copies transitive workspace dependencies (#33570)
    • linter: handle various flat config override structures (#33548, #31796)
    • linter: base eslint config should ignore out-tsc directories (#33639)
    • linter: update generators to use ESLint v9 compatible versions (#33633)
    • maven: remove incorrect threadSafe to parallelism mapping (#33678)
    • misc: update output location of ai-migration files (#33696)
    • nest: set moduleResolution to node to prevent TS5095 error (#33607, #33589)
    • nextjs: make migration to next 16 optional (#33627)
    • node: set generatePackageJson:false for TS Solution workspaces (#33606)
    • nuxt: do not import base eslint config for root project (#33642)
    • nuxt: update preset test for v4 app directory structure (#33648)
    • react: exclude tailwind from CSS modules syntax in component generator (#33574)
    • react: update @emotion/styled to latest version #31252 (#33690, #31252)
    • release: ensure emoji is not repeated in breaking changes summary (#33605)
    • release: interpolate releaseGroupName in getLatestGitTagForPattern (#33674)
    • release: ensure --preid flag considers stable tags for version determination (#33703, #33343)
    • repo: enable wayland-data-control feature for arboard (#33675)
    • storybook: remove STORYBOOK_PROJECT_ROOT when running automigrate to prevent hanging (#33567, #32492)
    • storybook: remove upper bound of migration requires (#33613)
    • testing: remove declare global wrapper from cypress commands.ts template (#33573, #32930)
    • testing: remove --no-experimental-strip-types flag from @nx/jest/plugin + migrate to jest.config.cts if needed (#33657)
    • vite: generate .mts config files to force ESM (#33518)
    • vite: vitest executor to return the async iterable #33588 (#33668, #33588)

    ❤️ Thank You

    • Adwait Athale @adwait1290
    • AgentEnder @AgentEnder
    • Berend de Boer @berenddeboer
    • Chau Tran @nartc
    • Claude
    • Colum Ferry @Coly010
    • Coly010 @Coly010
    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • jaysoo @jaysoo
    • Jonathan Gelin @jogelin
    • Kasper Christensen @fALKENdk
    • Laney Pouzet
    • Leosvel Pérez Espinosa @leosvelperez
    • Louie Weng @lourw
    • MaxKless @MaxKless
    Open source →
  23. 22.2.0-canary.20251208-300493e8 Dec 2025pre-release

    Nothing published for this version

  24. 22.2.0-canary.20251204-0f24bf54 Dec 2025pre-release

    Nothing published for this version

  25. 22.2.0-canary.20251203-2e442d53 Dec 2025pre-release

    Nothing published for this version

  26. 22.2.0-canary.20251202-30acb102 Dec 2025pre-release

    Nothing published for this version

  27. 22.2.0-canary.20251201-731aba31 Dec 2025pre-release

    Nothing published for this version

  28. 22.2.0-canary.20251128-f8f05b428 Nov 2025pre-release

    Nothing published for this version

  29. 22.2.0-canary.20251127-49fc6d527 Nov 2025pre-release

    Nothing published for this version

  30. 22.2.0-canary.20251126-3558a4c26 Nov 2025pre-release

    Nothing published for this version

  31. 22.2.0-canary.20251125-7e00ec425 Nov 2025pre-release

    Nothing published for this version

  32. 22.2.0-canary.20251124-70bbbe924 Nov 2025pre-release

    Nothing published for this version

  33. 22.2.0-canary.20251121-9a6c7ad21 Nov 2025pre-release

    Nothing published for this version

  34. 22.2.0-canary.20251120-aa38b2520 Nov 2025pre-release

    Nothing published for this version

  35. 22.2.0-beta.45 Dec 2025pre-release
    Release notes

    22.2.0-beta.4 (2025-12-05)

    🚀 Features

    • gradle: add targetNamePrefix option to mark all gradle targets (#33685)
    • maven: update Maven plugin version to 0.0.11 (#33713)

    🩹 Fixes

    • core: optimize bun lockfile parser (#33623)
    • core: cnw sends correct selectedRepositoryName; prints instructions when user Ctrl+C (#33699)
    • misc: update output location of ai-migration files (#33696)
    • release: ensure --preid flag considers stable tags for version determination (#33703, #33343)

    ❤️ Thank You

    • Berend de Boer @berenddeboer
    • Claude
    • Colum Ferry @Coly010
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    Open source →
  36. 22.2.0-beta.33 Dec 2025pre-release
    Release notes

    22.2.0-beta.3 (2025-12-03)

    🚀 Features

    • core: add template support to create-nx-workspace (#33468)
    • docker: auto-select version scheme when only one is available (#33671)
    • expo: support Expo 54 (#33612)
    • vitest: update @analogjs/vitest-angular to 2.1.2 #33602 (#33681, #33602)
    • vitest: make initial generation for JS projects more lightweight (#33670)

    🩹 Fixes

    • angular-rspack: use CJS when serving applications for HMR #33106 (#33693, #33106)
    • angular-rspack: ensure rebuild logs are only printed once (#33694)
    • bundling: set buildLibsFromSource in normalize options for Rollup (#33679)
    • core: stop adding outdated vscode/cursor rule files to gitignore (#33680)
    • core: sanitize project names for valid git tag names in nx release (#33692, #33262)
    • docker: fix releasing non docker projects (#33667)
    • maven: remove incorrect threadSafe to parallelism mapping (#33678)
    • react: update @emotion/styled to latest version #31252 (#33690, #31252)
    • release: interpolate releaseGroupName in getLatestGitTagForPattern (#33674)
    • repo: enable wayland-data-control feature for arboard (#33675)

    ❤️ Thank You

    • Claude
    • Colum Ferry @Coly010
    • Coly010 @Coly010
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Jonathan Gelin @jogelin
    • MaxKless @MaxKless
    Open source →
  37. 22.2.0-beta.21 Dec 2025pre-release
    Release notes

    22.2.0-beta.2 (2025-12-01)

    🚀 Features

    • vite: add migration to add @nx/vitest (#33669)

    🩹 Fixes

    • core: include create-nx-workspace in migration package group (#33643, #33585)
    • core: suppress git stderr output in parseGitOutput (#33645, #33330)
    • core: prevent Nx Console prompt from blocking non-interactive commands (#33646, #33552)
    • core: ensure perf logs are flushed before exit in graph command (#33621)
    • core: nx-schema default value for preserveMatchingDependencyRanges should have changed in v22 (#33587)
    • linter: update generators to use ESLint v9 compatible versions (#33633)
    • nuxt: do not import base eslint config for root project (#33642)
    • nuxt: update preset test for v4 app directory structure (#33648)
    • testing: remove --no-experimental-strip-types flag from @nx/jest/plugin + migrate to jest.config.cts if needed (#33657)
    • vite: vitest executor to return the async iterable #33588 (#33668, #33588)

    ❤️ Thank You

    • Claude
    • Colum Ferry @Coly010
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    Open source →
  38. 22.2.0-beta.127 Nov 2025pre-release
    Release notes

    22.2.0-beta.1 (2025-11-27)

    🚀 Features

    • nuxt: support nuxt v4 (#33611)
    • storybook: support storybook 10.1 (#33637)
    • vite: add vitest 4 migration for users using @nx/vite (#33630)

    🩹 Fixes

    • bundling: replace rollup-plugin-copy with nx copy assets plugin (#33601, #32398)
    • core: kill child process tree in different running tasks (#33636, #32438, #33460)
    • linter: base eslint config should ignore out-tsc directories (#33639)
    • nextjs: make migration to next 16 optional (#33627)
    • storybook: remove upper bound of migration requires (#33613)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Coly010 @Coly010
    • Jack Hsu @jaysoo
    • jaysoo @jaysoo
    • Leosvel Pérez Espinosa @leosvelperez
    Open source →
  39. 22.2.0-beta.025 Nov 2025pre-release
    Release notes

    22.2.0-beta.0 (2025-11-25)

    🚀 Features

    • core: add multiple Nx version detection to nx report (#33599)
    • linter: add util to load eslint rules from a directory (#33543)
    • nextjs: add migration to add AI instructions for upgrading to Next 16 (#33608)
    • nx-cloud: prepend nx version to stats metadata (#33568)

    🩹 Fixes

    • core: don't presume a task is long running if its marked cacheable (#33545, #32610)
    • core: daemon command should exit at end (#33547)
    • core: provide error when nested graph construction would occur invoked during createNodes (#33541, #29618)
    • core: filter out automated release commits in getCommitsRelevantToProjects (#33482)
    • core: make daemon socket path unique per process to prevent race condition (#33580, #33491)
    • core: use nx-mcp for older nx versions instead of nx mcp (#33553)
    • core: propagate continuous task failures to dependent tasks (#33492)
    • graph: align exclude flag with others by using findMatchingProjects (#33550)
    • graph: surface task graph client error via error toast (#33600)
    • js: ensure copy-workspace-modules copies transitive workspace dependencies (#33570)
    • linter: handle various flat config override structures (#33548, #31796)
    • nest: set moduleResolution to node to prevent TS5095 error (#33607, #33589)
    • node: set generatePackageJson:false for TS Solution workspaces (#33606)
    • react: exclude tailwind from CSS modules syntax in component generator (#33574)
    • release: ensure emoji is not repeated in breaking changes summary (#33605)
    • storybook: remove STORYBOOK_PROJECT_ROOT when running automigrate to prevent hanging (#33567, #32492)
    • testing: remove declare global wrapper from cypress commands.ts template (#33573, #32930)
    • vite: generate .mts config files to force ESM (#33518)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • Chau Tran @nartc
    • Claude
    • Colum Ferry @Coly010
    • Coly010 @Coly010
    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Kasper Christensen @fALKENdk
    • Laney Pouzet
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    Open source →
  40. 22.1.327 Nov 2025
    Release notes

    22.1.3 (2025-11-27)

    🚀 Features

    • nextjs: add migration to add AI instructions for upgrading to Next 16 (#33608)

    🩹 Fixes

    • bundling: replace rollup-plugin-copy with nx copy assets plugin (#33601, #32398)
    • core: kill child process tree in different running tasks (#33636, #32438, #33460)
    • linter: base eslint config should ignore out-tsc directories (#33639)
    • nextjs: make migration to next 16 optional (#33627)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Coly010 @Coly010
    • Jack Hsu @jaysoo
    • jaysoo @jaysoo
    • Leosvel Pérez Espinosa @leosvelperez
    Open source →
  41. 22.1.226 Nov 2025
    Release notes

    22.1.2 (2025-11-25)

    🚀 Features

    • core: add multiple Nx version detection to nx report (#33599)

    🩹 Fixes

    • core: filter out automated release commits in getCommitsRelevantToProjects (#33482)
    • core: make daemon socket path unique per process to prevent race condition (#33580, #33491)
    • core: use nx-mcp for older nx versions instead of nx mcp (#33553)
    • core: propagate continuous task failures to dependent tasks (#33492)
    • graph: surface task graph client error via error toast (#33600)
    • js: ensure copy-workspace-modules copies transitive workspace dependencies (#33570)
    • nest: set moduleResolution to node to prevent TS5095 error (#33607, #33589)
    • node: set generatePackageJson:false for TS Solution workspaces (#33606)
    • release: ensure emoji is not repeated in breaking changes summary (#33605)
    • storybook: remove upper bound of migration requires (#33613)
    • testing: remove declare global wrapper from cypress commands.ts template (#33573, #32930)

    ❤️ Thank You

    • Chau Tran @nartc
    • Colum Ferry @Coly010
    • Coly010 @Coly010
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Kasper Christensen @fALKENdk
    • Laney Pouzet
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    Open source →
  42. 22.1.122 Nov 2025
    Release notes

    22.1.1 (2025-11-21)

    🚀 Features

    • linter: add util to load eslint rules from a directory (#33543)
    • nx-cloud: prepend nx version to stats metadata (#33568)

    🩹 Fixes

    • core: don't presume a task is long running if its marked cacheable (#33545, #32610)
    • core: daemon command should exit at end (#33547)
    • core: provide error when nested graph construction would occur invoked during createNodes (#33541, #29618)
    • graph: align exclude flag with others by using findMatchingProjects (#33550)
    • linter: handle various flat config override structures (#33548, #31796)
    • react: exclude tailwind from CSS modules syntax in component generator (#33574)
    • storybook: remove STORYBOOK_PROJECT_ROOT when running automigrate to prevent hanging (#33567, #32492)
    • vite: generate .mts config files to force ESM (#33518)

    ❤️ Thank You

    • AgentEnder @AgentEnder
    • Claude
    • Craigory Coppola @AgentEnder
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    Open source →
  43. 22.1.019 Nov 2025
    Release notes

    22.1.0 (2025-11-19)

    🚀 Features

    • core: update rust (#33220)
    • core: enable tui by default on windows (#33314)
    • core: batch hash tasks without custom hashers (#33327)
    • core: add OSC 9;4 progress indicator support to TUI (#33325)
    • core: collect resource usage (#32946)
    • core: disable interactivity by default for run-one task outputs in tui (#33358)
    • core: track system metrics and link plugins to workers when possible (#33411)
    • core: pull nx init from latest before executing (#33446)
    • core: export TypeScript schema definitions via wildcard patterns (#33454, #33336)
    • core: make console daemon check backgroundable and pulling from latest (#33491)
    • core: apply parent env to atomized target (#33013)
    • docker: support inferring additional args for targets with interpolation support (#32892)
    • docker: add skipDefaultTag option to build target (#33477, #33506)
    • gradle: add custom installation path to options (#33187)
    • gradle: use gitignore to determine dependant task output files (#33402)
    • gradle: allow specifying project and task configuration from gradle build files (#33264)
    • maven: upgrade to version 0.0.8 with automated migration (#33315)
    • maven: add ci-workflow generator (#33346)
    • maven: bump version from 0.0.8 to 0.0.9 (#33405)
    • maven: add option to prefix all maven targets (#33420)
    • misc: remove CI investigation recommendations from agent rules (#33309)
    • nextjs: add support for next 16 (#33296, #33207)
    • nx-dev: add downloadable resources page and React book blog post (160b4cce34)
    • release: support {versionActionsVersion} in docker version scheme (#33178)
    • release: add resolveVersionPlans option to changelog CLI and API (#33435)
    • storybook: add support for storybook 10 (#33277, #33141)
    • storybook: generate ai instructions for converting from CJS to ESM after migration (#33395)
    • testing: support cypress v15 (#33393, #33304)
    • vite: add atomizer support for vitest (#33265)
    • vite: add vitest 4 to peerDep range to prevent conflicts (#33394)
    • vitest: split vitest into @nx/vitest plugin (#33311)
    • vitest: split entrypoint into plugin, generators, executors (#33426)
    • vitest: support vitest 4 (#33424)

    🩹 Fixes

    • core: adding output error reason (#33159)
    • core: continue execution when cloud client is unavailable (#33214)
    • core: prevent error message containing [object Object] for invalid {workspaceRoot} placement (#33203)
    • core: fix swapped arguments when resolving catalog references from the filesystem (#33237)
    • core: should find dockerfiles to suggest installing docker plugin (#33234)
    • core: stream without prefixes showing tui (#33194, #32535)
    • core: ensure daemon writes project graph cache to disk consistently (#33217)
    • core: add accept header to http remote cache get (#33093, #33092)
    • core: prevent undefined importer crash in pnpm lockfile parsing (#33223)
    • core: split lockfile cache and other performance improvements (#33256)
    • core: turn v8 serializer off by default but fallback to it if json serialization fails (#33274, #4, #2, #3)
    • core: make sure that gemini contextFileName is string before trying to resolve (#33280)
    • core: also look in .nx installation when reading nx.json extends (#33306)
    • core: handle various directories when importing prettier (#33383)
    • core: prevent args from being split by spaces when executing through nx wrapper (#33362)
    • core: correctly identify local workspace dependencies on windows (#33408)
    • core: clean up dead processes from metrics (#33437)
    • core: resolve lockfile cache regression with keyMap state (#33448, #33256)
    • core: remove system metrics collection and reporting (#33456)
    • core: optimize batch task scheduling to prevent redundant traversals (#33455, #33366)
    • core: capture stderr in nx add command for better error messages (#33462)
    • core: include require paths when resolving specified plugins (#33495)
    • core: prevent hanging between command end and process exit (#33500)
    • core: resolve all lock ordering deadlocks in metrics collector (#33513)
    • core: avoid leaking memory due by creating an unref'd interval for each daemon connection (#33532, #29836)
    • core: default input should indeed be default (#33533)
    • docker: handle undefined options when creating graph (#33235)
    • docker: handle dockerfile at project root tag (#33236)
    • docker: guard commitSha null in plugin interpolation (#33275)
    • gradle: bump gradle migration version (#33479)
    • graph: add nx:build-native dependency to typecheck target (#33428)
    • js: update vitest generator import in library generator (#33430)
    • js: improve typescript plugin performance (#33425, #33076)
    • js: remove redundant typescript project references (#33438)
    • js: skip TS project references migration for non-TS-solution workspaces (#33467)
    • js: sync external references to project's tsconfig.json file if it includes any files (#33524)
    • maven: add support for unbound goals in plugin targets (#33191)
    • maven: use File.isAbsolute for cross-platform path detection (#33195)
    • maven: resolve maven dependencies from project roots (#33313)
    • maven: set migration version to 22.1.0-beta.4 (#33345)
    • maven: forward parameters through target dependencies (#33365)
    • maven: skip maven plugin computation on vercel/netlify (#33486)
    • misc: add explanatory footer to ai agents prompts (#33182)
    • misc: handle null exit codes from crashed child processes (#33163, #29204)
    • misc: handle ERR_USE_AFTER_CLOSE gracefully in nx init and create-nx-workspace (#33469)
    • module-federation: update @module-federation packages to fix Koa vulnerability (#33285, #33380)
    • nextjs: ensure eslint-config-next matches Next.js 14 and 15 versions (#30259, #30258, #30257)
    • node: migrate to koa 3.0.3 (#33208)
    • nx-dev: update docs code blocks usage (#32998)
    • nx-dev: add copy-docs back as a dep of serve (#33215)
    • nx-dev: fix GitHub star button styling in mobile view (#33385)
    • nx-dev: error out when failing to parse plugin manifests (#33498)
    • release: changelog renderer should render commit title with breaking changes (#33439)
    • release: ensure file change calculation matches nx affected #33413 (#33539, #33413)
    • storybook: remove optional nature of migration (#33427)
    • storybook: normalize version range before comparison (#33515, #33514)
    • testing: use .cts config files for Jest 30+ to fix __dirname issues (#33349, #32236)
    • vite: nxViteTsPaths supports local path aliases (#33241, #33231)
    • vite: prevent race-condition when importing @vitejs/plugin-vue (#33307)
    • vite: ensure atomizer does not consider projects outside the project root (#33344)
    • vite: ensure createVitest looks only from projectRoot (#33361)
    • vite: support vitest v4 (#33478)
    • vitest: do not fail when cleanedAngularVersion is of incorrect type (#33436, #33347)
    • webpack: prevent errors when importing @nx/webpack before typescript is installed (#33251)

    ❤️ Thank You

    • Caleb Ukle
    • Claude
    • Colum Ferry @Coly010
    • Coly010 @Coly010
    • Craigory Coppola @AgentEnder
    • Emilio Heinzmann @emiliosheinz
    • Eric Büttner @tuffz
    • FrozenPandaz @FrozenPandaz
    • Hugo Burton @hugs7
    • Jack Hsu @jaysoo
    • James Henry @JamesHenry
    • Jason Jean @FrozenPandaz
    • Juri Strumpflohner
    • Leosvel Pérez Espinosa @leosvelperez
    • leosvelperez @leosvelperez
    • Louie Weng @lourw
    • MaxKless @MaxKless
    • Miroslav Jonaš @meeroslav
    • Sander Boelhouwers
    • Zachary DeRose @ZackDeRose
    Open source →
  44. 22.1.0-rc.517 Nov 2025pre-release
    Release notes

    22.1.0-rc.5 (2025-11-17)

    🚀 Features

    • core: apply parent env to atomized target (#33013)
    • gradle: allow specifying project and task configuration from gradle build files (#33264)

    🩹 Fixes

    • core: resolve all lock ordering deadlocks in metrics collector (#33513)
    • storybook: normalize version range before comparison (#33515, #33514)

    ❤️ Thank You

    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • MaxKless @MaxKless
    • Miroslav Jonaš
    Open source →
  45. 22.1.0-rc.417 Nov 2025pre-release
    Release notes

    22.1.0-rc.4 (2025-11-17)

    🚀 Features

    • docker: add skipDefaultTag option to build target (#33477, #33506)

    🩹 Fixes

    • core: include require paths when resolving specified plugins (#33495)
    • core: prevent hanging between command end and process exit (#33500)

    ❤️ Thank You

    • Colum Ferry @Coly010
    • Craigory Coppola @AgentEnder
    Open source →
  46. 22.1.0-rc.314 Nov 2025pre-release
    Release notes

    22.1.0-rc.3 (2025-11-14)

    🚀 Features

    • core: make console daemon check backgroundable and pulling from latest (#33491)

    🩹 Fixes

    • core: capture stderr in nx add command for better error messages (#33462)
    • gradle: bump gradle migration version (#33479)
    • maven: skip maven plugin computation on vercel/netlify (#33486)
    • misc: handle ERR_USE_AFTER_CLOSE gracefully in nx init and create-nx-workspace (#33469)
    • vite: support vitest v4 (#33478)

    ❤️ Thank You

    • Claude
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Louie Weng @lourw
    • MaxKless @MaxKless
    Open source →
  47. 22.1.0-rc.212 Nov 2025pre-release
    Release notes

    22.1.0-rc.2 (2025-11-12)

    🩹 Fixes

    • js: skip TS project references migration for non-TS-solution workspaces (#33467)

    ❤️ Thank You

    • Claude
    • Jason Jean @FrozenPandaz
    Open source →
  48. 22.1.0-rc.112 Nov 2025pre-release
    Release notes

    22.1.0-rc.1 (2025-11-12)

    This was a version bump only, there were no code changes.

    Open source →
  49. 22.1.0-rc.012 Nov 2025pre-release
    Release notes

    22.1.0-rc.0 (2025-11-12)

    🚀 Features

    • core: pull nx init from latest before executing (#33446)
    • core: export TypeScript schema definitions via wildcard patterns (#33454, #33336)
    • maven: add option to prefix all maven targets (#33420)

    🩹 Fixes

    • core: remove system metrics collection and reporting (#33456)
    • core: optimize batch task scheduling to prevent redundant traversals (#33455, #33366)
    • graph: add nx:build-native dependency to typecheck target (#33428)
    • js: remove redundant typescript project references (#33438)

    ❤️ Thank You

    • FrozenPandaz @FrozenPandaz
    • Jack Hsu @jaysoo
    • Jason Jean @FrozenPandaz
    • Leosvel Pérez Espinosa @leosvelperez
    • MaxKless @MaxKless
    Open source →
  50. 22.1.0-canary.20251119-7b9970f19 Nov 2025pre-release

    Nothing published for this version

  51. 22.1.0-canary.20251118-3206c3518 Nov 2025pre-release

    Nothing published for this version

  52. 22.1.0-canary.20251117-e8576a817 Nov 2025pre-release

    Nothing published for this version

  53. 22.1.0-canary.20251114-b3e6b0314 Nov 2025pre-release

    Nothing published for this version

  54. 22.1.0-canary.20251112-36b9f7a12 Nov 2025pre-release

    Nothing published for this version

  55. 22.1.0-canary.20251111-647d75111 Nov 2025pre-release

    Nothing published for this version

  56. 22.1.0-canary.20251110-73ecb3010 Nov 2025pre-release

    Nothing published for this version

  57. 22.1.0-canary.20251106-e9146c76 Nov 2025pre-release

    Nothing published for this version

  58. 22.1.0-canary.20251030-b28366330 Oct 2025pre-release

    Nothing published for this version

  59. 22.1.0-canary.20251029-4a07faf29 Oct 2025pre-release

    Nothing published for this version

  60. 22.1.0-canary.20251028-221ad5828 Oct 2025pre-release

    Nothing published for this version