The feedback and community support on Steel's beta has been beyond incredible. We've heard to your wishes, aches, pains, and with this release, we're bundling a variety of fixes and improvements that have been shipped over the last 2 months. Even a few new features!
New feature highlights
ποΈ Dimensions for sessions
We now support the ability to set screen + viewport dimensions when creating a session (POST /v1/sessions).
from steel import Steel
client = Steel(
base_url="https://localhost:3000"
)
session = client.sessions.create(
dimensions={
"width":1280,
"height":800
}
)This helps save you from having to set page viewport on every page load. Which can cause buggy resizing behaviour with your sessions.
π΄ 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 defaults 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:
from steel import Steel
client = Steel(
base_url="https://localhost:3000"
)
session = client.sessions.create(
block_ads=true
)Bug fixes
- b886f1 fix(api): logging listeners not being used
- 51d4c4 fix(ui): recording issue
- ec95f2 fix(recording): allow 0.0.0.0:3000 to be safely called without https
- 15fa81 fix: error with browser actions running two consecutive requests
- 26497 fix: issues loading cnn and other sites + performance improvements
- 13d7c2 Add gitattributes to ensure line endings are set to LF for all OSs (shoutout @BrentBrightling)
- f72d3a fix: make DEFAULT_HEADERS actually optional
- 2c99bf fix: add support for 'Program Files (x86)' path (shoutout @raymelon)
- 0e141e fix: stray chrome processes causing buildup
- 4dad8f Fix Puppeteer Crash: Remove --disable-software-rasterizer (shoutout @danew)
- 42b67c Fix Xvfb & DBus Startup Issues in Docker Compose (shoutout @danew)
Improvements
- afac76 chore: add issue template
- ad393a fix: session recording events to be sent on extension side
- 62af6d feat: basic ad blocking by hostname + handling proxy server shutdown
- 5a8dff Graceful shutdown: wait for session to be released (shoutout @Envek)
- 05d5b3 Optimize Dockerfile to reduce number of layers and speedup build (shoutout @Envek)
- 71a74b Feat/configurable setup (shoutout @21e8)
- d7793e fix: update manifest version to v3 and push improvements to session recorder
- cabe39 feat: add CHROME_EXECUTABLE_PATH environment variable for custom chromium binaries (shoutout @QAComet)
- 62013e Measure traffic usage if proxy server is specified (shoutout @Envek)
- c96edf fix: ensure requests made back to the API are not proxied
- 1a6e69 fix: remove env requirement for local dev
- db1c23 chore: migrate rq to tanstack-query (shoutout @mislavjc)
- 32b0bf Docker Local Dev Host (shoutout @Emmanuel-Melon)
First-time Contributors!
Special thanks to the following new contributors who've made the above improvements possible π
@marclave, @krichprollsch, @BrentBrightling , @Envek, @danew, @raymelon, @21e8, @QAComet, @mislavjc, and @Emmanuel-Melon