<!-- Source: https://owlbrowser.net/changelog/ -->
# Changelog

### 1.3.2
**Date**: 2026-08-06
**Title**: Chromium 151, MCP 2 Support, and New Agent Tools

#### Highlights
- Upgraded to Chromium 151 with profile pinning across Chrome 143 to 151
- MCP 2 support: the 2026-07-28 protocol revision served alongside every earlier revision
- Two new MCP tools, browser_do and browser_rows, built for multi-step agent work

#### Features
- 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.

#### Improvements
- 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.

#### Fixes
- 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.

### 1.3.1
**Date**: 2026-07-10
**Title**: Chrome 150 Support, HTTP MCP Transporter with 0auth & Performance Fixes

#### Highlights
- Added support for Chrome major version 150 in context pinning
- Upgraded MCP server to HTTP transporter with 0auth and token-based auth support
- Performance optimizations and memory usage fixes

#### Features
- Chrome major version pinning now supports Chrome version 150. Contexts can be pinned to version 150, updating the profile generation and stealth spoofing engine to match the latest Chrome release.

#### Improvements
- Upgraded the MCP server from npm package to HTTP transporter. Added robust authentication mechanisms including 0auth and token-based auth to secure communication between clients and the server.

#### Fixes
- Performance fixes and memory management enhancements to optimize browser instances and connection handling.

### 1.3.0
**Date**: 2026-07-06
**Title**: Owl Sidecar Proxy, Clipboard Paste & Context Cleanup

#### Highlights
- New proxy type: Sidecar -- route browser contexts through a device you own using Owl Sidecar, with no Olib servers in the data path
- New browser_clipboard_paste tool for programmatic clipboard paste actions
- New browser_close_all_contexts tool to tear down every open context in one call
- Fixed browser_scroll_by over-simulation that caused scrolling to move further than requested

#### Features
- Sidecar proxy type on browser_create_context and browser_set_proxy. Point a context at a paired Owl Sidecar device and traffic routes peer-to-peer from the browser to that device. The connection is mutually authenticated and encrypted. Olib coordination infrastructure helps the two sides find each other at session start, then steps out of the path entirely -- your data never touches Olib servers. Download Owl Sidecar at https://github.com/Olib-AI/owl-sidecar.
- browser_clipboard_paste pastes the current clipboard contents into the focused element. Complements the existing browser_clipboard_read and browser_clipboard_write tools and covers sites that intercept the standard keyboard shortcut and require a native paste event.
- browser_close_all_contexts closes every active context on the instance in a single call. Useful for test teardown, scheduled resets, and automation flows that need a clean slate without enumerating context IDs.

#### Fixes
- browser_scroll_by over-simulation fix. The scroll distance calculation applied a momentum multiplier that was intended for physical trackpad input but was also applied to programmatic calls, causing the page to scroll further than the requested pixel value. Programmatic calls now use the exact delta supplied.

### 1.2.0
**Date**: 2026-06-10
**Title**: Agent Rendering: a render mode built for AI agents

#### Highlights
- New render_mode='agent': the page returns as OwlMark, a compact, handle-addressable view built for AI agents instead of human eyes
- browser_observe, browser_expand, browser_read_node: see a page, then click and type by stable handle token, with no CSS selectors and no pixel coordinates
- MCP server now defaults to a lean, agent-native toolset and promotes the observe-and-act loop, with profile-scoped tool lists via OWL_MCP_PROFILE
- Encrypted profile export now round-trips: a downloaded profile restores fingerprint and session cookies on the same install

#### Features
- render_mode on browser_create_context, one of 'pixel' (default, behaviour unchanged), 'agent', or 'both'. In agent mode the page is serialized into OwlMark, a compact hierarchical text view of what is actually rendered, with a handle table of every interactive element. On a Hacker News front page this is 753 tokens with 240 clickable handles, versus roughly 1,365 tokens for a screenshot the model still has to decode and aim at.
- browser_observe returns the OwlMark render, the handle table, page metadata, and a token estimate, and blocks until the page is ready so there is no separate wait step. browser_expand re-serializes one collapsed region or template at higher detail, and browser_read_node returns the full uncompacted text of a single node.
- Click and type by the handle token (for example b3, l5, x2) returned by browser_observe, with truthful action results so the agent knows whether a click actually navigated, changed the DOM, or did nothing. No coordinate guessing and no misfire retries.
- detail='outline' on browser_observe returns a headings-only map of long reference pages, for cheap 'find the section' navigation before reading the full content.

