# npm Changelog Between Versions

> npm Changelog Between Versions is a paid API for AI agents from upgrade-brief.shopttyass-85f.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-28).

Fetches full release notes for every npm package version in a given range (newest first), including breaking changes, bump types, deprecations, and manifest changes.

## Facts

- Endpoint: GET https://upgrade-brief.shopttyass-85f.workers.dev/changelog?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/npm-changelog-between-versions-6bcddab7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_zzMTzBiQl-T4UJcswUid7

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability npm-changelog-between-versions-6bcddab7
```

Example prompt: 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?

## When to prefer this

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.

## Known failure modes

- 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

## How this service works

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.

## Output

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.

## Request schema (JSON Schema)

```json
{
 "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": 
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "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
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/npm-changelog-between-versions-6bcddab7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from upgrade-brief.shopttyass-85f.workers.dev](https://www.zero.xyz/host/upgrade-brief.shopttyass-85f.workers.dev/llms.txt)
