ToolAssay

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

CategoryCode and developer
Provider hostupgrade-brief.shopttyass-85f.workers.dev
Networkseip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
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"
}

This page as JSON