@AutomatedTester AutomatedTester released this Oct 31, 2017 · 11 commits to master since this release


  • Search suggestions in the location bar turned off as not to
    trigger network connections

  • Block addons incompatible with E10s


  • Marionette stacktraces are now correctly propagated

  • Some error messages have been clarified


  • Removed obsolete socksUsername and socksPassword proxy
    configuration keys because neither were picked up or recognised


@AutomatedTester AutomatedTester released this Sep 16, 2017 · 11 commits to master since this release

Note that with geckodriver v0.19.0 the following versions are recommended:

  • Firefox 55.0 (and greater)
  • Selenium 3.5 (and greater)


  • Added endpoint:

    • POST /session/{session id}/window/minimize for the Minimize Window
  • Added preference extensions.shield-recipe-client.api_url to disable shield
    studies which could unexpectedly change the behavior of Firefox

  • Introduced the temporary, boolean capability moz:webdriverClick to enable
    the WebDriver conforming behavior of the Element Click command.

  • Added crashreporter environment variables to better control the browser
    in case of crashes

  • Added preference dom.file.createInChild set to true to allow file
    object creation in content processes


  • Log all used application arguments and not only -marionette

  • Early abort connection attempts to Marionette if the Firefox process
    closed unexpectetly

  • Removed deprecated socksProxyVersion in favor of socksVersion

  • Removed ftpProxyPort, httpProxyPort, sslProxyPort, and
    socksProxyPort because ports have to be set for ftpProxy,
    httpProxy, sslProxy, and socksProxy using ":"

  • The proxyType noproxy has been replaced with direct in accordance
    with recent WebDriver specification changes

  • The WindowRectParameters have been updated to return signed 32-bit
    integers in accordance with the CSS and WebDriver specifications, and
    to be more liberal with the input types

  • Mapped the FullscreenWindow to the correct Marionette command

  • To make sure no browser process is left behind when the NewSession
    fails, the process is closed immediately now

  • /moz/addon/install command accepts an addon parameter, in lieu of
    path, containing an addon as a Base64 string (fixed by Jason Juang)

  • webdriver crate upgraded to version 0.31.0

  • mozrunner crate upgraded to version 0.5.0


  • Removed the following obsolete preferences for Firefox:
    • browser.safebrowsing.enabled
    • browser.safebrowsing.forbiddenURIs.enabled
    • marionette.defaultPrefs.port
    • marionette.logging


@andreastt andreastt released this Jul 11, 2017 · 11 commits to master since this release


  • RectResponse permits returning floats for width and height fields
  • New type CookieResponse for the GetNamedCookie command returns a single cookie, as opposed to an array of a single cookie
  • To pick up a prepared profile from the filesystem, it is now possible to pass ["-profile", "/path/to/profile"] in the args array on moz:firefoxOptions
  • geckodriver now recommends Firefox 53 and greater
  • Version information (--version) contains the hash from from the commit used to build geckodriver
  • geckodriver version logged on startup
  • webdriver crate upgraded to version 0.27.0
  • mozrunner crate upgraded to version 0.4.1


  • The SetTimeouts command maps to the Marionette setTimeouts command, which makes geckodriver compatible with Firefox 56 and greater
  • Linux x86 (i686-unknown-linux-musl) builds are fixed


@AutomatedTester AutomatedTester released this Jun 9, 2017 · 11 commits to master since this release


  • Added endpoints:
    • POST /session/{session id}/window/fullscreen to invoke the window manager-specific full screen operation
    • POST /session/{session id}/moz/addon/install to install an extension [Gecko only]
    • POST /session/{session id}/moz/addon/uninstall to uninstall an extension [Gecko only]


  • Increasing the length of the network.http.phishy-userpass-length preference will cause Firefox to not prompt when navigating to a website with a username or password in the URL
  • Library dependencies upgraded to mozrunner 0.4 and mozprofile 0.3 to allow overriding of preferences via capabilities if those have been already set in the profile
  • Library dependencies upgraded to mozversion 0.1.2 to only use the normalized path of the Firefox binary for version checks but not to actually start the browser, which broke several components in Firefox on Windows


  • The SetWindowRect command now returns the WindowRect when it is done
  • Use ASCII versions of array symbols to properly display them in the Windows command prompt
  • Use SessionNotCreated error instead of UnknownError if there is no current session


