Fixed a DNS rebinding issues by enforcing a stricter
Reported by Gabriel Corona.
Hostheader checks to reject requests not sent to a well-known
local hostname or IP, or the server-specified hostname..
geckodriver restricts connections to local IP addresses. This can interfere
with deployments in which geckodriver is running on a different network node
to the tests e.g. some container or virtual-machine based setups.
macOS 10.15 (Catalina) and later:
Due to the requirement from Apple that all programs must be
notarized, geckodriver will not work on Catalina if you manually
download it through another notarized program, such as Firefox.
Whilst we are working on a repackaging fix for this problem, you can
find more details on how to work around this issue in the macOS
notarization section of the documentation.
For releases of Firefox 89.0 and earlier Marionette will only be enabled in
GeckoView based applications when the Firefox preference
devtools.debugger.remote-enabledis set to
Support for WebDriver clients to opt in to WebDriver BiDi.
Introduced the new boolean capability
webSocketUrlthat can be used by
WebDriver clients to opt in to a bidirectional connection. A string capability
with the same name will be returned by
NewSession, which contains the
WebSocket URL of the newly created WebDriver session in the form of:
When running on Android a port forward will be set on the host machine,
which is using the exact same port as on the device.
All the supported WebDriver BiDi commands depend on the version of
Firefox, and not geckodriver. The first commands will be shipped in
It's now possible to set additional preferences when a custom profile has been
specified. At the end of the session they will be removed.
Added validation that the
--hostargument resolves to a local IP address.
--foregroundargument of Firefox to MacOS only.
Increased Marionette handshake timeout to not fail for slow connections.
Marionette:Quitis no longer sent twice during session deletion.
When deleting a session that was attached to an already running browser
instance, the browser is not getting closed anymore.
Starting Firefox on Android from a Windows based host will now succeed as
we are using the correct Unix path separator to construct on-device paths.
Arguments as specified in
moz:firefoxOptionsare now used when starting Firefox.
Port forwards set for Marionette and the WebSocket server (WebDriver BiDi)
are now correctly removed when geckodriver exits.
The test root folder is now removed when geckodriver exists.