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.

FieldTypeWhat it doesDefault
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"
}
FieldTypeMeaning
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.