@AutomatedTester AutomatedTester released this Apr 26, 2017 · 19 commits to master since this release


  • Read Firefox version number from stdout when failing to look for the application .ini file (fixes Selenium #3884)
  • Session is now ended when closing the last Firefox window (fixes #613)


@AutomatedTester AutomatedTester released this Apr 21, 2017 · 24 commits to master since this release

Note that geckodriver v0.16.0 is only compatible with Selenium 3.4 and greater.



  • Removed following list of unused endpoints:
    • GET /session/{session id}/alert_text
    • POST /session/{session id}/alert_text
    • POST /session/{session id}/accept_alert
    • POST /session/{session id}/dismiss_alert
    • GET /session/{session id}/window_handle
    • DELETE /session/{session id}/window_handle
    • POST /session/{session id}/execute_async
    • POST /session/{session id}/execute


  • SendKeysParameters, which is used for the Element Send Keys and Send Alert Text commands, has been updated to take a string text field
  • CookieResponse and CloseWindowResponse fixed to be properly wrapped in a value field, like other responses
  • Allow negative numbers for x and y fields in pointerMove action
  • Disable Flash and the plugin container in Firefox by default, which should help mitigate the “Plugin Container for Firefox has stopped wroking” problems many users were reporting when deleting a session
  • Preferences passed in a profile now take precedence over set of default preferences defined by geckodriver (fixed by @DrMarcII)
    • The exceptions are the marionette.port and marionette.log.level preferences and their fallbacks, which are set unconditionally and cannot be overriden
  • Remove default preference that disables unsafe CPOW checks
  • WebDriver library updated to 0.25.2


  • Fix for the “corrupt deflate stream” exception that sometimes occured when trying to write an empty profile by @kirhgoph
  • Recognise sslProxy and sslProxyPort entries in the proxy configuration object (fixed by @juangj)
  • Fix “httpProxyPort was not an integer” error (fixed by @juangj)
  • Fix broken unmarshaling of Get Timeouts response format from Firefox 52 and earlier (fixed by @juangj)
  • Allow preferences in moz:firefoxOptions to be both positive- and negative integers (fixed by @juangj)
  • Allow IPv6 hostnames in the proxy configuration object
  • i686-unknown-linux-musl (Linux 32-bit) build fixed
  • Log messages from other Rust modules are now ignored
  • Improved log messages to the HTTPD


@AutomatedTester AutomatedTester released this Mar 8, 2017 · 69 commits to master since this release

IMPORTANT: If you use geckodriver with Selenium, you must upgrade to Selenium 3.3 since this release aligns HTTP responses with the WebDriver standard.



  • All HTTP responses are now wrapped in {value: …} objects per the WebDriver specification; this may likely require you to update your client library
  • Pointer move action’s element key changed to origin, which lets pointer actions originate within the context of the viewport, the pointer’s current position, or from an element
  • Now uses about:blank as the new tab document; this was previously disabled due to bug 1333736 in Marionette
  • WebDriver libary updated to 0.23.0


  • Aligned the data structure accepted by the Set Timeouts command with the WebDriver specification


@AutomatedTester AutomatedTester released this Jan 31, 2017 · 82 commits to master since this release


  • Firefox process is now terminated and session ended when the last window is closed
  • WebDriver library updated to version 0.20.0


  • Stacktraces are now included when the error originates from within the Rust stack
  • HTTPD now returns correct response headers for Content-Type and Cache-Control thanks to @jugglinmike


@AutomatedTester AutomatedTester released this Jan 6, 2017 · 89 commits to master since this release

0.13.0 (2017-01-06)


  • When navigating to a document with an insecure- or otherwise invalid TLS certificate, an insecure certificate error will be returned
  • On macOS, deducing Firefox’ location on the system will look for firefox-bin on the system path (PATH environmental variable) before looking in the applications folder
  • Window position coordinates are allowed to be negative numbers, to cater for maximised window positioning on Windows
  • WebDriver library updated to version 0.18.0


  • Check for single-character key codes in action sequences now counts characters instead of bytes


@AutomatedTester AutomatedTester released this Jan 3, 2017 · 93 commits to master since this release


  • Added Take Element Screenshot command
  • Added new Status command
  • Added routing for the Get Timeouts command, but it is not yet implemented in Marionette, and will return an unsupported operation error until it is
  • Implemented routing for new actions API, but it too is not yet fully implemented in Marionette


  • Synced Firefox preferences with those used in Mozilla automation
  • Default log level for debug builds of Firefox, which used to be DEBUG, changed to INFO-level
  • WebDriver library dependency upgraded to 0.17.1
  • Using session not created error when failing to start session
  • geckodriver will exit with exit code 69 to indicate that the port is unavailable


  • Improved logging when starting Firefox
  • Reverted to synchronous logging, which should address cases of inconsistent output when failing to bind to port
  • Clarified in README that geckodriver is not supported on Windows XP
  • Added documentation of supported capabilities to README
  • Included capabilities example in README