What's new
Better Puppeteer / Playwright compatibility
Target.attachToBrowserTarget— Playwright's connect handshake now completes (#81, closes #64)Auditsdomain accepted as no-op — no more "Unknown domain: Audits" (#80, closes #57)Page.getLayoutMetrics— returns viewport so screenshot calls don't fail (#79, closes #52)Target.sendMessageToTarget— supportschromiumoxideandheadless_chromeRust clients (#83, closes #26)Fetch.enableactually enables interception (was a no-op) (#50, closes #49)--user-agentflag now plumbed through CDP server (#76, closes #71)
DOM/JS shim improvements
CharacterData,Text,Commentclasses properly defined — fixes sweetalert.min.js, jQuery DataTables (#73, closes #35, #72)WebAssembly.instantiateStreamingworks —Response.arrayBuffer()preserves binary bytes (#48)document.createEvent('CustomEvent')+initCustomEvent— fixes Starbucks China bundle (#77, closes #41)document.elementFromPoint/elementsFromPointstubs — fixes Google Publisher Tag and analytics (#75, closes #63)window instanceof Windowworks (#48)<template>.content/ DocumentFragment querySelector (#48)
Accessibility
Accessibility.getFullAXTreereturns proper tree with roles, names, and parent IDs (#44, #67, closes #12)
CLI
--timeoutflag forobscura fetchto bound navigation time (#92)obscura scraperejects empty URL list and zero concurrency with clear errors (#93, #96)
Networking
Release & build
- Release archives now include
obscura-worker(#94, addresses part of #39) - Linux release built on Ubuntu 22.04 for GLIBC 2.35+ compatibility (#87)
- License metadata corrected to Apache-2.0 in Cargo.toml (#89)
Closed issues
#12, #26, #35, #41, #49, #52, #56, #57, #61, #63, #64, #71, #72, #99