Releases: browser-use/browser-use
0.1.41rc1: Better browser launching, more elements detected, improved logging, config, and much more...
Important
This is a BETA
release-candidate! Please help us test it: git checkout main; git pull; uv sync
OR
pip install --upgrade git+https://github.com/browser-use/browser-use.git@main
🚀 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.
🛠️ What's Changed
- Add flexible system prompt customization options by @MagMueller in #840
- Create README.md by @D-Yuva in #831
- Updated the incorrect redirecting link for Langchain Models by @Varun270 in #829
- build: add repository url to pypi definition by @iloveitaly in #790
- docs: expanded browser config example by @iloveitaly in #806
- Update real-browser.mdx by @NinoRisteski in #848
- Update docs: google_search → search_google by @Strajk in #851
- feat: Add Wikipedia navigation example from banana to quantum mechanics by @MagMueller in #854
- Fix cookies and nav-bar buttons by @MagMueller in #855
- Fix reddit by @MagMueller in #866
- Revert extraction layer to previous state to include text again corre… by @MagMueller in #868
- Works for immo24 by @MagMueller in #884
- Update README.md by @MagMueller in #908
- [EASY] Update example in
examples/models/claude-3.7-sonnet.py
by @dsomel21 in #909 - Update quickstart.mdx by @NinoRisteski in #904
- Fix:mutable default argument. by @shudaizi1989 in #901
- Fixed typo by @Eshwar1212-maker in #898
- DeepSeek R1 Distill Support by @codenoid in #996
- Separated internal output model from suplied model, and fixed a parsi… by @guybensimhon1 in #959
- Update isContentEditable handling to check readonly and disabled attr… by @guybensimhon1 in #937
- Fixed typo in browser-settings.mdx, and made external providers a link by @guybensimhon1 in #1039
- fix: convert xpath with colons in element names by @cloudcarver in #1038
- Eval: Add Grok eval by @siddhantsomani in #1036
- Update README.md by @MagMueller in #1102
- Add Google Sheets support by automating keyboard shortcuts by @pirate in #1101
- Improve: Add dynamic font sizing for large task displays in GIFs by @Anshdeep-Singh in #1096
- fix: Update markdownify from 0.14.1 to 1.1.0 to resolve text spacing issues by @lynnzc in #1083
- fix: cast element id to string in buildDomTree.js by @KazuhitoT in #1081
- Update browser-settings.mdx by @jochen-testingbot in #1075
- fix(headless): support headless for real chrome by @laundry2 in #1065
- docs: Update agent-settings.mdx by @Anshdeep-Singh in #1103
- Feature - Add multibrowser support by @noggies in #950
- fix: close httpx connections to avoid memory leaks by @adamdelezuch89 in #895
- Fixed missing text input detection in DOM parsing by @KalharPandya in #1043
- fix: empty interacted element in history when interacted index is 0 by @NvRom in #1015
- Feature to save webpage as PDF to given path by @ml5ah in #1095
- Ignore LangChainBetaWarning by @SmartManoj in #1113
- Add specific Playwright installation commands by @SmartManoj in #1112
- fix import by @SmartManoj in #1111
- fix: allow callback to be sync functions by @DarkPhoenix2704 in #1109
- Simplify browser setup by @SmartManoj in #1108
- fix: swaped the langchain bedrock function by @nicolasdickenmann in #1000
- feat: Add browser context options for mobile simulation, geolocation, permissions and timezone settings by @hao-cyber in #1058
- Support QwQ-32b by @vonjackustc in #1054
- Update quickstart.mdx to use uv by @mikegehard in #1041
- Efficient Detection of Interactive Elements using computed cursor style by @Rahul-Sharma-1729 in #1031
- fix: Move HTTPX client cleanup from agent to browser close by @lynnzc in #1122
- Bugfix: error when trying to create empty dir. by @cheewba in #998
- Bugfix: in case if node element has a shadow dom, all other children are not processed by @cheewba in #997
- Fixed allowed_domains restriction feature by @niranjandasMM in #1119
- Set WindowsProactorEventLoopPolicy for streamlit by @SmartManoj in #1129
- Typo examples/shopping.py by @onurkanbakirci in #1125
- Open cross-origin iframes in a new tab to avoid needing
--disable-web-security
by @pirate in #1114 - Fixes for tab selection on startup by @pirate in #1141
- #544 issue resolved , used chrometabs api by @SwapnilSonker in #633
- Fixed the screenshot flickering issue by @PaperBoardOfficial in #740
- Update supported-models.mdx by @deanyxu in #1142
- Enhance dropdown by @SmartManoj in #933
- Fix special case for viewport expansion in visibility check by @Zhen3r in #953
- Devops - Removed hatch by @pabshazon in #1035
- Add n8n integration documentation for Browser Use by @hoangnb24 in #897
- Update Documentation: Clarify the Distinction Between browser-use’s Browser and Playwright’s Browser by @pppp606 in #739
- HAR file recording by @jlogtenberg in #967
- Added missing env variables in .env.example by @ml5ah in #1145
- fix error: name 'browser_class' is not defined by @vikingden8 in #1147
- Fix the
simple.py
example imports by @pirate in #1149 - Fix: Explicitly Add
google-api-core
to Dependencies by @pppp606 in #1027 - fix: update hatch build includes for correct package structure by @lynnzc in #1154
- Disable opening cross-origin iframes in new tabs for now by @pirate in #1161
- Add support for asking the agent to close tabs by @pirate in #1162
- Exclude extensions from current tab detection and fix follow_up_tasks example by @pirate in https://gith...
0.1.40
What's Changed
- Update browser-settings.mdx by @NinoRisteski in #815
- Clean up state by @MagMueller in #825
- For models without tool calling, add available actions to context by @MagMueller in #826
- History improvement by @MagMueller in #827
- Metadata in history by @MagMueller in #830
- Force done output by @MagMueller in #835
- Update pyproject.toml by @MagMueller in #836
Full Changelog: 0.1.39...0.1.40
0.1.39
What's Changed
- Debug time needed by @MagMueller in #809
- Include model for page_extraction_llm by @MagMueller in #811
Full Changelog: 0.1.38...0.1.39
0.1.38
What's Changed
- Fix Pass sensitive_data to multi_act executed via rerun_history by @pppp606 in #706
- feat: improve multi-language font support in GIF generation by @weibing-bab in #711
- Fix Add
sensitive_data
parameter tomulti_act
in rerun_history - Unit Tests by @codebeaver-ai in #707 - Avoid logging sensitive information on input_text logs in controller by @jersobh in #724
- fix: optimize macOS font loading for better CJK support by @weibing-bab in #719
- Improve UI Examples by @k-w-lee in #730
- Improve the roadmap by @MagMueller in #742
- Doc fix: Fixed broken link to extra_chromium_args by @RishabhKodes in #746
- fix: Filter out empty values on sensitive_data, Fixes a critical issue with token counts exceeding one million. by @kushtrimjunuzi in #749
- Example find influencer profiles by @MagMueller in #751
- Dev by @MagMueller in #766
- Cleanup Code by @maticzav in #712
- Lib 41 fix extraction for text fields in iframe bodies by @MagMueller in #764
- Outsource state externally by @gregpr07 in #765
- Fix Schema Validation for AgentOutput by @XxAlonexX in #768
- Fix inconsistent indentation in controller/views.py by @henryclw in #767
- Speed improvement2 by @MagMueller in #773
- Bugfix/new context wrong state2 by @MagMueller in #793
- Speed improvement3 by @MagMueller in #777
- Find email address example by @MagMueller in #794
- Eval for claude and no-vision by @MagMueller in #796
New Contributors
- @weibing-bab made their first contribution in #711
- @RishabhKodes made their first contribution in #746
- @kushtrimjunuzi made their first contribution in #749
- @henryclw made their first contribution in #767
Full Changelog: 0.1.37...0.1.38
0.1.37
What's Changed
- Include streaming example by @MagMueller in #563
- Feature/file upload dict by @MagMueller in #565
- Readme/add demo by @MagMueller in #605
- Improve DOM Processing by @maticzav in #616
- Updated local-setup.mdx - Incorrect models page link by @R-Mohammed-Hasan in #639
- Example custom function for web search by @MagMueller in #675
- bug fix syntax warning invalid escape by @CookieMonsteriOS in #670
- Update service.py by @NinoRisteski in #666
- Eval file by @MagMueller in #657
- Remove unnecessary import statements by @0xAsten in #622
- Add missing tool descriptions by @mbaynton in #643
- Improve use cases by @k-w-lee in #642
- add extra_chromium_args to real browser by @vvincent1234 in #637
- Update Prompt Action Names to Align with Current Implementation by @pppp606 in #631
- Fix #611: Fix ImportError in browser_use/agent/tests.py (#611) by @k-w-lee in #624
- Update supported-models.mdx by @clates in #620
- improve region markdown by @k-w-lee in #610
- Fix Documentation . Added missing documentation to Gemini under supported models. by @GODCREATOR333 in #603
- Fix 'NoneType' object has no attribute 'startswith' error (#534) by @k-w-lee in #600
- Fix documentation: Correct default value of planner_interval from 4 to 1 by @pppp606 in #594
- #582 detect if page.evaluate() works properly by @MagMueller in #678
- detect if page.evaluate() works properly by @ticapix in #582
- Fix redundant tag by @PaperBoardOfficial in #641
- added function to stream pdf file by @PaperBoardOfficial in #626
- fix: ensure save_conversation_path ends with a slash and add tests for conversation logging by @takeyaqa in #570
- #571 improve text input handling in browser context by @MagMueller in #689
- Improve Text Input Handling in Browser Context by @XxAlonexX in #571
- fix(context): reload page for CDP remote browser connections by @analavishal in #682
- Update context.py to reload when using CDP remote browser - Unit Tests by @codebeaver-ai in #686
- generate unique file name when file already exists by @j0yk1ll in #538
- Update README.md with minimum Python version 3.11 by @mladen1nf in #492
- If page exists, use it by @MagMueller in #691
- Fixed #669 - Missing playwright exception import by @tomlavez in #690
- Change cookie logging to debug by @MagMueller in #692
- Feature/cloud required changes no stop context by @gregpr07 in #697
New Contributors
- @maticzav made their first contribution in #616
- @R-Mohammed-Hasan made their first contribution in #639
- @CookieMonsteriOS made their first contribution in #670
- @NinoRisteski made their first contribution in #666
- @0xAsten made their first contribution in #622
- @mbaynton made their first contribution in #643
- @k-w-lee made their first contribution in #642
- @clates made their first contribution in #620
- @GODCREATOR333 made their first contribution in #603
- @ticapix made their first contribution in #582
- @takeyaqa made their first contribution in #570
- @XxAlonexX made their first contribution in #571
- @analavishal made their first contribution in #682
- @mladen1nf made their first contribution in #492
- @tomlavez made their first contribution in #690
Full Changelog: 0.1.36...0.1.37
0.1.36
What's Changed
- Add Weave badge to README by @a-churchill in #542
- Improved instrumentation of browser and agent steps by @skull8888888 in #556
- fix: install command by @PaulLockett in #558
- fix: missing param when call multi_act by @VATALU in #551
- O3 mini+gpt4o by @MagMueller in #560
- Docs update with planner by @MagMueller in #561
- Planner fix by @MagMueller in #562
New Contributors
- @a-churchill made their first contribution in #542
- @PaulLockett made their first contribution in #558
Full Changelog: 0.1.35...0.1.36
0.1.35
What's Changed
- Enhancement/page summary by @MagMueller in #518
- Check for pause more often by @MagMueller in #519
- Feature/cloud docs by @gregpr07 in #522
- Fix broken navigation icon for sensitive data docs page by @nilsreichardt in #523
- Update pyproject.toml by @MagMueller in #530
Full Changelog: 0.1.34...0.1.35
Add markdownify to pyproject.toml
0.1.33
What's Changed
- Add Azure OpenAI UI and model example by @somethingwentwell in #427
- Feature/Record screenshots in AgentHistory even when use_vision=False by @VATALU in #479
- Llm page extraction by @MagMueller in #502
- Sensitive data handling by @MagMueller in #503
- Fix opening sensitive data docs page by @nilsreichardt in #506
- Enhancement/prompt by @MagMueller in #510
New Contributors
- @somethingwentwell made their first contribution in #427
- @nilsreichardt made their first contribution in #506
Full Changelog: 0.1.32...0.1.33
Option to exclude dynamic css attributes
This is useful for reusing CSS selectors later.