Dependency upgrade plan for up to 5 npm or PyPI packages in one call (e.g
Dependency upgrade plan for up to 5 npm or PyPI packages in one call (e.g. react, react-dom and next together): for each package the breaking changes between your version and the target, major bumps, Node.js or Python and peer dependency changes, migration guide links and a risk score, ordered by upgrade risk, plus the peer dependency requirements between the listed packages (next 15 needs react 19). Built from real changelogs and GitHub releases.
Answeringour last check, 2026-10-24
1 of 1checks answered this week
614 msmedian answer time
$0.02listed price per call
$0.02price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://upgrade-brief.shopttyass-85f.workers.dev/upgrade-plan
| Category | Code and developer |
|---|---|
| Provider host | upgrade-brief.shopttyass-85f.workers.dev |
| Networks | eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-24 | valid payment request | 402 | $0.02 | 614 ms |
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"ecosystem": "npm",
"packages": "react@18.3.1:19,react-dom@18.3.1:19,next@14.2.0:15"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"additionalProperties": false,
"properties": {
"ecosystem": {
"default": "npm",
"description": "Registry of all listed packages",
"enum": [
"npm",
"pypi"
],
"type": "string"
},
"packages": {
"description": "Comma-separated dependencies to upgrade, each name@from[:to] (to defaults to latest), up to 5. e.g. 'react@18.3.1:19,next@14.2.0:15,eslint@8.57.0'",
"type": "string"
}
},
"required": [
"packages"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"degraded": {
"type": "boolean"
},
"ecosystem": {
"type": "string"
},
"order": {
"type": "string"
},
"packages": {
"description": "One condensed brief per dependency, highest upgrade risk first",
"items": {
"properties": {
"breakingCount": {
"type": "integer"
},
"error": {
"type": [
"string",
"null"
]
},
"from": {
"type": "string"
},
"majorBumps": {
"items": {
"type": "string"
},
"type": "array"
},
"manifestFlags": {
"items": {
"type": "string"
},
"type": "array"
},
"migrationGuides": {
"items": {
"type": "string"
},
"type": "array"
},
"package": {
"type": "string"
},
"peerHints": {
"items": {
"type": "string"
},
"type": "array"
},
"risk": {
"type": "number"
},
"to": {
"type": "string"
},
"topBreaking": {
"items": {
"properties": {
"text": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"verdict": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"peerHints": {
"description": "Peer dependency requirements between the listed packages (e.g. next@15 needs react 19)",
"items": {
"type": "string"
},
"type": "array"
},
"summary": {
"type": "string"
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}