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.