Selenium 4.49 Released!
Categories:
We’re excited to announce the release of Selenium 4.49 for JavaScript, Ruby, Python, .NET, Java and the Grid! 🎉
Links to all assets can be found on our downloads page.
Selenium 4.49 Released
✨ Highlights
- BiDi .NET closed out a run of BiDi wire-format bugs (missing DTO fields, mismatched proxy,
realm, and
NamespaceUriJSON property names, an oversized command-descriptor allocation) and gained browsing context screencast support; Python now raises typed WebDriver errors for BiDi wire error codes and runs its BiDi suite against the Grid server; JavaScript, Python, and Ruby now derive BiDi field names and enum value types directly from the shared schema. - [Grid] Fixed a 500 error when downloading a file whose name contains spaces.
- [Java] Removed the deprecated
GET /session/{sessionId}/se/files/{fileName}endpoint, and jars now ship with LICENSE/NOTICE files and smaller published javadocs. - [Rust] Fixed Selenium Manager’s Windows architecture detection under WOW64, and added Chrome arm64-on-Linux support.
- [Python] Cleaned up typing across the codebase (untyped decorators, unreachable mypy
warnings) and removed stale
xfailmarkers. - [Build & Infra] Continued hardening the release and Selenium Manager build pipeline: native Linux builds, a pinned Rust toolchain, prebuilt Linux arm64 binaries in every binding, and a daily job to keep the pinned CDDL specs current.
📦 Notable Changes
Java
- Removed the deprecated
GET /session/{sessionId}/se/files/{fileName}endpoint. - Jars now include LICENSE and NOTICE files, and published javadoc jars are smaller.
- Removed a try/catch around opening a new window, and dropped a “best guess” URI encoding fallback.
Python
- Raised typed WebDriver errors for BiDi wire error codes.
- Ran the BiDi test suite against the Grid server, and fixed flaky BiDi input tests that raced the page’s autofocus.
- Added BiDi upload tests that verify files actually reach the server.
- Enabled mypy’s
disallow_untyped_decoratorsand fixed unreachable-code warnings; removed stalexfailmarkers. - Wired
print_pdf_tests.pyinto the browser test suites. - Adopted the worthwhile ruff 0.16 rule families.
.NET
- Fixed several BiDi DTO issues: missing fields, mismatched proxy and
NamespaceUriJSON property names, and realm-type enum serialization. - Avoided a massive allocation when building BiDi command descriptors.
- Added browsing context screencast support.
- Only embed the git revision in SourceLink metadata when stamping.
JavaScript
- Capitalized non-Latin text in the
getVisibleTextatom (shared with Python). - Now derives BiDi field names and enum value types from the shared schema (shared with Python and Ruby).
Grid
- Fixed a 500 error when downloading a file whose name contains spaces.
Build & Infra
- Improved pre-release workflow ordering, and began tracking the generated BiDi schema.
- Fixed Selenium Manager’s Windows architecture detection under WOW64, and added Chrome arm64-on-Linux support.
- Added license and notice links to Selenium Manager’s help output.
- Built Selenium Manager’s Linux binaries natively with a pinned Rust toolchain, ran Rust tests and built Selenium Manager from source on Windows, and shipped a prebuilt Linux arm64 binary in every binding.
- Pinned the
rules_rszlib bootstrap to an immutable snapshot (with a Launchpad fallback), and bumpedrules_rsto 0.0.108/0.0.109 and@llvmto 0.8.19. - Added a daily workflow to update the pinned CDDL specs, and a compact execution log for CI.
- Populated the Linux Bazel cache from the gh-cache workflow instead of RBE.
🐳 Docker Selenium
- fix: node-kubernetes liveness probe — tcpSocket instead of /readyz (#3210)
- K8s: Replace external scaler jobScalingStrategy with includeOngoingSessions (#3218)
- 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
aayushisabharwal
ashrafiucse
Dennis Ameling
iamricard
shubmittal
Selenium Docs & Website
ashrafiucse
cyrilbois
shossain786
tag-und-nacht
tarun3kumar
Docker Selenium
rishabhjainrj01
Selenium Team Members
Thanks as well to all the team members who contributed to this release:
David Burns
Diego Molina
Alex Popov
joerg1985
Nikolay Borisenko
Pallavi Sharma
Titus Fortner
Viet Nguyen Duc
Stay tuned for updates by following SeleniumHQ on:
Happy automating!



