Skip to content

v0.2.5

Choose a tag to compare

@github-actions github-actions released this 29 Aug 23:01
· 21 commits to main since this release

v0.2.5 adds a new platform (static musl binaries for AginxOS devices) and a rendering-accuracy batch: baseline alignment, atomic inline-blocks, and a robots.txt policy flip.

Highlights

  • New platform: aarch64-unknown-linux-musl — a fully static, feature-minimal binary (bare file + .sha256, agpkg convention) built with cargo zigbuild. AginxOS devices (Pixel 5 class, busybox, no glibc) pull it on first boot. stealth/screenshot stay opt-in and are not in this asset.
  • Inline baseline alignment (blitz#750 semantics) — mixed font sizes and text+inline-block runs now sit on a shared baseline instead of sharing a top edge. Inline-blocks align to the baseline of their last in-flow line box; empty or replaced boxes fall back to the bottom edge. Implemented as a post-layout per-line shift (taffy leaves can't report baselines), so uniform-font runs keep bit-identical geometry.
  • display: inline-block as atomic shrink-to-fit boxes — inline lists and chip stacks wrap inside their containing block instead of rendering as full-width blocks or one ~1000px line that inflates table min-content floors (obscura#750 family).
  • robots.txt checking is now opt-in — flips v0.2.4's default-on policy: set AGINXBROWSER_HONOR_ROBOTS=1 to enable. The robots fetch also follows the same direct/proxy decision as the page fetch, so a proxied robots request can no longer cache a DenyAll against a directly reachable page.

Engine / JS

  • deno_core 0.350 → 0.411 (v8 137 → 150.4)#[op2(async(deferred))], 4-argument ModuleLoader::load, manual HandleScope assembly; v8 150.2+ is also what makes the official musl prebuilt archive possible.
  • Blob URLs throw Chrome-shaped TypeErrors, mint v4 UUIDs, and revoke from both stores.
  • Runtime.callFunctionOn awaited-rejection shape pinned against Chrome (obscura#746 contrast).

Fixes

  • Script bodies no longer count as visible text, and empty Tier-1 conversions are deferred — cuts challenge-page flicker on byte-WAF sites.
  • CDP: mouse-click checkbox activation clears indeterminate.
  • Stealth bootstrap blob layer finishes the diting rename.

Operations

  • Per-domain rate limit + session page budget ship as env-tunable guardrails (AGINXBROWSER_DOMAIN_RATE_PER_MIN, AGINXBROWSER_SESSION_PAGE_LIMIT) — a browser, not a crawler.

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