Dependency Release Monitor - npm, PyPI, GitHub
Watch npm, PyPI and GitHub releases in one feed. Every row names the semver bump and flags the ones that look breaking, and a run stays quiet until...
Watch npm, PyPI and GitHub releases in one feed. Every row names the semver bump and flags the ones that look breaking, and a run stays quiet until something ships. No API key, no GitHub token.
$19.90 / 1,000 · 100.0% success over 26 public runs in the last 30 days.
Run it on Apify → Free to try - runs bill per result on your own account.
What you give it
Every field is optional unless marked; sensible defaults do the rest.
| Field | Type | What it does | Default |
|---|---|---|---|
packages |
array | One per line: npm:zod, pypi:requests, github:apify/crawlee. A bare name means npm; owner/repo means GitHub. Leave empty to use the sample list. | ["npm:zod", "pypi:requests", "github:apify/crawlee"] |
onlyBreaking |
boolean | Major bumps, 0.x minor bumps, and releases whose notes announce a breaking change. | False |
includePrereleases |
boolean | Alpha, beta and release-candidate versions. Off by default. | False |
includeNotes |
boolean | Full release notes text where the source publishes it (GitHub releases). | True |
maxPerPackage |
integer | Caps a package that publishes nightly builds so it cannot flood one run. | 20 |
emitBaseline |
boolean | The first run records what is already published and pushes each package's current version, so you can see what is being watched. | True |
resetState |
boolean | Forget everything seen before and start a fresh baseline. | False |
stateStoreName |
string | Named key-value store holding what this monitor has already reported. | dependency-release-monitor-state |
maxItems |
integer | Stop after this many rows. | 500 |
reportFailures |
boolean | When a run fails, send the developer the actor name and build, an error category, the error message (truncated) and a one-way hash of your input - so a bug can be fixed without anyone asking you to reproduce it. Your input itself, your results and your identity are never sent, and successful runs send nothing at all. Switch this off and the actor behaves exactly the same. | True |
What you get back
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
A real result row from a recent run:
{
"ecosystem": "github",
"highlights": [
"browser-pool: survive a page.close() that never settles ( #4108 ) ( 31678af ), closes #1829",
"core: notify() no longer leaks a timed-out task's context into the pool loop ( #4096 ) ( c7ee7e3 ), closes #4081"
],
"isBaseline": false,
"isBreaking": false,
"isPrerelease": false,
"notes": "3.18.2 (2026-09-29)\nBug Fixes\n- browser-pool: survive a page.close() that never settles ( #4108 ) ( 31678af ), closes #1829 \n- core: notify(...",
"package": "apify/crawlee",
"previousVersion": "v3.18.1",
"releasedAt": "2026-09-29T09:58:35Z",
"semverBump": "patch",
"url": "https://github.com/apify/crawlee/releases/tag/v3.18.2",
"version": "v3.18.2"
}
| Field | Type | Meaning |
|---|---|---|
package |
string | Package or repository name as the source spells it. |
ecosystem |
string | npm, pypi or github. |
version |
string | The released version or tag. |
previousVersion |
string | The version published before it. |
releasedAt |
string | Publication timestamp (ISO). |
semverBump |
string | major, minor, patch, prerelease or unknown. |
isBreaking |
boolean | Major bump, 0.x minor bump, or notes announcing a breaking change. |
isPrerelease |
boolean | Alpha, beta or release candidate. |
url |
string | The release on its own registry or GitHub. |
highlights |
array | First bullet lines of the release notes. |
notes |
string | Full release notes, markup stripped. GitHub releases only. |
isBaseline |
boolean | True for rows from the first (baseline) run. |
Health
100.0% success over 26 public runs in the last 30 days. Live record, failures included: status page.
Full documentation, examples and the AI-assistant prompt live on the store page.