24.0.0-beta.4 (2026-10-19)
🚀 Features
- angular: support angular v22.2 (#37234, #37375)
- core: fetch ultracache configurations by default in CI (#37448)
- core: let dev servers signal readiness instead of guessing their port (#37455)
🩹 Fixes
- angular-rspack: mark the ssr engine manifest module as having side effects (#37471, #37468)
- ⚠️ core: keep inferred project names when project.json omits a name (#37365)
- core: run optional update migrations in the --include=optional pass only (#37477)
- core: install after migrations that only change catalog entries (#37478)
- js: resolve swc type-check rootDir against the workspace root (#37473)
- maven: give every maven target explicit inputs (#37442)
- misc: stop generators from accepting targets on removed executors (#37475)
⚠️ Breaking Changes
- core: keep inferred project names when project.json omits a name (#37365)
This affects workspaces that run Nx with
NX_ISOLATE_PLUGINS=falseorNX_USE_V8_SERIALIZER=true, or that use
the WASM build of Nx. In those workspaces, a project whose project.json
has nonamewas named after its directory. It now gets the name Nx
already gives it with default settings. That name comes from its
package.jsonname, or from another plugin such as@nx/maven. For
example,packages/foowith the package name@scope/foochanges from
footo@scope/foo. Update commands and configuration that use the
old name, such asnx build fooorimplicitDependencies. To keep the
old name, set"name": "foo"in project.json.
❤️ Thank You
- Cestercian @cestercian
- Jason Jean @FrozenPandaz
- Leosvel Pérez Espinosa @leosvelperez