#### Improvements
- The MCP server now advertises a curated, profile-scoped toolset via the new OWL_MCP_PROFILE setting (agent, automation, webdev, or full). The default agent profile exposes only the short observe-and-act loop plus screenshot, so smaller models are not flooded with a long tool list, and contexts created over MCP default to agent rendering.
- Token reductions across content and documentation pages from the agent renderer's compaction: boilerplate folding, template dedup, code-block compaction, and link-river collapse keep page renders well under screenshot cost.

#### Fixes
- Encrypted profile export (browser_download_profile) now round-trips. The encrypted blob is self-contained, so restoring it via browser_create_context or browser_load_profile (string path or multipart upload) rebuilds the fingerprint and session cookies on the same install. Previously the encrypted artifact could be stored but not reloaded.
- browser_create_context responses no longer include a duplicate context_id key.

### 1.1.2
**Date**: 2026-05-11
**Title**: Owl Light, Chrome Version Pinning & Flow Designer 2.0

#### Highlights
- Owl Light: free to download Chrome replacement for Playwright and Puppeteer (github.com/Olib-AI/owl-light)
- Pin contexts to specific Chrome major versions (143 through 148)
- Flow Designer 2.0: HTTP/FTP steps, capture & extract, variable picker, in-designer tutorial
- Navigation and concurrent-session performance improvements

#### Features
- Owl Light: a free to download Chrome-replacement browser that speaks the Playwright and Puppeteer protocols, so existing scripts can switch from upstream Chrome to Owl with a single binary swap. Carries the same stealth, fingerprinting, and profile system as the full Owl Browser, with a lighter footprint targeted at automation workloads that don't need the full control-panel surface. Available at github.com/Olib-AI/owl-light.
- Chrome major version pinning on `browser_create_context` via the new `chrome_version_major` parameter (one of '143', '144', '145', '146', '147', '148') or the lower-level `chrome_version_id`. Each context can now be locked to a specific Chrome major from the rolling 6-version profile roster, useful for reproducing detection behaviour across browser generations or matching a customer's installed Chrome.
- Flow Designer 2.0: a full-screen 3-pane workspace (palette / browser viewer + canvas / inspector) with a new Network/HTTP step category exposing http_request, http_download, http_session_*, and ftp_* tools - so flows can call external endpoints (e.g. fetch a 2FA code from your API) mid-automation. Step inspector adds Capture & Extract (JSONPath or regex with named groups), Retry/Timeout/Optional, and a variable-picker tree that lets you click any field in a previous step's result to insert `${prev.path}` or `${vars.NAME.group}` references. A built-in interactive walkthrough introduces the workspace on first launch.

#### Improvements
- Navigation pipeline and concurrent-session performance tuned end-to-end. Default `wait_until=load` semantics, parallelised stealth-injection paths, off-main-thread download handling, and a refcount-based PipeSyncState fix together drop per-navigation overhead and stabilise high-concurrency runs. 100 parallel sessions now reach the steady state in roughly 2 seconds.

### 1.1.1
**Date**: 2026-04-16
**Title**: Multi-Process Architecture & UUID Context IDs

#### Highlights
- Multi-process browser architecture for parallel context execution
- UUID-based context IDs for reliable long-running automations

#### Features
- Multi-process browser architecture: multiple browser processes run in parallel, each handling its own set of contexts. This enables higher throughput for concurrent automation workloads by distributing contexts across separate CEF instances.
- Context IDs now use a UUID-based format (timestamp + sequence + random) instead of sequential counters. This eliminates ID collisions in multi-process mode and removes the practical limit on context creation in long-running automations.
- Open-source detection benchmarks published at github.com/Olib-AI/owl-detection-report. Includes stealth, performance, and concurrency test results run against real-world detection services, with full methodology and reproducible scripts.

### 1.1.0
**Date**: 2026-03-24
**Title**: Custom CEF Built from Chromium Source

#### Highlights
- CEF now built from Chromium source with Owl-specific patches
- Deep stealth and performance patches at the engine level
- Tool fixes for browser_get_page_map and browser_get_markdown

#### Features
- CEF is now compiled directly from Chromium source instead of using pre-compiled open-source builds. This allows Owl-specific patches for stealth and performance to be applied at the engine level, giving full control over the browser internals.

#### Improvements
- Stealth patches are now integrated directly into the Chromium build pipeline, enabling deeper anti-detection capabilities that were not possible with pre-compiled CEF binaries.
- Performance optimizations baked into the custom CEF build for faster page loads and reduced memory usage in automation workloads.

#### Fixes
- Fixed `browser_get_page_map` returning incomplete or incorrect element mappings in certain page layouts.
- Fixed `browser_get_markdown` producing malformed output for pages with complex nested structures.

### 1.0.11
**Date**: 2026-03-03
**Title**: WebMCP Support - Page-Declared Tools for AI Agents

