Changelog #001
Happy Super Bowl Sunday š Before we settle in to lose money on our respective betting apps, we have some updates we NEED to tell you about.
ā New
Introducing Surf.new
Surf.new is an open-source playground for chatting with different web-agents via Steel. We want it to serve as a resource for the community to try out new web agents as they become available, helping developers evaluate what works best for their use-cases. Currently, you can try browser-use's web agent and a browser-specific fork of Claudeās Computer-use agent. We'll be actively maintaining it while using it as a launching pad to showcase new Steel features and improvements in web automation.
It's pretty neat if you ask us š¤ Give it a try and let us know what you think! Contributions are more than welcome too :)
Embedding and interactive with Live Sessions
Our debugURL has some new life blown into it and, oh boy, are we ever pumped about it. The debugURL you get returned when creating a session is most commonly used for viewing whatās happening live in the browser. A common use-case is embedding that view into your app, such that people can see whatās going on in the browser as actions are being taken. Itās what powers our live session viewer in the Steel dashboard.
In addition to a complete refactoring to improve performance, some of the improvements include:
- Ability to let a viewer interact with the browser sessions directly via clicking, typing, scrolling, etc. This was a big one lots of people have asked for to powering human-in-the-loop features (think ātake controlā in OpenAIās Operator).
- Ability to show/hide mouse on screen
- Show/hide URL bar & to toggle be light mode or dark mode
All of which can be turned on or off via UTM params. Check out the docs for more on this here!
Available on Steel Cloud and available soon on the steel-browser repo.
Dimensions for sessions
We now support the ability to set screen + viewport dimensions when creating a session (POST/v1/sessions
).
1from steel import Steel23client = Steel()45session = client.sessions.create(6dimensions={7"width":1280,8"height":8009}10)
This helps save you from having to set page viewport on every page load. Which can cause buggy resizing behaviour with your sessions.
Available on Steel Cloud and the steel-browser repo.
Ad blocking
You can now block ads from rendering in your sessions. This is useful for saving on proxy bandwidth, simplifying action space for agents (so they donāt have the option of clicking on ads), and generally speeding up page load times.
It's defaulted to true
when starting a session but you can explicitly turn it on/off by passing a bool into the blockAds
param in the create session endpoint (POST/v1/sessions
) or via the SDK like so:
1from steel import Steel23client = Steel()45session = client.sessions.create(6block_ads=true7)
š§ Fixes/Improvements
Lots of bug fixes and improvements across the board including:
- Fixed with inability to view sessions where proxy was enabled
- Better scrape errors
- Improved Proxy usage tracking
- Fixed multiple issues with Recording sessions
- Implemented graceful shutdowns
- Various dockerfile optimizations
- Custom executable paths for local browsers when running steel-browser repo locally
š First time contributors
Special thanks to the following new contributors to steel-browser who've made the above improvements possible š @marclave, @krichprollsch, @BrentBrightling , @Envek, @danew, @raymelon, @21e8, @QAComet, @mislavjc, and @Emmanuel-Melon
As always, thanks for testing out the Steel beta. We really look forward to more of your feedback and continuing to build with this awesome, curious, and supportive community.