Skip to content

Releases: raineorshine/npm-check-updates

v19.3.1

05 Jan 13:36

Choose a tag to compare

What's Changed

Full Changelog: v19.3.0...v19.3.1

v19.3.0

04 Jan 20:15

Choose a tag to compare

What's Changed

  • feat: support yarn catalogs by @MKruschke in #1582
  • Fixed default catalog behavior.
    • See discussion here: #1582 (review)
    • If you think this is wrong, please open an issue.

Full Changelog: v19.2.1...v19.3.0

v19.2.1

02 Jan 17:04

Choose a tag to compare

Full Changelog: v19.2.0...v19.2.1

v19.2.0

10 Dec 16:56

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v19.1.2...v19.2.0

v19.1.2

28 Oct 17:25

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v19.1.1...v19.1.2

v19.1.1

15 Oct 17:17

Choose a tag to compare

What's Changed

Full Changelog: v19.1.0...v19.1.1

v19.1.0

13 Oct 20:12

Choose a tag to compare

What's Changed

Full Changelog: v19.0.0...v19.1.0

v19.0.0

29 Sep 00:58

Choose a tag to compare

Breaking

  • node >= 20 required
  • --workspaces (plural) short option -ws changed to -w
    • Better compatibility with commander v13
    • Short option should always be a single character for consistency
    • Replaces the short option for --workspace (singular)
    • --workspace (singular) no longer has a short option.

v18.2.0

18 Sep 19:48

Choose a tag to compare

Thanks to community members for raising awareness and to @SebastianSedzik for the implementation.

See: #1547

Feature: --cooldown

Usage:

ncu --cooldown [n]
ncu -c [n]

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 --cooldown 5

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 --cooldown 3 --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
  • Use --cooldown 2 or lower to allow this update

With other targets:

$ ncu --cooldown 5 --target greatest|newest|minor|patch|semver

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.

v18.0.0

21 Apr 08:41

Choose a tag to compare

Breaking

The only breaking change in v18 is with the -g/--global flag.

npm-check-updates -g will now auto-detect your package manager based on the execution path. Previously, it defaulted to npm.

  • yarn dlx ncu -g --packageManager yarnyarn dlx ncu -g
  • pnpm dlx ncu --global --packageManager pnpmpnpm dlx ncu -g
  • bunx ncu -g--packageManager pnpmbunx ncu -g

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:

  • ncu -gncu -g--packageManager npm

Thanks to @LuisFerLCC for the improvement (#1514).