#### Highlights
- WebMCP (W3C draft) support for page-declared tools
- 4 new WebMCP management tools
- New one-shot browser_search tool with DuckDuckGo & Google
- Navigate response now signals WebMCP availability

#### Features
- WebMCP support: Web pages can now declare callable tools via `navigator.modelContext.registerTool()` (imperative) or `<form toolname>` (declarative). AI agents discover and call these tools through the API for structured input/output instead of DOM scraping.
- New `browser_webmcp_get_tools`: List all WebMCP tools declared by the current page for a given context, including names, descriptions, and input schemas.
- New `browser_webmcp_call_tool`: Execute a page-declared WebMCP tool by name with JSON input and receive structured JSON output.
- New `browser_webmcp_refresh_tools`: Re-scan the page for WebMCP tools after SPA navigation or dynamic content changes.
- New `browser_webmcp_get_all_tools`: List WebMCP tools across all active browser contexts for multi-tab workflows.
- New `browser_search`: One-shot web search tool. Creates a context, navigates to DuckDuckGo or Google, extracts structured JSON results (title, URL, snippet, displayed URL), and closes the context. Supports pagination and direct access via `GET /search?q=query`.
- New DuckDuckGo extraction template for `browser_extract_json` with auto-detection - use `template: 'duckduckgo_search'` or let the browser detect it automatically from the URL.

#### Improvements
- `browser_navigate` now returns a `webmcp_tools` array containing full tool definitions (name, description, inputSchema) when `wait_until` is set (`load`, `networkidle`, `fullscroll`, `domcontentloaded`) and the page declares WebMCP tools. Agents can immediately call tools without a separate discovery step.

### 1.0.10
**Date**: 2026-02-24
**Title**: Web Bot Auth & Signed Agent Support

#### Highlights
- Built-in Web Bot Auth (RFC 9421) with Ed25519 signatures
- Register as a Cloudflare Signed Agent
- Cryptographic request signing for WAF verification

#### Features
- Web Bot Auth (WBA): Every outgoing request is cryptographically signed with Ed25519 per RFC 9421. Enable with `OWL_WBA_ENABLED=true` to add `Signature`, `Signature-Input`, and `Signature-Agent` headers automatically.
- Signed Agent identity: When WBA is active, the browser identifies as `OwlBrowser/<version>` so websites and WAFs can verify your bot. Register with Cloudflare to appear in their bot directory alongside ChatGPT Agent and other trusted bots.
- Auto-generated `.well-known/http-message-signatures-directory` endpoint serving your Ed25519 public key, Content-Digest, and signed response headers for WAF verification.
- Multi-WAF support: Works with Cloudflare, AWS WAF (Bot Control v4.0+), Akamai Bot Manager, HUMAN Security, DataDome, and Stytch - no separate configuration needed.

#### Improvements
- Context and profile API responses now show the effective User-Agent (`OwlBrowser/<version>`) when Signed Agent mode is active.

### 1.0.9
**Date**: 2026-02-19
**Title**: Page Map Tool & Playwright Support

#### Highlights
- New browser_get_page_map for structured page understanding
- SDK update with Playwright support
- New DOM interaction tools

#### Features
- New `browser_get_page_map`: Get a compact structured map of all interactive elements on the page, grouped by sections. Returns a markdown table with numbered references, types, descriptions, current values, and selectors. Use element numbers as selectors in browser_click and browser_type (e.g., selector '5'). 10x cheaper than screenshots for AI agent page understanding.
- New tools: `browser_set_content`, `browser_is_editable`, `browser_count_elements`, `browser_dispatch_event`
- SDK update with Playwright support and new extraction features

#### Improvements
- Updated chromium version to 145

#### Fixes
- Fixed CSS selector query for complex query

### 1.0.8
**Date**: 2026-02-14
**Title**: HTTP & FTP Client Tools

#### Highlights
- New HTTP Client tools for advanced requests
- Full FTP/FTPS support
- Persistent session management

#### Features
- New `http_request` tool: Full HTTP/HTTPS request with method, headers, body, auth, proxy, and Tor support
- New `http_download` tool: Download files with resume support and proxy configuration
- Added FTP suite: `ftp_list`, `ftp_download`, and `ftp_upload` for managing files via FTP/FTPS
- New Session Management: `http_session_create`, `http_session_request`, `http_session_close`, and `http_session_list` for persistent cookie handling
- Cookie tools: `http_session_get_cookies` and `http_session_set_cookies` for importing/exporting session cookies
- Added guided tutorial on the browser control panel
- New option to download AI agent skills which will guide AI agent to build with our SDK and browser

### 1.0.7
**Date**: 2026-02-11
**Title**: Server Restart & TOR Integration

