Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "missing_changes" and "upgrade_notes"
⟨246 unchanged words⟩ additionalProperties":false,"description":"What moving wouldcostcost.—`breakingMentions`deterministicissignalsthe vendor's own wording,noreadmodel'sdeterministically;reading.`removed` and `deprecated` count model-assigned change categories, stored when each release arrived. upgrade_notes has the vendor's own breaking and migrationsections.sections and the typed change records.","properties":{"breakingMentions":{"description": ⟨549 unchanged words⟩ additionalProperties":false,"description":"What moving wouldcostcost.—`breakingMentions`deterministicissignalsthe vendor's own wording,noreadmodel'sdeterministically;reading.`removed` and `deprecated` count model-assigned change categories, stored when each release arrived. upgrade_notes has the vendor's own breaking and migrationsections.sections and the typed change records.","properties":{"breakingMentions":{"description": ⟨578 unchanged words⟩
⟨550 unchanged words⟩ the notes.","type":"boolean"},"records":{"description":"Typed change records: what a user may have to change, by kind (ADR 2026-11.64f9). Model-extracted and labelled; never a verdict that the release breaks anything.","items":{"additionalProperties":false,"properties":{"evidence":{"description":"The bullet or paragraph the record comes from, verbatim from the vendor's notes. Absent past the call's evidence budget.","type":"string"},"kind":{"enum":["removed","renamed","signature_changed","behavior_changed","requirement_raised","config_changed","deprecated"],"type":"string"},"label":{"description":"Who says so, to keep with the record: e.g. “inferred by a model”.","type":"string"},"package":{"description":"In a monorepo's notes, the package it is about.","type":"string"},"removalPlanned":{"description":"For a deprecation, when the vendor says it goes.","type":"string"},"replacement":{"type":"string"},"subject":{"description":"The API, flag, key or platform it is about.","type":"string"},"subjectType":{"enum":["api","cli_flag","config_key","env_var","endpoint","runtime","platform","dependency","file_format","license","other"],"type":"string"},"tier":{"description":"headed: under the vendor's own breaking / deprecation / migration / security heading. inferred: a model read it from the notes' prose and a second model call confirmed it. declared: from a Declarative Changelog release, read the same way.","enum":["declared","headed","inferred"],"type":"string"}},"required":["kind","subjectType","subject","tier","label"],"type":"object"},"type":"array"},"recordsOmitted":{"const":true,"description":"The call's record budget left some out; the permalink has them.","type":"boolean"},"removed":{"const":true,"type":"boolean"},"sections":{"description":"What the vendor filed ⟨145 unchanged words⟩ "signals":{"additionalProperties":false,"description":"
Certificate changed, valid to 2026-12-25
Added "missing_changes"; changed the definition of "upgrade_notes" (4 tools before, 5 now)
⟨112 unchanged words⟩ version inside it is ignored in favour offrom/to.the versions passed beside it.","maxLength":300,"pattern":"^[Pp ⟨158 unchanged words⟩
What an outdated project is missing — For a whole project's outdated report — npm/pnpm outdated --json (current → from, wanted, latest), ncu --format installedVersion, pip or uv pip list --outdated --format json (version → from, latest_version → latest), go list -m -u -json all (Version → from, Update.Version → latest), cargo outdated, dotnet list package --outdated, a Gradle versions report — pass each package with the version installed and, where the tool gives them, wanted and latest. Answers what the project is missing, most exposed first: per package, the security releases, CVE ids and fixes it does not have, split into toWa…
Changed the definition of "upgrade_notes"
⟨129 unchanged words⟩ and is matched exactly or not at all. A Maven, Go or NuGet package this server does not track is checked against deps.dev after the answer and counted, to decide what to track next; pass recordMisses: false for private packages.
⟨231 unchanged words⟩ 20,"minItems":1,"type":"array"},"recordMisses":{"description":"Default true. A Maven, Go or NuGet package this server does not track is checked against deps.dev after the answer and counted per day, with nothing about the caller, to decide what to track next. Pass false for private packages.","type":"boolean"}},"required":["dependencies"],"type":"object"}
{"idempotentHint":true,"openWorldHint":Changed the definition of "upgrade_notes"
⟨10 unchanged words⟩ requirements changes, npm update, pip install -U, a Gradle version catalog, go.mod, a workflow's actions — pass each package with the version you ⟨59 unchanged words⟩ or renamed packages; it makes the match exact. A Maven/Gradle, Go, NuGet or GitHub Actions package goes by its purl (e.g. pkg:maven/com.squareup.okhttp3/okhttp), or by its own coordinate as the name (group:artifact, a module path, owner/repo@ref), and is matched exactly or not at all.
⟨40 unchanged words⟩ },"name":{"description":"The packagenameas itsregistryecosystem spells it: \"better-auth\",
Added "upgrade_notes" (3 tools before, 4 now)
Review a dependency upgrade — Before or after upgrading dependencies — package.json / lockfile / requirements changes, npm update, pip install -U — pass each package with the version you run and the version you are moving to. Returns every tracked release in between with the vendor's own breaking-change, deprecation, migration and security sections verbatim, the categorized change list, CVE ids and deterministic signals (major bump, removed/deprecated items, breaking mentions) — including breaking changes shipped in minor or patch versions. Pass repository (from the package's own package.json) for scoped or renamed packag…
Certificate recorded, valid to 2026-10-23
Authorization not required
First tool surface recorded: 3 tools (server version 1.3.0)
Showing the latest 9 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨333 unchanged words⟩ ":{"description":"identifier: a registry id, a purl or a repository the catalog tracks. namespace: the package sits under a namespace the product claims (a Maven group, say) — the notes are the family's. name: a name-only guess — check the product before trusting it, and pass purl or repository to make it exact.","enum":["identifier","namespace","name"],"type":"string"},"url" ⟨40 unchanged words⟩ :"string"},"type":"array"},"purl":{"description":"The package as a versionless purl, as it was matched.","type":"string"},"registry":{"description":"The registry, when the package is in one of these four; absent for a Maven, Go, NuGet or Actions package.","enum":["npm","pypi","crates", ⟨374 unchanged words⟩ type":"array"}},"required":["name","registry","from","status"],"type":" ⟨13 unchanged words⟩