Skip to content

v0.2.6

Latest

Choose a tag to compare

@yinnho yinnho released this 31 Aug 15:26
· 9 commits to main since this release

v0.2.6 is a rendering + data-durability batch: CSS sizing keywords and calc() widths land in the diting engine, a durable local cache sits behind every fetch/search, and a round of CDP/stealth contract fixes ships.

Highlights

  • Durable local cache — every fetch and search result lands in a local SQLite (FTS5) store automatically and stays queryable across restarts; CJK text indexes per-glyph. New cache_* MCP tools let an agent search its own past reads. On shared/multi-tenant installs set AGINXBROWSER_STORE_SCOPE=session.
  • CSS sizing keywordswidth: min-content / max-content / fit-content now resolve in the diting layout engine with real measure passes over the subtree; fit-content applies the CSS fit-content(stretch, max-content) clamp. Verified pixel-for-pixel against the Blitz pipeline, stylesheet and inline paths.
  • calc() widths + clean shrink-to-fit — mixed percent+px calc() on width/min/max resolves exactly once against the settled containing block (obscura#767 family), and shrink-to-fit now trims run-edge whitespace so indentation whitespace stops inflating fit-content widths (obscura#764 family).

Engine / JS

  • XHR binary round-trips (arraybuffer/blob response bodies), CSSOM initial values in getComputedStyle, and a binding-queue cap (obscura#754/#716/#771).
  • min-width/max-width sizing keywords remain unparsed for now — the width slot is the honest scope of this batch.

Fixes

  • CDP: Runtime.evaluate sync-path exception semantics pinned against Chrome; RemoteObject primitives carry real values (undefined no longer collapses to null, no spurious handles — obscura#779); setUserAgentOverride now applies acceptLanguage to the wire header and navigator (obscura#777 class).
  • Networking: known-blocked domains auto-proxy on page/session/CDP navigations, and the robots.txt gate falls back to a legacy-TLS (CBC) transport for CBC-only servers — rustls's missing TLS 1.2 CBC suites no longer turn into a 403 (obscura#769).
  • session_click returns the landed page text, matching the /click evidence contract.

Install / upgrade: curl -fsSL https://browser.aginx.net/install.sh | bash (pin with VERSION=v0.2.6). Hosted MCP endpoint: https://browser.aginx.net/mcp.