Skip to content

fix(core): honor pnpm minimumReleaseAge config on pnpm 11 - #36335

Merged
FrozenPandaz merged 1 commit into
masterfrom
gh-36330
Jul 15, 2026
Merged

fix(core): honor pnpm minimumReleaseAge config on pnpm 11#36335
FrozenPandaz merged 1 commit into
masterfrom
gh-36330

Conversation

@leosvelperez

Copy link
Copy Markdown
Member

Current Behavior

pnpm 11 changed pnpm config list --json to report configuration keys in camelCase (minimumReleaseAge), where pnpm 10 reported them kebab-case (minimum-release-age). Nx's pnpm minimum-release-age reader only looked up the kebab-case keys, so on pnpm 11 every explicitly-set value (window, exclude, strict, ignore-missing-time) was ignored. The cooldown window fell back to the built-in 1440-minute default, so nx migrate reported 1440 no matter what minimumReleaseAge was set to in pnpm-workspace.yaml. Setting NX_MIGRATE_USE_REGISTRY_RESOLUTION=false was the only workaround.

Expected Behavior

The minimumReleaseAge configured in pnpm-workspace.yaml (or any other surface pnpm resolves) is honored on pnpm 11. The reader now reads both the camelCase (pnpm 11) and kebab-case (pnpm 10) forms, so pnpm 11 config is applied while pnpm 10 keeps working.

Related Issue(s)

Fixes #36330


View session information ↗

pnpm 11 changed `pnpm config list --json` to report configuration keys in
camelCase (`minimumReleaseAge`), where pnpm 10 reported them kebab-case
(`minimum-release-age`). The pnpm minimum-release-age reader only looked up the
kebab-case keys, so on pnpm 11 every explicitly-set value (window, exclude,
strict, ignore-missing-time) was dropped and the cooldown window fell back to
the built-in 1440-minute default. `nx migrate` then reported 1440 regardless of
the configured value.

Read both the camelCase and kebab-case forms, preferring camelCase, so pnpm 11
config is honored while pnpm 10 keeps working. The existing pnpm 11 tests now
mock pnpm 11's camelCase output; pnpm 10 tests keep the kebab-case form.
@netlify

netlify Bot commented Jul 14, 2026

Copy link
Copy Markdown

Deploy Preview for nx-docs ready!

Name Link
🔨 Latest commit a74e5b6
🔍 Latest deploy log https://app.netlify.com/projects/nx-docs/deploys/6a56230f0a112600086f8467
😎 Deploy Preview https://deploy-preview-36335--nx-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify

netlify Bot commented Jul 14, 2026

Copy link
Copy Markdown

Deploy Preview for nx-dev ready!

Name Link
🔨 Latest commit a74e5b6
🔍 Latest deploy log https://app.netlify.com/projects/nx-dev/deploys/6a56230f9fdbb70007efa0c6
😎 Deploy Preview https://deploy-preview-36335--nx-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@nx-cloud

nx-cloud Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

View your CI Pipeline Execution ↗ for commit a74e5b6

Command Status Duration Result
nx affected --targets=lint,test,build,e2e,e2e-c... ✅ Succeeded 44m 53s View ↗
nx run-many -t check-imports check-lock-files c... ✅ Succeeded 4s View ↗
nx-cloud record -- pnpm nx-cloud conformance:check ✅ Succeeded 57s View ↗
nx build workspace-plugin ✅ Succeeded <1s View ↗
nx-cloud record -- nx sync:check ✅ Succeeded 17s View ↗
nx-cloud record -- nx format:check ✅ Succeeded 5s View ↗

☁️ Nx Cloud last updated this comment at 2026-07-14 12:41:54 UTC

@leosvelperez leosvelperez self-assigned this Jul 14, 2026
@leosvelperez
leosvelperez marked this pull request as ready for review July 14, 2026 12:47
@leosvelperez
leosvelperez requested a review from a team as a code owner July 14, 2026 12:47
@FrozenPandaz
FrozenPandaz merged commit 7d9548b into master Jul 15, 2026
26 checks passed
@FrozenPandaz
FrozenPandaz deleted the gh-36330 branch July 15, 2026 20:29
AgentEnder pushed a commit that referenced this pull request Jul 17, 2026
## Current Behavior

pnpm 11 changed `pnpm config list --json` to report configuration keys
in camelCase (`minimumReleaseAge`), where pnpm 10 reported them
kebab-case (`minimum-release-age`). Nx's pnpm minimum-release-age reader
only looked up the kebab-case keys, so on pnpm 11 every explicitly-set
value (window, exclude, strict, ignore-missing-time) was ignored. The
cooldown window fell back to the built-in 1440-minute default, so `nx
migrate` reported 1440 no matter what `minimumReleaseAge` was set to in
`pnpm-workspace.yaml`. Setting
`NX_MIGRATE_USE_REGISTRY_RESOLUTION=false` was the only workaround.

## Expected Behavior

The `minimumReleaseAge` configured in `pnpm-workspace.yaml` (or any
other surface pnpm resolves) is honored on pnpm 11. The reader now reads
both the camelCase (pnpm 11) and kebab-case (pnpm 10) forms, so pnpm 11
config is applied while pnpm 10 keeps working.

## Related Issue(s)

Fixes #36330

<!-- polygraph-session-start -->
---
[View session information
↗](https://app.trypolygraph.com/orgs/6a061dcb561c062131116eca/sessions/gh-36330-7fcd599a)
<!-- polygraph-session-end -->
FrozenPandaz pushed a commit that referenced this pull request Jul 20, 2026
## Current Behavior

pnpm 11 changed `pnpm config list --json` to report configuration keys
in camelCase (`minimumReleaseAge`), where pnpm 10 reported them
kebab-case (`minimum-release-age`). Nx's pnpm minimum-release-age reader
only looked up the kebab-case keys, so on pnpm 11 every explicitly-set
value (window, exclude, strict, ignore-missing-time) was ignored. The
cooldown window fell back to the built-in 1440-minute default, so `nx
migrate` reported 1440 no matter what `minimumReleaseAge` was set to in
`pnpm-workspace.yaml`. Setting
`NX_MIGRATE_USE_REGISTRY_RESOLUTION=false` was the only workaround.

## Expected Behavior

The `minimumReleaseAge` configured in `pnpm-workspace.yaml` (or any
other surface pnpm resolves) is honored on pnpm 11. The reader now reads
both the camelCase (pnpm 11) and kebab-case (pnpm 10) forms, so pnpm 11
config is applied while pnpm 10 keeps working.

## Related Issue(s)

Fixes #36330

<!-- polygraph-session-start -->
---
[View session information
↗](https://app.trypolygraph.com/orgs/6a061dcb561c062131116eca/sessions/gh-36330-7fcd599a)
<!-- polygraph-session-end -->

(cherry picked from commit 7d9548b)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pnpm minimumReleaseAge not being honoured

2 participants