Skip to content

v0.2.0

Latest

Choose a tag to compare

@SGavrl SGavrl released this 08 Aug 00:07

v0.2.0

Obscura can now render and capture modern web pages directly, without bundling or launching Chromium. This release adds a native Rust rendering engine, screenshots, scrolling, screencasting, and PDF export through the CLI, MCP, Puppeteer, and Playwright. 449 commits since v0.1.11.

Highlights

  • Native rendering: block and inline layout, Flexbox, Grid, tables, floats, positioning, scrolling, transforms, text shaping, images, SVG, Canvas, forms, gradients, shadows, and animations.
  • Modern websites: external stylesheets, JavaScript modules, dynamic imports, hydration, responsive images, web fonts, observers, Shadow DOM, and custom elements.
  • Screenshots: viewport, clipped, scrolled, and full-page capture with PNG, JPEG, and WebP output through CDP.
  • Screencasting: activity-driven PNG or JPEG frames with sizing, quality controls, acknowledgement backpressure, and isolated CDP sessions.
  • PDF export: print styles, pagination, paper sizes, margins, scale, landscape mode, backgrounds, page ranges, and streamed output.

CLI and automation

Capture a page directly:

obscura fetch https://example.com --screenshot page.png

Puppeteer and Playwright can use their normal screenshot and PDF APIs through Obscura's CDP endpoint. Pages can be scrolled through JavaScript, mouse-wheel input, or DOM.scrollIntoViewIfNeeded.

Render-enabled MCP builds add browser_screenshot and browser_pdf.

Browser compatibility

This release also improves:

  • React-controlled form filling through MCP
  • Namespaced and qualified attributes
  • cloneNode() and context-sensitive HTML fragments
  • Event, CustomEvent, PromiseRejectionEvent, and StorageEvent behavior
  • String timer execution
  • Dynamic data: scripts
  • Style attribute synchronization
  • Quirks-mode selectors
  • Platform CA certificate support
  • Compressed responses through the stealth transport
  • HTML charset detection

Release downloads

Every supported platform now receives four builds:

Suffix Rendering Stealth
(none) Yes No
-stealth Yes Yes
-no-render No No
-no-render-stealth No Yes

The default archive and Docker image include rendering. No-render builds preserve the existing lightweight automation configuration.

Current limitations

Rendering is new and is not yet complete Chromium parity. Long-tail CSS, some Web APIs, native media playback, and GPU compositor effects may still differ.

PDF output is currently raster-backed, so text is not selectable. Screencasting captures page activity rather than fixed-rate desktop video.

Contributors

Thanks to @mnaza, @tamish560, @lisa0314, @dgcavalcante-png, @alectimison-maker, @ibukanov, @marcoripa96, and @stack3mpty.

Full Changelog: v0.1.11...v0.2.0