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.
Last release today
26 Aug 2026
Ships on a steady schedule
a new release about every 9 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
3 years old
1890 releases · first in 2023
Release timeline
1890 releases since 2023Releases
- 21.0.0-beta.1130 Apr 2025pre-release
Release notes
Open source →21.0.0-beta.11 (2025-04-30)
🚀 Features
- ⚠️ core: drop support for create nodes v1 in favor of only calling create nodes v2 (#30616)
- ⚠️ core: remove legacy cache flag from nx.json (#30787)
- gradle: add batch runner (#30457)
- graph: show next steps for successful migrations (307c45542a)
- nuxt: enable continuous tasks (#30925)
- react: undeprecate svgr option for Next.js apps since --turbo supports it (#30909)
- react: replace deprecated babel classProperties.loose option in .babelrc files (#30912)
- ⚠️ testing: remove
tsConfigoption from the@nx/jest:jestexecutor (#30888) - ⚠️ testing: remove
tsConfigandcopyFilesoptions from the@nx/cypress:cypressexecutor (#30870) - webpack: remove isolatedConfig option for @nx/webpack:webpack (#30910)
🩹 Fixes
- core: tui summary should handle in progress tasks properly (#30905)
- core: throw errors when task graph has invalid continuous tasks (#30924)
- core: kill child processes when pseudo terminal shutsdown (#30935)
⚠️ Breaking Changes
- testing: The previously deprecated and unused
tsConfigand - testing: The previously deprecated and unused
tsConfigoption - ⚠️ core: remove legacy cache flag from nx.json (#30787)
- ⚠️ core: drop support for create nodes v1 in favor of only calling create nodes v2 (#30616)
❤️ Thank You
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Emily Xiong @xiongemi
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- 21.0.0-beta.1028 Apr 2025pre-release
Release notes
Open source →21.0.0-beta.10 (2025-04-28)
🚀 Features
- core: add enter and q keybindings (#30786)
🩹 Fixes
- core: properly print errors coming from js when tui is enabled (#30885)
❤️ Thank You
- Jason Jean @FrozenPandaz
- 21.0.0-beta.928 Apr 2025pre-release
Release notes
Open source →21.0.0-beta.9 (2025-04-28)
🚀 Features
- ⚠️ core: remove usage of
cliproperty from migration definitions (#30855) - ⚠️ core: remove deprecated
readWorkspaceConfig(#30868) - graph: add undo migration option when one is pending approval (#30878)
- linter: add support for package based secondary entry points (#30809)
- misc: remove migrations prior to v19 in preparation for v21 (#30839)
- ⚠️ release: useLegacyVersioning is false by default, migrate config (#30838)
- rspack: use custom WriteIndexHtmlPlugin to handle variable interpolation (#30805)
- ⚠️ testing: remove deprecated
getJestProjects(#30844)
🩹 Fixes
- check if dependencies & devDependencies exist before deleting dep (#30224)
- core: handle skipped tasks and trigger finished state (#30864)
- core: do not clone screen on every render loop of the TUI (#30872)
- core: error message when failing to fetch migrations is no good (#30874)
- core: quick fix to support trailing commas when reading hoisted … (#29436)
- module-federation: check the remote project targets for buildTarget to use #30808 (#30867, #30808)
- release: ensure generatorOptions and rootVersionActionsOptions are passed to updateLockfile function (#30796)
- release: ensure versionData is always populated even when no bumps (#30866)
- repo: don't cancel running jobs on master when new branch merged (#30871)
⚠️ Breaking Changes
- core: The previously deprecated
readWorkspaceConfig - core: The
cliproperty from migration generator definitions - testing: The previously deprecated
getJestProjectsfunction - ⚠️ release: useLegacyVersioning is false by default, migrate config (#30838)
❤️ Thank You
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- François @GrandSchtroumpf
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Jonathan Cammisuli @Cammisuli
- Leosvel Pérez Espinosa @leosvelperez
- Miroslav Jonaš @meeroslav
- Thomas Dekiere @thdk
- ⚠️ core: remove usage of
- 21.0.0-beta.825 Apr 2025pre-release
Release notes
Open source →21.0.0-beta.8 (2025-04-25)
🚀 Features
- core: add flaky task detection to tui summary (#30835)
- core: allow executors to specify if they are continuous (#30821)
🩹 Fixes
- core: add continuous to the project.json schema (#30853)
- core: ensure task environments are processed properly in dte (#30862)
- gradle: make sure v1 hash file is named differently to prevent compatability errors (#30846)
- graph: disable primary CTA for Migrate UI when approval is required first (#30836)
- module-federation: remove disabling runtimeChunk (#30637)
❤️ Thank You
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- MaxKless @MaxKless
- Nicholas Cunningham @ndcunningham
- 21.0.0-beta.724 Apr 2025pre-release
Release notes
Open source →21.0.0-beta.7 (2025-04-24)
🚀 Features
- core: stream task output for all tasks except for direct output… (#30822)
- java: add gradle kotlin plugin (#29464)
- nx-dev: tutorial landing page and improvements (#30757)
🩹 Fixes
- core: allow disabling output streaming with NX_STREAM_OUTPUT (#30834)
- js: remove check that ts plugin is used for ts sync generator (#30743)
❤️ Thank You
- Altan Stalker
- Emily Xiong @xiongemi
- Isaac Mann @isaacplmann
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- 21.0.0-beta.623 Apr 2025pre-release
Release notes
Open source →21.0.0-beta.6 (2025-04-23)
🩹 Fixes
- core: wait for exit before getting terminal output (#30816)
- core: fix issue with summary missing outputs (#30819)
❤️ Thank You
- Jason Jean @FrozenPandaz
- 21.0.0-beta.522 Apr 2025pre-release
Release notes
Open source →21.0.0-beta.5 (2025-04-22)
🚀 Features
- angular: update angular-rspack to 20.7 (#30737)
- ⚠️ angular: remove deprecated functionalities for v21 (#30769)
- core: clean up unneeded continuous tasks after tasks are done (#30746)
- graph: Create Migrate UI (#30734)
- misc: remove generation of target defaults for atomized e2e tasks (#30730)
- nx-dev: add React landing page (#30612)
- nx-dev: add course preview component (4f8b407a75)
- webpack: set default sassImplementation to sass-embedded (#30580)
🩹 Fixes
- angular: handle ssr with convert-to-rspack (#30752)
- angular: convert-to-rspack correctly migrating existing custom webpack configs (#30778)
- core: improve flaky ci test (#30738)
- core: disable tui when CI=true (#30754)
- core: migrate-ui-api should always use its own migrate module (#30779)
- graph: ensure deps from graph-client->migrate-ui exists so taliwind styles are compiled correctly (#30762)
- nx-dev: refer to the youtube video instead of storing the videos… (#30739)
- nx-dev: toc should only include headings from the article body (4dbc3c7156)
- react: mark react-router dev/start targets as continuous (#30776)
⚠️ Breaking Changes
- angular: Remove the deprecated data persistence operators
❤️ Thank You
- Colum Ferry @Coly010
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Juri @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Mike Hartington @mhartington
- Nicholas Cunningham @ndcunningham
- 21.0.0-beta.415 Apr 2025pre-release
Release notes
Open source →21.0.0-beta.4 (2025-04-15)
🩹 Fixes
- angular: remove deprecated standaloneConfig from generators (#30578)
- core: only register forced shutdown when tui is enabled (#30735)
- testing: fix cypress and playwright atomized targetDefaults so they match correctly (#30717)
❤️ Thank You
- Colum Ferry @Coly010
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- 21.0.0-beta.315 Apr 2025pre-release
Release notes
Open source →21.0.0-beta.3 (2025-04-15)
🚀 Features
- core: introduce continuous tasks (#29750)
- core: share continuous tasks (#29901)
- core: add the experimental Terminal UI for tasks (#30565)
- core: enable dte to execute continuous tasks (#29993)
- core: add shared status for tui (#30679)
- js: infer continuous for watch-deps task (#29976)
- module-federation: add continuous tasks support to react rspack (#30644)
- node: generate new apps with continuous: true (#30148)
- remix: add continuous task support (#29905)
- rspack: add continous inference support (#29973)
- storybook: infer continuous tasks for storybook serve and serve-static (#30069)
- testing: add continuous tasks support for jest e2e with node (#30675)
- testing: support continuous tasks (#30632)
- vite: infer continuous tasks for dev (#30043)
- webpack: add continuous inference support (#29974)
🩹 Fixes
- core: ensure fileworker is cleaned up when workspace context is … (#30683)
- core: copy native file atomically to avoid hanging graph creation (#30695)
- core: clean up batch process after post run (#30687)
- core: schedule tasks and release waiting threads when continuous task is already running (#30673)
- core: improve tui exit consistency and summary (#30678)
- core: use dev tty for crossterm (#30696)
- js: ensure the tsconfig files cache is correctly busted when implementation changes (#30689)
- linter: remove empty entry in typescript eslint flat config (#30727)
- rspack: do not reuse existing ts-node compiler options when inferring tasks (#30703)
- testing: do not inherit existing env (#30688)
- testing: unset
customConditionswhen running cypress tasks (#30709)
❤️ Thank You
- Colum Ferry @Coly010
- Emily Xiong @xiongemi
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- 21.0.0-beta.211 Apr 2025pre-release
Release notes
Open source →21.0.0-beta.2 (2025-04-11)
🚀 Features
- angular: add release option to angular publishable libraries (#29869)
- angular: support angular 19.2.0 (#30088)
- angular: update angular eslint packages (#30245)
- angular: add convert-to-rspack generator (#29860)
- angular: add --bundler=rspack option to app generator (#30623)
- bundling: support rollup.config.ts (#29983)
- bundling: add buildLibsFromSource option to @nx/rollup:rollup executor (#30417)
- core: update CNW defaults so they generate a useful workspace by default (#29915)
- core: add multi hash fn (#29935)
- core: support bun's new text-based lockfile and use bun publish within nx release (#30064)
- core: display perpetual version information in nx report for powerpack (#30110)
- core: add activate key (#30250)
- core: add activate key " (#30250, #30295)
- core: add maxCacheSize option to limit local artifact size (#29654)
- core: add
nx register(#30321) - core: provide default value for max cache size (#30351)
- core: handle yarn resolutions and patches when parsing and pruning lock file (#30546)
- core: add --bundler=rspack option to angular stack cnw (#30629)
- core: add support for http based caches (#30593)
- core: add filter for git checkouts in generated pipelines and docs (#30547)
- core: allow globs in project config to extend atomized targets (#30630)
- core: introduce continuous tasks (#29750)
- core: share continuous tasks (#29901)
- core: add the experimental Terminal UI for tasks (#30565)
- core: enable dte to execute continuous tasks (#29993)
- core: add shared status for tui (#30679)
- graph: update graph lib to latest nx graph (#29768)
- js: upgrade verdaccio to 6 (#30015)
- js: add
typechecktask to generated ci workflow file when using the ts solution setup (#30219) - js: infer continuous for watch-deps task (#29976)
- linter: add
runtimeHelpersoption to@nx/dependency-checksrule (#29954) - linter: support eslint-config-prettier v10 (#30480)
- misc: add
useProjectJsonflag to project generators (#30319) - misc: enable ts solution setup by default for new workspaces (#30372)
- misc: set a
developmentconditional export for buildable libraries when using the ts solution setup (#30451) - misc: add
--useProjectJsonflag to CNW (#30475) - module-federation: add NxModuleFederationPlugin for inferred usage (#30003)
- module-federation: Update to the latest version of @module-federation (#30147)
- module-federation: add ssr support to rspack crystal plugin (#30437)
- module-federation: add continuous tasks support to react rspack (#30644)
- node: generate new apps with continuous: true (#30148)
- nx-dev: add quote component for enterprise articles (13b9c23e3b)
- nx-dev: add metrics and related blogs section (541acf536b)
- nx-dev: webinar page (#29913)
- nx-dev: add company video (c8072fa20e)
- nx-dev: add Faro for observability (#30021)
- nx-dev: expose docs embedding search via endpoint (#30050)
- nx-dev: allow sampling rate to be configured through env var (#30193)
- nx-dev: update workspace conformance rule to check md files in general (d428eec060)
- nx-dev: add angular architecture blog post (#30400)
- nx-dev: add java landing page (#30508)
- nx-dev: tutorialkit project (#29992)
- react: Update react-router-dom to latest (#29919)
- react: add react-router plugin (#29965)
- react: Add react-router to create-nx-workspace and react app generator (#30316)
- react: add crystal mf support to host and remote (#30424)
- release: configure when all branches should be checked for a matching releaseTagPattern (#30044)
- release: revamped nx release version implementation (#30418)
- remix: add continuous task support (#29905)
- repo: replace explicit matrix with dynamic parsed from json (#30120)
- rspack: use ts-checker-rspack-plugin instead of fork-ts-checker-webpack-plugin (#30121)
- rspack: infer ts-node compiler options in rspack task env when using a typescript config file (#30345)
- rspack: alias convert-webpack to convert-to-rspack (#30367)
- rspack: add support for non-buildable libraries in external dependencies (#30606)
- rspack: add continous inference support (#29973)
- storybook: migrate to latest storybook 8 version (#30584)
- storybook: infer continuous tasks for storybook serve and serve-static (#30069)
- testing: support vitest 3 (#29908)
- testing: disable jest runtime by default when inferring targets (#29917)
- testing: add type annotation for Jest configuration export (#30059)
- testing: add support for cypress v14 (#30618)
- testing: add continuous tasks support for jest e2e with node (#30675)
- vite: add support for vite 6 (#29871)
- vite: infer continuous tasks for dev (#30043)
- vue: add release option to vue publishable libraries (#29867)
- webpack: add option to opt out of watching buildable dependencies (#29984)
- webpack: use sass-embedded and modern-compiler for sass (#29999)
- webpack: add continuous inference support (#29974)
🩹 Fixes
- angular: do not generate
@nx/dependency-checksblock in flat root eslint config (#29980) - angular: correct nx angular migration requirement for 19.2 (#30234)
- angular: directory type is not optional (#30354)
- angular: include
@angular/google-mapsin package updates (#30530) - angular: use latest version of @analogjs/vitest-angular #30423 (#30560, #30423)
- angular: ensure crystal targets for testing when bundler=rspack (#30631)
- bundling: use projectRoot for assets (#29978)
- bundling: remove migration always adding sass-embedded (#30276)
- bundling: fix esbuild to work with ts project references (#30230)
- bundling: webpack and rspack builds respect output.clean config option (#30573)
- bundling: Lock webpack version to be compatible with @angular-devkit (#30676)
- core: create multi-glob function (#29880)
- core: fix plugin error indexes (#29936)
- core: handle nullable
lockwhen creating project graph (#30000) - core: tweaks to nx init (#30002)
- core: change to use init generator during import (#30029)
- core: add the
extendsfield to nx-schema.json (#30027) - core: respect
extendswhen reading tsconfig options (#30062) - core: make hash_array resilient to None values (#30090)
- core: NX_PLUGIN_NO_TIMEOUTS should also remove timeout on plugin worker connection (#30095)
- core: update custom task runner deprecation message (#30093)
- core: fix typescript dependency calculation (#30131)
- core: task runner should match on full segments (e.g. foo does not match foo-e2e) (#30129)
- core: improve packages recognition when the package version is an external package (#29529)
- core: re-enable CRA migration to Vite (#30082)
- core: standardize useGitHub param (#30173)
- core: ensure daemon enabled check is unchanged (#30228)
- core: change graph node type and name to string (#29610)
- core: annotate daemon logs w/ nx version (#30262)
- core: handle nx config in package.json in move generator (#30270)
- core: run init generators from extended collections during nx add (#30280)
- core: handle package manager workspaces configuration in move generator (#30268)
- core: only add keep existing versions if init generator supports it (#30352)
- core: make 'key' parameter optional in register command (#30365)
- core: handle null outputs in native cache (#30398)
- core: simplify key registration process (#30405)
- core: legacy cache users should get artifacts when remote cache is hit (#30442)
- core: pass the project graph into the batch instead of recreating (#30455)
- core: fix local registry not being considered when using
bun(#30459) - core: init should use pr version when specified (#30497)
- core: ensure local plugin is transpiled when using index files (#30133)
- core: add more detection for ci platforms (#30507)
- core: fixup error handling for get generator info (#30525)
- core: handle windows drive letter in a case-insensitive manner when normalizing paths (#30535)
- core: ensure rust code is able to handle null terminal outputs (#30494)
- core: update resolution of ts path mappings with patterns in target project locator (#30533)
- core: resolve subpath patterns in package exports correctly when constructing graph (#30511)
- core: do not run sync generators when running tasks in ci (#30591)
- core: angular rspack should not prompt for SSG (#30647)
- core: wasm build should build (#30655)
- core: log more information when
ProjectConfigurationsErroris thrown (#30661) - core: schedule tasks and release waiting threads when continuous task is already running (#30673)
- core: improve tui exit consistency and summary (#30678)
- devkit: handle missing
includeandexcludein tsconfig options when updating tsconfig to support js (#30073) - devkit: formatFiles should check for root prettier config before using prettier (#30426)
- esbuild: update peerDep range (#30167)
- eslint: ensure that packages in the same group as updated together (#30187)
- gradle: fix gradle undefined dependency target (#29943)
- gradle: log gradlew output for verbose (#29966)
- gradle: exlude htmlDependencyReport (#30300)
- gradle: build nx graph for gradle projects regardless of build gradle file location (#29783, #29802)
- graph: fix target details header tooltips in collapsed state (#30287)
- graph: focus via --focus command should work (#30576)
- js: generate pacakge.json for non-buildable nest and expo libs (#29891)
- js: allow publishable library to run release command (#29775)
- js: improve the
@nx/js/typescriptplugin performance (#30024) - js: invalidate tsconfig files cache in the
@nx/js/typescriptplugin when extended files change (#30071) - js: identify correct circular dependecies (#29759)
- js: use uuid when generating tmp tsconfig (#30118)
- js: use absolute filetorun path (#30091)
- js: normalize paths correctly in
@nx/js/typescriptplugin (#30216) - js: handle plugin correctly for non-buildable libs and don't add duplicated pattern to workspaces config (#30209)
- js: do not add typecheck target if tsc is used for build (#30211)
- js: update
outDirin runtime tsconfig files to matchtypesexport in package.json (#30217) - js: update tinyglobby to speed up shallow file matching (#30415)
- js: normalize tsconfig include paths correctly in
@nx/js/typescriptplugin (#30496) - js: infer
typechecktask for buildable libraries with tsc (#30505) - js: infer dependency between
typecheckandbuildtasks and more granular outputs fortypecheck(#30549) - js: handle extending from multiple config files and from local workspace packages in plugin (#30486)
- js: update @swc/cli version to fix vulnerability (#30575)
- js: Use correctly resolved path to tsconfig in readTsConfigWithRemappedPaths() (#30156)
- js: handle when there are no package manager workspaces' patterns (#30666)
- linter: install @eslint/eslintrc package as necessary (#29933)
- linter: dependency-check-support-catalogs (#29923)
- linter: restore package update group for
@typescript-eslint/eslint-pluginrequirement (#30204) - misc: fix misc issues in project generators for the ts solution setup (#30111)
- misc: update axios and webpack (#30379)
- misc: override
customConditionswhen using an incompatible module resolution (#30477) - misc: handle outputs with globs when normalizing tsconfig path mappings for buidable libraries (#30506)
- misc: init should prompt for cloud when using dot nx folder (#30501)
- misc: add missing flag to azure devops ci workflow generator (#30482)
- misc: update project directory validation to only account for the derived name (#30532)
- module-federation: handle remote output paths (#30119)
- module-federation: handle parsing static remote config correctly (#30168)
- module-federation: the module federation package depends on rspack (#30520)
- nest: fix library generator (#30157)
- nextjs: enhance support for custom server with SWC configuration (#29895)
- nextjs: add support for @testing-library/dom in application and library generators (#30189)
- nextjs: add setup generator for Tailwind CSS fixes absolute pathing (#30192)
- nextjs: enhance glob pattern (#30260)
- nextjs: update documentation for buildable libraries and bundler configuration (#30500)
- nextjs: bumped to eslintConfigNextVersion to v15 (#30537)
- nextjs: update Next.js versions to patch vulnerability (#30574)
- nextjs: add eslint plugin dependencies in application and library generators (#30592)
- nx-dev: Update customers carousel subtitle (#29920)
- nx-dev: error on course detail page on mobile (ef4398eb60)
- nx-dev: remove OTel-based tracing for now to remove local dev erros (#30096)
- nx-dev: sidebar should not always show angular-rs* links (#30448)
- nx-dev: adjust alignment on the pricing addon descriptions (50561ff009)
- nx-dev: add data-document attribute to improve search (#30524)
- nx-dev: fix blog post links (#30553)
- nx-dev: nx homebrew install cmd (ebd39bb2ae)
- nx-dev: update markdoc component to exclude h1 headers (d1ee41793f)
- react: add release option for @nx/react:lib --publishable (#29776)
- react: only add release config for publishable librarires (#30474)
- react: update react router logic with selected bundler (#30399)
- react: react-router should work with jest out of the box (#30487)
- react-native: change build target to be crystalized (#30151)
- release: ensure tags for version match stable variant before prerelease (#30047)
- release: allow preid option in release command (#29264)
- release: properly terminate case in switch statement (#30114)
- repo: fix nightly reporting (#30104)
- rspack: should be inferred by default (#29736)
- rspack: pin rspack 1.2.2 (#29997)
- rspack: handle potentially missing lockfile in
@nx/rspack/pluginplugin (#30086) - rspack: remove unused plugin-minify (#30521)
- rspack: allow typechecking during serve #29267 (#30558, #29267)
- storybook: fix package.json updates so @storybook packages are in sync during migration (#30191)
- testing: remove dependency on @nx/vite and @nx/webpack from @nx/playwright (#30023)
- testing: enforce commonjs module for ts-jest (#30681)
- vite: ignore vite temp files in eslint config (#29909)
- vite: prevent asset copying when NX_GRAPH_CREATION is enabled (#30037)
- vite: allow force ignore of logs from nxViteTsPaths plugin #29320 (#30200, #29320)
- vite: ensure paths with explicit extensions are resolved #29948 (#30202, #29948)
- vite: environments api support in executor (#30183)
- vite: copy assets plugin not copying files in watch mode #30141 (#30208, #30141)
- vite: correct mapping for reportsDirectory when using executors (#30232)
- vite: ensure test target dependency is not duplicated (#30289)
- vite: ensure nxCopyAssetsPlugin outputs assets to correct location #28786 (#30585, #28786)
- vue: upgrade vite plugin vue to v5 to avoid install errors (#30559)
- webpack: allow baseHref to not be set #30291 (#30519, #30291)
- webpack: add extension alias support for handling ESM libs (#30513)
- webpack: nestjs workspace libs referencing when using ts solution (#30538)
- webpack: migrate to latest version to prevent security vulnerabilities #29755 (#30590, #29755)
- webpack: enable legacy decorators and metadata in base config for compatibility (#30605)
❤️ Thank You
- Alejandro Forero @focusaway
- Chau Tran
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Denis Akiyakov @newsiberian
- Denis Bendrikov
- Dron Bhattacharya
- Emily Xiong @xiongemi
- Ethan Koenig @ethantkoenig
- Gustavo Perdomo
- Hikari Hayashi @latin-1
- Isaac Mann @isaacplmann
- Jack Hsu @jaysoo
- Jack Stevenson
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Jonathan Cammisuli @Cammisuli
- Joshua Carter @JoshuaCWebDeveloper
- Juri @juristr
- Juri Strumpflohner @juristr
- Kevin Hallmark @khallmark
- Leosvel Pérez Espinosa @leosvelperez
- MaxKless @MaxKless
- Mike Hartington @mhartington
- Miroslav Jonaš @meeroslav
- MisterPandaPooh
- Nicholas Cunningham @ndcunningham
- Nicolas Beaussart @beaussan
- Petr Plenkov
- Richard Roozenboom @Roozenboom
- Roman Lorenzo Balayan @romanbalayan
- Ryan Bas @ryanbas21
- Tine Kondo @tinesoft
- Tristan Zander @tristanzander
- 21.0.0-beta.15 Feb 2025pre-release
Nothing published for this version
- 21.0.0-beta.05 Feb 2025pre-release
Nothing published for this version
- 20.9.0-canary.20250415-bc685ce15 Apr 2025pre-release
Nothing published for this version
- 20.8.412 Jan 2026
Release notes
Open source →20.8.4 (2026-01-12)
🩹 Fixes
- linter: handle variable references in replaceOverride (#34026)
❤️ Thank You
- Jack Hsu @jaysoo
- 20.8.321 Nov 2025
Release notes
Open source →20.8.3 (2025-11-21)
🩹 Fixes
- linter: handle various flat config override structures (#33548)
❤️ Thank You
- Jack Hsu @jaysoo
- 20.8.216 May 2025
Release notes
Open source →20.8.2 (2025-05-16)
🚀 Features
- angular: update angular-rspack to 20.7 (#30737)
- linter: add support for package based secondary entry points (#30809)
- rspack: use custom WriteIndexHtmlPlugin to handle variable interpolation (#30805)
🩹 Fixes
- core: error when restoring http cache with no outputs (#30961)
- module-federation: remove disabling runtimeChunk (#30637)
- release: ensure generatorOptions and rootVersionActionsOptions are passed to updateLockfile function (#30796)
- release: ensure versionData is always populated even when no bumps (#30866)
❤️ Thank You
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- James Henry @JamesHenry
- Miroslav Jonaš @meeroslav
- Nicholas Cunningham @ndcunningham
- Thomas Dekiere @thdk
- 20.8.125 Apr 2025
Release notes
Open source →20.8.1 (2025-04-25)
🚀 Features
- nx-dev: add React landing page (#30612)
- nx-dev: add course preview component (83b235e9dd)
🩹 Fixes
- angular: remove deprecated standaloneConfig from generators (#30578)
- angular: handle ssr with convert-to-rspack (#30752)
- angular: convert-to-rspack correctly migrating existing custom webpack configs (#30778)
- core: improve flaky ci test (#30738)
- core: allow disabling output streaming with NX_STREAM_OUTPUT (#30834)
- js: remove check that ts plugin is used for ts sync generator (#30743)
- linter: remove empty entry in typescript eslint flat config (#30727)
- nx-dev: refer to the youtube video instead of storing the videos… (#30739)
- nx-dev: toc should only include headings from the article body (56e18a0d24)
- testing: fix cypress and playwright atomized targetDefaults so they match correctly (#30717)
❤️ Thank You
- Altan Stalker
- Colum Ferry @Coly010
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- Juri @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Mike Hartington @mhartington
- Nicholas Cunningham @ndcunningham
- 20.8.014 Apr 2025
Release notes
Open source →20.8.0 (2025-04-14)
🚀 Features
- angular: add --bundler=rspack option to app generator (#30623)
- core: handle yarn resolutions and patches when parsing and pruning lock file (#30546)
- core: add --bundler=rspack option to angular stack cnw (#30629)
- core: add support for http based caches (#30593)
- core: add filter for git checkouts in generated pipelines and docs (#30547)
- core: allow globs in project config to extend atomized targets (#30630)
- nx-dev: tutorialkit project (#29992)
- react: add crystal mf support to host and remote (#30424)
- release: revamped nx release version implementation (#30418)
- rspack: add support for non-buildable libraries in external dependencies (#30606)
- storybook: migrate to latest storybook 8 version (#30584)
- testing: add support for cypress v14 (#30618)
🩹 Fixes
- angular: use latest version of @analogjs/vitest-angular #30423 (#30560, #30423)
- angular: ensure crystal targets for testing when bundler=rspack (#30631)
- bundling: webpack and rspack builds respect output.clean config option (#30573)
- bundling: Lock webpack version to be compatible with @angular-devkit (#30676)
- core: ensure rust code is able to handle null terminal outputs (#30494)
- core: update resolution of ts path mappings with patterns in target project locator (#30533)
- core: resolve subpath patterns in package exports correctly when constructing graph (#30511)
- core: do not run sync generators when running tasks in ci (#30591)
- core: angular rspack should not prompt for SSG (#30647)
- core: wasm build should build (#30655)
- core: log more information when
ProjectConfigurationsErroris thrown (#30661) - core: ensure fileworker is cleaned up when workspace context is … (#30683)
- core: copy native file atomically to avoid hanging graph creation (#30695)
- core: clean up batch process after post run (#30687)
- graph: focus via --focus command should work (#30576)
- js: infer dependency between
typecheckandbuildtasks and more granular outputs fortypecheck(#30549) - js: handle extending from multiple config files and from local workspace packages in plugin (#30486)
- js: update @swc/cli version to fix vulnerability (#30575)
- js: Use correctly resolved path to tsconfig in readTsConfigWithRemappedPaths() (#30156)
- js: handle when there are no package manager workspaces' patterns (#30666)
- js: ensure the tsconfig files cache is correctly busted when implementation changes (#30689)
- misc: add missing flag to azure devops ci workflow generator (#30482)
- misc: update project directory validation to only account for the derived name (#30532)
- nextjs: bumped to eslintConfigNextVersion to v15 (#30537)
- nextjs: update Next.js versions to patch vulnerability (#30574)
- nextjs: add eslint plugin dependencies in application and library generators (#30592)
- nx-dev: fix blog post links (#30553)
- nx-dev: nx homebrew install cmd (ebd39bb2ae)
- nx-dev: update markdoc component to exclude h1 headers (d1ee41793f)
- rspack: allow typechecking during serve #29267 (#30558, #29267)
- rspack: do not reuse existing ts-node compiler options when inferring tasks (#30703)
- testing: enforce commonjs module for ts-jest (#30681)
- testing: do not inherit existing env (#30688)
- testing: unset
customConditionswhen running cypress tasks (#30709) - vite: ensure nxCopyAssetsPlugin outputs assets to correct location #28786 (#30585, #28786)
- vue: upgrade vite plugin vue to v5 to avoid install errors (#30559)
- webpack: nestjs workspace libs referencing when using ts solution (#30538)
- webpack: migrate to latest version to prevent security vulnerabilities #29755 (#30590, #29755)
- webpack: enable legacy decorators and metadata in base config for compatibility (#30605)
❤️ Thank You
- Chau Tran
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Dron Bhattacharya
- Emily Xiong @xiongemi
- Isaac Mann @isaacplmann
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Joshua Carter @JoshuaCWebDeveloper
- Juri @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Miroslav Jonaš @meeroslav
- Nicholas Cunningham @ndcunningham
- 20.8.0-rc.011 Apr 2025pre-release
Release notes
Open source →20.8.0-rc.0 (2025-04-11)
🩹 Fixes
- core: copy native file atomically to avoid hanging graph creation (#30695)
- js: ensure the tsconfig files cache is correctly busted when implementation changes (#30689)
❤️ Thank You
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- 20.8.0-canary.20250412-07ad2d712 Apr 2025pre-release
Nothing published for this version
- 20.8.0-canary.20250409-7b85d919 Apr 2025pre-release
Nothing published for this version
- 20.8.0-canary.20250408-32b48a38 Apr 2025pre-release
Nothing published for this version
- 20.8.0-canary.20250405-32b48a35 Apr 2025pre-release
Nothing published for this version
- 20.8.0-canary.20250404-6e50a014 Apr 2025pre-release
Nothing published for this version
- 20.8.0-canary.20250403-6e50a013 Apr 2025pre-release
Nothing published for this version
- 20.8.0-canary.20250402-2d210b82 Apr 2025pre-release
Nothing published for this version
- 20.8.0-canary.20250401-b8e43251 Apr 2025pre-release
Nothing published for this version
- 20.8.0-beta.211 Apr 2025pre-release
Release notes
Open source →20.8.0-beta.2 (2025-04-11)
🩹 Fixes
- core: ensure fileworker is cleaned up when workspace context is … (#30683)
- testing: do not inherit existing env (#30688)
❤️ Thank You
- Jason Jean @FrozenPandaz
- 20.8.0-beta.111 Apr 2025pre-release
Release notes
Open source →20.8.0-beta.1 (2025-04-11)
🚀 Features
- core: allow globs in project config to extend atomized targets (#30630)
🩹 Fixes
- bundling: Lock webpack version to be compatible with @angular-devkit (#30676)
- testing: enforce commonjs module for ts-jest (#30681)
❤️ Thank You
- Leosvel Pérez Espinosa @leosvelperez
- Miroslav Jonaš @meeroslav
- Nicholas Cunningham @ndcunningham
- 20.8.0-beta.010 Apr 2025pre-release
Release notes
Open source →20.8.0-beta.0 (2025-04-10)
🚀 Features
- angular: add --bundler=rspack option to app generator (#30623)
- core: handle yarn resolutions and patches when parsing and pruning lock file (#30546)
- core: add --bundler=rspack option to angular stack cnw (#30629)
- core: add support for http based caches (#30593)
- core: add filter for git checkouts in generated pipelines and docs (#30547)
- nx-dev: tutorialkit project (#29992)
- react: add crystal mf support to host and remote (#30424)
- release: revamped nx release version implementation (#30418)
- rspack: add support for non-buildable libraries in external dependencies (#30606)
- storybook: migrate to latest storybook 8 version (#30584)
- testing: add support for cypress v14 (#30618)
🩹 Fixes
- angular: use latest version of @analogjs/vitest-angular #30423 (#30560, #30423)
- angular: ensure crystal targets for testing when bundler=rspack (#30631)
- bundling: webpack and rspack builds respect output.clean config option (#30573)
- core: ensure rust code is able to handle null terminal outputs (#30494)
- core: update resolution of ts path mappings with patterns in target project locator (#30533)
- core: resolve subpath patterns in package exports correctly when constructing graph (#30511)
- core: do not run sync generators when running tasks in ci (#30591)
- core: angular rspack should not prompt for SSG (#30647)
- core: wasm build should build (#30655)
- core: log more information when
ProjectConfigurationsErroris thrown (#30661) - graph: focus via --focus command should work (#30576)
- js: infer dependency between
typecheckandbuildtasks and more granular outputs fortypecheck(#30549) - js: handle extending from multiple config files and from local workspace packages in plugin (#30486)
- js: update @swc/cli version to fix vulnerability (#30575)
- js: Use correctly resolved path to tsconfig in readTsConfigWithRemappedPaths() (#30156)
- js: handle when there are no package manager workspaces' patterns (#30666)
- misc: add missing flag to azure devops ci workflow generator (#30482)
- misc: update project directory validation to only account for the derived name (#30532)
- nextjs: bumped to eslintConfigNextVersion to v15 (#30537)
- nextjs: update Next.js versions to patch vulnerability (#30574)
- nextjs: add eslint plugin dependencies in application and library generators (#30592)
- nx-dev: fix blog post links (#30553)
- nx-dev: nx homebrew install cmd (ebd39bb2ae)
- nx-dev: update markdoc component to exclude h1 headers (d1ee41793f)
- rspack: allow typechecking during serve #29267 (#30558, #29267)
- vite: ensure nxCopyAssetsPlugin outputs assets to correct location #28786 (#30585, #28786)
- vue: upgrade vite plugin vue to v5 to avoid install errors (#30559)
- webpack: nestjs workspace libs referencing when using ts solution (#30538)
- webpack: migrate to latest version to prevent security vulnerabilities #29755 (#30590, #29755)
- webpack: enable legacy decorators and metadata in base config for compatibility (#30605)
❤️ Thank You
- Chau Tran
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Dron Bhattacharya
- Isaac Mann @isaacplmann
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Joshua Carter @JoshuaCWebDeveloper
- Juri @juristr
- Leosvel Pérez Espinosa @leosvelperez
- Miroslav Jonaš @meeroslav
- Nicholas Cunningham @ndcunningham
- 20.7.28 Apr 2025
Nothing published for this version
- 20.7.12 Apr 2025
Nothing published for this version
- 20.7.031 Mar 2025
Nothing published for this version
- 20.7.0-canary.20250329-bf8848d29 Mar 2025pre-release
Nothing published for this version
- 20.7.0-canary.20250328-4a3a82428 Mar 2025pre-release
Nothing published for this version
- 20.7.0-canary.20250327-1a235d727 Mar 2025pre-release
Nothing published for this version
- 20.7.0-canary.20250326-9dd476626 Mar 2025pre-release
Nothing published for this version
- 20.7.0-canary.20250325-30781f725 Mar 2025pre-release
Nothing published for this version
- 20.7.0-canary.20250322-1c238c022 Mar 2025pre-release
Nothing published for this version
- 20.7.0-canary.20250321-cad4d2621 Mar 2025pre-release
Nothing published for this version
- 20.7.0-canary.20250320-2a0d89d20 Mar 2025pre-release
Nothing published for this version
- 20.7.0-canary.20250319-59624c219 Mar 2025pre-release
Nothing published for this version
- 20.7.0-canary.20250318-f248d1618 Mar 2025pre-release
Nothing published for this version
- 20.7.0-canary.20250315-214552e15 Mar 2025pre-release
Nothing published for this version
- 20.7.0-beta.319 Mar 2025pre-release
Nothing published for this version
- 20.7.0-beta.217 Mar 2025pre-release
Nothing published for this version
- 20.7.0-beta.117 Mar 2025pre-release
Nothing published for this version
- 20.7.0-beta.014 Mar 2025pre-release
Nothing published for this version
- 20.6.425 Mar 2025
Nothing published for this version
- 20.6.325 Mar 2025
Nothing published for this version
- 20.6.219 Mar 2025
Nothing published for this version
- 20.6.117 Mar 2025
Nothing published for this version
- 20.6.014 Mar 2025
Nothing published for this version
- 20.6.0-canary.20250314-beb178414 Mar 2025pre-release
Nothing published for this version
- 20.6.0-canary.20250313-7f1e1cf13 Mar 2025pre-release
Nothing published for this version
- 20.6.0-canary.20250312-e4f522412 Mar 2025pre-release
Nothing published for this version
- 20.6.0-canary.20250311-d1a7ac911 Mar 2025pre-release
Nothing published for this version
- 20.6.0-canary.20250308-a95a60c8 Mar 2025pre-release
Nothing published for this version
- 20.6.0-canary.20250307-4f3118d7 Mar 2025pre-release
Nothing published for this version
- 20.6.0-beta.114 Mar 2025pre-release
Nothing published for this version