tag:github.com,2008:https://github.com/firecrawl/firecrawl/releases

Release notes from firecrawl

2026-06-01T23:21:19Z tag:github.com,2008:Repository/787076358/apps/go-sdk/v1.6.0 2026-06-01T23:21:19Z

apps/go-sdk/v1.6.0

<p>Release Go SDK apps/go-sdk/v1.6.0</p> github-actions[bot] tag:github.com,2008:Repository/787076358/apps/go-sdk/v1.5.0 2026-05-23T23:03:37Z

apps/go-sdk/v1.5.0

<p>Release Go SDK apps/go-sdk/v1.5.0</p> github-actions[bot] tag:github.com,2008:Repository/787076358/apps/go-sdk/v1.4.0 2026-05-17T15:55:25Z

apps/go-sdk/v1.4.0

<p>Release Go SDK apps/go-sdk/v1.4.0</p> github-actions[bot] tag:github.com,2008:Repository/787076358/v3.0.0 2026-05-15T16:20:33Z

v3.0.0

<p>Update Read Me's</p> ericciarla tag:github.com,2008:Repository/787076358/v2.10 2026-05-15T18:26:43Z

Firecrawl v2.10

<h1>Firecrawl v2.10</h1> <h2>Improvements</h2> <ul> <li><strong><code>/parse</code> endpoint</strong> — Upload local files (PDF, DOCX, DOC, ODT, RTF, XLSX, XLS, HTML) up to 50 MB and get back clean, LLM-ready Markdown, JSON, or a summary. Tables and reading order are preserved, with full Zero Data Retention support for enterprise plans. Available in JS, Python, Go, Rust, Java, .NET, PHP, Ruby, and Elixir SDKs.</li> <li><strong>Lockdown Mode</strong> — Set <code>lockdown: true</code> on <code>/scrape</code> to serve results exclusively from Firecrawl's index with zero outbound requests and zero data retention by default. Gated outbound paths include HTTP fetches, robots.txt, audio downloads, and media. Available in every SDK, the CLI (<code>--lockdown</code>), and MCP.</li> <li><strong><code>question</code> format</strong> — Pass a natural-language prompt to <code>/scrape</code> and get a grounded, hallucination-free answer back in <code>data.question</code>. Runs on a managed model chain with automatic fallback, prompt-injection isolation via XML tagging and zero-width-space escaping, and up to 100x fewer tokens per call.</li> <li><strong><code>highlights</code> format</strong> — Returns the exact sentences, code blocks, and table rows on a page that match your query. Consecutive sentences re-join into paragraphs, code lines wrap in fenced blocks with their original language, and table rows rebuild into Markdown tables with headers — all from the source page, using up to 100x fewer tokens per call.</li> <li><strong><code>video</code> format</strong> — Added <code>video</code> to scrape formats. Returns a signed downloadable video URL for supported sites (e.g. YouTube), with cookie forwarding for authenticated downloads and explicit Lockdown gating.</li> <li><strong><code>/search</code> domain filters</strong> — Added <code>includeDomains</code> and <code>excludeDomains</code> parameters to <code>/search</code> for scoping results to a specific set of sites.</li> <li><strong><code>/search</code> feedback endpoint</strong> — Submit a rating on a search result with <code>POST /v2/search/:jobId/feedback</code>. Each accepted submission refunds 1 credit, capped per UTC day, with idempotent retries.</li> <li><strong>Custom robots.txt user agent</strong> — Added <code>robotsUserAgent</code> to crawl requests to evaluate robots.txt rules and crawl delays against a custom agent string, and a separate <code>customRobotsAgent</code> org flag independent from <code>ignoreRobots</code>. Available in JS, Python, and Java SDKs.</li> <li><strong>Official Go SDK</strong> — Added a first-party Go SDK for the v2 API, replacing the community module. Includes context-aware retry backoff and proper <code>MapData.Links</code> typing.</li> <li><strong>Ruby SDK</strong> — Added the official Firecrawl Ruby SDK v2 with full endpoint coverage and v2-native typing.</li> <li><strong>PHP SDK</strong> — Added the official PHP SDK with Laravel support, scrape/search/crawl/map/parse coverage, and a published <code>firecrawl/firecrawl-sdk</code> Composer package.</li> <li><strong>.NET SDK</strong> — Added the official .NET SDK with v2 API support, parse, and an <code>firecrawl-sdk</code> NuGet package.</li> <li><strong>Rust SDK v2</strong> — The Rust SDK has been promoted to the official v2 SDK with parity across scrape, search, crawl, map, agent, and parse.</li> <li><strong><code>/interact</code> suggestion</strong> — Calls to <code>/scrape</code> that pass an <code>actions</code> array now return a warning suggesting <code>/interact</code> for stateful browser automation.</li> <li><strong>PDF size cap</strong> — Raised the PDF upload size limit from 10 MB to 30 MB.</li> <li><strong>PDF page-processed billing</strong> — Updated PDF billing to reflect pages processed instead of raw page count.</li> <li><strong>Docker harness</strong> — Exposed <code>HARNESS_STARTUP_TIMEOUT_MS</code> through <code>docker-compose</code> for self-hosted users who need longer startup windows.</li> <li><strong>Elixir SDK</strong> — Added <code>parse_file/3</code> to the Elixir SDK for the <code>/parse</code> endpoint.</li> <li><strong>JS SDK request timeout</strong> — Added an explicit request timeout option to the JS SDK to prevent hanging requests.</li> </ul> <h2>Fixes</h2> <ul> <li>Resolved multiple CVEs across the API and SDKs including <code>axios</code>, <code>postcss</code>, <code>fast-xml-parser</code>, <code>protobufjs</code>, <code>follow-redirects</code>, <code>langsmith</code>, <code>lodash</code>, <code>fast-uri</code>, and <code>fast-xml-builder</code>.</li> <li>Fixed branding <code>colors.secondary</code> being incorrectly populated when the LLM omitted a value — <code>secondary</code> is now optional and is no longer applied as a default.</li> <li>Fixed the Playwright service ignoring the caller's <code>User-Agent</code> request header.</li> <li>Fixed <code>screenshot</code> signed URLs returning stale results from cache by forcing a cache miss when the signed URL has expired.</li> <li>Fixed Lockdown requests being billed twice for ZDR by treating Lockdown as zero data retention by default.</li> <li>Fixed proxy billing for cached scrapes incorrectly charging proxy credits when no proxy egress occurred.</li> <li>Fixed YouTube transcript scripts running on audio-only scrapes and audio downloads not receiving CDP cookies.</li> <li>Fixed <code>html-to-md</code> conversion service ignoring zero data retention.</li> <li>Fixed a stack overflow in <code>marked.parse</code> when handling certain PDF outputs.</li> <li>Fixed <code>robotsUserAgent</code> not being honored by the native link filter and not being included in JS SDK crawl payloads.</li> <li>Fixed <code>/v1</code> status endpoints returning 500 on non-UUID job IDs — now returns a proper 400.</li> <li>Fixed empty <code>actions: []</code> arrays being treated as actions in feature flags.</li> <li>Fixed JS SDK watcher emitting duplicate events, leaking timeouts, and hanging <code>start()</code> on watcher timeouts.</li> <li>Fixed Ruby SDK unwrapping of <code>credit_usage</code> data fields and defaulted <code>skipTlsVerification</code> to <code>false</code>.</li> <li>Fixed missing negative-limit validation in Python, Java, and Go SDKs.</li> <li>Fixed Java SDK accepting empty API keys and missing async lifecycle methods.</li> <li>Fixed billing period timestamps, subscription lookups, and plan credit reporting.</li> <li>Fixed crawl-backlog timeouts being unbounded — now capped at 48h.</li> </ul> <h2>API</h2> <ul> <li>Added <code>POST /v2/parse</code> for multipart file uploads up to 50 MB. Returns a standard Document. Disallowed scrape options on parse: <code>changeTracking</code>, <code>screenshot</code>, <code>branding</code>, <code>actions</code>, <code>waitFor</code>, <code>location</code>, <code>mobile</code>; <code>proxy</code> is restricted to <code>auto</code> or <code>basic</code>. Errors with <code>PARSE_UNSUPPORTED_OPTIONS</code> on disallowed input.</li> <li>Added <code>lockdown: boolean</code> to <code>/scrape</code>. Cache misses return <code>404</code> with <code>SCRAPE_LOCKDOWN_CACHE_MISS</code>. Billing: +4 credits when <code>lockdown</code> is enabled, 1 credit on cache miss. Available across all SDKs.</li> <li>Added <code>question</code> and <code>highlights</code> to <code>/scrape</code> formats, returning <code>data.question</code> and <code>data.highlights</code> respectively.</li> <li>Added <code>video</code> to <code>/scrape</code> formats. Returns <code>document.video</code> as a signed URL. +4 credits per request. Unsupported URLs raise <code>SCRAPE_VIDEO_UNSUPPORTED_URL</code>; <code>parse</code> rejects the <code>video</code> format client- and server-side.</li> <li>Added <code>includeDomains</code> and <code>excludeDomains</code> arrays on <code>/v2/search</code> for scoping results to specific domains.</li> <li>Added <code>POST /v2/search/:jobId/feedback</code> for rating search results. Each accepted submission refunds 1 credit, capped per UTC day via <code>SEARCH_FEEDBACK_DAILY_CAP_CREDITS</code>, with idempotent retries returning <code>alreadySubmitted: true</code>. Feedback submissions older than <code>SEARCH_FEEDBACK_MAX_AGE_SEC</code> (default 120s) are rejected. Search billing is now <code>ceil(results/10) * 2</code> credits, surfaced in responses.</li> <li>Added <code>robotsUserAgent</code> to <code>/v2/crawl</code> <code>crawlerOptions</code> for custom-agent robots.txt evaluation. Gated behind the <code>ignoreRobots</code> org flag.</li> <li>Added a separate <code>customRobotsAgent</code> org flag independent from <code>ignoreRobots</code>, so teams can ship custom user-agents without disabling robots.txt enforcement.</li> <li>Migrated the <code>ignoreRobots</code> org flag from a boolean to a <code>disabled</code> / <code>allowed</code> / <code>forced</code> pattern. The legacy <code>ignoreRobots: boolean</code> request shape has been removed — clients must use the new flag values.</li> <li>Deprecated <code>/v0/scrape</code>, <code>/v0/crawl</code>, <code>/v0/crawl/status/:jobId</code>, <code>DELETE /v0/crawl/cancel/:jobId</code>, <code>/v0/search</code>, <code>/v1/extract</code>, <code>/v1/extract/:jobId</code>, <code>/v2/extract</code>, <code>/v2/extract/:jobId</code>, <code>/v1/deep-research</code>, <code>/v1/deep-research/:jobId</code>, <code>/v1/llmstxt</code>, and <code>/v1/llmstxt/:jobId</code>. Deprecated endpoints emit <code>Deprecation: true</code>, <code>Warning: 299 - "<message>"</code>, <code>Link; rel="successor-version"</code>, and (when configured) <code>Sunset</code> headers, plus <code>warnings[]</code> and <code>replacement</code> in the JSON body. JS and Python SDKs surface these to clients.</li> </ul> <hr> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/firecrawl/firecrawl/compare/v2.9.0...v2.10"><tt>v2.9.0...v2.10</tt></a></p> rhys-firecrawl tag:github.com,2008:Repository/787076358/v2.9.1 2026-05-15T16:20:33Z

v2.9.1

<p>Update Read Me's</p> ericciarla tag:github.com,2008:Repository/787076358/apps/go-sdk/v1.3.0 2026-05-12T22:10:24Z

apps/go-sdk/v1.3.0

<p>Release Go SDK apps/go-sdk/v1.3.0</p> github-actions[bot] tag:github.com,2008:Repository/787076358/apps/go-sdk/v1.2.2 2026-05-06T17:52:12Z

apps/go-sdk/v1.2.2

<p>Release Go SDK apps/go-sdk/v1.2.2</p> github-actions[bot] tag:github.com,2008:Repository/787076358/apps/go-sdk/v1.2.1 2026-05-05T15:45:13Z

apps/go-sdk/v1.2.1

<p>Release Go SDK apps/go-sdk/v1.2.1</p> github-actions[bot] tag:github.com,2008:Repository/787076358/apps/go-sdk/v1.2.0 2026-05-01T15:02:06Z

apps/go-sdk/v1.2.0

<p>Release Go SDK apps/go-sdk/v1.2.0</p> github-actions[bot]