0.29.0 (2026-08-04)
Features
- extract: expand table rowspan/colspan into a flat grid (0f486aa)
- extract: support openai-responses LLM provider (ed551e3)
- renderer: cf_clearance cookie cache — solve a Cloudflare challenge once, reuse across the host (c9b6e6d)
- renderer: decouple chrome_proxy arm pool from renderer.pool_size (3b0ef22)
- renderer: fire the cloak CF-recovery arm on a fresh budget (gated) (9f1e5ea)
Bug Fixes
- antibot: catch Reddit/Cloudflare/Vercel block pages sent as 200 (e7b2f5b)
- antibot: catch Vercel block pages that beat the markdown guard (0d95dad)
- core: stop SSRF guard over-blocking public /16s (555d62b)
- extract: drop two over-broad boilerplate patterns (ee5993c)
- extract: keep Elementor page content and collapse repeated nav (86c1d2d)
- extract: stop deleting article content under onlyMainContent (682a731)
- extract: validate Responses status and stop echoing error bodies (9cd06f4)
- mcp: stop advertising an output schema the proxy cannot honour (e76bcbc), closes #391
- renderer: cloak solves cold hosts on a fresh exit IP, not a pinned one (c2403f2)
- renderer: pool the chrome_proxy tier so its targets get reaped (1bf32e8)
- renderer: reap orphaned chrome targets on cancelled renders (727a041)
- renderer: stop anti-bot blocks from stranding the recovery tier (223de6c)
- renderer: stop discarding good content when the JS ladder fails (6d36665)
- scrape: stop reporting a thin page as an anti-bot block (544d4aa)
- scrape: stop selling a CDN's error page as the page that was asked for (d9ddca9)
- search: validate
langat the API boundary (52711fe)