Skip to content

Releases: vakra-dev/reader

v0.3.2

Choose a tag to compare

@nihalwashere nihalwashere released this 01 Jul 22:37

Fixes

  • Fix stale proxy connections causing scrapes to hang after hours of uptime
    • Root cause: Node 19+ changed http.globalAgent to keepAlive: true, causing proxy-chain to pool TCP connections to upstream proxies that go stale
    • Fix: custom proxy tunnel with http.Agent({ keepAlive: false }) for fresh connections per request
    • Fixed in both playwright-pool.ts and browser-session.ts
  • Reduce withPage hard timeout from 90s to 60s (matches reader-api timeout)
  • SSR fallback for framework hydration error pages (Next.js, Nuxt)
  • Production request lifecycle logging (daemon, browser pool, scraper)

Tests

  • 25/25 test files, 346/346 tests pass

v0.3.1

Choose a tag to compare

@nihalwashere nihalwashere released this 29 Jun 23:37

Fixes

  • Fix Chrome tab slot leaks causing production outages
    • Hard 90s timeout on withPage() prevents slots held forever
    • Detect client disconnect, abort orphaned scrapes
    • Wire abortSignal from daemon through scraper to Playwright engine
    • Race page.goto against abort signal for faster cancellation
    • Timeout page.close() at 5s to prevent hung CDP blocking slot release
    • Timeout drainLimit() at 60s to prevent blocked recovery cycles

Improvements

  • Concurrent BFS crawling with single-pass scrape (3x faster crawls)
  • Fix undici 300s bodyTimeout killing long crawl requests

Tests

  • 25/25 test files, 346/346 tests pass
  • 11 new tests for tab timeout, abort signal, disconnect detection

v0.3.0

Choose a tag to compare

@nihalwashere nihalwashere released this 27 Jun 22:54

What's Changed

Breaking Changes

  • Replaced Hero/Ulixee engine with Playwright + fingerprint-generator + proxy-chain
  • Proxy modes renamed: stealth -> premium, auto removed entirely
  • Removed connectionToCore, IBrowserPool, BrowserPool, HeroBrowserPool exports
  • Removed re2 native dependency (replaced with native RegExp)
  • playwright-core moved to runtime dependency

New Features

  • Browser infrastructure overhaul: --headless=new, fingerprint-generator, proxy-chain (no MITM)
  • Screenshot format support (formats: ["screenshot"])
  • Error code serialization in daemon responses
  • redactProxyUrl exported from proxy utilities

Improvements

  • Removed all Hero/Ulixee code and dependencies (~4000 lines deleted)
  • Removed dead devDeps: chromedriver, selenium-webdriver, puppeteer-core
  • Updated all 18 documentation .md files
  • Fixed Window cast TypeScript warning

Tests

  • 24/24 test files, 335/335 tests pass

v0.2.0

Choose a tag to compare

@nihalwashere nihalwashere released this 08 May 01:03
  • chore: release v0.2.0
  • Rewrite release script and add version verification to publish workflow
  • Rename client variable to reader in cloud quick start example
  • Add browser sessions, Hero-only engine, tiered proxy pools, and updated docs
  • fix(reader): add safety layers to supermarkdown conversion
  • chore: add CITATION.cff and update citation key

v0.1.2

Choose a tag to compare

@nihalwashere nihalwashere released this 02 Feb 02:12

Full Changelog: v0.1.1...v0.1.2