What's new
Reliability
- V8 fatal crash fixed: process no longer aborts under concurrent CDP work with
Fetch.enable(Check failed: heap->isolate() == Isolate::TryGetCurrent()). (#36, closes #19) - CDP fast-path for Puppeteer connect:
Target.getBrowserContextsno longer waits behind the JS engine queue. (#120, partial #62)
Stealth & networking
- Stealth build fixed on macOS arm64 + Rust 1.95:
wreq'sprefix-symbolsfeature gated to Linux/Android only. (#106, closes #39) - Stealth build fixed on macOS 26 (Tahoe): Cargo config sets
CXXFLAGS/SDKROOTsoboring-syscan find libc++ headers. (#138, closes #136) --proxyworks in stealth mode: stealth HTTP client now receives the proxy URL. (#141)--proxyplumbed throughfetchandscrape: global flag now applies to all CLI commands. (#88)
CDP compatibility
- Rust CDP clients work:
Target.sendMessageToTargetimplemented;chromiumoxideandheadless_chromecan connect. (#83, closes #26) - Descriptive error for
Page.printToPDF: explains PDF isn't supported with workaround pointer. (#112, closes #53)
CLI improvements
--dump markdown: clean markdown output from rendered pages. (#78, closes #54)--dump textstrips nav/header/footer/aside: returns article content, not menus. (#82, closes #55)fetch --output <file>: write results to file. (#95)fetch --quietsuppresses JS console errors: was leaking through to stderr. (#74, closes #56)scrape --quiet: suppress progress messages. (#91)obscura scrapeworks on Windows: was looking forobscura-workerinstead ofobscura-worker.exe. (#140)
Build & release
- Zero build warnings: from 18 on v0.1.2 to 0. (#126, closes #101)
- Intel macOS build cross-compiles from arm64 runner: no more slow
macos-13queue.
Docs & ecosystem
- AI agent skill file:
skills/obscura/SKILL.mdfor Claude Code, Cursor, etc. (#34) - Arch Linux AUR install:
yay -S obscura-browser. (#134)
Known issues
- #107: Playwright's
page.title()/page.content()fail wire validation on certain pages withexpected string, got object. Workaround in the issue. Under investigation.