PackageTrack

npm · #4377 most downloaded on npm

@nx/workspace

23.1.2nrwl/nx

The Workspace plugin contains executors and generators that are useful for any Nx workspace. It should be present in every Nx workspace and other plugins build on it.

Release timeline

1890 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