Releases: raineorshine/npm-check-updates
v22.2.5
v22.2.4
[ignore]
v22.2.3
What's Changed
- build(deps-dev): bump semver from 7.8.0 to 7.8.1 by @dependabot[bot] in #1760
- build(deps-dev): bump js-yaml from 4.1.1 to 4.2.0 by @dependabot[bot] in #1781
- build(deps-dev): bump unplugin-dts from 1.0.1 to 1.0.2 by @dependabot[bot] in #1780
- build(deps-dev): bump eslint-import-resolver-typescript by @dependabot[bot] in #1779
- build(deps-dev): bump tsx from 4.22.3 to 4.22.4 by @dependabot[bot] in #1778
- fix: handle registries missing 'time' metadata during version resolution by @onemen in #1763
- Fall back to pnpm global config for minimumReleaseAge cooldown by @Copilot in #1777
Full Changelog: v22.2.2...v22.2.3
v22.2.2
What's Changed
- test: use node util to strip ansi in deep test by @terminalchai in #1769
- build(deps-dev): bump vite from 8.0.13 to 8.0.16 by @dependabot[bot] in #1774
- Switch from vite-plugin-dts to unplugin-dts by @Copilot in #1749
- test: remove unused temp directory creation by @terminalchai in #1770
- test: cover Windows spawn command fallback by @terminalchai in #1771
- build(deps-dev): bump sinon from 21.1.2 to 22.0.0 by @dependabot[bot] in #1751
- fix: parse Yarn duration string format for npmMinimalAgeGate by @Copilot in #1768
- build(deps-dev): bump @types/bun from 1.3.13 to 1.3.14 by @dependabot[bot] in #1754
- build(deps-dev): bump @typescript-eslint/parser from 8.59.4 to 8.60.1 by @dependabot[bot] in #1773
- build(deps-dev): bump mocha from 11.7.5 to 11.7.6 by @dependabot[bot] in #1753
- build(deps-dev): bump verdaccio from 6.6.0 to 6.7.2 by @dependabot[bot] in #1759
Full Changelog: v22.2.1...v22.2.2
v22.2.1
What's Changed
- build(deps-dev): bump @typescript-eslint/eslint-plugin by @dependabot[bot] in #1727
- build(deps-dev): bump verdaccio from 6.5.2 to 6.6.0 by @dependabot[bot] in #1728
- build(deps-dev): bump yaml from 2.8.4 to 2.9.0 by @dependabot[bot] in #1729
- fix: normalize blank-line spacing between packages in --deep mode by @terminalchai in #1738
- Fix TypeError when running ncu from a subdirectory without a package.json by @Copilot in #1737
- build(deps-dev): bump semver from 7.7.4 to 7.8.0 by @dependabot[bot] in #1731
- build(deps-dev): bump ini from 6.0.0 to 7.0.0 by @dependabot[bot] in #1726
- build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.59.3 to 8.59.4 by @dependabot[bot] in #1739
- build(deps-dev): bump vite from 8.0.9 to 8.0.13 by @dependabot[bot] in #1740
- build(deps-dev): bump tsx from 4.21.0 to 4.22.3 by @dependabot[bot] in #1741
- build(deps-dev): bump @typescript-eslint/parser from 8.59.3 to 8.59.4 by @dependabot[bot] in #1743
- build(deps-dev): bump @types/node from 25.6.0 to 25.9.1 by @dependabot[bot] in #1744
- build(deps-dev): bump vite-plugin-dts from 4.5.4 to 5.0.0 by @dependabot[bot] in #1713
- build(deps-dev): bump @eslint/compat from 2.0.5 to 2.1.0 by @dependabot[bot] in #1732
Full Changelog: v22.2.0...v22.2.1
v22.2.0
What's Changed
- build(deps): bump fast-uri from 3.1.0 to 3.1.2 by @dependabot[bot] in #1724
- feat: add cooldown format and improved visibility for skipped updates by @onemen in #1711
Full Changelog: v22.1.1...v22.2.0
v22.1.1
What's Changed
- npm: decorateTagPackumentWithTimeAndName accepts undefined tagPackument by @SAY-5 in #1706
- fix: skip intersects() for non-semver specs like catalog: in peer dep checks by @terminalchai in #1710
- Bump yaml from 2.8.3 to 2.8.4 by @dependabot[bot] in #1714
- Bump @typescript-eslint/eslint-plugin from 8.59.1 to 8.59.2 by @dependabot[bot] in #1716
- Bump @typescript-eslint/parser from 8.59.1 to 8.59.2 by @dependabot[bot] in #1718
- build(deps-dev): bump eslint-plugin-n from 17.24.0 to 18.0.1 by @dependabot[bot] in #1715
- build(deps-dev): bump zod from 4.3.6 to 4.4.3 by @dependabot[bot] in #1719
- build(deps-dev): bump globals from 17.5.0 to 17.6.0 by @dependabot[bot] in #1717
- build(deps-dev): bump hosted-git-info from 9.0.2 to 9.0.3 by @dependabot[bot] in #1720
New Contributors
Full Changelog: v22.1.0...v22.1.1
v22.1.0
What's Changed
- fix: make --dep and --format robust to PowerShell arg rewriting (comma-or-space-delimited) by @onemen in #1694
- Bump @typescript-eslint/eslint-plugin from 8.59.0 to 8.59.1 by @dependabot[bot] in #1697
- Bump eslint-plugin-promise from 7.2.1 to 7.3.0 by @dependabot[bot] in #1702
- Bump @types/bun from 1.3.12 to 1.3.13 by @dependabot[bot] in #1699
- Bump vite-bundle-analyzer from 1.3.7 to 1.3.8 by @dependabot[bot] in #1700
- Enhance
--format time: consistent caching, interactive support, and human-readable timestamps by @onemen in #1693 - fix: ignore .pnpm-store in glob traversal to prevent OOM with --deep by @Copilot in #1705
Full Changelog: v22.0.1...v22.1.0
v22.0.1
What's Changed
- fix: suppress cooldown config log messages when JSON output is active by @Copilot in #1692
Full Changelog: v22.0.0...v22.0.1
v22.0.0
Breaking Changes
--cooldown now falls back to the greatest non-prerelease version rather than skipping the upgrade entirely when the latest version falls within the cooldown window.
- This only affects
--cooldown(or inferred cooldown frommin-release-age/minimumReleaseAge/npmMinimalAgeGate). - This only affects
--target latest(which is the default).
⚠️ WARNING
In rare circumstances, it is now possible for ncu --cooldown 10 to install a version that was never published to latest. This is because the npm registry does not store a history of versions published to the latest dist-tag. It is impossible to fall back to an earlier latest version, because there is no record of it. However, we do have a list of all published versions, and it's likely that a boring version like 1.0.1 was published to latest at some point. Versions like 1.0.1-pre.0, 1.0.1-beta, 1.0.1-build.58157394, etc will be ignored, as you would expect.
While npm-check-updates typically takes a conservative approach to version upgrades, following semver exactly and only upgrading to the latest version, falling back to the highest version outside the cooldown window is clearly the more intuitive behavior, and this outweighs the few cases where the results would be undesirable. The discussion in #1556 and the large amount of confusion since the initial release of --cooldown attest to this.
How to opt out of the new behavior
You can opt out of the new behavior by using --target "@latest". This forces a strict upgrade (or downgrade) to the latest tag only, without any fallback behavior.
For granular control, use a custom ncurc function to set the target or disable cooldown for a single package.
What's Changed
- Bump verdaccio from 6.5.1 to 6.5.2 by @dependabot[bot] in #1679
- Bump vite from 8.0.8 to 8.0.9 by @dependabot[bot] in #1680
- Bump @typescript-eslint/parser from 8.58.2 to 8.59.0 by @dependabot[bot] in #1681
- Bump @typescript-eslint/eslint-plugin from 8.58.2 to 8.59.0 by @dependabot[bot] in #1682
- Update dependencies by @onemen in #1685
- build: stub cosmiconfig's typescript dependency to reduce bundle size by 8MB by @onemen in #1686
- feat(cooldown): fall back to greatest passing version when latest is within cooldown by @marcosgilf in #1688
New Contributors
- @marcosgilf made their first contribution in #1688
Full Changelog: v21.0.3...v22.0.0