{"uid":"cap_zzMTzBiQl-T4UJcswUid7","slug":"npm-changelog-between-versions-6bcddab7","name":"npm Changelog Between Versions","description":"npm changelog between two versions: the full release notes of every version in the range (newest first, up to 100), from the package CHANGELOG and GitHub releases, with publish dates, bump type (major, minor, patch), npm deprecations, extracted breaking changes and package.json manifest changes. Covers a whole package upgrade or dependency upgrade in one call instead of reading dozens of release pages.","url":"https://upgrade-brief.shopttyass-85f.workers.dev/changelog?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":["package","from"],"properties":{"to":{"type":"string","default":"latest","description":"Target version: exact, or a major/minor prefix ('5', '5.1') resolved to the first stable release of that series (5.0.0). Default: the latest stable release ('latest')"},"from":{"type":"string","description":"Version you are on now: exact ('4.21.0'), or a major/minor prefix ('4', '4.21') resolved to its newest stable release"},"package":{"type":"string","description":"npm package name, e.g. 'express', 'next' or '@types/node'"},"maxVersions":{"type":"integer","default":30,"maximum":100,"minimum":1,"description":"Newest N versions of the range to return notes for"},"prereleases":{"enum":["true","false"],"type":"string","default":"false","description":"Include alpha/beta/rc/canary versions in the range"}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["package","from","to","releases"],"properties":{"to":{"type":"string"},"asOf":{"type":"string"},"from":{"type":"string"},"notes":{"type":"array","items":{"type":"string"}},"latest":{"type":["string","null"],"description":"Latest stable version"},"package":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}},"summary":{"type":"string"},"degraded":{"type":"boolean","description":"true when GitHub was read without an API token (fewer release notes reachable)"},"releases":{"type":"array","items":{"type":"object","properties":{"bump":{"type":"string"},"notes":{"type":["string","null"],"description":"Release notes (markdown), up to 6,000 characters"},"source":{"type":["string","null"],"description":"changelog (npm package) | changelog (repository) | github-release"},"version":{"type":"string"},"breaking":{"type":"array","items":{"type":"string"}},"sourceUrl":{"type":["string","null"],"description":"URL"},"truncated":{"type":"boolean"},"deprecated":{"type":["string","null"],"description":"npm deprecation message"},"publishedAt":{"type":["string","null"],"description":"ISO date"}}},"description":"Newest first"},"repository":{"type":["string","null"],"description":"Source repository URL"},"attribution":{"type":"string"},"toPublishedAt":{"type":["string","null"],"description":"ISO date"},"fromPublishedAt":{"type":["string","null"],"description":"ISO date"},"manifestChanges":{"type":["object","null"],"properties":{"flags":{"type":"array","items":{"type":"string"},"description":"Human-readable manifest changes likely to affect consumers"},"engines":{"type":"object"},"moduleType":{"type":"object"},"dependencies":{"type":"object"},"peerDependencies":{"type":"object"}},"description":"Differences between the two package.json manifests (engines, module type, exports, peer and direct dependencies)"},"migrationGuides":{"type":"array","items":{"type":"string"},"description":"Migration / upgrade guide links found in the notes"},"versionsInRange":{"type":"integer","description":"Versions after 'from' up to and including 'to'"},"includesPrereleases":{"type":"boolean"}}}}}}},"responseSchema":{"type":"json","example":{"to":"5.0.0","asOf":"2026-10-22T12:00:00.000Z","from":"4.1.2","notes":[],"latest":"5.6.2","package":"chalk","sources":["https://github.com/chalk/chalk/releases"],"summary":"chalk 4.1.2 -> 5.0.0: 1 versions; returning 1 newest first, 1 with release notes.","degraded":false,"releases":[{"bump":"major","notes":"### Breaking\n- This package is now pure ESM...","source":"github-release","version":"5.0.0","breaking":["This package is now pure ESM. Please read this."],"sourceUrl":"https://github.com/chalk/chalk/releases/tag/v5.0.0","truncated":false,"deprecated":null,"publishedAt":"2021-11-26T09:04:55Z"}],"repository":"https://github.com/chalk/chalk","attribution":"Compiled from public sources (npm registry, deps.dev, jsDelivr, GitHub).","toPublishedAt":"2021-11-26T09:04:55Z","fromPublishedAt":"2021-07-30T12:26:14Z","manifestChanges":null,"migrationGuides":[],"versionsInRange":1,"includesPrereleases":false}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","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.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_UVW0XR-LB-gNPf3u5X4OK","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches full release notes for every npm package version in a given range (newest first), including breaking changes, bump types, deprecations, and manifest changes.","exampleAgentPrompt":"Can you show me the full changelog for upgrading express from version 4.18.0 to 5.0.0, including any breaking changes and what bumps each release was?","exampleUseCases":[{"title":"Auditing a major library upgrade","prompt":"I'm upgrading react from 17.0.2 to 18.2.0 — can you pull the full changelog for every version in that range so I can see what changed, what's breaking, and what the bump types were?"},{"title":"Checking for deprecated package versions","prompt":"Before I upgrade lodash from 4.0.0 to 4.17.21, can you fetch all the release notes in that range and flag any versions marked as deprecated on npm?"},{"title":"Reviewing TypeScript minor releases","prompt":"Show me the changelog for typescript between 5.0 and 5.4, newest first, so I can review the release notes and any breaking changes before we update our project."}],"resultDescription":"A JSON object containing an array of releases (newest first), each with version number, publish date, bump type (major/minor/patch), markdown release notes (up to 6000 chars), source URL, extracted breaking changes array, deprecation status, and whether notes were truncated. Also includes a summary string, list of migration guides, manifest changes, repository URL, and a degraded flag if GitHub rate limits reduced coverage.","failureModes":["Package not found on npm registry returns an error","Invalid version range (from >= to) may return empty releases array","GitHub rate limiting without API token sets degraded:true and reduces available release notes","Packages without a CHANGELOG or GitHub releases return releases with null notes","Very large version ranges truncated to maxVersions (default 30, max 100)","Prerelease versions excluded by default unless prereleases=true"],"whenToPreferThis":"Choose this endpoint when you need the full narrative release notes for a range of npm package versions in a single call — especially for major upgrades where you want structured breaking changes, bump types, deprecation flags, and manifest diffs without manually visiting dozens of GitHub release pages. Prefer it over scraping GitHub releases directly or reading CHANGELOG files manually. Use the sibling breaking-changes endpoint if you only need a concise breaking-changes summary rather than full release notes.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-28T06:35:40.545Z","isFirstParty":false,"canonicalSlug":"npm-changelog-between-versions-6bcddab7"}