v0.22.0
This release marks an important milestone on the path towards
a stable release of geckodriver. Large portions of geckodriver
and the [webdriver] library it is based on has been refactored to
accommodate using serde for JSON serialization.
We have also made great strides to improving WebDriver conformance,
to the extent that geckodriver is now almost entirely conforming
to the standard.
Added
-
Support for WebDriver web element-, web frame-, and web window
identifiers from Firefox. -
Added support for the non-configurable
setWindowRect
capability
from WebDriver.This capability informs whether the attached browser supports
manipulating the window dimensions and position. -
A new extension capability
moz:geckodriverVersion
is returned
upon session creation.
Changed
-
All JSON serialization and deserialisation has moved from
rustc_serialize to serde. -
The HTTP status codes used for script timeout and timeout
errors has changed from Request Timeout (408) to Internal Server
Error (500) in order to not break HTTP/1.1Keep-Alive
support,
as HTTP clients interpret the old status code to mean they should
duplicate the request. -
The HTTP/1.1
Keep-Alive
timeout for persistent connections has
been increased to 90 seconds. -
An invalid session ID error is now returned when there is no
active session. -
An invalid argument error is now returned when Add Cookie
is given invalid parameters. -
The handshake when geckodriver connects to Marionette has been
hardened by killing the Firefox process if it fails. -
The handshake read timeout has been reduced to 10 seconds instead
of waiting forever. -
The HTTP server geckodriver uses, hyper, has been upgraded to
version 0.12, thanks to Bastien Orivel. -
geckodriver version number is no longer logged on startup, as
the log level is not configured until a session is created.The version number is available through
--version
, and now
also through a newmoz:geckodriverVersion
field in the matched
capabilities. -
The webdriver library has been updated to version 0.37.0.
Fixed
-
Parsing timeout object values has been made WebDriver conforming,
by allowing floats as input. -
Implicit downloads of OpenH264 and Widevine plugins has been disabled.
-
The commit hash and date displayed when invoking
--version
is now well-formatted when built from an hg repository, thanks to
Jeremy Lempereur. -
Many documentation improvements, now published on
https://firefox-source-docs.mozilla.org/testing/geckodriver/geckodriver/.