Skip to content

v1.0.5

Choose a tag to compare

@Goldziher Goldziher released this 09 Jul 14:01

Security

  • Per-hop SSRF re-validation on the headless-browser tier. Closes the known
    limitation noted in 1.0.4: real headless Chrome follows 3xx redirects and
    client-side navigations internally, so only the seed URL was checked. Browser
    fetches now enable CDP Fetch interception for the duration of each navigation
    and validate every request URL (initial navigation, redirects, and
    subresources) against the SSRF policy before Chrome connects. Blocked requests
    are failed with BlockedByClient; a blocked main-frame request surfaces as a
    precise CrawlError::SsrfPolicyViolation rather than a generic navigation
    error. This brings the chromiumoxide backend to parity with the native
    backend, which already re-validates each redirect hop.
    (crates/crawlberg/src/browser.rs)

Build

  • Bindings, stubs, READMEs, docs, and e2e suites regenerated with alef 0.34.4
    (up from 0.31.1). The 0.34.4 scaffold formats generated files in place instead
    of excluding them from poly, and refreshes the .gitattributes/.pubignore
    scaffolding.

Zig

Add to your build.zig.zon:

.dependencies = .{
    .crawlberg-zig = .{\n        .url = \"https://github.com/xberg-io/crawlberg/releases/download/v1.0.5/crawlberg-zig-v1.0.5.tar.gz\",\n        .hash = \"crawlberg-1.0.5-IoY1CtNVmyB3PsYxHZNSCTgEbKgZF2Oh3JMOf6j7Qm05\",\n    },\n},\n```\n