You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
New critical security fix of Next.js appears which is newer than 7 days
User attempts to upgrade to new Next.js version
ERR_PNPM_NO_MATURE_MATCHING_VERSION error appears for a package not yet added to minimumReleaseAgeExclude (starting with next, continuing on with @next/env, @next/swc-darwin-arm64, etc), eg:
$ pnpm add next@15.5.9
ERR_PNPM_NO_MATURE_MATCHING_VERSION No matching version found for next@15.5.9 published by Tue Jan 13 2026 10:38:05 GMT+0100 (Central European Standard Time) while fetching it from https://registry.npmjs.org/. Version 3.8.0 satisfies the specs but was released at Thu Jan 15 2026 00:56:17 GMT+0100 (Central European Standard Time)
This error happened while installing a direct dependency of /Users/k/p/project
The latest release of next is "15.5.9". Published at 1/15/2026
Other releases are:
...
If you need the full list of all ... published versions run "$ pnpm view next versions".
If you want to install the matched version ignoring the time it was published, you can add the package name to the minimumReleaseAgeExclude setting. Read more about it: https://pnpm.io/settings#minimumreleaseageexclude
User attempts to edit pnpm-workspace.yaml to configure minimumReleaseAgeExclude with the package mentioned, such as: pnpm-workspace.yaml
minimumReleaseAgeExclude:
- next@15.5.9
User attempts to run pnpm install again, but another error occurs - loop back up to step 3 again, over and over 💥 until all of the packages have been added to minimumReleaseAgeExclude, as shown below
The final list of packages I needed to configure for Next.js 15.5.9:
Allow specifying withTransitives for entries to minimumReleaseAgeExclude, to also exclude transitive dependencies coming from dependencies of a particular version of a package:
In many cases, if a user adds next@16.2.4 to minimumReleaseAgeExclude, that means that they implicitly trust it. That trust could be propagated to all transitive dependencies too with this withTransitives option.
Prior art
The propagation of trust is similar to the Content-Security-Policystrict-dynamic source expression, which specifies:
the trust explicitly given to a script present in the markup ... shall be propagated to all the scripts loaded by that root script
Describe the drawbacks of your solution
Performance: I'm not sure, but maybe this is expensive?
Contribution
Describe the user story
Project configures
minimumReleaseAge: 10080(7 days)New critical security fix of Next.js appears which is newer than 7 days
User attempts to upgrade to new Next.js version
ERR_PNPM_NO_MATURE_MATCHING_VERSIONerror appears for a package not yet added tominimumReleaseAgeExclude(starting withnext, continuing on with@next/env,@next/swc-darwin-arm64, etc), eg:User attempts to edit
pnpm-workspace.yamlto configureminimumReleaseAgeExcludewith the package mentioned, such as:pnpm-workspace.yamlUser attempts to run
pnpm installagain, but another error occurs - loop back up to step 3 again, over and over 💥 until all of the packages have been added tominimumReleaseAgeExclude, as shown belowThe final list of packages I needed to configure for Next.js 15.5.9:
Describe the solution you'd like
Allow specifying
withTransitivesfor entries tominimumReleaseAgeExclude, to also exclude transitive dependencies coming from dependencies of a particular version of a package:In many cases, if a user adds
next@16.2.4tominimumReleaseAgeExclude, that means that they implicitly trust it. That trust could be propagated to all transitive dependencies too with thiswithTransitivesoption.Prior art
The propagation of trust is similar to the
Content-Security-Policystrict-dynamicsource expression, which specifies:Describe the drawbacks of your solution
Performance: I'm not sure, but maybe this is expensive?
Describe alternatives you've considered
pnpm config set 'minimiumReleaseAgeExclude[]' next --depth Infinity --location project- first requirespnpm config setto support non-primitivespnpm violations next@15.5.9 --policy minimumReleaseAge --depth InfinityNew command for recursively listing security violations #10489cc @tats-u