Read a comparison
Every change between two versions, sorted so the ones that need work come first.
A comparison covers every release after From up to and including To. Its address is /{ecosystem}/{name}/compare/{from}...{to}, such as /npm/eslint/compare/8.57.0...9.0.0. The tab, filters and search you pick are kept in the address, so a copied link opens the same view.
Pick the versions
- From and To
- Search either list. Versions are grouped by channel, with security releases and dates shown and withdrawn ones marked. Swap reverses them.
- Quick picks
- Latest stable, Latest overall and Next major, plus Latest RC and Latest beta when they are ahead of stable.
The verdict
- Breaking
- At least one change breaks callers, or a platform requirement changed (a newer runtime, SDK or peer range).
- Unknown
- Some releases in the range publish no notes, or haven't been read yet. A release nobody has read can't count as safe.
- Review needed
- Nothing known to break, but something needs a look: a deprecation, a changed default, or a major jump with thin notes.
- Safe
- Only new features, fixes and upkeep in every release read.
Under the verdict, In plain terms sums up the range in a few lines. Must act lists the changes that need code or configuration work: Breaking, Platform, Security and Deprecated, in that order.
Change categories
- Breaking
- Removed or incompatible API, behavior change that breaks callers.
- Security
- Security fix or advisory.
- Platform
- A requirement you must meet: minimum runtime or SDK, dropped support, peer dependency range.
- Deprecated
- Still works, will be removed later.
- New
- New feature or API.
- Changed
- Non-breaking behavior or default change.
- Fixed
- Bug fix.
- Other
- Docs, internal, build.
The category chips filter the list. Pick several to see them together; each shows as a chip you can remove.
What else the verdict panel tells you
- Security
- When a release in the range fixes an advisory: its severity, CVSS score where published, and a link to the advisory.
- Migration guide
- When the project publishes an official guide for the version you're moving to. It covers more than the notes do.
- Install scripts
- For npm: a script that runs when the package is installed, added or removed in this range.
- Runtime requirements
- A new or changed minimum runtime, such as Node, Python or the JDK, as the registry states it.
- Dependencies
- What the upgrade adds, drops and moves: how many packages it installs in all, which are new, which it stops installing, and which versions move. Your build may still pick other versions.
- Provenance
- For npm and PyPI: when an earlier release was built and signed by CI but a later one wasn't. Check that release is genuine before you upgrade.
Tabs
- Changes by category
- Every change, grouped by category. Other starts folded.
- Changes by release
- The same changes release by release, newest first. Releases without notes link to their commits.
- API diff
- Signatures added, removed or changed in the public API, read from the published code. Not mixed with the notes. Not available for Cargo yet.
- Commits
- The commit log between each release's tags, from the package's repository. In a monorepo, the commits in the package's folder.
Reading the list
- Search within changes finds words in any entry.
- Hide pre-release-only leaves out changes that only appeared in betas and release candidates.
- Plain language, Summarized and Original switch between a plain rewrite, DepDelta's summary (the default) and the maintainer's own words.
- Compact and Comfortable set how much space each entry takes.
- Select an entry to open it: the original text with a link to its source, the symbols it touches, before and after code when the notes give it, and related changes.
Migration checklist
The checklist beside the list collects the Breaking, Platform and Deprecated items, grouped by how many users they affect. Tick them off as you go. Signed out, ticks stay in this browser. Signed in, they follow you to any device.
Keyboard
- /
- Focus search
- jk
- Next and previous change
- Enter
- Open the focused change
- []
- Previous and next tab
- Esc
- Close a panel
- ?
- List the shortcuts
Shortcuts are off while you type in a field.