# Selenium selenium-4.47.0 — Selenium 4.47.0
- Product: Selenium (https://whatsnew.fyi/product/selenium)
- Vendor: Selenium project
- Date: 2026-08-10
- Version: selenium-4.47.0
- Original notes: https://github.com/SeleniumHQ/selenium/releases/tag/selenium-4.47.0
- Permalink: https://whatsnew.fyi/product/selenium/releases/selenium-4.47.0
What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog.
Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'.
---
- **added** — Add transport layer that will be used by generated BiDi Modules
- **added** — Allow passing subscription parameters for events in Java BiDi
- **added** — Support @Nullable constructor parameters in ConstructorCoercer for Java
- **added** — Support WebDriver BiDi on Safari Preview and move #bidi onto Driver in Ruby
- **added** — Add objectOnly/preserveExtras/scalar-primitive BiDi schema signals in Ruby
- **fixed** — Fix add_request_handler ignoring url_patterns on callback= path in Python
- **fixed** — Fix BiDi not initializing for RemoteWebDriver built via builder
- **fixed** — Fix default command_executor URL in RemoteWebDriver docstring in Python
- **fixed** — Fix GeckoDriver rejecting system-access via capabilities
- **changed** — Construct the BiDi transport inside the domain from a connection in Ruby
- **changed** — Route BiDiBridge navigation through the generated Protocol::BrowsingContext in Ruby
- **changed** — Upgrade @llvm to 0.8.11
- **changed** — Upgrade rules_rs to 0.0.96
- **changed** — Upgrade rules_ruby to 0.28.0 and drop vendored Bazel::Runfiles workaround
- **changed** — Update geckodriver version to 0.37.1
- **changed** — Honor --browser-version in Selenium Manager Electron driver resolution in Rust
- **changed** — Validate nullable-constant BiDi params outbound in Ruby
- **changed** — Update py:local_dev task to ensure all files are generated and symlinks are always resolved
##### Detailed Changelogs by Component
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)** |
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)** |
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)** |
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)** |
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
##### What's Changed
* Add transport layer that will be used by generated BiDi Modules by @pujagani in https://github.com/SeleniumHQ/selenium/pull/17758
* [java][bidi] Allow passing subscription parameters for events by @pujagani in https://github.com/SeleniumHQ/selenium/pull/17769
* [build] Reconcile Gemfile.lock in rb:pin with bundle lock, not bundle update by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17772
* [build] document Bazel worktree output-base cleanup by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17689
* [java] Support @Nullable constructor parameters in ConstructorCoercer by @pujagani in https://github.com/SeleniumHQ/selenium/pull/17770
* [py] fix add_request_handler ignoring url_patterns on callback= path by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17666
* [py] generate -bidi test targets for bidi tests only by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17630
* [rb] support WebDriver BiDi on Safari Preview and move #bidi onto Driver by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17729
* [py] run affected python tests per-browser on PR, full suite on schedule by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17643
* [py] Improve generated HTML docs for Python API by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17775
* [rb] link generated BiDi elements to their spec definitions by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17781
* [rb] add objectOnly/preserveExtras/scalar-primitive BiDi schema signals by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17784
* [docs] Selenium 5 release charter by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17717
* [adr] BiDi implementation boundaries by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17670
* Fix BiDi not initializing for RemoteWebDriver built via builder by @pujagani in https://github.com/SeleniumHQ/selenium/pull/17792
* [build] Upgrade @llvm to 0.8.10 by @AutomatedTester in https://github.com/SeleniumHQ/selenium/pull/17780
* [build] Upgrade rules_rs to 0.0.96 by @AutomatedTester in https://github.com/SeleniumHQ/selenium/pull/17793
* [build] run affected bazel test targets from a file by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17795
* [build] update py:local_dev task to ensure all files are generated and symlinks are always resolved by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17789
* [rb] construct the BiDi transport inside the domain from a connection by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17796
* [build] Upgrade @llvm to 0.8.11 by @AutomatedTester in https://github.com/SeleniumHQ/selenium/pull/17806
* [py] Fix default command_executor URL in RemoteWebDriver docstring by @vtvipul in
_[Truncated at 4000 characters — full notes: https://github.com/SeleniumHQ/selenium/releases/tag/selenium-4.47.0]_