Powered by Bright Data Scraper Studio · open source

Breaking changes — found before they find you.

Vigil watches GitHub releases and npm changelogs for your dependencies. When a new version drops with breaking changes, you know — not after a failed deploy.

No sign-up. No agent to install. Paste your package.json or connect your GitHub org.

Try it — type a package name

The problem

It was in the release notes.Did anyone read them?

Breaking changes ship quietly. Teams upgrade packages in PRs, CI passes, and the breakage only surfaces in production. By then, it's expensive.

nextv15.0.0

`fetch()` stopped caching by default. Stale-looking data flooded production. Three engineers spent a day on it.

All of this was documented. Vigil would have caught it.

reactv19.0.0

`ReactDOM.render` was removed. Your legacy components silently broke on upgrade.

All of this was documented. Vigil would have caught it.

typescriptv5.6.0

Iterator checks started throwing compile errors on patterns your team had used for years.

All of this was documented. Vigil would have caught it.

The solution

One command. Full picture.

Run Vigil in CI, in a pre-upgrade script, or just before your team touches a dependency.

vigil check
$ vigil check react nextjs typescript --days 30

  Vigil — engineering change intelligence  ────────────────────────────────────────────
  ✓ react 18.3.0 — no breaking changes
  ✗ react 19.0.0 — 7 breaking changes      • ReactDOM.render removed — use createRoot      • ReactDOM.hydrate removed — use hydrateRoot      • Legacy string refs removed — migrate to useRef      …and 4 more  →  github.com/facebook/react/releases/v19.0.0
  ✗ next 15.0.0 — 6 breaking changes      • cookies(), headers() are now async — await them      • fetch() no longer cached by default      • Requires React 19 — check peer deps first      …and 3 more  →  github.com/vercel/next.js/releases/v15.0.0
  ⚠ typescript 5.6.0 — 1 breaking change      • Iterator checks now error on non-iterable types
  20 releases checked · 73 breaking changes · review before upgrading

Under the hood

How Vigil works

Fully automated — from scraping to alerting. No manual curation. No stale data.

1
Scrape

Three Bright Data Scraper Studio collectors continuously watch GitHub releases pages, npm version history, and vendor changelogs. Real pages, real data.

2
Detect & Self-heal

AJV schema validation checks every response. If data is missing, `bdata scraper heal --auto-approve` is called automatically. Up to 3 attempts.

3
Alert you

Breaking changes are classified by regex patterns and conventional commit markers — then pushed to Slack, Discord, GitHub PR comments, or your terminal.

What you get

Works where you work

◎
CLI tool

Run vigil check react nextjs typescript from any terminal. Get colored, human-readable output — or JSON for CI.

⊙
GitHub Actions

A nightly workflow posts breaking change alerts as PR annotations — before your team merges the upgrade.

◈
Slack & Discord

Subscribe to a package and get a webhook notification the moment a new breaking version is released.

⟳
Self-healing scrapers

When a scraper returns empty data, Vigil automatically calls bdata scraper heal — no human needed.

What's in your stack?

Paste your package.json for an instant report, or connect a GitHub org to see breaking change exposure across all your repos.

Open source · no account required · data powered by Bright Data Scraper Studio