Skip to content

Releases: nrwl/nx

20.5.0-beta.0

28 Jan 14:55
5721ea3
Compare
Choose a tag to compare
20.5.0-beta.0 Pre-release
Pre-release

20.5.0-beta.0 (2025-01-28)

🚀 Features

  • core: lock graph creation when running in another process (#29408)
  • misc: replace ts-jest transformer with @swc/jest for ts solution setup (#29763)
  • nx-dev: refactor and improve style of video-player (#29749)

🩹 Fixes

  • linter: add files entry to react flat configs to avoid applying TS rules to JSON files (#29457)
  • testing: infer correct file output paths for atomized targets (#29766)

❤️ Thank You

20.4.0

27 Jan 20:09
82c4e17
Compare
Choose a tag to compare

20.4.0 (2025-01-27)

🚀 Features

  • angular: support angular v19.1 (#29523)
  • core: allow tasks to run with a substring of project name (#29552)
  • core: add support for skipping remote cache (#29574)
  • core: Add ESM support for Eslint config file (#29613)
  • core: handle existing plugins failed with imported project (#28893)
  • core: support reading projects under new pnpm workspaces entry + skip writing empty nx property to pacakge.json for non-root projects (#29707)
  • core: add pre and post run apis (#29636)
  • graph: update headlessui v2 (#29586)
  • js: simplify generated tsconfig.base.json compiler options in ts solution setup (#29550)
  • js: infer build-deps and watch-deps targets for incremental builds (#29609)
  • js: remove nx property from generated package.json files (#29705)
  • misc: use @swc/jest instead of ts-jest for the ts solution setup (#29718)
  • misc: prompt for unit test runner when creating a workspace using --workspaces flag (#29743)
  • module-federation: upgrade to latest version of @module-federation/enhanced (#29535)
  • node: update app generator for fastify to the next major v5 (#29589)
  • node: upgrade express to v4.21.2 to address security vulnerabilities (#29419)
  • nx-dev: add TOC markdoc component for blog posts (3e564864fd)
  • nx-dev: customer videos on customer page (#29380)
  • nx-dev: add trial pages for Powerpack and Enterprise, update contact sales team page (#29554)
  • nx-dev: show arg aliases (#29653)
  • nx-dev: generate migration detail pages (#29580)
  • react: add support for React 19 for new Workspaces (#29286)
  • release: allow invalid conventional commits to be considered via custom config (#29658)
  • rspack: non-inferred targets should work OOTB (#29733)
  • testing: add option ciGroupName to @nx/jest/plugin (#29365)
  • web: support custom cors headers (#29382)
  • web: add support for TS solution setup for @nx/web (#29583)
  • webpack, rspack: support multiple configurations (#29691)

🩹 Fixes

  • angular: restore esm2022 bundle and drop fesm2022 in ng-packagr-lite executor (#29615)
  • core: daemon spinner should show text (#29448)
  • core: update nx cloud bundle install directory logic (#29555)
  • core: avoid launching default plugins twice (#29539)
  • core: support subpath exports when constructing the project graph (#29577)
  • core: update package script logic to handle cli tool name as command (#29617)
  • core: show better project graph errors (#29525)
  • core: check only for watcher connections during inactivity shutdown (#29621)
  • core: do not warn about custom tasks runners when explicitly usi… (#29669)
  • core: update yarn-parser to handle yarn v4 syntax for root workspace package (#29452)
  • core: ensure that nx is backwards compatible with older versions of Nx Cloud (#29703)
  • core: support subpath exports when constructing the project graph" (#29762)
  • detox: use a version of Detox that works with React Native 0.76/Expo v52 (#29679)
  • devkit: add .riv to binary extension (#29309)
  • gradle: check if java is installed (#29572)
  • graph: copy command text directly from PDV (#29645)
  • js: not generate tsconfig if already exists (#29317)
  • js: only add typescript project references for explicit dependencies in sync generator (#28998)
  • js: infer outputs correctly when both rootDir and outDir are set for tsconfig (#29531)
  • js: do not set project references to non-existing tsconfig files in sync generator (#29536)
  • js: ensure js libraries' build produce esm output in ts solution setup (#29546)
  • js: avoid nested paths in workspaces because they can lead to future issues (#29553)
  • js: Update typescript plugin check for buildable projects (#29431)
  • js: update detection of ts solution setup (#29576)
  • js: generate js libs with exports in package.json and ensure esm output when using rollup bundler (#29565)
  • js: do not generate explicit vitest task config for a js library unless adding plugin is disabled (#29606)
  • js: improve error handling during SWC compilation (#29605)
  • js: non-buildable js libs specify type=module (#29620)
  • js: sort package.json fields by idiomatic order (#29635)
  • js: fix typo so exports field in package.json is properly sorted (#29643)
  • js: do not generate package.json file for non-buildable js libraries in non-ts solution setup (#29646)
  • js: ignore bundler config files correctly in eslint config when using vitest in js library generator (#29649)
  • linter: export Options types for enforce-module-boundaries and nx-plugin-checks (#29072)
  • misc: ensure all project generators add project to workspaces config (#29582)
  • misc: ensure exports are generated for several lib generators in ts solution setup (#29588)
  • misc: generate module and moduleResolution in base tsconfig based on cnw preset (#29633)
  • misc: update e2e config generators to align with new TS solution setup (#29638)
  • misc: generate remix libs correctly and install correct @types/react version for react libs (#29760)
  • node: set correct compilerOptions for Nest applications (#29725)
  • nuxt: correct webServerAddress and webServerCommand options in add-e2e.ts generator. (#29713)
  • nx-dev: Quote typo (#29513)
  • nx-dev: add playsInline to video loop component (aceebca1aa)
  • nx-dev: fix heroicons for safari (#29544)
  • nx-dev: Update Webinar link (#29590)
  • nx-dev: update request a trial link on pricing page (#29711)
  • nx-plugin: fix plugin generation in ts solution setup (#29730)
  • react: transpile SVGR into React 19 compatible component (#29543)
  • react: setup mf env var as input for rspack (#29584)
  • react: ensure project name is escaped in spec matcher when generating an application (#29732)
  • release: invalid config path in hint for using skipLockFileUpdate (#29425)
  • release: ensure git push option is always applied (#29596)
  • rspack: make subresourceIntegrity usage configurable (#29629)
  • rspack: fix error with 'TypeError: userDefinedConfig is not a function' (#29514, #29515)
  • testing: infer correct outputs when absolute paths are provided in playwright config (#29549)
  • testing: e2e config generators should prompt for missing serve data (#29660)
  • testing: finish dev server async generator in cypress executor ([#29689](https://github.com/nrwl/nx/pull...
Read more

20.4.0-rc.0

27 Jan 19:27
82c4e17
Compare
Choose a tag to compare
20.4.0-rc.0 Pre-release
Pre-release

20.4.0-rc.0 (2025-01-27)

🚀 Features

  • core: add pre and post run apis (#29636)
  • misc: prompt for unit test runner when creating a workspace using --workspaces flag (#29743)
  • node: update app generator for fastify to the next major v5 (#29589)
  • node: upgrade express to v4.21.2 to address security vulnerabilities (#29419)
  • nx-dev: generate migration detail pages (#29580)

🩹 Fixes

  • core: support subpath exports when constructing the project graph" (#29762)
  • detox: use a version of Detox that works with React Native 0.76/Expo v52 (#29679)
  • misc: generate remix libs correctly and install correct @types/react version for react libs (#29760)
  • nuxt: correct webServerAddress and webServerCommand options in add-e2e.ts generator. (#29713)
  • rspack: fix error with 'TypeError: userDefinedConfig is not a function' (#29514, #29515)
  • testing: finish dev server async generator in cypress executor (#29689)

❤️ Thank You

20.4.0-beta.2

24 Jan 14:50
9b7a797
Compare
Choose a tag to compare
20.4.0-beta.2 Pre-release
Pre-release

20.4.0-beta.2 (2025-01-24)

🚀 Features

  • core: Add ESM support for Eslint config file (#29613)
  • core: handle existing plugins failed with imported project (#28893)
  • core: support reading projects under new pnpm workspaces entry + skip writing empty nx property to pacakge.json for non-root projects (#29707)
  • js: remove nx property from generated package.json files (#29705)
  • misc: use @swc/jest instead of ts-jest for the ts solution setup (#29718)
  • release: allow invalid conventional commits to be considered via custom config (#29658)
  • rspack: non-inferred targets should work OOTB (#29733)
  • webpack, rspack: support multiple configurations (#29691)

🩹 Fixes

  • core: do not warn about custom tasks runners when explicitly usi… (#29669)
  • core: update yarn-parser to handle yarn v4 syntax for root workspace package (#29452)
  • core: ensure that nx is backwards compatible with older versions of Nx Cloud (#29703)
  • devkit: add .riv to binary extension (#29309)
  • linter: export Options types for enforce-module-boundaries and nx-plugin-checks (#29072)
  • node: set correct compilerOptions for Nest applications (#29725)
  • nx-dev: update request a trial link on pricing page (#29711)
  • nx-plugin: fix plugin generation in ts solution setup (#29730)
  • react: ensure project name is escaped in spec matcher when generating an application (#29732)
  • vite: do not stop the test process of failure in watch mode (#29260)

❤️ Thank You

20.3.3

23 Jan 21:00
6725518
Compare
Choose a tag to compare

20.3.3 (2025-01-23)

🩹 Fixes

  • core: do not warn about custom tasks runners when explicitly usi… (#29669)
  • core: update yarn-parser to handle yarn v4 syntax for root workspace package (#29452)
  • core: ensure that nx is backwards compatible with older versions of Nx Cloud (#29703)
  • gradle: check if java is installed (#29572)
  • graph: copy command text directly from PDV (#29645)
  • js: sort package.json fields by idiomatic order (#29635)
  • js: fix typo so exports field in package.json is properly sorted (#29643)
  • js: do not generate package.json file for non-buildable js libraries in non-ts solution setup (#29646)
  • js: ignore bundler config files correctly in eslint config when using vitest in js library generator (#29649)
  • node: set correct compilerOptions for Nest applications (#29725)
  • nx-dev: update request a trial link on pricing page (#29711)
  • nx-plugin: fix plugin generation in ts solution setup (#29730)
  • react: ensure project name is escaped in spec matcher when generating an application (#29732)
  • testing: e2e config generators should prompt for missing serve data (#29660)
  • vite: do not stop the test process of failure in watch mode (#29260)

❤️ Thank You

20.4.0-beta.1

17 Jan 17:11
a468d72
Compare
Choose a tag to compare
20.4.0-beta.1 Pre-release
Pre-release

20.4.0-beta.1 (2025-01-17)

🚀 Features

  • angular: support angular v19.1 (#29523)
  • nx-dev: show arg aliases (#29653)
  • react: add support for React 19 for new Workspaces (#29286)

🩹 Fixes

  • gradle: check if java is installed (#29572)
  • graph: copy command text directly from PDV (#29645)
  • js: sort package.json fields by idiomatic order (#29635)
  • js: fix typo so exports field in package.json is properly sorted (#29643)
  • js: do not generate package.json file for non-buildable js libraries in non-ts solution setup (#29646)
  • js: ignore bundler config files correctly in eslint config when using vitest in js library generator (#29649)
  • misc: generate module and moduleResolution in base tsconfig based on cnw preset (#29633)
  • misc: update e2e config generators to align with new TS solution setup (#29638)
  • testing: e2e config generators should prompt for missing serve data (#29660)
  • vite: plugin should infer 'vite' for dev/serve command (#29585)

❤️ Thank You

20.4.0-beta.0

15 Jan 16:30
32a2ca8
Compare
Choose a tag to compare
20.4.0-beta.0 Pre-release
Pre-release

20.4.0-beta.0 (2025-01-15)

🚀 Features

  • core: allow tasks to run with a substring of project name (#29552)
  • core: add support for skipping remote cache (#29574)
  • graph: update headlessui v2 (#29586)
  • js: simplify generated tsconfig.base.json compiler options in ts solution setup (#29550)
  • js: infer build-deps and watch-deps targets for incremental builds (#29609)
  • module-federation: upgrade to latest version of @module-federation/enhanced (#29535)
  • nx-dev: add TOC markdoc component for blog posts (3e564864fd)
  • nx-dev: customer videos on customer page (#29380)
  • nx-dev: add trial pages for Powerpack and Enterprise, update contact sales team page (#29554)
  • testing: add option ciGroupName to @nx/jest/plugin (#29365)
  • web: support custom cors headers (#29382)
  • web: add support for TS solution setup for @nx/web (#29583)

🩹 Fixes

  • angular: restore esm2022 bundle and drop fesm2022 in ng-packagr-lite executor (#29615)
  • core: daemon spinner should show text (#29448)
  • core: update nx cloud bundle install directory logic (#29555)
  • core: avoid launching default plugins twice (#29539)
  • core: support subpath exports when constructing the project graph (#29577)
  • core: update package script logic to handle cli tool name as command (#29617)
  • core: show better project graph errors (#29525)
  • core: check only for watcher connections during inactivity shutdown (#29621)
  • js: not generate tsconfig if already exists (#29317)
  • js: only add typescript project references for explicit dependencies in sync generator (#28998)
  • js: infer outputs correctly when both rootDir and outDir are set for tsconfig (#29531)
  • js: do not set project references to non-existing tsconfig files in sync generator (#29536)
  • js: ensure js libraries' build produce esm output in ts solution setup (#29546)
  • js: avoid nested paths in workspaces because they can lead to future issues (#29553)
  • js: Update typescript plugin check for buildable projects (#29431)
  • js: update detection of ts solution setup (#29576)
  • js: generate js libs with exports in package.json and ensure esm output when using rollup bundler (#29565)
  • js: do not generate explicit vitest task config for a js library unless adding plugin is disabled (#29606)
  • js: improve error handling during SWC compilation (#29605)
  • js: non-buildable js libs specify type=module (#29620)
  • misc: ensure all project generators add project to workspaces config (#29582)
  • misc: ensure exports are generated for several lib generators in ts solution setup (#29588)
  • nx-dev: Quote typo (#29513)
  • nx-dev: add playsInline to video loop component (aceebca1aa)
  • nx-dev: fix heroicons for safari (#29544)
  • nx-dev: Update Webinar link (#29590)
  • react: transpile SVGR into React 19 compatible component (#29543)
  • react: setup mf env var as input for rspack (#29584)
  • release: invalid config path in hint for using skipLockFileUpdate (#29425)
  • release: ensure git push option is always applied (#29596)
  • rspack: make subresourceIntegrity usage configurable (#29629)
  • testing: infer correct outputs when absolute paths are provided in playwright config (#29549)
  • vite: tsconfig paths plugin should not partially match paths (#29501)

❤️ Thank You

20.3.2

17 Jan 16:12
7bc8269
Compare
Choose a tag to compare

20.3.2 (2025-01-17)

🚀 Features

  • module-federation: upgrade to latest version of @module-federation/enhanced (#29535)
  • nx-dev: customer videos on customer page (#29380)
  • nx-dev: add trial pages for Powerpack and Enterprise, update contact sales team page (#29554)
  • testing: add option ciGroupName to @nx/jest/plugin (#29365)
  • web: support custom cors headers (#29382)

🩹 Fixes

  • angular: restore esm2022 bundle and drop fesm2022 in ng-packagr-lite executor (#29615)
  • core: update nx cloud bundle install directory logic (#29555)
  • core: avoid launching default plugins twice (#29539)
  • core: support subpath exports when constructing the project graph (#29577)
  • core: update package script logic to handle cli tool name as command (#29617)
  • core: show better project graph errors (#29525)
  • core: check only for watcher connections during inactivity shutdown (#29621)
  • gradle: check if java is installed (#29572)
  • graph: copy command text directly from PDV (#29645)
  • js: do not set project references to non-existing tsconfig files in sync generator (#29536)
  • js: ensure js libraries' build produce esm output in ts solution setup (#29546)
  • js: avoid nested paths in workspaces because they can lead to future issues (#29553)
  • js: Update typescript plugin check for buildable projects (#29431)
  • js: update detection of ts solution setup (#29576)
  • js: generate js libs with exports in package.json and ensure esm output when using rollup bundler (#29565)
  • js: do not generate explicit vitest task config for a js library unless adding plugin is disabled (#29606)
  • js: improve error handling during SWC compilation (#29605)
  • js: non-buildable js libs specify type=module (#29620)
  • js: sort package.json fields by idiomatic order (#29635)
  • js: fix typo so exports field in package.json is properly sorted (#29643)
  • js: do not generate package.json file for non-buildable js libraries in non-ts solution setup (#29646)
  • js: ignore bundler config files correctly in eslint config when using vitest in js library generator (#29649)
  • misc: ensure all project generators add project to workspaces config (#29582)
  • misc: ensure exports are generated for several lib generators in ts solution setup (#29588)
  • misc: update e2e config generators to align with new TS solution setup (#29638)
  • nx-dev: fix heroicons for safari (#29544)
  • nx-dev: Update Webinar link (#29590)
  • react: transpile SVGR into React 19 compatible component (#29543)
  • react: setup mf env var as input for rspack (#29584)
  • release: ensure git push option is always applied (#29596)
  • rspack: make subresourceIntegrity usage configurable (#29629)
  • testing: infer correct outputs when absolute paths are provided in playwright config (#29549)
  • testing: e2e config generators should prompt for missing serve data (#29660)

❤️ Thank You

20.3.1

07 Jan 19:22
fae2455
Compare
Choose a tag to compare

20.3.1 (2025-01-07)

🚀 Features

  • nx-dev: add TOC markdoc component for blog posts (d98e6e4e84)

🩹 Fixes

  • core: daemon spinner should show text (#29448)
  • js: not generate tsconfig if already exists (#29317)
  • js: only add typescript project references for explicit dependencies in sync generator (#28998)
  • js: infer outputs correctly when both rootDir and outDir are set for tsconfig (#29531)
  • nx-dev: Quote typo (#29513)
  • nx-dev: add playsInline to video loop component (615fd172a5)
  • release: invalid config path in hint for using skipLockFileUpdate (#29425)
  • vite: tsconfig paths plugin should not partially match paths (#29501)

❤️ Thank You

20.3.0

20 Dec 18:03
Compare
Choose a tag to compare

20.3.0 (2024-12-20)

🚀 Features

  • angular: support ngrx v19 (#29398)
  • core: support rollup.config.ts (#28240)
  • core: use custom resolution to resolve from source local plugins with artifacts pointing to the outputs (#29222)
  • core: add spinners when graph compute takes long time (#28966)
  • core: not exit when one plugin installation failed (#28684)
  • core: nx-plugin-checks accounts for outDir and rootDir of projects when checking file existence (#29391)
  • core: add lib/** glob to workspaces so we support it out of the box (#29403)
  • core: show progress on ci if graph construction takes longer than expected (#29392)
  • eslint: rename eslint.config.js to eslint.config.cjs to resolve them as CommonJS (#29334)
  • expo: upgrade Expo to v52 (#29142)
  • js: update vue/node app and lib generators to support TS solutions (#29299)
  • misc: handle artifact generators' path options including file extensions (#29111)
  • nx-dev: link more customer videos on enterprise page (7498e470fa)
  • nx-plugin: added support for vitest test runner (#29140)
  • release: allow automated git push from version or changelog step (#29280)
  • rsbuild: add intial package (#29147)
  • rsbuild: add inferred targets plugin (#29192)
  • rsbuild: add rsbuild configuration generator (#29321)
  • rsbuild: add react and vue support for app generation (#29349)
  • rsbuild: move plugin export to root of package (#29415)
  • storybook: use createNodesV2 for init and convert-to-inferred generators (#28092)
  • testing: allow custom address for local registry (#29050)
  • vite: add angular option to vitest generator (#29055)

🩹 Fixes

  • typo in environment-variables.md (#29294)
  • angular: handle removed angular-eslint rules in root eslint config files and update package (#29262)
  • angular: normalize prerender and appShell options of the application executor correctly (#29281)
  • angular: correctly normalize dev-server options (#29322)
  • angular: add-localize-polyfill-to-targets fails if polyfills is a string (#29324)
  • angular: normalize name when forced to build selector (#29417)
  • angular: set up host and remote ssr apps correctly #29442 (#29447, #29442)
  • bundling: ensure vitest timestamp files are ignored (#29418)
  • core: add workspaces path if package path is not included (#28824)
  • core: fix process being prevented from exiting (#29240)
  • core: defer loading package manager until necessary (#29248)
  • core: hashing fixes (#29247)
  • core: Update bundlers to not typecheck if using new TS solution setup (#29227)
  • core: ensure @nx/module-federation is listed in package group (#29292)
  • core: ensure rsbuild is part of nx package group (#29310)
  • core: avoid storing hash details for empty fileset (#29316)
  • core: resolve imports from linked workspace projects (#29328)
  • core: collect all logs from forked processes (#27778)
  • core: Update move/remove workspace generators to work with ts project references (#29331)
  • core: Adding react apps/libs to workspaces so they can be referenced. (#29202)
  • core: make packageExports metadata optional field (#29407)
  • core: graph spinners should update properly (#29433)
  • core: update yarn-parser to handle yarn v4 syntax (#29067)
  • gradle: cache gradle report (#29381)
  • js: switch from fast-glob to tinyglobby (#29141)
  • js: ensure typescript-sync generator produces formatted references when no prettier is installed (#29368)
  • js: Configure typescript plugin to handle non-buildable libs (#29393)
  • js: handle resolution from within node_module in the sync generator (#29412)
  • misc: ensure tsBuildInfoFile is generated inside outDir (#29343)
  • misc: fix misc generation issues with the ts solution setup (#29350)
  • module-federation: ensure @nx/module-federation package is installed for users (#29416)
  • module-federation: dynamic federation helpers should normalize remote names (#29427)
  • nuxt: change tsconfig path on server part (#28864)
  • nx-dev: update Nx Cloud proj created (#29272)
  • nx-dev: update hero image on blog post (#29405)
  • react: add files entry for publishable libraries (#29277)
  • react: assert test property is defined on webpack rule in nx-react-webpack-plugin (#27525)
  • react: fix issues with react ts setup (#29312)
  • react: fix tailwind for react library and component (#29319)
  • react-native: default template fails when envs are not set (#28931)
  • react-native: typescript lib schema (#27955)
  • react-native: fix react native storybook for lib (#29210)
  • release: use prepatch version for pre-release dependent package updates (#29123)
  • release: make commits separator in git log command more unique (#29261)
  • repo: cleanup old plugins promise (#29295)
  • rsbuild: set publish config correctly (#29282)
  • storybook: only install react deps for storybook 7 #29213 (#29231, #29213)
  • storybook: ensure 'storybook' dep is installed for non-crystal workspaces (#29235)
  • testing: force node10 module resolution for jest atomized tasks (#29421)
  • ⚠️ vite: generate config with esm by default (#29270)
  • vite: resolves files with dot suffixes correctly (#28518)
  • webpack: Add useTsconfigPaths to app-webpack-plugin (#29291)

⚠️ Breaking Changes

  • ⚠️ vite: generate config with esm by default (#29270)

❤️ Thank You