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
Ashraf Ali
Dennis Ameling
Ricard Solé
Selenium Docs & Website
Ashraf Ali
cyril
Mohammad Saddam Hossain
Oscar Vargas Torres
Tarun Kumar
Docker Selenium
Rishabh Jain
Selenium Team Members
Thanks as well to all the team members who contributed to this release:
David Burns
Diego Molina
Alex Popov
Nikolay Borisenko
Pallavi Sharma
Titus Fortner
Viet Nguyen Duc
Stay tuned for updates by following SeleniumHQ on:
Happy automating!




