Selenium 4.34 Released!
Categories:
We’re excited to announce the release of Selenium 4.34 for Javascript, Ruby, Python, .NET, Java and the Grid! 🎉
Links to all assets can be found on our downloads page.
🔦 Highlights
- macOS Improvements: Added macOS-specific key support for both Ruby and Python.
- Web Extension Support: BiDi implementations now support Chromium web extensions (Java, Python).
- Deprecations: FTP proxy support deprecated across Java, Python, Ruby, and .NET.
- Selenium Manager: Now supports Electron (Rust backend). Still needs implementation in the bindings.
- BiDi Enhancements: Continued progress with
historyUpdated
,permissions
, andstorage
modules (Java, .NET, Python). - Quality Improvements: Significant type annotation cleanup, test stability enhancements, and doc generation in Python.
Java
- ✅ Implemented BiDi commands:
browsingContext.historyUpdated
webExtensions
and extendedBrowsingContextInfo
- 🛠 Refactored
CommandPayload
, removed deprecated classes:ContextAware
CommandLine
OsProcess
- ⚠️ Deprecated
FtpProxy
- ➕ Environment variable support for driver paths with Selenium Manager
- 🔐 Improvements in
VirtualAuthenticator
Python
- 🔑 Added macOS-specific keys to
Keys
enum (OPTION
,FN
) - 🧠 Extensive BiDi updates:
- WebExtensions
- Permissions
- Storage
- History updates (with timestamps)
- 🧼 Code quality:
- mypy/type hint cleanups
- API docs improvements (auto-generated)
- tox/ruff upgrades
- 💡
enable_webextensions()
now documented with CDP note - ❌ Deprecated: FTP proxy support
- 🌐 Better error reporting on HTTP failures, improved error handling in
expected_conditions
.NET
- 🚫 Deprecated FTP proxy support
- 📚 BiDi enhancements:
OnHistoryUpdated
event- AcceptInsecureCerts & Proxy in user context
- Implicit screenshot-to-bytes conversion
- Protected DTOs from inheritance
- 🧹 Cleanup:
- Namespace simplifications
- Removed StyleCop config
JavaScript
- 📢 Warning added when FTP proxy is used
- 💡 Declared minimum required Node.js version:
>= 20.0.0
Grid
- 🧪 Grid UI updated to Node 20 for type compatibility
- 🧰 New built-in slot selector:
GreedySlotSelector
- 🧹 UI cleanup: session deletion, log level validation
Ruby
- 🧑💻 Added macOS key mappings (Option/Fn)
- ⚠️ Deprecated FTP proxy support
- 🛠 Fixed child process termination handling
Rust (Selenium Manager)
- 🖥️ Added Electron browser support
- 🔧 Fixed Edge version test logic
- Electron support.
Docker Selenium
- K8s: Distributor uses Greedy as slot selector strategy in autoscaling (#2875)
- K8s: Fix video uploader secrets pass to Node single container (#2886)
- Docker: Update dependencies version for CVEs fix
- Docker: Enable
SE_NODE_ENABLE_MANAGED_DOWNLOADS
in Node config by default (#2869) - Docker: Session created in Node container can be deleted on UI by default (#2871)
- Docker: Environment variable flag to upgrade latest version of Chrome and ChromeDriver in container (#2872)
- See all changes
We thank all our contributors for their incredible efforts in making Selenium better with every release. ❤️
For a detailed look at all changes, check out the release notes.
Contributors
Special shout-out to everyone who helped the Selenium Team get this release out!
Selenium
Alex "Blex" B
Bradley Latreille
Swastik Baranwal
Luis Serna
Shaurya Bisht
Adolfo Armas
Andrei Solntsev
Alex
Manuel Blanco
Pallavi
Sandeep Suryaprasad
Selenium Docs & Website
Saana
ian zhang
Navin Chandra
Noritaka Kobayashi
Pallavi
Docker Selenium
AvivGuiser
Corey Goldberg
Selenium Team Members
Thanks as well to all the team members who contributed to this release:
Agustin Pequeno
David Burns
Boni García
Corey Goldberg
Diego Molina
Sri Harsha
Nikolay Borisenko
Alex Rodionov
Puja Jagani
Michael Render
Simon Benzer
Simon Stewart
Titus Fortner
Viet Nguyen Duc
Stay tuned for updates by following SeleniumHQ on:
Happy automating!