{"uid":"cap_Ng3nss7RZPl5-_IOqTl-n","slug":"dependency-upgrade-plan-1a980fe5","name":"Dependency Upgrade Plan","description":"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.","url":"https://upgrade-brief.shopttyass-85f.workers.dev/upgrade-plan?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["packages"],"properties":{"packages":{"type":"string","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'"},"ecosystem":{"enum":["npm","pypi"],"type":"string","default":"npm","description":"Registry of all listed packages"}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"order":{"type":"string"},"summary":{"type":"string"},"degraded":{"type":"boolean"},"packages":{"type":"array","items":{"type":"object","properties":{"to":{"type":"string"},"from":{"type":"string"},"risk":{"type":"number"},"error":{"type":["string","null"]},"package":{"type":"string"},"verdict":{"type":"string"},"peerHints":{"type":"array","items":{"type":"string"}},"majorBumps":{"type":"array","items":{"type":"string"}},"topBreaking":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"version":{"type":"string"}}}},"breakingCount":{"type":"integer"},"manifestFlags":{"type":"array","items":{"type":"string"}},"migrationGuides":{"type":"array","items":{"type":"string"}}}},"description":"One condensed brief per dependency, highest upgrade risk first"},"ecosystem":{"type":"string"},"peerHints":{"type":"array","items":{"type":"string"},"description":"Peer dependency requirements between the listed packages (e.g. next@15 needs react 19)"}}}}}}},"responseSchema":{"type":"json","example":{"order":"highest upgrade risk first (major bumps, documented breaking items, manifest changes, missing notes)","summary":"next 14.2.0->15.0.0: BREAKING_CHANGES_LIKELY, 1 major, 29 breaking item(s); react-dom 18.3.1->19.0.0: BREAKING_CHANGES_LIKELY, 1 major, 18 breaking item(s); react 18.3.1->19.0.0: BREAKING_CHANGES_LIKELY, 1 major, 18 breaking item(s)","degraded":false,"packages":[{"to":"15.0.0","from":"14.2.0","risk":16.7,"error":null,"package":"next","verdict":"BREAKING_CHANGES_LIKELY","peerHints":["next@15.0.0 requires peer react@^18.2.0 || 19.0.0-rc-65a56d0e-20241020 (was ^18.2.0)"],"majorBumps":["15.0.0"],"topBreaking":[{"text":"[Breaking] Disable automatic fetch caching: #66004","version":"15.0.0"}],"breakingCount":29,"manifestFlags":["Node.js engine requirement changed: >=18.17.0 -> >=18.18.0"],"migrationGuides":[]}],"ecosystem":"npm","peerHints":["react-dom@19.0.0 requires peer react@^19.0.0 (was ^18.3.1)"]}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_2iMpwDuMpWHr1Y84LmN-U","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns a risk-ordered upgrade plan for up to 5 npm or PyPI packages, including breaking changes, major bumps, peer dependency shifts, migration guide links, and risk scores.","exampleAgentPrompt":"Can you give me an upgrade plan for react@18.3.1 to 19, react-dom@18.3.1 to 19, and next@14.2.0 to 15 — show me the breaking changes, risk scores, peer dependency conflicts, and any migration guides, ordered by upgrade risk?","exampleUseCases":[{"title":"Upgrading React ecosystem together","prompt":"I want to upgrade react, react-dom, and next all at once from their current versions to the latest — can you pull a risk-ordered plan showing breaking changes, peer dependency conflicts, and migration guides for each?"},{"title":"Pre-release Python dependency audit","prompt":"Before I upgrade numpy from 1.24.0 to 2.0.0 and pandas from 1.5.3 to 2.2.0 on PyPI, can you tell me the breaking changes, risk scores, and any peer dependency issues between them?"},{"title":"Single package major bump assessment","prompt":"What's the risk of upgrading eslint from 8.57.0 to the latest version on npm? Show me the breaking changes, any Node.js engine requirement changes, and links to the migration guide."}],"resultDescription":"A JSON object with packages sorted by upgrade risk (highest first), each containing: risk score (0–100), verdict (e.g. BREAKING_CHANGES_LIKELY), list of top breaking changes with version, major bump list, peer dependency hints, manifest flags (e.g. Node.js engine changes), and migration guide URLs. Also includes cross-package peer dependency hints (e.g. next@15 requires react@19) and an overall summary string.","failureModes":["Unknown or misspelled package name returns an error field for that package","Version range not found in registry results in degraded response","More than 5 packages in the request is rejected","Invalid ecosystem enum value causes a validation error","Package with no published changelog may return empty breaking changes with degraded flag set to true"],"whenToPreferThis":"Use this endpoint when you need a consolidated, risk-ranked upgrade plan across multiple interdependent packages (up to 5) in a single call, especially when peer dependency conflicts between packages matter. Prefer it over single-package changelog endpoints when the user is planning a coordinated upgrade of related packages like the React ecosystem or a Python data stack and wants to know which upgrade is riskiest and how the packages interact.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-28T06:38:35.646Z","isFirstParty":false,"canonicalSlug":"dependency-upgrade-plan-1a980fe5"}