#### Highlights
- Improved server_restart_browser tool
- Per-context TOR connections via built-in TOR control

#### Features
- Docker container now builds with TOR control, enabling per-context TOR connections

#### Improvements
- `server_restart_browser` tool updated to restart the HTTP server and browser for a fresh start

### 1.0.6
**Date**: 2026-01-29
**Title**: OS Virtualization & Live Control

#### Highlights
- New OS virtualization layer
- Interactive Browser Control Panel
- Enhanced API Playground

#### Features
- Added OS layer 0.0.1: new system virtualization framework to mimic any OS (currently handling fonts)
- Interactive Browser Control Panel: support for direct click, type, clipboard, and scroll on live stream
- Added 'go' tool for instant webpage navigation and faster access
- API Playground: support for tool grouping and SDK code generation

#### Improvements
- `browser_extract_text` now supports regex for precise content extraction
- Updated fingerprint database for better anti-detection

### 1.0.5
**Date**: 2026-01-19
**Title**: Tool Assistant & SDK 2.0

#### Highlights
- Intelligent Tool Assistant for task guidance
- Python and Node.js SDKs upgraded to 2.0.0
- Enhanced prompt hijacking protection

#### Features
- Tool Assistant: intelligent assistant that helps select the right tools for your task
- New network management tools: `browser_get_network_rules`, `browser_disable_network_interception`, and `browser_disable_network_logging`
- Python SDK `owl-browser` and Node.js SDK `@olib-ai/owl-browser-sdk` upgraded to version 2.0.0 with robust flow and dynamic OpenAPI tool schema

#### Improvements
- Added stricter prompt hijacking protection for AI query and summary tools

#### Fixes
- Fixed AI query and summary tools reliability issues
- Fixed proxy management tools (`browser_set_proxy`, `browser_connect_proxy`, `browser_disconnect_proxy`) not working correctly after context creation

### 1.0.4
**Date**: 2026-01-08
**Title**: Timezone Control & Performance Boost

#### Highlights
- New browser_set_timezone tool for runtime timezone control
- 30% faster context creation
- Improved CAPTCHA solving accuracy

#### Features
- Added `browser_set_timezone` tool to dynamically set timezone for browser contexts at runtime
- New server management tools: `server_restart_browser` and `server_read_logs`

#### Improvements
- Context creation is now 30% faster with optimized initialization
- Enhanced CAPTCHA detection with support for more CAPTCHA types

#### Fixes
- Fixed memory leak when closing contexts rapidly
- Resolved proxy authentication timeout on slow connections

### 1.0.3
**Date**: 2026-01-03
**Title**: WebSocket Transport & Bug Fixes

#### Highlights
- WebSocket transport mode for lower latency
- Improved network interception reliability

#### Features
- WebSocket transport mode for bi-directional, low-latency communication

#### Improvements
- Network interception now handles streaming responses correctly
- Better error messages for license activation failures

#### Fixes
- Fixed `browser_extract_text` returning empty string on dynamic content
- Resolved screenshot capture failing on pages with WebGL content

### 1.0.2
**Date**: 2025-12-15
**Title**: AI Vision Improvements

#### Highlights
- Enhanced AI element detection
- New browser_ai_analyze tool

#### Features
- New `browser_ai_analyze` tool for comprehensive page analysis using vision AI

#### Improvements
- AI click and type operations now 40% more accurate on complex UIs
- Reduced AI model latency by implementing local caching

#### Fixes
- Fixed AI query timeout on large pages

### 1.0.1
**Date**: 2025-11-20
**Title**: Profile Management & Recording

#### Highlights
- Persistent browser profiles
- Video recording with live streaming
- Enhanced fingerprint management

#### Features
- Browser profile system: create, save, and load persistent profiles with cookies and fingerprints
- Video recording with pause/resume and live streaming capabilities
- New VM profile system with unlimited unique fingerprint hashes

#### Improvements
- Fingerprint generation now uses hardware-based entropy for better uniqueness
- Cookie management supports SameSite and Secure attributes

#### Fixes
- Fixed profile loading failing when cookies contained special characters

### 1.0.0
**Date**: 2025-10-15
**Title**: Initial Public Release

#### Highlights
- 150+ browser automation tools
- Enterprise-grade stealth technology
- TypeScript SDK and HTTP API

#### Features
- Initial release with 150+ browser automation tools
- Advanced anti-detection: bypass Cloudflare, PerimeterX, DataDome
- TypeScript SDK with Puppeteer-compatible API
- HTTP REST API for language-agnostic automation
- Built-in CAPTCHA solving with AI vision
- MCP (Model Context Protocol) integration for AI agents
