ToolAssay

PyPI changelog between two versions of a Python package

PyPI changelog between two versions of a Python package: the full release notes of every version in the range (newest first, up to 100) from the project's changelog file and GitHub releases, with publish dates, bump type, yanked flags, extracted breaking changes and Requires-Python / dependency changes. One call instead of reading a long HISTORY or CHANGES file before a Python package upgrade.

Not tested: has real-world effectsour last check, 2026-10-24
0 of 0checks answered this week
n/amedian answer time
$0.01listed price per call
n/aprice 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/pypi/changelog

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

We never call tools that send, buy, move money or file anything, not even without paying.

Example input (from the provider)

{
  "method": "GET",
  "queryParams": {
    "from": "2.3.3",
    "package": "flask",
    "to": "3.0.0"
  },
  "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": {
            "from": {
              "description": "Version you are on now: exact ('1.10.13', '2.0'), or a major/minor prefix ('1', '4.2') resolved to its newest stable release (PEP 440)",
              "type": "string"
            },
            "maxVersions": {
              "default": 30,
              "description": "Newest N versions of the range to return notes for",
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            },
            "package": {
              "description": "PyPI project name, e.g. 'pydantic', 'django' or 'flask'",
              "type": "string"
            },
            "prereleases": {
              "default": "false",
              "description": "Include alpha/beta/rc/canary versions in the range",
              "enum": [
                "true",
                "false"
              ],
              "type": "string"
            },
            "to": {
              "default": "latest",
              "description": "Target version (exact or prefix). Default: the latest stable release ('latest')",
              "type": "string"
            }
          },
          "required": [
            "package",
            "from"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "asOf": {
              "type": "string"
            },
            "attribution": {
              "type": "string"
            },
            "degraded": {
              "description": "true when GitHub was read without an API token (fewer release notes reachable)",
              "type": "boolean"
            },
            "from": {
              "type": "string"
            },
            "fromPublishedAt": {
              "description": "ISO date",
              "type": [
                "string",
                "null"
              ]
            },
            "includesPrereleases": {
              "type": "boolean"
            },
            "latest": {
              "description": "Latest stable version",
              "type": [
                "string",
                "null"
              ]
            },
            "manifestChanges": {
              "description": "Differences between the two versions' PyPI metadata (Requires-Python, required dependencies)",
              "properties": {
                "dependencies": {
                  "type": "object"
                },
                "flags": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "requiresPython": {
                  "type": "object"
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "migrationGuides": {
              "description": "Migration / upgrade guide links found in the notes",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "notes": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "package": {
              "type": "string"
            },
            "releases": {
              "description": "Newest first",
              "items": {
                "properties": {
                  "breaking": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "bump": {
                    "type": "string"
                  },
                  "deprecated": {
                    "description": "npm deprecation message",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "notes": {
                    "description": "Release notes (markdown), up to 6,000 characters",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "publishedAt": {
                    "description": "ISO date",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "source": {
                    "description": "changelog (npm package) | changelog (repository) | github-release",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "sourceUrl": {
                    "description": "URL",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "truncated": {
                    "type": "boolean"
                  },
                  "version": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "repository": {
              "description": "Source repository URL",
              "type": [
                "string",
                "null"
              ]
            },
            "sources": {
              "items": {
                "type": "string"
              },
              "type": 

This page as JSON