Skip to content

Release v2.0.0 - #3

Merged
samiahmedsiddiqui merged 2 commits into
mainfrom
v2
Oct 2, 2026
Merged

samiahmedsiddiqui merged 2 commits into
mainfrom
v2

Conversation

@samiahmedsiddiqui

Copy link
Copy Markdown
Contributor

Summary

v2 turns check-http-status into a full site crawler and CLI while keeping v1 configs working.

New

  • Crawl a website from a start URL. Every URL is reported with the pages it was found on, its status and its redirect target.
  • Include / exclude rules (text, * wildcard, /regex/). Excluded URLs are still listed and checked, just not crawled.
  • External links are checked but not crawled. Bot-protection challenges (Cloudflare, DataDome…) are reported as Blocked instead of broken.
  • CLI: npx check-http-status <url>, with crawl and check commands, --fail for CI, and Ctrl+C to stop and still keep the results.
  • Reports: Excel (Summary, All URLs, Issues, External Links, one row per URL), CSV, JSON and an interactive HTML report.
  • Sitemaps: sitemap index and .xml.gz support, plus orphan page detection.
  • Uploads: Google Drive (spreadsheets become Google Sheets) and OneDrive, with optional public links.
  • Requests: retries with Retry-After, --delay, --user-agent, optional robots.txt support, Basic auth and custom headers.
  • Config file (check-http-status.config.json) with a JSON Schema, plus TypeScript types.
  • Library API for apps: signal, onResult, recheck(), writeReport().
  • GitHub Pages site with a demo report (docs/).

Fixed

  • Relative redirect Location headers (supersedes Adding support for relative url redirects #2)
  • Crash on sitemap index files
  • Infinite recursion on redirect loops
  • Slow batching: a batch of 10 waited for its slowest request
  • Crash when output is not a terminal (CI)

Breaking

  • Requires Node.js 18.17+ (built-in fetch; axios, columnify and xml2js removed)
  • checkHttpStatus() returns { summary, results } and throws instead of calling process.exit()
  • Excel/CSV columns changed

Testing

  • 76 tests (npm test) and a type check (npm run test:types), run by CI on Linux, macOS and Windows with Node 20, 22 and 24
  • Every CLI option was verified against a live site

@samiahmedsiddiqui samiahmedsiddiqui self-assigned this Oct 2, 2026
@samiahmedsiddiqui
samiahmedsiddiqui merged commit 08049b1 into main Oct 2, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant