Permalink
168619a Jan 6, 2017
@andreastt @AutomatedTester
253 lines (186 sloc) 9.69 KB

Change log

All notable changes to this program is documented in this file.

0.13.0 (2017-01-06)

Changed

  • 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

Fixed

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

0.12.0 (2017-01-03)

Added

  • 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

Changed

  • 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

Fixed

  • 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

0.11.1 (2016-10-10)

Fixed

  • Version number in binary now reflects the release version.

0.11.0 (2016-10-10)

Added

  • Introduced continous integration builds for Linux- and Windows 32-bit binaries
  • Added commands for setting- and getting the window position
  • Added new extension commands for finding an element’s anonymous children and querying its attributes; accessible through the /session/{sessionId}/moz/xbl/{elementId}/anonymous_children to return all anonymous children and /session/{sessionId}/moz/xbl/{elementId}/anonymous_by_attribute to return an anonymous element by a name and attribute query
  • Introduced a moz:firefoxOptions capability to customise a Firefox session:
    • The binary, args, and profile entries on this dictionary is equivalent to the old firefox_binary, firefox_args, and firefox_profile capabilities, which have now all been removed
    • The log capability takes a dictionary such as {log: "trace"} to enable trace level verbosity in Gecko
    • The prefs capability lets you define Firefox preferences through capabilities
  • Re-introduced the --webdriver-port argument as a hidden alias to --port

Changed

  • firefox_binary, firefox_args, and firefox_profile capabilities removed in favour of the moz:firefoxOptions dictionary detailed above and in the README
  • Removed --no-e10s flag, and geckodriver will from now rely on the Firefox default multiprocessing settings (override using preferences)
  • Disable pop-up blocker in the default profile by @juangj
  • Changed Rust compiler version to 1.12 (beta) temporarily because of trouble linking Musl binaries
  • Replaced env_logger logging facility with the slog package, causing the RUST_LOG environment variable to no longer have any affect
  • Updated the WebDriver Rust library to version 0.15.

Fixed

  • Corrected link to repository in Cargo metadata
  • Verbosity shorthand flag -v[v] now works again, following the replacement of the argument parsing library in the previous release
  • When the HTTPD fails to start, errors are propagated to the user
  • Disabled the additional welcome URL (startup.homepage_welcome_url.additional) so that officially branded Firefox builds do not start with two open tabs in fresh profiles
  • Disabled homepage override URL redirection on milestone upgrades, which means a tab with an upgrade notice is not displayed when launching a new Firefox version

0.10.0 (2016-08-02)

Changed

  • Use multi-process Firefox (e10s) by default, added flag --no-e10s to disable it and removed --e10s flag
  • Disable autofilling of forms by default by @mythsunwind
  • Replace argparse with clap for arguments parsing

Fixed

  • Attempt to deploy a single file from Travis when making a release
  • Grammar fix in README

0.9.0 (2016-06-30)

Added

  • Add ability to use firefox_binary capability to define location of Firefox to use
  • Automatically detect the default Firefox path if one is not given
  • Cross-compile to Windows and ARMv7 (HF) in CI
  • Add Musl C library-backed static binaries in CI
  • Add -v, -vv, and --log LEVEL flags to increase Gecko verbosity
  • Add Get Element Property endpoint
  • Add new --version flag showing copying information and a link to the repository

Changed

  • Now connects to a Marionette on a random port by default
  • Update webdriver-rust library dependency
  • Migrated to use Travis to deploy new releases
  • Reduced amount of logging
  • Introduced a changelog (this)

0.8.0 (2016-06-07)

Added

  • Allow specifying array of arguments to the Firefox binary through the firefox_args capability
  • Pass parameters with New Session command

Changed

  • Change product name to geckodriver
  • Make README more exhaustive
  • Quit Firefox when deleting a session
  • Update webdriver-rust library
  • Update dependencies

Fixed

  • Fix tests
  • FIx typo in error message for parsing errors

0.7.1 (2016-04-27)

Added

  • Add command line flag for using e10s enabeld Firefox by @martionsideofthemoon
  • Allow providing custom profiels

Changed

  • Allow binding to an IPv6 address by @juangj
  • By default, connect to host-agnostic localhost by @juangj
  • Make GeckoContextParameters public
  • Update dependencies

Fixed

  • Squash rustc 1.6 warnings by using std::thread::sleep(dur: Duration)

0.6.2 (2016-01-20)

Added

  • Add LICENSE file from @joshbruning
  • Schedule builds in CI on pushes and pull requests

Changed

  • Enable CPOWs in Marionette

0.6.0 (2016-01-12)

Added

  • Add Get Page Source endpoint

Changed

  • Handle arrays being sent from Marionette
  • Correct build steps in README
  • Update what properties are read from errors sent by Marionette
  • Update dependencies

0.5.0 (2015-12-10)

Changed

  • Update argparse dependency to use Cargo
  • Update to the latest version of the Marionette wire protocol
  • Update to latest webdriver-rust library
  • Update dependencies

0.4.2 (2015-10-02)

Changed

  • Skip compiling optional items in hyper

0.4.1 (2015-10-02)

Changed

  • Update webdriver-rust library
  • Update dependencies

0.4.0 (2015-09-28)

Added

  • Add command extensions for switching between content- and chrome contexts
  • Add more documentation from @vladikoff

Changed

  • Update Cargo.lock with new dependencies for building
  • Update for protocol updates that flatten commands
  • Update to new protocol error handling
  • Update for Marionette protocol version 3 changes
  • Strip any leading and trailing {} from the sessionId Marionette returns
  • Update dependencies

Fixed

  • Fix GetCSSValue message to send correct key propertyName
  • Fix example in documentation from @vladikoff

0.3.0 (2015-08-17)

Added

  • Add support for finding elements in subtrees

0.2.0 (2015-05-20)

Added

  • Extra debug messages
  • Add ability to set WebDriver port
  • Add support for getting the active element
  • Add support for GetCookies and DeleteCookie/DeleteCookies
  • Add preferences that switch off certain features not required for WebDriver tests

Changed

  • Make failing to communicate with Firefox a fatal error that closes the session
  • Shut down session only when loosing connection
  • Better handling of missing command line flags
  • Poll for connection every 100ms rather than every 100s
  • Switch to string-based error codes
  • Switch webdriver-rust library dependency to be pulled from git
  • Update dependencies

Fixed

  • Handle null id for switching to frame more correctly

0.1.0 (2015-04-09)

Added

  • Add proxy for converting WebDriver HTTP protocol to Marionette protocol
  • Add endpoints for modal dialogue support
  • Allow connecting to a running Firefox instance
  • Add explicit Cargo.lock file
  • Start Firefox when we get a New Session command
  • Add flag parsing and address parsing
  • Add basic error handling

Changed

  • Update for Rust beta
  • Switch to new IO libraries
  • Pin webdriver-rust commit so we can upgrade rustc versions independently
  • Set preferences when starting Firefox
  • Improve some error messages
  • Re-enable environment variable based logging

Fixed

  • Fix Get Element Rect command to return floats instead of integers
  • Fix passing of web elements to Switch To Frame command
  • Fix serialisation of script commands
  • Fix assorted bugs found by the Selenium test suite
  • Fix conversion of Find Element/Find Elements responses from Marionette to WebDriver
  • Fixed build by updating Cargo.lock with new dependencies for building
  • Squash compile warnings