Change8

22.7.0

📦 nxView on GitHub →
25 features🐛 34 fixes🔧 8 symbols

Summary

This release introduces significant improvements to caching, task execution concurrency, and the developer experience during workspace initialization, alongside numerous fixes across Angular and bundling tools.

✨ New Features

  • Added .nx/self-healing to .gitignore.
  • Decoupled DB version from Nx version and enabled sharing DB across worktrees.
  • Auto-opened browser for Cloud setup URL during create-nx-workspace.
  • Allowed generate command to skip project graph creation.
  • Removed polygraph cloud passthrough.
  • Used CNW variant 1 cloud prompt in nx init.
  • Added source map annotations to nx show target.
  • Prompted for setup mode when running nx init in an empty git directory.
  • Added JSON input type for selective JSON field hashing.
  • Updated nx-set-shas usage to v5.
  • Added NX_BAIL environment variable for early exit.
  • Added page up/down shortcuts to the TUI.
  • Added logging and progress message types to the daemon.
  • Added ci-workflow generator for dotnet projects.
  • Supported nx.sync.ignoredDependencies in typescript-sync.
  • A/B tested cloud prompt copy in create-nx-workspace.
  • Updated nx init telemetry meta from CSV to JSON format.
  • Locked in CNW cloud prompt A/B winner and added new variants.
  • Added conditional blog/changelog proxy in the edge function for nx-dev.
  • Added nx-blog sitemap to the root sitemap index.
  • Added nx-labs repo target and used glob pattern for update-all-repos.
  • Enabled tsgo compiler for the nx package.
  • Enforced no-disabled-tests via ESLint with per-project warning caps.
  • Added e2e test for nx build process verification.
  • Added compiler option to the vite plugin for tsgo support.

🐛 Bug Fixes

  • Updated duplicate migration keys in angular.
  • Added storybook and playwright as implicit dependencies for angular.
  • Preserved specific file paths in tsconfig when adding secondary entry point in angular.
  • Fell back to addUndefinedDefaults when addUndefinedObjectDefaults is unavailable in angular.
  • Ensured rebuild chunks emitted summary is accurate for angular-rspack.
  • Normalized Windows path separators for i18n in angular-rspack.
  • Added fileReplacements to resolve.alias in angular-rspack.
  • Fixed issues with angular-rspack hmr.
  • Disabled swc input source map resolution in bundling.
  • Bumped esbuild version for new projects to be compatible with vite 8.
  • Declared tsconfig.json as input for esbuild targets.
  • Skipped analytics and DB connection when global bin hands off to local.
  • Properly quoted shell metacharacters in CLI args passed to tasks.
  • Avoided redundant project graph requests in ngcli adapter.
  • Ensured postTasksExecution fires on SIGINT for continuous tasks.
  • Improved error handling in nx migrate registry fetching.
  • Removed CRA migration logic from nx init.
  • Passed collectInputs flag through daemon IPC for task hashing.
  • Prevented DB corruption from concurrent initialization.
  • Set windowsHide: true on all child process spawns.
  • Improved split-target handling for projects with colons in their name.
  • Prevented TUI crash when task output arrives after completion.
  • Respected --parallel limit for discrete task concurrency.
  • Used scroll-offset-based scrollbar positioning in TUI.
  • Skipped import-equals namespace aliases in native scanner.
  • Included command name on all telemetry events.
  • Skipped workspace context setup when global bin hands off to local.
  • Added explicit exports entry for nx/src/native directory.
  • Used upsert to prevent FK constraint violations in the task DB.
  • Ensured runtime inputs are not cached at the task_hasher layer and filesets are in the hash_plans layer.
  • Suppressed postinstall error output when nx is not yet built.
  • Showed better log message when isolated plugin shuts down after hook completion.
  • Handled owners and conformance project refs on move/rename operations.
  • Resolved published nx migrate package resolution.

Affected Symbols