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
fetchandsearchresult lands in a local SQLite (FTS5) store automatically and stays queryable across restarts; CJK text indexes per-glyph. Newcache_*MCP tools let an agent search its own past reads. On shared/multi-tenant installs setAGINXBROWSER_STORE_SCOPE=session. - CSS sizing keywords —
width: min-content / max-content / fit-contentnow resolve in the diting layout engine with real measure passes over the subtree; fit-content applies the CSSfit-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-widthsizing keywords remain unparsed for now — the width slot is the honest scope of this batch.
Fixes
- CDP:
Runtime.evaluatesync-path exception semantics pinned against Chrome;RemoteObjectprimitives carry real values (undefinedno longer collapses tonull, no spurious handles — obscura#779);setUserAgentOverridenow appliesacceptLanguageto 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_clickreturns the landed page text, matching the/clickevidence 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.