19.6.0 (2024-08-15)
🚀 Features
- angular: deprecate data persistence operators (#27401)
- angular: support angular v18.2.0 (#27379)
- core: error when running atomized tasks outside of DTE (#26898)
- core: update pnpm/action-setup to v4 in ci-workflow generator (#26838)
- core: update axios to ^1.7.2 (#27076)
- core: include target architecture in nx report (#27094)
- core: add --exclude-task-dependencies flag (#27137)
- core: add nx-console installation source to nx connect (#27307)
- core: change e2e-ci,e2e to be same line affected command (#26951)
- core: Refresh welcome screens based on Nx Cloud (#27313)
- core: introduce nx import (#26847)
- core: remove env var to enable sync generators (#27409)
- devkit: allow updating package json based projects (#27138)
- graph: add parallelism in target details (#27014)
- js: add scopes option for verdaccio (#26918)
- js: added a verdaccio listen address to configuration (#26976)
- js: @nx/js:init generator does not generate prettier and tsconfig.base.json files by default (#27406)
- misc: prioritize github onboarding flow (#27085)
- misc: only create one commit with cloud onboard URL on cnw (#27093)
- misc: add onboarding a/b testing (#27217)
- misc: add more logging while running migrations (#27063)
- misc: add nx syncing mechanism and update the typescript-sync generator (#26793)
- module-federation: add nx-runtime-library-control-plugin (#26816)
- module-federation: use proxy servers to proxy to single file server for static remotes (#26782)
- module-federation: improve console output for remote build errors (#26711)
- module-federation: support setremotedefinition api (#27051)
- module-federation: Update SSR enabling static serving for remotes (#27345)
- nx-cloud: add nxCloudId field for auth (#27197)
- nx-dev: add announcement pill on top of hero section (#26961)
- nx-dev: improve hero section on homepage (1f34788c75)
- nx-dev: update descriptions and layout styles for better clarity (#26991)
- nx-dev: update typography and hero component styles (#27011)
- nx-dev: add Nx Cloud Page (#26865)
- nx-dev: Migrate careers from nx.app (#27020)
- nx-dev: reprioritize customer logos on landing page (#27061)
- nx-dev: Update nx-cloud page ai section (#27103)
- nx-dev: Migrate pricing page from nx.app (#27012)
- nx-dev: Migrate brands from nx.app (#27044)
- nx-dev: Update footer links (#27075)
- nx-dev: add ai for ci (#27096)
- nx-dev: improve link visibility on docs pages (9712fb2a83)
- nx-dev: add contact us button (#27248)
- nx-dev: improve tab UX (ff51fcd2cd)
- nx-dev: add support section on contact page (#27437)
- react: add skipPackageJson flag to remote and host generators (#27116)
- react-native: add convert-to-inferred generator for Expo and React Native (#27326)
- release: allow {releaseGroupName} to be interpolated in tag pattern (#27188)
- release: allow {releaseGroupName} to be interpolated in releaseTagPattern" (#27189)
- release: allow {releaseGroupName} to be interpolated in releaseTagPattern (#27190)
- release: dynamic release config via programmatic API (#27204)
- release: add logUnchangedProjects flag to version generator, true by default (#27231)
- release: add
nx release plan:check
command to ensure relevant version plans exist (#27343) - repo: run e2e in the same command as build,test,lint (#27019)
- storybook: add storybook 8 support (#27214)
- testing: support vite configOverrides for cypress (#26554)
- testing: e2e-ci should use serve-static or vite preview for playwright and cypress (#27240)
- testing: update jest to v29.7.0 (#27301)
- testing: add missing targetDefaults migration entry for @nx/playwright (#27359)
- testing: allow usage of jest 30 pre-release versions (#27334)
- testing: support positional arg for jest executor (#27328)
🩹 Fixes
- angular: generate correct server file when using webpack-based executors (#27007)
- angular: remove unnecessary esbuild peer dependency (#27046)
- angular: bump ngrx version and add @ngrx/operators to the package update list (#27107)
- angular: update .gitignore and .prettierignore files in angular integrated migration (#27400)
- bundling: prevent exports overwrite with esbuild (#27047)
- bundling: get workspace package prefix length correctly #20817 (#27092, #20817)
- bundling: explicitly set types for exports entries in package.json (#27152)
- core: resolve nested delegated executor package correctly (#26979)
- core: normalizeTargetDependencyWithStringProjects should not return undefined (#26994)
- core: typo in nx update log (#27036)
- core: record stats for more commands (#27017)
- core: copy package manager config files when installing latest nx version in nx migrate (#27032)
- core: fix watch daemon error (#27067)
- core: ensure output paths returned are unique (#18207)
- core: use argument length that match the actual size of the argument length (#21074)
- core: reset should cleanup temporary nx-cloud files (#23316)
- core: shorten socket length for plugin workers (#27073)
- core: remove outdated workaround artificially keeping process alive (#27062)
- core: update migration generators missing calls to format files (#27082)
- core: improve error for setting an internal node as an external … (#27102)
- core: allow overriding NX_PARALLEL with --parallel (#27016)
- core: format global config files modified by nx migrate (#27066)
- core: bump the time crate so compilation succeeds (#27117)
- core: always load task envs from workspace root instead of relative to cwd (#27120)
- core: change link in e2e-ci error message (#27187)
- core: disable plugin isolation by default on windows for now (#27210)
- core: show target description, add metadata to schema, and docum… (#27131)
- core: remove additional quotes around cache path while pruning (#27273)
- core: move token generation into new (#27266)
- core: script-based targets should be able to be modified in a project.json file (#27309)
- core: don't cache full dependency configuration when expanding target name (#27308)
- core: allow configuring plugin message timeout (#27315)
- core: update napi-build dependency to 2.1.3 (#27341)
- core: avoid mutating target defaults during task graph calculation (#27348)
- core: allow isolated plugins to shut themselves down (#27317)
- core: prevent post install failures when socket path too long (#27366)
- core: ensure context is available when updating files in context (#27395)
- core: disable daemon in postinstall (#27415)
- core: improve the dx of the sync commands and gracefully handle exiting the prompt when running tasks (#27418)
- core: ensure the error has message before reading indexOf #27078 (#27426, #27078)
- devkit: remove --web from being logged to show project details (#26968)
- devkit: detect package manager based on install location (#27127)
- gradle: change test-ci depends on testClasses (#27349)
- js: do not override package.json type when defined in tsc executor (#27106)
- js: generate additional entry point exports without the filename for barrel files (#27112)
- js: handle project references better in typescript plugin (#27178)
- js: locate npm nodes correctly for aliased packages (#27124)
- linter: log a message when the number of warnings exceeds the specified maxWarnings for the lint executor (#27003)
- linter: convert root projects correctly to inferred and remove default option values (#27035)
- linter: ensure too many warnings is only logged if enabled (#27083)
- linter: checking command is specified (#26908)
- linter: allow undefined options in eslint plugin (#27232)
- misc: update concurrency in ci workflows to 3 (#26974)
- misc: generate the "types" field in package.json if no set (#27147)
- misc: hide git not a repository error (#27237)
- misc: add cloud token during new workspace like expected (#27265)
- misc: fix cloud setup (#27281)
- misc: end ab testing for onboarding message (#27316)
- misc: track which CI providers being used (#27320)
- misc: avoid terminal popups when checking package manager version (#27329)
- misc: update readmes (#27038)
- misc: init should run add for .nx workspaces on windows (#27364)
- module-federation: do not cache assets from static serve (#27005)
- module-federation: pin versions mf packages versions (#27071)
- module-federation: handle tspath mappings with /* wildcard #26765 (#27149, #26765)
- module-federation: optimization should not be overwritten #27201 (#27376, #27201)
- module-federation: remote proxies should use https when host is configured with ssl #27360 (#27381, #27360)
- module-federation: turn dts off by default #27198 (#27403, #27198)
- module-federation: Add migration for ssr server file to run on it's own port (#27411)
- nextjs: fix inlined workspace root in .nx-helpers (#27136)
- nextjs: update @nx/next/babel preset to remove conflicting plugins when testing in Jest (#27414)
- nextjs: Fix order, and wrong number call to createWebpackConfig() (#27337)
- node: ensure artifacts are built before serving app (#27146)
- node: Ensure docker file is generated when nest framework is supplied (#27153)
- nx-cloud: fix connect generator (#27314)
- nx-cloud: add nxCloudId to nxJson when connecting with generator (#27356)
- nx-dev: Navigating to blogs should work (#26972)
- nx-dev: Remove announcement banner (232e12479e)
- nx-dev: improve bandwidth usage convert gif to mp4 (#27129)
- nx-dev: add background on pricing tiles & blog link to pricing page #27157 (#27157)
- nx-dev: Add png image file for ai blog socials (#27192)
- nx-dev: OG image meta tag (#27195)
- nx-dev: plugin-registry title style (777eea685c)
- nx-dev: adjust scroll offset for headings on docs and blog container (90e29f078e)
- nx-dev: Turn off next.js cache for careers api (#27275)
- nx-dev: clean up heading text (#27205)
- react: generate valid Vite + JSX setup for React (#27130)
- react-native: fix unable to resolve realm (#26983)
- react-native: migration handles case where plugins is missing from nx.json (#27387)
- release: only include relevant authors in project changelogs (#27181)
- release: ensure @org/package style names are wrapped in quotes in version plans (#27177)
- release: do not add groups to commit message when their projects have no changes (#27218)
- release: deleted files should be staged alongside changed files (#27219)
- release: allow version plans to have multi-line, arbitrarily formatted messages (#27323)
- release: allow specifier override for version command when version plans are enabled (#27436)
- repo: update tests to pass regardless of actually installed yarn version (#27054)
- repo: fix native cache inputs (#27338)
- storybook: update version check (#27278)
- testing: use taskkill to kill web server process when running cypress on windows (#27068)
- testing: adding e2e projects should register e2e-ci targetDefaults (#27185)
- testing: resolve jest package from the project root in plugin (#27342)
- testing: playwright migration should find correct targetName (#27386)
- testing: e2e-ci targetDefaults migration should handle self deps (#27380)
- testing: cypress update ci webserver to serve-static based on plugins (#27399)
- testing: cache resolved jest path in plugin correctly (#27407)
- testing: resolve jest utils in plugin from the @jest/core package location that jest uses (#27422)
- testing: revert bump for ts-jest (#27432)
- testing: do not migrate projects without webpack nor vite (#27431)
- testing: migrations should look for existing target before attempting migration (#27441)
- vite: typecheck vue projects with vue-tsc #20242 (#26450, #20242)
- vite: remove cache.dir option from test utils (#27087)
- vite: respect existing package.json type #27057 (#27084, #27057)
- vite: vitest executor should continue to load plugins #22001 (#27118, #22001)
- vite: ensure nxViteTsPaths resolve before vite internal resolver (#27155)
- webpack: fixing null pointer about projectGraph with nx enhance configuration (#26430)
- webpack: include hash in asset filenames so they do not conflict (#27159)
- webpack: return proper webpack plugin from useLegacyNxPlugin function (#27340)
- webpack: bump webpack-dev-server to 5.0.4 #27310 (#27375, #27310)
❤️ Thank You
- abcdmku @abcdmku
- Adrian Dimech @agdimech
- Austin Fahsl @fahslaj
- Benjamin Cabanes @bcabanes
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Daniel Rose @DanielRose
- Denis Frenademetz @skrtheboss
- Elyahou Ittah
- Emily Xiong @xiongemi
- Guilherme Prezzi @menosprezzi
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jan-Niklas W. @niklas-wortmann
- Jason Jean @FrozenPandaz
- Jonathan Cammisuli
- Juri @juristr
- Juri Strumpflohner @juristr
- Katerina Skroumpelou @mandarini
- Leosvel Pérez Espinosa @leosvelperez
- Louie Weng @lourw
- Matthew Hancock
- MaxKless @MaxKless
- Michal Jez @MJez29
- Miroslav Jonaš @meeroslav
- Nicholas Cunningham @ndcunningham
- Nicolas Belliard
- Rajhans Jadhao @iamrajhans
- Raz Luvaton @rluvaton
- Stefan F. @SFU253
- Tim van den Eijnden @TimvdEijnden
- Trang Doan
- Wixewr
- Zach Tindall @a88zach