What's New

Changelog

Track all updates, improvements, and fixes to Owl Browser.
19 releases • 106 changes

New Feature(6)
  • Upgraded the browser core to Chromium 151 (CEF 7922). Context pinning now covers Chrome majors 143 through 151, and the profile roster, stealth spoofing engine and Client Hints were regenerated to match the new release.
  • Added MCP 2 support. The server now speaks the 2026-07-28 protocol revision, which is stateless and carries protocol version, client identity and capabilities in per-request metadata. It implements server/discover, the required resultType field, cache hints on list results, and the Mcp-Method, Mcp-Name and Mcp-Param headers with full header to body validation.
  • Dual-era transport. A single /mcp endpoint serves both MCP 2 clients and every earlier revision back to 2024-11-05 through the original initialize handshake, so existing integrations keep working byte for byte while new clients get the stateless protocol.
  • New tool browser_do runs an ordered list of actions in one call. Navigate, click, type, press a key, clear an input, scroll or wait are executed and verified server side, execution stops at the first failure, and the reply carries a per-step log plus the resulting page. A six field form now costs one call instead of six.
  • New tool browser_rows returns a page's repeated rows as structured data. Product grids, search results and story lists come back as rows of fields with a handle token for each row, so an agent never has to work out which price belongs to which title. Clipped text is flagged rather than returned as if it were complete.
  • Added the io.modelcontextprotocol/tasks extension for long running work, an owl:// resource store so recordings, downloads and profile exports return as resource links instead of inline bytes, and tool annotations so hosts can auto approve read only calls.
Improvement(4)
  • Action calls now return the resulting page view in the same response, which removes the separate observe step after every click, type or navigation. The reply also names the URL the page actually settled on, so a redirect to a login page is no longer reported as a successful navigation.
  • Agent render accuracy. Repeated list rows keep their own content instead of collapsing to a shared wrapper label, the handle budget is allocated to main page content before site chrome, ranked vote lists are labelled rank and score so the two numbers cannot be confused, and form fields no longer borrow a neighbouring control's label.
  • Omitted content now announces itself. Collapsed rows, content pruned below the fold and clipped field text each say what was left out and how to retrieve it, so an agent no longer reads a partial page as a complete one.
  • OAuth hardening. Access tokens are bound to a canonical resource identifier and validated on every request per RFC 8707, authorization responses carry the RFC 9207 iss parameter, and dynamic client registration validates application_type. Set OWL_OAUTH_RESOURCE when the OAuth flow and MCP traffic do not share an origin.
Bug Fix(3)
  • Fixed browser_screenshot returning a stale frame. The capture path read the previous screenshot from the frame cache before the new paint landed, so screenshots taken after a navigation could show the earlier page. Captures are now always current.
  • Tool results now report failure accurately. Bot protection walls, lost contexts, dead element handles and empty pages were reported inside a successful envelope and reached clients as successes. Failures are reported as failures and carry a short instruction describing what to do next.
  • Fixed parameter validation printing an empty list of valid values when an enum contained an empty option, and added a suggestion for near misses such as network_idle for networkidle.