Selenium 4.38 Released!
Categories:
We’re excited to announce the release of Selenium 4.38 for JavaScript, Ruby, Python, .NET, Java and the Grid! 🎉
Links to all assets can be found on our downloads page.
Selenium 4.38 Released
Selenium 4.38 is a maintenance-focused release with improvements in code quality, documentation formatting, and test infrastructure. The update includes ongoing work on BiDi features, cleanup of deprecated code, and expansion of JSpecify annotations for better type safety in Java.
Highlights
- Chrome DevTools support is now: v142, v141, and v140.
- Java JSpecify Coverage Expanded: Dozens of additional classes annotated to improve null-safety and developer experience.
- Python Docstring and BiDi Work: Switched to Google-style docstrings and added support for
set_timezone_overridein BiDi emulation. - Ruby Cleanup: Deprecated logging classes removed and RSpec linting applied.
- Infrastructure & Docs: Test workflows cleaned up, doc update jobs fixed, and Travis cruft removed from builds.
Language-specific Changes
Java
- JSpecify annotations added for:
ExecuteMethodorg.openqa.selenium.federatedcredentialorg.openqa.selenium.interactionsorg.openqa.selenium.netCredential,MBeanScriptKey,UnpinnedScriptKeyFileDetectorExpectedConditionResponse,SessionId,HttpSessionId
- BiDi:
- New test added for the
onHistoryUpdatedevent.
- New test added for the
Python
- BiDi:
- Added
set_timezone_overridecommand under emulation.
- Added
- Documentation:
- Converted more docstrings to Google style.
- Removed use of
:param:and:args:Sphinx directives.
- Tooling:
- Bumped
ruffformatter/linter version.
- Bumped
.NET
- BiDi:
- Updated DTO property inclusion to avoid reliance on
JsonInclude.
- Updated DTO property inclusion to avoid reliance on
Ruby
- BiDi test infra:
- Reduced number of BiDi-related test targets for better performance.
- Disabled
dev/shmfor Chrome/Edge tests on RBE.
- Code cleanup:
- Removed deprecated logging classes.
- Applied
rspeclinter syntax updates. - Fixed
nilhandling in network requests.
- Build improvements:
- Improved local dev environment generation.
Rust (Selenium Manager)
- Fixed browser version test for Edge.
Tooling & Infrastructure
- Removed unused
test_tag_filter. - Removed legacy Travis CI environment code (Java, Ruby).
- Fixed documentation update workflows for both staging and main releases.
🐳 Docker Selenium
- [ci] Use test public site when test run via relay session to cloud
- K8s: Remove triggerMetadata with empty value to prevent Unmatched input property from KEDA checks (#3005)
- K8s: Expose config session request timeout in Helm chart values (#3006)
- chore(deps): update helm release kube-prometheus-stack to v79 (#3007)
- 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 Popov
Selenium Docs & Website
Sri Harsha
Docker Selenium
Viet Nguyen Duc
Selenium Team Members
Thanks as well to all the team members who contributed to this release:
Augustin Gottlieb
Andrei Solntsev
David Burns
Boni García
Corey Goldberg
Diego Molina
Sri Harsha
Nikolay Borisenko
Alex Rodionov
Puja Jagani
Michael Render
Simon Benzer
Simon Mavi Stewart
Titus Fortner
Viet Nguyen Duc
Stay tuned for updates by following SeleniumHQ on:
Happy automating!




