0.28.0 (2026-07-23)
Features
Bug Fixes
- core: bound SSRF DNS resolution with an 8s timeout (4b542dc)
- crawl: accept the nested scrapeOptions shape the spec publishes (c568333)
- openapi: re-sync the docs copy of the 3.0 spec (ffe8618)
- openapi: sync the spec with the real types, and guard it in CI (dcc0fcc)
- renderer: forward custom request headers on the CDP path (a0677f7), closes #351
- renderer: stop misclassifying >500KB pages as thin (21c15dd)
- renderer: treat a blank caller UA as absent, document header scope (69a2f8e)
- search: bound the per-result scrape budget for scrapeOptions (97aa154)
- v2: honor location.languages as an Accept-Language header (bac52cd)
- v2: honor renderJs on the Firecrawl-compat surface (8491d5f), closes #346
- v2: thread the extraction prompt through extract and the json format (0f2650e), closes #352
Performance
- search: parallelize enrichment DNS validation and dedup scout scrapes (6e1ca78)