23.1.1
📦 nxView on GitHub →
✨ 2 features🐛 57 fixes🔧 12 symbols
Summary
This release introduces new features like stable repo key derivation and a React + Vite + Vitest + Playwright example. It also includes numerous bug fixes across core, bundling, angular-rspack, js, linter, module-federation, and misc functionalities, focusing on performance, compatibility, and security.
✨ New Features
- Derive stable repo key from normalized remote and relative path.
- Add react + vite + vitest + playwright example.
🐛 Bug Fixes
- Speed up Angular RSPack builds and align behavior with the esbuild application builder.
- Support TypeScript esbuildConfig files in the esbuild executor.
- Acknowledge @swc/core build scripts when configuring rollup.
- Speed up npm lockfile parsing.
- Speed up lockfile parsing and catalog resolution.
- Show performance report recommendations only when actionable.
- Close daemon log descriptors after spawn to avoid Node 26 crash.
- Prevent shell injection in nx import.
- Correct the 22.6.0 gitignore and analytics migration wiring.
- Support npm 12 and pnpm in the package provenance check.
- Honor pnpm minimumReleaseAge config on pnpm 11.
- Support pnpm 11 patched dependency hashes.
- Resolve name refs copied into pattern-matched target arrays.
- Resolve source-loaded plugin transitive workspace imports.
- Unbreak pnpm 11 installs by acknowledging build-script deps from generators.
- Include continuous and default-config dependencies in show target.
- Make unit tests pass locally regardless of invoking package manager.
- Respect --aiAgents none to skip AI agent file generation.
- Use --config.frozen-lockfile=false for pnpm add during migrate.
- Run selected projects with --exclude-task-dependencies.
- Stop passing git revisions through a shell in affected commands.
- Collect trickling watcher bursts fully on daemon force-flush.
- Report tasks running in another Nx process in the inline TUI.
- Stop ratatui cursor queries from racing the TUI event stream.
- Render critical-path tasks as a nested list in the job summary.
- Keep pnpm-workspace.yaml comments and read package.json as jsonc.
- Support multiple brace groups in workspace glob matching.
- Handle CRLF line endings in pnpm multi-document lockfiles.
- Correct glob pattern expansion for ZeroOrOne groups.
- Stop re-querying confirmed cache misses in task orchestrator.
- Sample project graph perf span telemetry per session at 10%.
- Strip terminal query sequences when replaying task output.
- Preserve FORCE_COLOR=0 intent for forked child tasks.
- Handle colons in target name when resolving inputs to generate graph.
- Merge default plugins through the source-map-aware merge path.
- Keep nx migrate on the requested version when release-age gates interfere.
- Avoid bogus duplicate project name errors when generating nested apps.
- Pin typescript in preset dependencies so npm cannot hoist typescript 7.
- Bump pinned axios and brace-expansion past vulnerable versions.
- Parse pnpm lockfiles that omit the packages block.
- Keep real dependencies when omitting peers from npm temp installs.
- Resolve ensurePackage against the workspace.
- Run release pipeline docker commands without a shell.
- Support private methods and static blocks in babel preset.
- Parse pnpm/npm publish JSON containing braces in file paths.
- Resolve the verdaccio bin through its package.json.
- Resolve package and extension-less tsconfig extends read from the tree.
- Keep override parser when convert-to-flat-config uses FlatCompat.
- Use projectService for typed linting in flat configs.
- Resolve CSS url() assets on Windows in postcss-cli-resources.
- Suppress outdated disclaimer for unsupported AI agents with AGENTS.md.
- Bump ci-workflow generator to node 24 and current action majors.
- Preserve package alias keys in generated package.json.
- Prevent crash when opening browser in Podman+WSL container.
- Do not cache static remote assets in the dev-server plugin.
- Strip version suffix from npm dependency names for bun compatibility.
- Include migration docs in the built package.