Releases: nrwl/nx
Releases · nrwl/nx
21.0.3
21.0.3 (2025-05-08)
🩹 Fixes
- core: replace posix.relative with relative for path resolution (#30783)
- core: handle process killing more robustly (#31131)
- core: only cleanup db connection on exit (#31137)
- gradle: specify idle timeout for gradle batch runner (#31009)
- gradle: fix gradle tests (#30879)
❤️ Thank You
- Emily Xiong @xiongemi
- Jason Jean @FrozenPandaz
- Jonathan Cammisuli @Cammisuli
21.0.2
21.0.2 (2025-05-07)
🩹 Fixes
- core: run script should exit the process when kill signals are r… (#31109)
- core: resolve excessive CPU consumption via child_process.rs (#31110)
- core: clearer tui colors on light themes (#31095)
- core: tui should not exit when underlying process is cancelled (#31112)
- core: tui summary should capture more terminal outputs (#31113)
❤️ Thank You
- Craigory Coppola @AgentEnder
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
21.0.1
21.0.1 (2025-05-07)
🚀 Features
- rspack: upgrade to version 1.3.8 (#31070)
🩹 Fixes
- core: send up and down arrows to pty in interactive mode (#31084)
- core: fail nx release cli when publish step fails (#31088)
- core: explicitly cleanup forked process task runner (#31106)
- core: add keepExistingVersions to jest option to preserve dependency versions (#30652)
- js: handle
${configDir}
in tsconfig files when inferring tasks (#31098, #30883) - nx-dev: webinar list page shows event date (#30953)
❤️ Thank You
- Colum Ferry @Coly010
- Isaac Mann @isaacplmann
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
- Nicholas Cunningham @ndcunningham
- Nicolas Beaussart @beaussan
21.0.0
21.0.0 (2025-05-05)
🚀 Features
- angular: update angular-rspack to 20.7 (#30737)
⚠️ angular: remove deprecated functionalities for v21 (#30769)- core: introduce continuous tasks (#29750, #29025)
- 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)
- core: clean up unneeded continuous tasks after tasks are done (#30746)
- core: stream task output for all tasks except for direct output… (#30822)
- core: add flaky task detection to tui summary (#30835)
- core: allow executors to specify if they are continuous (#30821)
⚠️ core: remove usage ofcli
property from migration definitions (#30855)⚠️ core: remove deprecatedreadWorkspaceConfig
(#30868)- core: add enter and q keybindings (#30786)
⚠️ 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)- core: disable tui when output style is set to an incompatible style (#30873)
⚠️ core: drop support for node versions prior to 20.19.0 (#30818)- core: support reading NX_TUI_AUTO_EXIT env var (#30971)
- core: bump devkit support range and remove some deprecated APIs (#30840)
- core: add continuous option to targets for Detox, Expo, and React Native (#30988)
⚠️ core: remove outputStyle=compact (#31016)- gradle: add batch runner (#30457)
- gradle: set gradle task continuous for bootRun (#30931)
- graph: Create Migrate UI (#30734)
- graph: add undo migration option when one is pending approval (#30878)
- graph: show next steps for successful migrations (307c45542a)
- graph: show next steps for successful migrations (#30934)
- java: add gradle kotlin plugin (#29464)
- js: infer continuous for watch-deps task (#29976)
- linter: add support for package based secondary entry points (#30809, #18552)
- misc: remove generation of target defaults for atomized e2e tasks (#30730)
- misc: remove migrations prior to v19 in preparation for v21 (#30839)
- module-federation: add continuous tasks support to react rspack (#30644)
- node: generate new apps with continuous: true (#30148)
- nuxt: enable continuous tasks (#30925)
- nx-dev: add React landing page (#30612)
- nx-dev: add course preview component (4f8b407a75)
- nx-dev: tutorial landing page and improvements (#30757)
- nx-dev: add conformance rule to verify blog post cover images (5651270b33)
- react: undeprecate svgr option for Next.js apps since --turbo supports it (#30909)
- react: replace deprecated babel classProperties.loose option in .babelrc files (#30912)
- react-native: update executor and schema files for expo and react-native to be continuous (#30985)
⚠️ release: useLegacyVersioning is false by default, migrate config (#30838)⚠️ release: support gitlab releases (#30802)- remix: add continuous task support (#29905)
⚠️ remix: remove deprecated static-serve target name from inferred targets (#30982)- rspack: add continous inference support (#29973)
- rspack: use custom WriteIndexHtmlPlugin to handle variable interpolation (#30805)
- 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)
⚠️ testing: remove deprecatedgetJestProjects
(#30844)⚠️ testing: removetsConfig
option from the@nx/jest:jest
executor (#30888)⚠️ testing: removetsConfig
andcopyFiles
options from the@nx/cypress:cypress
executor (#30870)- vite: infer continuous tasks for dev (#30043)
- webpack: add continuous inference support (#29974)
- webpack: set default sassImplementation to sass-embedded (#30580)
- webpack: remove isolatedConfig option for @nx/webpack:webpack (#30910)
🩹 Fixes
- check if dependencies & devDependencies exist before deleting dep (#30224, #30222)
- 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)
- angular: convert-to-rspack should ensure zone.js is not treated as local file (#30966)
- 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)
- core: only register forced shutdown when tui is enabled (#30735)
- 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)
- core: wait for exit before getting terminal output (#30816)
- core: fix issue with summary missing outputs (#30819)
- core: allow disabling output streaming with NX_STREAM_OUTPUT (#30834)
- core: add continuous to the project.json schema (#30853)
- core: ensure task environments are processed properly in dte (#30862)
- 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)
- core: properly print errors coming from js when tui is enabled (#30885)
- 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)
- core: write keybindings with control to terminal panes in intera… (#30938)
- core: dont cache default plugins as all plugins if loading plugins fails (#30927)
- core: fix logging when directory does not exist (#30944)
⚠️ core: respect packageManager field in package.json when detecting version (#29249)- core: fix t...
21.0.0-rc.4
21.0.0-rc.4 (2025-05-05)
🩹 Fixes
- core: exit the command with sigint if it is interrupted (#31028)
- core: Disable e2e matrix as macos is still hanging at install (#31041)
- core: tui summary should show cancelled when interrupting dev server (#31042)
- core: q should exit tui immediately if all tasks complete (#31040)
- core: improve tui selected task contrast (#31039)
- core: update ci-workflow generator package manager installation (#31018)
- core: switch to tui-term fork to support dimmed content (#31044)
- core: kill tasks run via run-commands (#31045)
❤️ Thank You
- Craigory Coppola @AgentEnder
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Nicholas Cunningham @ndcunningham
21.0.0-rc.3
21.0.0-rc.3 (2025-05-03)
🚀 Features
⚠️ core: remove outputStyle=compact (#31016)
🩹 Fixes
- core: remove unnecessary corepack defaults (#30992)
- core: skip vt100 parsing if tui disabled (#31010)
- core: tui summary should not show canceled during run-one because tasks are skipped (#31014)
- core: ensure the terminal is restored when cloud exits (#31013)
- core: Update nightly tests to work with continuous local-registry (#31007)
- core: enable E2E tests for macOS in CI workflow (#30986)
- core: reset should clear cloud light client (#31021)
- core: nx init should configure plugins for encapsulated workspaces (#31020)
- core: more tui summary updates and unit tests (#31019)
- gradle: fix workflow to run assemble check with batch (#31022)
- release: only error on missing manifestsToUpdate if a project is being directly processed (#31004)
- testing: ignore test outputs from playwright when linting (#31015)
- vue: install
@typescript-eslint/parser
when generating project using it (#31008)
⚠️ Breaking Changes
⚠️ core: remove outputStyle=compact (#31016)
❤️ Thank You
- Craigory Coppola @AgentEnder
- Emily Xiong @xiongemi
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Leosvel Pérez Espinosa @leosvelperez
- Nicholas Cunningham @ndcunningham
21.0.0-rc.2
21.0.0-rc.2 (2025-05-02)
🩹 Fixes
- core: fix windows native build (#30990)
- core: run discrete tasks using batches if possible (#30991)
- core: improve tui task_list bottom section responsive design (#30993)
- core: update fork task runner so it propagates exit signals (#30998)
- testing: use correct server process reference when killing the server in the cypress preset (#30994)
❤️ Thank You
- Jack Hsu @jaysoo
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez
21.0.0-rc.1
21.0.0-rc.1 (2025-05-02)
🚀 Features
- core: add continuous option to targets for Detox, Expo, and React Native (#30988)
🩹 Fixes
- core: send signals when killing child process on unix (#30987)
- core: fix windows native build (#30990)
- core: run discrete tasks using batches if possible (#30991)
❤️ Thank You
- Craigory Coppola @AgentEnder
- Jason Jean @FrozenPandaz
- Nicholas Cunningham @ndcunningham
21.0.0-rc.0
21.0.0-rc.0 (2025-05-01)
🚀 Features
⚠️ core: drop support for node versions prior to 20.19.0 (#30818)- core: support reading NX_TUI_AUTO_EXIT env var (#30971)
- core: bump devkit support range and remove some deprecated APIs (#30840)
- gradle: set gradle task continuous for bootRun (#30931)
- react-native: update executor and schema files for expo and react-native to be continuous (#30985)
⚠️ remix: remove deprecated static-serve target name from inferred targets (#30982)
🩹 Fixes
- angular: convert-to-rspack should ensure zone.js is not treated as local file (#30966)
- core: don't display fork script path in tui (#30970)
- core: prioritize --output-style flag over tui env vars (#30969)
- core: use process#kill instead of tree-kill for windows and macos (#30976)
- core: Disable the macOS job to prevent PRs from being blocked by its long runtime. (#30984)
- gradle: add gradle migration to change ciTargetName (#30965)
- graph: make migrate ui future migration circles cleaner (#30898)
⚠️ misc: only provide default value for object properties if object already has value (#28838, #23153)- react: migration for babel supports configs that do not use @nx/react/babel (#30962)
⚠️ Breaking Changes
- remix: Remove deprecated static-serve target name from Remix
- misc: Currently if an executor's schema provides some default
- core: We are updating our minimum node version to
20.19.0
❤️ Thank You
- Colum Ferry @Coly010
- Craigory Coppola @AgentEnder
- Emily Xiong @xiongemi
- Jack Hsu @jaysoo
- Jason Jean @FrozenPandaz
- MaxKless @MaxKless
- Nicholas Cunningham @ndcunningham
21.0.0-beta.12
21.0.0-beta.12 (2025-05-01)
🚀 Features
- core: disable tui when output style is set to an incompatible style (#30873)
- graph: show next steps for successful migrations (#30934)
- nx-dev: add conformance rule to verify blog post cover images (5651270b33)
⚠️ release: support gitlab releases (#30802)
🩹 Fixes
- core: write keybindings with control to terminal panes in intera… (#30938)
- core: dont cache default plugins as all plugins if loading plugins fails (#30927)
- core: fix logging when directory does not exist (#30944)
⚠️ core: respect packageManager field in package.json when detecting version (#29249)- core: fix terminal output for non-tui (#30957)
- core: include nx version in native file cache (#30963)
- core: error when restoring http cache with no outputs (#30961)
- core: return results after NodeChildProcessWithNonDirectOutput has already exited (#30943)
- nx-dev: update blog posts with avif cover images (d6ea3ab45f)
⚠️ Breaking Changes
⚠️ core: respect packageManager field in package.json when detecting version (#29249)⚠️ release: support gitlab releases (#30802)
❤️ Thank You
- Craigory Coppola @AgentEnder
- Jack Hsu @jaysoo
- Jacob Ley @JacobLey
- James Henry @JamesHenry
- Jason Jean @FrozenPandaz
- Juri @juristr