Changelogs for apps, games and operating systems. Ask what shipped since the version you run.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
The products What's New tracks release notes for, with slugs, categories and platforms. Filter by category and/or a name query.
"popular" ranks by current audience popularity — outside signals (stars, downloads, players) blended with this site's own readers — and answers "what are the most popular software right now?". Default is the curated catalog order (or search relevance when query is set, which ignores sort).
Filter by name, e.g. "terminal" or "jetbrains".
Limit results to one product category.
The products What's New tracks release notes for, with slugs, categories and platforms. Filter by category and/or a name query.
| Argument | Type | Description |
|---|---|---|
| sort | string | "popular" ranks by current audience popularity — outside signals (stars, downloads, players) blended with this site's own readers — and answers "what are the most popular software right now?". Default is the curated catalog order (or search relevance when query is set, which ignores sort). |
| query | string | Filter by name, e.g. "terminal" or "jetbrains". |
| category | string | Limit results to one product category. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"sort": {
"enum": [
"curated",
"popular"
],
"type": "string",
"description": "\"popular\" ranks by current audience popularity — outside signals (stars, downloads, players) blended with this site's own readers — and answers \"what are the most popular software right now?\". Default is the curated catalog order (or search relevance when query is set, which ignores sort)."
},
"query": {
"type": "string",
"maxLength": 64,
"description": "Filter by name, e.g. \"terminal\" or \"jetbrains\"."
},
"category": {
"enum": [
"Developer Tools",
"Frameworks & Libraries",
"Languages & Runtimes",
"Infrastructure & DevOps",
"Databases & Data",
"Security & Privacy",
"Games",
"Gaming Tools",
"Operating Systems",
"System Utilities",
"Browsers",
"Communication",
"Media",
"Creative Tools",
"AI",
"Productivity",
"Lifestyle & Apps",
"Firmware",
"Drivers"
],
"type": "string",
"description": "Limit results to one product category."
}
}
}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 toWanted (from → wanted: reachable by an update within the declared range, no manifest edit) and toLatest (→ latest: needs the range changed), with the cost of moving beside them (major bump, breaking mentions, removed/deprecated) and a few of the fixes themselves. Counts are deterministic over every tracked release; no model judged anything. Up to 100 packages a call. Pass repository (from the package's own package.json) for scoped or renamed packages; a Maven, Go or NuGet package goes by its purl. For the vendor's own breaking-change and migration sections, call upgrade_notes on the packages worth moving. A Maven, Go or NuGet package this server does not track is checked against deps.dev after the answer and counted; pass recordMisses: false for private packages.
| Argument | Type | Description |
|---|---|---|
| dependencies* | array | Up to 100 per call; split a larger project. |
| recordMisses | boolean | 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. |
Full-catalog search across product names and release history. Returns matching products and releases with permalinks.
| Argument | Type | Description |
|---|---|---|
| query* | string | Search products and release notes. At least 2 characters. |
| category | string | Limit results to one product category. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"description": "Search products and release notes. At least 2 characters."
},
"category": {
"enum": [
"Developer Tools",
"Frameworks & Libraries",
"Languages & Runtimes",
"Infrastructure & DevOps",
"Databases & Data",
"Security & Privacy",
"Games",
"Gaming Tools",
"Operating Systems",
"System Utilities",
"Browsers",
"Communication",
"Media",
"Creative Tools",
"AI",
"Productivity",
"Lifestyle & Apps",
"Firmware",
"Drivers"
],
"type": "string",
"description": "Limit results to one product category."
}
}
}Before or after upgrading dependencies — package.json / lockfile / requirements changes, npm update, pip install -U, a Gradle version catalog, go.mod, a workflow's actions — 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 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. 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.
| Argument | Type | Description |
|---|---|---|
| dependencies* | array | Up to 20 per call; split a larger upgrade. |
| recordMisses | boolean | 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": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"dependencies"
],
"properties": {
"dependencies": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"from"
],
"properties": {
"to": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The version being moved to. Omit for everything after `from` that is tracked."
},
"from": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The version installed now — a version, not a range: read it from the lockfile."
},
"name": {
"type": "string",
"maxLength": 214,
"minLength": 1,
"description": "The package as its ecosystem spells it: \"better-auth\", \"@tanstack/react-query\", a Maven \"group:artifact\", a Go module path, or an Action's \"owner/repo@ref\"."
},
"purl": {
"type": "string",
"pattern": "^[Pp][Kk][Gg]:",
"maxLength": 300,
"description": "The package as a purl (package URL), e.g. \"pkg:maven/com.squareup.okhttp3/okhttp\", \"pkg:golang/github.com/spf13/cobra\" or \"pkg:nuget/Newtonsoft.Json\" — what an SBOM, OSV or Renovate already names it by. Takes precedence over name and registry; a version inside it is ignored in favour of the versions passed beside it."
},
"registry": {
"enum": [
"npm",
"pypi",
"crates",
"rubygems"
],
"type": "string",
"description": "Default npm — unless purl, or the name's own shape (group:artifact, a Go module path), says otherwise."
},
"repository": {
"type": "string",
"maxLength": 300,
"description": "The package's source repository — its package.json `repository`, or the repo a Maven or NuGet package is built from (any GitHub URL, github:owner/repo or owner/repo). Resolves scoped and renamed packages the name alone cannot, and makes the match exact."
}
}
},
"maxItems": 20,
"minItems": 1,
"description": "Up to 20 per call; split a larger upgrade."
},
"recordMisses": {
"type": "boolean",
"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."
}
}
}A product's newest releases with notes. Pass since_version (the version you run) to get only what shipped after it, with per-category change counts.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Releases to return, default 10. |
| product* | string | Product slug or name, e.g. "next-js" or "Next.js". |
| since_version | string | The version you run. Returns only the releases above it in the history, matched exactly or as the same version spelled with fewer trailing zeros. A version we do not hold is reported as a miss rather than guessed into an ordering. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"product"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Releases to return, default 10."
},
"product": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Product slug or name, e.g. \"next-js\" or \"Next.js\"."
},
"since_version": {
"type": "string",
"maxLength": 100,
"description": "The version you run. Returns only the releases above it in the history, matched exactly or as the same version spelled with fewer trailing zeros. A version we do not hold is reported as a miss rather than guessed into an ordering."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"dependencies"
],
"properties": {
"dependencies": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"from"
],
"properties": {
"from": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The version installed now — a version, not a range: npm outdated's `current`, pip's `version`, go's `Version`."
},
"name": {
"type": "string",
"maxLength": 214,
"minLength": 1,
"description": "The package as its ecosystem spells it: \"better-auth\", \"@tanstack/react-query\", a Maven \"group:artifact\", a Go module path, or an Action's \"owner/repo@ref\"."
},
"purl": {
"type": "string",
"pattern": "^[Pp][Kk][Gg]:",
"maxLength": 300,
"description": "The package as a purl (package URL), e.g. \"pkg:maven/com.squareup.okhttp3/okhttp\", \"pkg:golang/github.com/spf13/cobra\" or \"pkg:nuget/Newtonsoft.Json\" — what an SBOM, OSV or Renovate already names it by. Takes precedence over name and registry; a version inside it is ignored in favour of the versions passed beside it."
},
"latest": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The newest version published — outdated's `latest`, pip's `latest_version`, go's `Update.Version`. Omit for everything tracked after `wanted` (or `from`)."
},
"wanted": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The greatest version the declared range admits — npm/pnpm outdated's `wanted`, what an update reaches without editing the manifest. Omit where the tool reports none."
},
"registry": {
"enum": [
"npm",
"pypi",
"crates",
"rubygems"
],
"type": "string",
"description": "Default npm — unless purl, or the name's own shape (group:artifact, a Go module path), says otherwise."
},
"repository": {
"type": "string",
"maxLength": 300,
"description": "The package's source repository — its package.json `repository`, or the repo a Maven or NuGet package is built from (any GitHub URL, github:owner/repo or owner/repo). Resolves scoped and renamed packages the name alone cannot, and makes the match exact."
}
}
},
"maxItems": 100,
"minItems": 1,
"description": "Up to 100 per call; split a larger project."
},
"recordMisses": {
"type": "boolean",
"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."
}
}
}