Releases: vakra-dev/reader
Releases · vakra-dev/reader
Release list
v0.3.2
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
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
What's Changed
Breaking Changes
- Replaced Hero/Ulixee engine with Playwright + fingerprint-generator + proxy-chain
- Proxy modes renamed:
stealth->premium,autoremoved entirely - Removed
connectionToCore,IBrowserPool,BrowserPool,HeroBrowserPoolexports - Removed
re2native dependency (replaced with native RegExp) playwright-coremoved 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
redactProxyUrlexported 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
- 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