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
The cooldown option helps protect against supply chain attacks by requiring package versions to be published at least the given number of days before considering them for upgrade.
Note that previous stable versions will not be suggested. The package will be completely ignored if its latest published version is within the cooldown period. This is due to a limitation of the npm registry, which does not provide a way to query previous stable versions.
Example:
Let's examine how cooldown works with a package that has these versions available:
1.0.0 Released 7 days ago (initial version)
1.1.0 Released 6 days ago (minor update)
1.1.1 Released 5 days ago (patch update)
1.2.0 Released 5 days ago (minor update)
2.0.0-beta.1 Released 5 days ago (beta release)
1.2.1 Released 4 days ago (patch update)
1.3.0 Released 4 days ago (minor update) [latest]
2.0.0-beta.2 Released 3 days ago (beta release)
2.0.0-beta.3 Released 2 days ago (beta release) [beta]
With default target (latest):
$ncu--cooldown5
No update will be suggested because:
Latest version (1.3.0) is only 4 days old.
Cooldown requires versions to be at least 5 days old
Use --cooldown 4 or lower to allow this update
With @beta/@tag target:
$ncu--cooldown3--target @​beta
No update will be suggested because:
Current beta (2.0.0-beta.3) is only 2 days old
Cooldown requires versions to be at least 3 days old
Each target will select the best version that is at least 5 days old:
greatest → 1.2.0 (highest version number outside cooldown)
newest → 2.0.0-beta.1 (most recently published version outside cooldown)
minor → 1.2.0 (highest minor version outside cooldown)
patch → 1.1.1 (highest patch version outside cooldown)
Note for latest/tag targets:
⚠️ For packages that update frequently (e.g. daily releases), using a long cooldown period (7+ days) with the default --target latest or --target @​tag may prevent all updates since new versions will be published before older ones meet the cooldown requirement. Please consider this when setting your cooldown period.
If for some reason you were running ncu -g with an alternative package manager and relying on it checking the global npm packages, you will need to now explicitly specify npm:
If for some reason you were running ncu -g with an alternative package manager and relying on it checking the global npm packages, you will need to now explicitly specify npm:
If for some reason you were running ncu -g with an alternative package manager and relying on it checking the global npm packages, you will need to now explicitly specify npm:
Deprecated versions are no longer excluded by default, as it requires fetching package info for every published version, significantly slowing down upgrades.
You can opt in with --no-deprecated in the CLI or deprecated: false in your ncurc config.
In workspaces mode, --root is now set by default (#1353)
To not check the root package.json, use --no-root.
If you have a packageManager field in your package.json, it is now upgraded by default (#1390)
Deprecated versions are no longer excluded by default, as it requires fetching package info for every published version, significantly slowing down upgrades.
You can opt in with --no-deprecated in the CLI or deprecated: false in your ncurc config.
In workspaces mode, --root is now set by default (#1353)
To not check the root package.json, use --no-root.
If you have a packageManager field in your package.json, it is now upgraded by default (#1390)
Deprecated versions are no longer excluded by default, as it requires fetching package info for every published version, significantly slowing down upgrades.
You can opt in with --no-deprecated in the CLI or deprecated: false in your ncurc config.
In workspaces mode, --root is now set by default (#1353)
To not check the root package.json, use --no-root.
If you have a packageManager field in your package.json, it is now upgraded by default (#1390)
Added filterResults option to filter out upgrades based on a user provided function.
filterResults runs after new versions are fetched, in contrast to filter and filterVersion, which run before. This allows you to filter out upgrades with filterResults based on how the version has changed (e.g. a major version change).
Only available in .ncurc.js or when importing npm-check-updates as a module.
/** Filter out non-major version updates. @​param {string} packageName The name of the dependency. @​param {string} currentVersion Current version declaration (may be range). @​param {SemVer[]} currentVersionSemver Current version declaration in semantic versioning format (may be range). @​param {string} upgradedVersion Upgraded version. @​param {SemVer} upgradedVersionSemver Upgraded version in semantic versioning format. @​returns {boolean} Return true if the upgrade should be kept, otherwise it will be ignored.*/
filterResults: (packageName,{currentVersion, currentVersionSemver, upgradedVersion, upgradedVersionSemver})=>{constcurrentMajorVersion=currentVersionSemver?.[0]?.majorconstupgradedMajorVersion=upgradedVersionSemver?.majorif(currentMajorVersion&&upgradedMajorVersion){returncurrentMajorVersion<upgradedMajorVersion}returntrue}
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, on day 1 of the month ( * 0-3 1 * * ) in timezone Europe/Paris, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
If you want to rebase/retry this PR, check this box
Next steps: Take a moment to review the security alert
above. Review the linked package source code to understand the potential
risk. Ensure the package is not malicious before proceeding. If you're
unsure how to proceed, reach out to your security team or ask the Socket
team for help at support@socket.dev.
Suggestion: Remove or replace dependencies that include known critical CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/ejs@2.7.4. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
Next steps: Take a moment to review the security alert
above. Review the linked package source code to understand the potential
risk. Ensure the package is not malicious before proceeding. If you're
unsure how to proceed, reach out to your security team or ask the Socket
team for help at support@socket.dev.
Suggestion: Remove or replace dependencies that include known critical CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/elliptic@6.5.4. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^16.9.0->^19.0.0Release Notes
raineorshine/npm-check-updates (npm-check-updates)
v19.1.2Compare Source
What's Changed
New Contributors
Full Changelog: raineorshine/npm-check-updates@v19.1.1...v19.1.2
v19.1.1Compare Source
What's Changed
CooldownFunctionin config file by @SebastianSedzik in #1565Full Changelog: raineorshine/npm-check-updates@v19.1.0...v19.1.1
v19.1.0Compare Source
What's Changed
Full Changelog: raineorshine/npm-check-updates@v19.0.0...v19.1.0
v19.0.0Compare Source
Breaking
>= 20required--workspaces(plural) short option-wschanged to-w--workspace(singular)--workspace(singular) no longer has a short option.v18.3.1Compare Source
v18.3.0Compare Source
v18.2.1Compare Source
v18.2.0Compare Source
Thanks to community members for raising awareness and to @SebastianSedzik for the implementation.
See: #1547
Feature:
--cooldownUsage:
The cooldown option helps protect against supply chain attacks by requiring package versions to be published at least the given number of days before considering them for upgrade.
Note that previous stable versions will not be suggested. The package will be completely ignored if its latest published version is within the cooldown period. This is due to a limitation of the npm registry, which does not provide a way to query previous stable versions.
Example:
Let's examine how cooldown works with a package that has these versions available:
With default target (latest):
No update will be suggested because:
--cooldown 4or lower to allow this updateWith
@beta/@tagtarget:No update will be suggested because:
--cooldown 2or lower to allow this updateWith other targets:
Each target will select the best version that is at least 5 days old:
Note for latest/tag targets:
v18.1.1Compare Source
v18.1.0Compare Source
v18.0.3Compare Source
v18.0.2Compare Source
v18.0.1Compare Source
v18.0.0Compare Source
Breaking
The only breaking change in v18 is with the
-g/--globalflag.npm-check-updates -gwill now auto-detect your package manager based on the execution path. Previously, it defaulted tonpm.yarn dlx ncu -g --packageManager yarn→yarn dlx ncu -gpnpm dlx ncu --global --packageManager pnpm→pnpm dlx ncu -gbunx ncu -g--packageManager pnpm→bunx ncu -gIf for some reason you were running
ncu -gwith an alternative package manager and relying on it checking the globalnpmpackages, you will need to now explicitly specify npm:ncu -g→ncu -g--packageManager npmThanks to @LuisFerLCC for the improvement (#1514).
raineorshine/npm-check-updates@v17.1.18...v18.0.0
v17.1.18Compare Source
Breaking
The only breaking change in v18 is with the
-g/--globalflag.npm-check-updates -gwill now auto-detect your package manager based on the execution path. Previously, it defaulted tonpm.yarn dlx ncu -g --packageManager yarn→yarn dlx ncu -gpnpm dlx ncu --global --packageManager pnpm→pnpm dlx ncu -gbunx ncu -g--packageManager pnpm→bunx ncu -gIf for some reason you were running
ncu -gwith an alternative package manager and relying on it checking the globalnpmpackages, you will need to now explicitly specify npm:ncu -g→ncu -g--packageManager npmThanks to @LuisFerLCC for the improvement (#1514).
raineorshine/npm-check-updates@v17.1.18...v18.0.0
v17.1.17Compare Source
v17.1.16Compare Source
v17.1.15Compare Source
v17.1.14Compare Source
v17.1.13Compare Source
v17.1.12Compare Source
v17.1.11Compare Source
v17.1.10Compare Source
v17.1.9Compare Source
v17.1.8Compare Source
v17.1.7Compare Source
v17.1.6Compare Source
v17.1.5Compare Source
v17.1.4Compare Source
v17.1.3Compare Source
v17.1.2Compare Source
v17.1.1Compare Source
Breaking
The only breaking change in v18 is with the
-g/--globalflag.npm-check-updates -gwill now auto-detect your package manager based on the execution path. Previously, it defaulted tonpm.yarn dlx ncu -g --packageManager yarn→yarn dlx ncu -gpnpm dlx ncu --global --packageManager pnpm→pnpm dlx ncu -gbunx ncu -g--packageManager pnpm→bunx ncu -gIf for some reason you were running
ncu -gwith an alternative package manager and relying on it checking the globalnpmpackages, you will need to now explicitly specify npm:ncu -g→ncu -g--packageManager npmThanks to @LuisFerLCC for the improvement (#1514).
raineorshine/npm-check-updates@v17.1.18...v18.0.0
v17.1.0Compare Source
v17.0.6Compare Source
v17.0.5Compare Source
v17.0.4Compare Source
v17.0.3Compare Source
v17.0.2Compare Source
v17.0.1Compare Source
v17.0.0Compare Source
Breaking
--no-deprecatedin the CLI ordeprecated: falsein yourncurcconfig.--rootis now set by default (#1353)--no-root.--dep prod,dev,optionalfor the old behavior.raineorshine/npm-check-updates@v16.14.20...v17.0.0
v16.14.20Compare Source
Breaking
--no-deprecatedin the CLI ordeprecated: falsein yourncurcconfig.--rootis now set by default (#1353)--no-root.--dep prod,dev,optionalfor the old behavior.raineorshine/npm-check-updates@v16.14.20...v17.0.0
v16.14.19Compare Source
v16.14.18Compare Source
v16.14.17Compare Source
v16.14.16Compare Source
v16.14.15Compare Source
v16.14.14Compare Source
v16.14.13Compare Source
v16.14.12Compare Source
v16.14.11Compare Source
v16.14.10Compare Source
v16.14.9Compare Source
v16.14.8Compare Source
v16.14.7Compare Source
v16.14.6Compare Source
v16.14.5Compare Source
v16.14.4Compare Source
v16.14.3Compare Source
v16.14.2Compare Source
Breaking
--no-deprecatedin the CLI ordeprecated: falsein yourncurcconfig.--rootis now set by default (#1353)--no-root.--dep prod,dev,optionalfor the old behavior.raineorshine/npm-check-updates@v16.14.20...v17.0.0
v16.14.1Compare Source
v16.14.0Compare Source
Feature
bun.lockbis detected.Thanks to @ImBIOS for the PR!
v16.13.4Compare Source
v16.13.3Compare Source
v16.13.2Compare Source
v16.13.1Compare Source
v16.13.0Compare Source
Feature
--installoption to control auto-install behavior.Usage:
Default: prompt
Control the auto-install behavior.
v16.12.3Compare Source
v16.12.2Compare Source
v16.12.1Compare Source
v16.12.0Compare Source
v16.11.2Compare Source
v16.11.1Compare Source
v16.11.0Compare Source
v16.10.19Compare Source
v16.10.18Compare Source
v16.10.17Compare Source
v16.10.16Compare Source
v16.10.15Compare Source
v16.10.14Compare Source
v16.10.13Compare Source
v16.10.12Compare Source
v16.10.11Compare Source
v16.10.10Compare Source
v16.10.9Compare Source
v16.10.8Compare Source
v16.10.7Compare Source
v16.10.6Compare Source
v16.10.5Compare Source
v16.10.4Compare Source
v16.10.3Compare Source
v16.10.2Compare Source
v16.10.1Compare Source
v16.10.0Compare Source
Feature
filterResultsoption to filter out upgrades based on a user provided function.filterResultsruns after new versions are fetched, in contrast tofilterandfilterVersion, which run before. This allows you to filter out upgrades withfilterResultsbased on how the version has changed (e.g. a major version change).Only available in .ncurc.js or when importing npm-check-updates as a module.
For the SemVer type definition, see: https://git.coolaj86.com/coolaj86/semver-utils.js#semverutils-parse-semverstring
Thanks to mslowiak for this enhancement!
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, on day 1 of the month ( * 0-3 1 * * ) in timezone Europe/Paris, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.