NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1353 most downloaded on PyPI
Make websites accessible for AI agents
Last release 1 months ago
04 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
2 years old
139 releases · first in 2024
One column per month.
smaller-highlights by @MagMueller in https://github.com/browser-use/browser-use/pull/2886
Full Changelog: https://github.com/browser-use/browser-use/compare/0.7.1...0.7.2
Recently, we have pushed a migration where we got rid of Playwright in favor of pure CDP. As expected, such a large migration introduced lots of bugs,
Recently, we have pushed a migration where we got rid of Playwright in favor of pure CDP. As expected, such a large migration introduced lots of bugs, which we quickly fixed thanks to the help of the community!
This version of Browser Use is significantly more stable!
Full Changelog: https://github.com/browser-use/browser-use/compare/0.7.0...0.7.1
Remove unused parameters by @MagMueller in https://github.com/browser-use/browser-use/pull/2831
planner_llmmemory_configtimezoneviewport_expansionuse_touchBrowser, Tools) are backwards compatiblefrom browser_use import Agent, Browser, ChatOpenAI, Tools
llm = ChatOpenAI(model='gpt-4.1-mini')
browser = Browser(cdp_url='', headless=False)
tools = Tools()
agent = Agent(
task='',
llm=llm,
tools=tools,
browser=browser,
)
fix: fix remote browser downloads handling by @reformedot in https://github.com/browser-use/browser-use/pull/2747
Full Changelog: https://github.com/browser-use/browser-use/compare/0.6.2...0.6.3
fix-llm-timeout-errors by @MagMueller in https://github.com/browser-use/browser-use/pull/2726
Full Changelog: https://github.com/browser-use/browser-use/compare/0.6.0...0.6.1
Fix: Decouple use_vision and generate_gif settings by @Louis454545 in https://github.com/browser-use/browser-use/pull/2635
<img width="1200" height="630" alt="bye-playwright-banner" src="https://github.com/user-attachments/assets/ba2f2aac-5821-4536-a833-91501dca939e" />
BrowserSession to remove Playwright in favor of cdp-use and bubus by @pirate in https://github.com/browser-use/browser-use/pull/2573Full Changelog: https://github.com/browser-use/browser-use/compare/0.5.11...0.6.0
Fix: Decouple use_vision and generate_gif settings by @Louis454545 in https://github.com/browser-use/browser-use/pull/2635
BrowserSession to remove Playwright in favor of cdp-use and bubus by @pirate in https://github.com/browser-use/browser-use/pull/2573Full Changelog: https://github.com/browser-use/browser-use/compare/0.5.11...0.6.0rc1
Most important change is that the default setting of temperature=0.1 and frequency_penalty=0.0 was reverted to 0.2 and 0.05, which performs much bette
Most important change is that the default setting of temperature=0.1 and frequency_penalty=0.0 was reverted to 0.2 and 0.05, which performs much better with a lot of model!
Full Changelog: https://github.com/browser-use/browser-use/compare/0.5.10...0.5.11
Fix Gemini schema processing for non-string type fields by @jaiganeshs21 in https://github.com/browser-use/browser-use/pull/2551
Full Changelog: https://github.com/browser-use/browser-use/compare/0.5.9...0.5.10
Full Changelog: https://github.com/browser-use/browser-use/compare/0.5.8...0.5.9
Full Changelog: https://github.com/browser-use/browser-use/compare/0.5.8...0.5.9
Update docs to include browser profiles (also remove deprecated GIF endpoint) by @LarsenCundric in https://github.com/browser-use/browser-use/pull/252…
about:blank and chrome:// urls by @pirate in https://github.com/browser-use/browser-use/pull/2561seed, top_p and temperature parameters, Update Cloud API Docs by @maticzav in https://github.com/browser-use/browser-use/pull/2518about:blank and chrome:// urls, improve mcp cli examples by @pirate in https://github.com/browser-use/browser-use/pull/2563service_tier param by @sophiabits in https://github.com/browser-use/browser-use/pull/2565wait action by @pirate in https://github.com/browser-use/browser-use/pull/2567Full Changelog: https://github.com/browser-use/browser-use/compare/0.5.6...0.5.7
Update docs to include browser profiles (and remove deprecated GIF endpoint) by @LarsenCundric in https://github.com/browser-use/browser-use/pull/2527
Full Changelog: https://github.com/browser-use/browser-use/compare/0.5.5...0.5.6
fix: use user-provided executable_path instead of defaulting to chromium by @tomlin7 in https://github.com/browser-use/browser-use/pull/2373
Full Changelog: https://github.com/browser-use/browser-use/compare/0.5.4...0.5.5
The agent can now handle automatic recovery in these scenarios:
The agent can now handle automatic recovery in these scenarios:
<head>)while (true) {} or other CPU-hogging JS code that crashes page's JS runtimeuser_data_dir is missing / corrupt / SingletonLocked by another ChromePreviously, you may have seen some of these cryptic errors when pages crashed:
❌ TargetClosedError: Target page, context or browser has been closed⚠️ Timeout 30000ms exceeded. Call log: - taking page screenshot🔓 Failed to take screenshot: FileNotFoundError: [Errno 2] No such file or directory: '/tmp/browser_use_semaphores/screenshot_global.00.lock'👤 Chromium launch error: Failed for unknown reason with user_data_dir= ~/.config/browseruse/default
But now, the agent properly handles most common crashes by taking the following steps:
page.evaluate(1)works (sometimes ok even if load never finishes)about:blank so the LLM can keep trying different approaches instead of crashing the whole Agent taskuser_data_dir, BrowserSession will fall back to using a tmp incognito user_data_dir=None and any provided storage_state.json cookies.Please open an issue if you encounter any problems or deviations from this expected behavior!
<img width="3864" height="838" alt="image" src="https://github.com/user-attachments/assets/2d73408f-3e1d-4e26-b49b-acb23cbd4870" />
[!TIP]
🐢 You can increase the default navigation and page interaction timeouts when dealing with slow network or servers:
- https://docs.browser-use.com/customize/browser-settings#playwright-timing-settings
- https://docs.browser-use.com/customize/browser-settings#timeout
- https://playwright.dev/python/docs/api/class-browsercontext#browser-context-set-default-navigation-timeout
📈 Re-use our new native retry decorators in your own projects & custom actions for more stable & consistent behavior:
bubus/helpers.py:@retry(timeout=5, wait=1, retries=2, ...)browser_use/browser/session.py:@require_healthy_browser(usable_page=True, reopen_page=True)
We're gradually transitioning from Playwright to our own in-house library browser-use/cdp-use to unlock additional browser APIs and deliver better performance & stability for the Browser-Use Agent.
Playwright has architectural limitations that clash with our use case. Built primarily for cross-browser consistency and QA testing, it relies on a singleton Node.js WebSocket relay subprocess that frequently conflicts with long-running Python asyncio server-side backends. It sometimes makes blocking sync calls from async code during RPC operations, rendering timeouts unenforceable at the browser-use level and leading to random Agent crashes and deadlocks under high load.
This forces us into defensive programming hell: external forked watchdog monitors that kill parent processes when they stall, leading to flakiness on slower machines, which demands 1-per-machine global semaphores, plus the delightful ritual of kill -9 -killasgroup to eliminate zombie browser processes. It's a complexity snowball stemming from a leaky abstraction chain of async Python → Node.js → CDP → browser, we're hoping to improve it by eliminating one layer (the Node.js playwright relay).
We've burned too much time building and maintaining buggy workaround wrappers to sidestep Playwright issues. Recently, we experimented with dropping Playwright calls entirely in favor of direct CDP commands—and the speed and stability improvements were immediately encouraging.
We're also keeping a close eye on the upcoming [WebDriver BiDi spec](https://www.w3.org/TR/webdriver-bidi/) that may eventually replace CDP, while learning from other browser driver layers in the ecosystem: BrowserQL, Puppeteer, Stagehand, mcp-b.ai, Selenium, Cypress, TamperMonkey, and friends.
Don't panic. We're maintaining existing Playwright API compatibility and interop between browser-use methods and Playwright objects for the 0.5.x series. As a library or application user, you shouldn't notice any changes—provided you're using a Chromium-based browser (Brave, Ungoogled Chromium, Edge, Opera, etc.) via CDP.
Firefox and Safari support? Not in the main library right now. We're focused on mastering CDP stealth first, though we may circle back to support them eventually. In the meantime, we encourage community contributions of alternative BrowserSession() implementations that users can pass to Agent() (🕶️ think NinjaBrowserSession() for extra stealth, WebdriverBidiBrowserSession(), ExtensionBridgeBrowserSession(), etc.).
📣 Ready to help build the future? Join us at cdp-use + #2400!
BrowserSession helper methods: navigate(), navigate_to(), create_new_tab(), new_page(), etc. into just navigate(url: str, new_tab: bool, timeout_ms: int) by @pirateFull Changelog: https://github.com/browser-use/browser-use/compare/0.5.3...0.5.4
👤 BrowserSession(user_data_dir='/path/to/some/profile') will now fall back to using a temporary incognito 🕶️ user_data_dir=None profile in any cases w
user_data_dir👤 BrowserSession(user_data_dir='/path/to/some/profile') will now fall back to using a temporary incognito 🕶️ user_data_dir=None profile in any cases where the browser fails to launch with the one your provide (instead of just crashing).
user_data_dirs becoming unusable can happen quite frequently due to:
user_data_dir got corrupted (due to chrome being killed mid-launch too many times, files deleted by accident, or if it got migrated to a newer backwards-incompatible version by a chrome update)user_data_dir/SingletonLock conflict due to multiple chrome instances trying to share a single profile diruser_data_dir filesystem permissions, missing network mount, FSYNC support, or preferences registry issue[!IMPORTANT] If any of these
user_data_diredge cases are encountered, you may notice the Agent will now proceed anyway with a blank profile and no logins/cookies.
This is intentional as we want to push people towards using a storage_state.json and sensitive_data instead of user_data_dirs for managing logins and auth credentials. user_data_dir are heavy (often >1Gb), easily corrupted, and not cross-compatible between browser versions/OSs/CPU architectures, in contrast storage_state JSON files are lightweight, updated atomically to avoid corruption, and are safe to share across many browsers in highly parallel environments.
Full Changelog: https://github.com/browser-use/browser-use/compare/0.5.2...0.5.3
hot-fix-screenshot by @MagMueller in https://github.com/browser-use/browser-use/pull/2351
launch() by @pirate in https://github.com/browser-use/browser-use/pull/2347Full Changelog: https://github.com/browser-use/browser-use/compare/0.5.0...0.5.2
➡️ Expose external MCP servers & tools to the Browser Use agent, and ⬅️ Expose Browser Use's core tools & the full Agent as an MCP server callable by
➡️ Expose external MCP servers & tools to the Browser Use agent, and ⬅️ Expose Browser Use's core tools & the full Agent as an MCP server callable by other MCP clients
MCP in both directions is now supported natively 🎉
<img width="1778" alt="Screenshot 2025-07-07 at 9 53 40 PM Browser-Use AI Browser Automation" src="https://github.com/user-attachments/assets/467a4897-9c93-44cb-9776-889f4f72d157" />
browser-use.dxt Claude Desktop Extension below, and double-clickt to use it (recommended).json{
"mcpServers": {
"browser-use": {
"command": "uvx",
"args": ["browser-use[cli]", "--mcp"]
}
}
}
~/.config/browseruse/config.json schema for use with new MCP client and server connectorsFull Changelog: https://github.com/browser-use/browser-use/compare/0.4.5...0.5.0
eval enable debug by @MagMueller in https://github.com/browser-use/browser-use/pull/2284
title fields when optimising schema by @ai-christianson in https://github.com/browser-use/browser-use/pull/2324Full Changelog: https://github.com/browser-use/browser-use/compare/0.4.4...0.4.5
Nothing published for this version
.github/workflows: Migrate workflows to Blacksmith runners by @blacksmith-sh in https://github.com/browser-use/browser-use/pull/2195
Full Changelog: https://github.com/browser-use/browser-use/compare/0.4.2...0.4.3
no screenshot in the beginning blank page by @mertunsall in https://github.com/browser-use/browser-use/pull/2154
Full Changelog: https://github.com/browser-use/browser-use/compare/0.4.1...0.4.2
Nothing published for this version
We have migrated away from lanchain, instead of importing from langchain to set up your LLM, import our own LLM class:
We have migrated away from lanchain, instead of importing from langchain to set up your LLM, import our own LLM class:
from browser_use.llm import ChatOpenAI
llm = ChatOpenAI(...)
AWS Bedrock, Deepseek, and Ollama are not supported yet in this version, wait for the next version or stay on 0.3.2 until we add support.
https://docs.browser-use.com/customize/supported-models#migration-from-langchain
user_data_dir to uniquely identify launched browser_pid when user_data_dir=None by @pirate in https://github.com/browser-use/browser-use/pull/2063api.browser-use.com by @pirate in https://github.com/browser-use/browser-use/pull/2064BrowserSession.is_connected() async and ensure at least one tab always exists in context by @pirate in https://github.com/browser-use/browser-use/pull/2066Full Changelog: https://github.com/browser-use/browser-use/compare/0.3.2...0.3.3
The agent now tracks all the uploads/downloads it has access to in a unified manner. Thanks to @mertunsall! 🚀
FileSystem FeatureThe agent now tracks all the uploads/downloads it has access to in a unified manner. Thanks to @mertunsall! 🚀
Significant improvements to the system prompt and agent state, also thanks to @mertunsall! 🤘
👾 PSA: currently when launching many browsers at the same time in a highly parallel environment, the
browser_pidcode can sometimes detect the wrong browser as launched, leading to agents occasionally closing the wrong browser at the end of their task. We're working on a fix in the next release!
Full Changelog: https://github.com/browser-use/browser-use/compare/0.3.1...0.3.2
Revert broken iframe traversal changes for now "Fix cross-origin iframe DOM retrieval" by @pirate in https://github.com/browser-use/browser-use/pull/2
Full Changelog: https://github.com/browser-use/browser-use/compare/0.3.0...0.3.1
Fix critical domain restriction bypass vulnerability by @saharmor in https://github.com/browser-use/browser-use/pull/2006
Full Changelog: https://github.com/browser-use/browser-use/compare/0.2.7...0.3.0
⚡️ Bugfixes, performance improvements, improved evals scores.
⚡️ Bugfixes, performance improvements, improved evals scores.
traces_dir aka trace_path, save_path_path aka record_har_path, save_recording_path aka record_video_dir are now all handled the samewait_for_load_state timeout handling, make more things async, improve parallel tab setup handling by @pirate in https://github.com/browser-use/browser-use/pull/1973Full Changelog: https://github.com/browser-use/browser-use/compare/0.2.6...0.2.7
💪 Many bugfixes for multi-agent / multi-BrowserSession use-cases. Fixes the Event loop is closed and other async playwright errors from previous versi
💪 Many bugfixes for multi-agent / multi-BrowserSession use-cases. Fixes the Event loop is closed and other async playwright errors from previous version.
BrowserSession(stealth=True) & BrowserProfile(stealth=True) now provided as a shortcut to use patchrightAgent, BrowserSession, and BrowserProfile now have a unique UUID, and can easily be stored in a DBBrowserConfig, BrowserContextConfig parameter names like downloads_dir<img width="741" alt="Screenshot 2025-06-09 at 10 19 24 PM" src="https://github.com/user-attachments/assets/3cea3bd3-d9da-485e-b07c-f71488181178" /> <img width="825" alt="image" src="https://github.com/user-attachments/assets/7f583acb-1798-4582-b7c1-8fdd4b2a0f4b" />
<img width="1334" alt="image" src="https://github.com/user-attachments/assets/16463bdc-873b-4b58-b7fb-8077896dc24d" />
📚 Also comes with more improvements to our docs, and new tests specifically covering the examples in the docs:
browser-use CLI --cdp-url, --user-data-dir, and --profile-directory options by @tycronk20 in https://github.com/browser-use/browser-use/pull/1889BrowserSession.kill() to force-close a session even if it has keep_alive = True set by @pirate in https://github.com/browser-use/browser-use/pull/1890storage_state.json even when connecting to existing browsers by @pirate in https://github.com/browser-use/browser-use/pull/1859BrowserSession with keep_alive=True be started manually before passing to Agent() by @pirate in https://github.com/browser-use/browser-use/pull/1946BrowserSession objects per thread by @pirate in https://github.com/browser-use/browser-use/pull/1945BrowserSession(stealth=True) shortcut for patchright, prevent race conditions on session start by @pirate in https://github.com/browser-use/browser-use/pull/1915Full Changelog: https://github.com/browser-use/browser-use/compare/0.2.5...0.2.6
browser-use -p 'get todays DOW stock price and return it as JSON, e.g.: {"dow_price": 40000.00}' ```
# 🧙♂️ new one-shot CLI mode
browser-use -p 'get todays DOW stock price and return it as JSON, e.g.: {"dow_price": 40000.00}'
📚 Improved docs:
<a href="https://docs.browser-use.com/customize/real-browser#re-using-a-browser"><img width="804" alt="Screenshot 2025-05-27 at 10 37 56 PM BrowserSession Re-Using a Browser" src="https://github.com/user-attachments/assets/994e22e1-94b7-443c-9411-5ad7e887475d" /></a>
browser-use -p 'some prompt here...' oneshot CLI by @pirate in https://github.com/browser-use/browser-use/pull/1797env display inherit code by @Alezander9 in https://github.com/browser-use/browser-use/pull/1809BrowserSession.create_new_tab was never awaited by @pirate in https://github.com/browser-use/browser-use/pull/1818cookies_file argument in new BrowserSession() system by @pirate in https://github.com/browser-use/browser-use/pull/1820Full Changelog: https://github.com/browser-use/browser-use/compare/0.2.4...0.2.5
👾 This release just fixes the browser-use CLI: pip install browser-use[cli] + browser-use
👾 This release just fixes the browser-use CLI: pip install browser-use[cli] + browser-use
The CLI currently only supports OpenAI as a model, though we're adding support for more models soon!
<img width="2056" alt="image" src="https://github.com/user-attachments/assets/34914d6e-4946-4ca4-977c-bcbb84f6fed8" />
💪 Tons of improvements to the docs & examples + fixed bugs around BrowserSession re-use between agents.
💪 Tons of improvements to the docs & examples + fixed bugs around BrowserSession re-use between agents.
_replace_sensitive_data() code, docs improvements for new BrowserSession by @pirate in https://github.com/browser-use/browser-use/pull/1766Full Changelog: https://github.com/browser-use/browser-use/compare/0.2.2...0.2.3
Auto-detect tool calling method and verify llm api at startup by @Anirudha619 in https://github.com/browser-use/browser-use/pull/1718
Note: the CLI
$ browser-use(cli.py) has not been upgraded to work in the0.2.xreleases yet, sorry for the trouble! if you need the CLI, stay on0.1.48for another week.from browser_use import ...library use is working fine 👍
Full Changelog: https://github.com/browser-use/browser-use/compare/0.2.1...0.2.2
> ☁️ Browser-Use Cloud also now supports Webhooks! We've made it easy to wire up Browser-Use to other systems.
<img src="https://github.com/user-attachments/assets/5323a9cb-b625-45c7-9d05-16e727a59ff6" width="49%" align="top"><img src="https://github.com/user-attachments/assets/c9c179ba-4965-46cf-8db4-574c80509407" width="40%" align="top"/>
[!TIP] ☁️ Browser-Use Cloud also now supports Webhooks! We've made it easy to wire up Browser-Use to other systems.
We've added several new methods of detecting elements on pages and refined the existing ones. We've also added support for more models and vector store providers for memory. Debug and info logging is also significantly improved in general.
BrowserProfile + BrowserSessionhttps://docs.browser-use.com/customize/browser-settings
https://docs.browser-use.com/customize/real-browser
You can also now pass in existing Playwright (or Patchright!) Page, BrowserContext, and/or Browser objects.
agent = Agent(task='fill out this form', llm=llm, page=page)
<details> <summary> <b>Replaces</b>: <code>Browser, BrowserConfig, BrowserContext, BrowserContextConfig</code>. See more... </summary>
from browser_use import BrowserProfile, BrowserSession, Agent
async def main():
browser_profile = BrowserProfile(
is_mobile=True,
window_size={'width': 460, 'height': 720},
# ✨ all standard playwright launch_persistent_context() args are now supported here...,
# all config from old BrowserConfig(), BrowserContextConfig() objects is also supported...
)
browser_session = BrowserSession(
# cdp_url: str, # connect to a remote browser
# browser: Browser | BrowserContext | Page, # ✨ can now use existing playwright browser objects
# or launch a new local browser with a given profile/user_data_dir/binary:
browser_profile: BrowserProfile,
# user_data_dir: Path='~/.config/browseruse/profiles/default',
# executable_path: Path,
# headless: bool=False,
# playwright=await async_patchright().start(), # optional: use patchright instead of playwright for stealth
# ... any BrowserProfile kwargs can also go here as overrides ...
allowed_domains=['https://*.google.com', 'chrome-extension://*', '*.example.com'], # ✨ can now enforce the scheme too
)
agent = Agent(task="find today's DOW stock price", browser_session=browser_session) # or page=page, ...
await agent.run()
See an example of going back-and-forth with another tool sharing a single browser: examples/integrations/stagehand_back_and_forth.py
</details>
Page object directlyCustom actions can now ask for the playwright page or browser_session parameters:
from patchright.async_api import Page
from browser_use import Controller, Registry
controller = Controller
@controller.registry.action(description='Some custom Google sheets action', allowed_domains=['https://docs.google.com'])
async def setup_spreadsheet_graph(cell_range: str, page: Page): # <-- 🎭 use page to get a normal playwright Page object
# page = await browser.get_current_page() # <--- extra call no longer needed to get current page
await page.evaluate("""() => {
// define the wiggle animation
document.styleSheets[0].insertRule('@keyframes wiggle { 0% { transform: rotate(0deg); } 50% { transform: rotate(10deg); } 100% { transform: rotate(0deg); } }');
document.querySelectorAll("*").forEach(element => {
element.style.animation = "wiggle 0.5s infinite";
});
}""")
https://docs.browser-use.com/customize/sensitive-data#domain-specific-sensitive-data
https://docs.browser-use.com/customize/browser-settings#:~:text=same%20browser%20instance.-,allowed_domains
~/.config/browseruse/profiles/default
~/.config and can be easily set up with only the cookies the bot needs for its tasksAgent(sensitive_data) now expects a new format {domain: {key, val, ...}} instead of {key: value, ...}, the new format restricts credentials on a per-domain basis. The domain uses the same matching system as allowed_domains so it supports globs and scheme checking too: http*://*.example.comBrowserSession(allowed_domains=[...]) now defaults to enforcing https:// unless http:// or http*:// is explicitly includedMemoryConfig() by @pirate in https://github.com/browser-use/browser-use/pull/1696Browser, BrowserConfig, & BrowserContextConfig into simpler BrowserProfile & BrowserSession by @pirate in https://github.com/browser-use/browser-use/pull/1699*. glob logic, and allow enforcing scheme as well as domain: https://domain, better logging, new loading animation by @pirate in https://github.com/browser-use/browser-use/pull/1750Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.48...0.2.1
add allowed_domains=['*.example.com'] glob pattern matching support by @pirate in https://github.com/browser-use/browser-use/pull/1674
add allowed_domains=['*.example.com'] glob pattern matching support by @pirate in https://github.com/browser-use/browser-use/pull/1674
<img width="824" alt="image" src="https://github.com/user-attachments/assets/1337a077-4a2a-45a4-b4b7-88fa0d804192" />
Fix Httpx issue closing all clients by @sandeepsalwan1 in https://github.com/browser-use/browser-use/pull/1688
Docker images are automatically published to Docker Hub via CI by @danilaplee in https://github.com/browser-use/browser-use/pull/1608
Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.47...0.1.48
fix --user-data-dir=~/.config/browseruse/... not expanded in chrome_launch_args by @khesui in https://github.com/browser-use/browser-use/pull/1667
--user-data-dir=~/.config/browseruse/... not expanded in chrome_launch_args by @khesui in https://github.com/browser-use/browser-use/pull/1667browser-use[cli] group, rename GEMINI_API_KEY -> GOOGLE_API_KEY by @pirate in https://github.com/browser-use/browser-use/pull/1673Dockerfile and .dockerignore by @Ameya-2003 in https://github.com/browser-use/browser-use/pull/1579Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.46...0.1.47
fix: suppress FAISS-related deprecation warnings by @pyoneerC in https://github.com/browser-use/browser-use/pull/1616
patchright to playwright until we resolve the performance and stability issues with patchright @pirate in https://github.com/browser-use/browser-use/pull/1633Dockerfile and .dockerignore file for containerizing "browser-use" by @Ameya-2003 in https://github.com/browser-use/browser-use/pull/1542get_current_page foreground tab detection, improve viewport resizing, and add security warnings by @pirate in https://github.com/browser-use/browser-use/pull/1566Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.45...0.1.46
💔 BREAKING CHANGE: BrowserWindowContextSize object removed, switch to flat attrs instead. sorry for the trouble! change: BrowserContextConfig(window_s…
<img src="https://github.com/user-attachments/assets/bce7b8ef-77b2-4bb4-a4c8-2def1e949f11" width="47%"><img src="https://github.com/user-attachments/assets/9cf04289-f9a9-46a7-b02d-3c8cd33e1a87" width="53%">
claude code for browser-use by @pirate in https://github.com/browser-use/browser-use/pull/1559BrowserWindowContextSize object removed, switch to flat attrs instead. sorry for the trouble!
change: BrowserContextConfig(window_size=BrowserWindowContextSize(width=1280, height=900)
to: flat BrowserContextConfig(window_width=1280, window_height=900), used for viewport as well when no_viewport=False
in https://github.com/browser-use/browser-use/pull/1557allowed_domains by @pirate in https://github.com/browser-use/browser-use/pull/1561
_ _Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.43...0.1.45
Revise README.md to enhance clarity and organization of features, inc… by @MagMueller in https://github.com/browser-use/browser-use/pull/1540
Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.42...0.1.43
release 0.1.41 officially by @pirate in https://github.com/browser-use/browser-use/pull/1401
self._verify_llm_connection() on init by @pirate in https://github.com/browser-use/browser-use/pull/1448force_new_context=True flag so that custom context config can be applied when connecting to existing browsers by @kalil0321 in https://github.com/browser-use/browser-use/pull/1412Annotated by @cclauss in https://github.com/browser-use/browser-use/pull/1451mem0 telemetry by @vfdev-5 in https://github.com/browser-use/browser-use/pull/1470Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.41...0.1.42
> ### Better browser launching, more elements detected, improved logging, config, and much more...
Better browser launching, more elements detected, improved logging, config, and much more...
<img src="https://github.com/user-attachments/assets/c3c35cc8-aa10-4e1c-80c4-93f1d8ec1398" width="31%"/><img src="https://github.com/user-attachments/assets/f5d2723d-afc0-4725-b0e2-cd12372e80ff" width="38%"/><img src="https://github.com/user-attachments/assets/4f38d8d6-eb0f-438e-b7b0-513f4a5cc7c9" width="31%"/><img src="https://github.com/user-attachments/assets/c76ad2eb-1301-47a0-adc1-bf4749470680" width="55%"/><img src="https://github.com/user-attachments/assets/7f87e2a3-99dc-4ce3-bcac-2d00e6aed0ff" width="45%"/>
🚀 Thank you all so much who worked on this massive release! We appreciate all of your contributions and this was a massive effort by many people. Every day the library's capabilities and opportunities grow, and it just keeps getting better as more people show up to help! Thanks for bearing with us catching up with some of these PRs, we got such a flood of attention that it will take us a little while to fully catch up.
examples/models/claude-3.7-sonnet.py by @dsomel21 in https://github.com/browser-use/browser-use/pull/909--disable-web-security by @pirate in https://github.com/browser-use/browser-use/pull/1114simple.py example imports by @pirate in https://github.com/browser-use/browser-use/pull/1149google-api-core to Dependencies by @pppp606 in https://github.com/browser-use/browser-use/pull/1027browser.close() when keep_alive=False by @pirate in https://github.com/browser-use/browser-use/pull/1177extract_content action smaller by @mkuts12 in https://github.com/browser-use/browser-use/pull/981*.example.com by @pirate in https://github.com/browser-use/browser-use/pull/1182ProxySettings & BrowserContextWindowSize to pydantic models + fix bugs where code was expecting dicts by @pirate in https://github.com/browser-use/browser-use/pull/1300Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.40...0.1.41
Update browser-settings.mdx by @NinoRisteski in https://github.com/browser-use/browser-use/pull/815
Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.39...0.1.40
Debug time needed by @MagMueller in https://github.com/browser-use/browser-use/pull/809
Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.38...0.1.39
Fix Pass sensitive_data to multi_act executed via rerun_history by @pppp606 in https://github.com/browser-use/browser-use/pull/706
sensitive_data parameter to multi_act in rerun_history - Unit Tests by @codebeaver-ai in https://github.com/browser-use/browser-use/pull/707Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.37...0.1.38
Include streaming example by @MagMueller in https://github.com/browser-use/browser-use/pull/563
Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.36...0.1.37
Add Weave badge to README by @a-churchill in https://github.com/browser-use/browser-use/pull/542
Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.35...0.1.36
Enhancement/page summary by @MagMueller in https://github.com/browser-use/browser-use/pull/518
Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.34...0.1.35
Add markdownify to pyproject.toml by @jersobh in https://github.com/browser-use/browser-use/pull/513
Hotfix missing library
Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.33...0.1.34
Add Azure OpenAI UI and model example by @somethingwentwell in https://github.com/browser-use/browser-use/pull/427
Full Changelog: https://github.com/browser-use/browser-use/compare/0.1.32...0.1.33
This is useful for reusing CSS selectors later.
This is useful for reusing CSS selectors later.
This makes it easier to reproduce scripts
This makes it easier to reproduce scripts
this enables you to clear all open tabs
Even though r1 is not made yet for tool-calling, with this release we can parse its result and make it work.
I am calculating the token count used, which is 80 MB per message for OpenAI. I have changed it to a simple estimate.
Added the capability to define initial actions (e.g., navigate to a website, scroll down) before starting interactions with the LLM. Perfect for use c
Added the capability to define initial actions (e.g., navigate to a website, scroll down) before starting interactions with the LLM. Perfect for use cases requiring setup tasks!
Optimized support for cloud-based operations, ensuring smoother deployments and better scalability.
Migrated time.sleep to asyncio.sleep for faster, non-blocking operations and improved performance.
Introduced callbacks for step and done events, enhancing control and monitoring during execution.
Added the ability to exclude specific actions, giving users more flexibility and customization.
Strengthened test cases to ensure the utmost reliability and robustness.
Set viewport_expansion to include up to the entire page into context, default is a little bit more than the viewport
Fixed langchain-google-genai==2.0.8, because we are not compatible with 2.0.9
Automatically detect which tool-calling method to use
Hotfix: Lang chain changed structured output
Nothing published for this version
Version of package was not found
Your coding agent can read these notes before it upgrades. Set up the MCP server →