Releases: nrwl/nx
Releases · nrwl/nx
20.4.3
20.4.3 (2025-02-12)
🚀 Features
- nx-dev: add company video (17b5e0a6ef)
🩹 Fixes
- angular: do not generate
@nx/dependency-checks
block in flat root eslint config (#29980) - core: tweaks to nx init (#30002)
- core: create multi-glob function (#29880)
- core: fix plugin error indexes (#29936)
- core: handle nullable
lock
when creating project graph (#30000) - gradle: fix gradle undefined dependency target (#29943)
- js: allow publishable library to run release command (#29775)
- linter: install @eslint/eslintrc package as necessary (#29933)
- linter: dependency-check-support-catalogs (#29923)
- rspack: should be inferred by default (#29736)
❤️ Thank You
- Emily Xiong @xiongemi
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Jonathan Cammisuli @Cammisuli
- Juri @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Nicholas Cunningham @ndcunningham
- Ryan Bas @ryanbas21
20.4.2
20.4.2 (2025-02-08)
🚀 Features
- core: update CNW defaults so they generate a useful workspace by default (#29915)
- nx-dev: add quote component for enterprise articles (01446495048)
- nx-dev: add metrics and related blogs section (2007d491a1e)
- nx-dev: webinar page (#29913)
🩹 Fixes
- nextjs: enhance support for custom server with SWC configuration (#29895)
- nx-dev: Update customers carousel subtitle (#29920)
- nx-dev: error on course detail page on mobile (f592f59a825)
❤️ Thank You
- Isaac Mann @isaacplmann
- Jack Hsu @jaysoo
- Juri @juristr
- Nicholas Cunningham @ndcunningham
20.4.1
20.4.1 (2025-02-06)
🚀 Features
- core: lock graph creation when running in another process (#29408)
- core: add
prefixColor
property to@nx:run-commands
(#29348) - core: add sync generators option to target defaults in nx-schema (#29441)
- core: show link to migrate detail page in --interactive mode (#29874)
- nx-dev: refactor and improve style of video-player (#29749)
- nx-dev: add ability to add labels to video-player (65c44b6abf)
- nx-dev: allow callout component to be expanded by default (#29806)
- nx-dev: add epic nx release course (#29777)
- nx-dev: show alt text as label below markdown images (34dd347128)
- nx-dev: conformance rule for blog post description (3920bf8852)
- nx-dev: allow link-card components to take an image URL (84779d60c2)
- rspack: improve plugin createNodes performance (#29876)
🩹 Fixes
- angular: fix path issues on windows for storybook generators and unit tests (#27489)
- bundling: rspack should allow ES config module imports (#29095)
- core: allow for non-js libs to be moved without errors or the creation of any unneeded tsconfig files (#28350)
- core: reduce number of processed files when creating in-memory transpiler (#29774)
- core: exponential retry on cache put fail (#29017)
- core: allow postTaskExecution hook without preTaskExecution hook (#29820)
- core: improve resolution of packages in package manager workspaces when constructing the project graph (#29795)
- core: do not write filemap cache when there are errors (#29892)
- core: do not use revokable proxy (#29878)
- gradle: fix dependencies.txt not found (#29787)
- gradle: fix max buffer for gradle stdout (#29864)
- js: ensure js library creation respects skipFormat (#28831)
- js: do not infer
tsc
tasks with verbose output by default (#29804) - js: set --ws=false when running npm config for jest e2e (#29887)
- js: generate pacakge.json for non-buildable nest and expo libs (#29891)
- linter: add files entry to react flat configs to avoid applying TS rules to JSON files (#29457)
- linter: add
cjs
,cts
,mjs
, andmts
to the default extensions for the inference plugin (#29534) - linter: produce type information for the eslint-plugin main entry point (#29855)
- misc: set
hidden: true
for all init generators (#29833) - misc: generate config with output contained within project root (#29850)
- module-federation: depend on a range of versions of webpack to prevent peer dep issues (#29797)
- module-federation: tuple remotes should have global identifier added if missing (#29811)
- nx-dev: make toc sticky (#29784)
- nx-dev: typo in ts pkg management article (#29791)
- nx-dev: update blog metadata to include the post descriptions (86d772e1d3)
- repo: don't try to fetch master if already on master (#29831)
- rspack: handle configs with default exports (#29825)
- testing: infer correct file output paths for atomized targets (#29766)
- testing: fix passing extra args to Jest cli (#27704)
- testing: move webpack and vite to optional peer dep (#29800)
- vite: fall back to file matching when resolved file does not exist in
nx-vite-ts-paths
plugin (#29472)
❤️ Thank You
- Amr Salama
- Anthony Boyd @Bullfrog1234
- Anthony Shew
- Ashley Hunter
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Emily Xiong @xiongemi
- Esteban
- Ethan Koenig @ethantkoenig
- Isaac Mann @isaacplmann
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Juri @juristr
- Juri Strumpflohner @juristr
- Kerick Howlett @KerickHowlett
- Leosvel Pérez Espinosa @leosvelperez
- Mararok @Mararok
- MaxKless @MaxKless
- Mike Pham
- Miroslav Jonaš @meeroslav
- Neil @nc1z
- Nicolas Beaussart @beaussan
- robertIsaac
- Stefan Haas @HaasStefan
21.0.0-beta.1
21.0.0-beta.1 (2025-02-05)
🚀 Features
- core: show link to migrate detail page in --interactive mode (#29874)
- core: introduce continuous tasks (#29750)
- nx-dev: allow link-card components to take an image URL (2f1b6f9f72)
🩹 Fixes
- core: do not write filemap cache when there are errors (#29892)
- core: do not use revokable proxy (#29878)
- js: set --ws=false when running npm config for jest e2e (#29887)
❤️ Thank You
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Juri @juristr
- MaxKless @MaxKless
20.5.0-beta.2
20.5.0-beta.2 (2025-02-06)
🚀 Features
- core: show link to migrate detail page in --interactive mode (#29874)
- nx-dev: conformance rule for blog post description (3d0b15ef10)
- nx-dev: allow link-card components to take an image URL (2f1b6f9f72)
- rspack: improve plugin createNodes performance (#29876)
🩹 Fixes
- core: do not write filemap cache when there are errors (#29892)
- core: do not use revokable proxy (#29878)
- gradle: fix max buffer for gradle stdout (#29864)
- js: set --ws=false when running npm config for jest e2e (#29887)
- js: generate pacakge.json for non-buildable nest and expo libs (#29891)
- linter: produce type information for the eslint-plugin main entry point (#29855)
- misc: generate config with output contained within project root (#29850)
- nx-dev: update blog metadata to include the post descriptions (247dc296a5)
❤️ Thank You
- Colum Ferry @Coly010
- Emily Xiong @xiongemi
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Juri @juristr
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
21.0.0-beta.0
21.0.0-beta.0 (2025-02-04)
🚀 Features
- core: lock graph creation when running in another process (#29408)
- core: add
prefixColor
property to@nx:run-commands
(#29348) - core: add sync generators option to target defaults in nx-schema (#29441)
- core: introduce continuous tasks (#29750)
- misc: replace
ts-jest
transformer with@swc/jest
for ts solution setup (#29763) - nx-dev: refactor and improve style of video-player (#29749)
- nx-dev: add ability to add labels to video-player (3e3c466d47)
- nx-dev: allow callout component to be expanded by default (#29806)
- nx-dev: add epic nx release course (#29777)
- nx-dev: show alt text as label below markdown images (a4f07dbb64)
- nx-dev: conformance rule for blog post description (3d0b15ef10)
- rspack: improve plugin createNodes performance (#29876)
🩹 Fixes
- angular: fix path issues on windows for storybook generators and unit tests (#27489)
- bundling: rspack should allow ES config module imports (#29095)
- core: allow for non-js libs to be moved without errors or the creation of any unneeded tsconfig files (#28350)
- core: reduce number of processed files when creating in-memory transpiler (#29774)
- core: exponential retry on cache put fail (#29017)
- core: allow postTaskExecution hook without preTaskExecution hook (#29820)
- core: improve resolution of packages in package manager workspaces when constructing the project graph (#29795)
- gradle: fix dependencies.txt not found (#29787)
- gradle: fix max buffer for gradle stdout (#29864)
- js: ensure js library creation respects skipFormat (#28831)
- js: do not infer
tsc
tasks with verbose output by default (#29804) - linter: add files entry to react flat configs to avoid applying TS rules to JSON files (#29457)
- linter: add
cjs
,cts
,mjs
, andmts
to the default extensions for the inference plugin (#29534) - linter: produce type information for the eslint-plugin main entry point (#29855)
- misc: set
hidden: true
for all init generators (#29833) - misc: generate config with output contained within project root (#29850)
- module-federation: depend on a range of versions of webpack to prevent peer dep issues (#29797)
- module-federation: tuple remotes should have global identifier added if missing (#29811)
- nx-dev: make toc sticky (#29784)
- nx-dev: typo in ts pkg management article (#29791)
- nx-dev: update blog metadata to include the post descriptions (247dc296a5)
- repo: don't try to fetch master if already on master (#29831)
- rspack: handle configs with default exports (#29825)
- testing: infer correct file output paths for atomized targets (#29766)
- testing: fix passing extra args to Jest cli (#27704)
- testing: move webpack and vite to optional peer dep (#29800)
- vite: fall back to file matching when resolved file does not exist in
nx-vite-ts-paths
plugin (#29472)
❤️ Thank You
- Amr Salama
- Anthony Boyd @Bullfrog1234
- Anthony Shew
- Ashley Hunter
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Emily Xiong @xiongemi
- Esteban
- Ethan Koenig @ethantkoenig
- Isaac Mann @isaacplmann
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Juri @juristr
- Juri Strumpflohner @juristr
- Kerick Howlett @KerickHowlett
- Leosvel Pérez Espinosa @leosvelperez
- Mararok @Mararok
- Mike Pham
- Miroslav Jonaš @meeroslav
- Neil @nc1z
- Nicolas Beaussart @beaussan
- robertIsaac
- Stefan Haas @HaasStefan
20.5.0-beta.1
20.5.0-beta.1 (2025-02-03)
🚀 Features
- core: add
prefixColor
property to@nx:run-commands
(#29348) - core: add sync generators option to target defaults in nx-schema (#29441)
- nx-dev: add ability to add labels to video-player (3e3c466d47)
- nx-dev: allow callout component to be expanded by default (#29806)
- nx-dev: add epic nx release course (#29777)
- nx-dev: show alt text as label below markdown images (a4f07dbb64)
🩹 Fixes
- angular: fix path issues on windows for storybook generators and unit tests (#27489)
- bundling: rspack should allow ES config module imports (#29095)
- core: allow for non-js libs to be moved without errors or the creation of any unneeded tsconfig files (#28350)
- core: reduce number of processed files when creating in-memory transpiler (#29774)
- core: exponential retry on cache put fail (#29017)
- core: allow postTaskExecution hook without preTaskExecution hook (#29820)
- core: improve resolution of packages in package manager workspaces when constructing the project graph (#29795)
- gradle: fix dependencies.txt not found (#29787)
- js: ensure js library creation respects skipFormat (#28831)
- js: do not infer
tsc
tasks with verbose output by default (#29804) - linter: add
cjs
,cts
,mjs
, andmts
to the default extensions for the inference plugin (#29534) - misc: set
hidden: true
for all init generators (#29833) - module-federation: depend on a range of versions of webpack to prevent peer dep issues (#29797)
- module-federation: tuple remotes should have global identifier added if missing (#29811)
- nx-dev: make toc sticky (#29784)
- nx-dev: typo in ts pkg management article (#29791)
- repo: don't try to fetch master if already on master (#29831)
- rspack: handle configs with default exports (#29825)
- testing: fix passing extra args to Jest cli (#27704)
- testing: move webpack and vite to optional peer dep (#29800)
- vite: fall back to file matching when resolved file does not exist in
nx-vite-ts-paths
plugin (#29472)
❤️ Thank You
- Amr Salama
- Anthony Shew
- Ashley Hunter
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Emily Xiong @xiongemi
- Esteban
- Ethan Koenig @ethantkoenig
- Isaac Mann @isaacplmann
- Jack Hsu @jaysoo
- Juri @juristr
- Juri Strumpflohner @juristr
- Kerick Howlett @KerickHowlett
- Leosvel Pérez Espinosa @leosvelperez
- Mararok @Mararok
- Mike Pham
- Miroslav Jonaš @meeroslav
- Neil @nc1z
- Nicolas Beaussart @beaussan
- robertIsaac
- Stefan Haas @HaasStefan
20.5.0-beta.0
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
- Anthony Boyd @Bullfrog1234
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Juri Strumpflohner @juristr
- Leosvel Pérez Espinosa @leosvelperez
20.4.0
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 ofts-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 forenforce-module-boundaries
andnx-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
andmoduleResolution
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...
20.4.0-rc.0
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
- AdrianDuan @AdrianDuan
- Hassan Khan
- Igor Loskutov @dearlordylord
- Isaac Mann @isaacplmann
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- Maksym Polupan
- Phillip Barta @Phillip9587