Tags: firecrawl/firecrawl-php
Tags
feat(sdks): add parsers[].pageMarkers for PDF page attribution (#4379) Expose the v2 PDF parser pageMarkers option across the JS, Python, Go, Java, Ruby, PHP, Rust, and .NET SDKs so scrape/parse requests can join PDF pages in document.markdown with <!-- page N --> separators. Bump each package version so merge auto-publishes. Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Abimael Martell <abimaelmartell@users.noreply.github.com>
feat(sdks): add parsers[].pages for per-page PDF markdown (#4353) * feat(sdks): add parsers[].pages for per-page PDF markdown Expose the renamed v2 PDF parser pages option (formerly pageMarkdown) and Document.pages across the JS, Python, Go, Java, Ruby, PHP, Rust, and .NET SDKs. Bump each package version so merge auto-publishes. Co-authored-by: Abimael Martell <abimaelmartell@users.noreply.github.com> * fix(python-sdk): fold deprecated pageMarkdown into pages Pydantic dropped page_markdown/pageMarkdown on PDFParser before prepare_scrape_options could rewrite them. Accept both aliases on the model so they serialize as pages. Co-authored-by: Abimael Martell <abimaelmartell@users.noreply.github.com> * fix(python-sdk): drop unreachable pageMarkdown folds on model dump PDFParser already folds page_markdown/pageMarkdown into pages in a before-validator, so model_dump cannot emit those keys. Keep the alias rewrite only on the raw-dict parser branch. Co-authored-by: Abimael Martell <abimaelmartell@users.noreply.github.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Abimael Martell <abimaelmartell@users.noreply.github.com>
feat(sdks): add parsers[].blocks for typed PDF layout blocks (#4351) * feat(sdks): add parsers[].blocks for typed PDF layout blocks Expose the v2 PDF parser blocks option and Document.blocks across the JS, Python, Go, Java, Ruby, PHP, Rust, and .NET SDKs, and bump each package version so merge auto-publishes the new APIs. Co-authored-by: Abimael Martell <abimaelmartell@users.noreply.github.com> * test(rust-sdk): cover PDF parser blocks serialization and hydration Co-authored-by: Abimael Martell <abimaelmartell@users.noreply.github.com> * fix(java-sdk): type Document.blocks as List<PdfPageBlocks> Replace the raw List<Map<String, Object>> with typed page/block models so Java callers get compile-time access to pageNumber, items, bbox, and confidence, matching Menu/Product and the other SDKs. Co-authored-by: Abimael Martell <abimaelmartell@users.noreply.github.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Abimael Martell <abimaelmartell@users.noreply.github.com>
docs(php-sdk): note why assertSuccess covers only synchronous endpoints Review flagged the asymmetry: crawl start/status skip the success:false envelope check. That is deliberate — a failed start yields a null job ID that pollCrawl() and the crawl tool both guard, and crawl status is surfaced explicitly on CrawlJob — but nothing said so. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>