Skip to content

0.31.0

Compare
Choose a tag to compare
@whimboo whimboo released this 11 Apr 09:18
· 8 commits to release since this release
9b5f85c

0.31.0 (2022-04-11, b617178ef491)

Known problems

  • Firefox running in Linux Sandbox (e.g. Snap package):

    Using geckodriver to launch Firefox inside a sandbox -- for example
    a Firefox distribution using Snap or Flatpak -- can fail with a
    "Profile not found" error if the sandbox restricts Firefox's ability
    to access the system temporary directory. geckodriver uses the
    temporary directory to store Firefox profiles created during the run.

    This issue can be worked around by setting the TMPDIR environment
    variable to a location that both Firefox and geckodriver have
    read/write access to e.g.:

    % mkdir $HOME/tmp
    % TMPDIR=$HOME/tmp geckodriver

    Alternatively, geckodriver may be used with a Firefox install that
    is not packaged inside a sandboxed e.g. from mozilla.org.

  • 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.

Added

  • Users with the Rust toolchain installed can now build and install
    geckodriver from crates.io using Cargo:

    % cargo install geckodriver

  • Support for Get Element Shadow Root

    Implemented by David Burns.

    The standardised WebDriver Get Element Shadow Root endpoint provides a way
    to retrieve the Shadow Root of a given web element. This endpoint is
    supported by geckodriver when using Firefox version ≥96.

  • Support for additional hosts and origins

    Users can now specify a list of allowed Host and Origin headers for
    incoming requests using the --allow-hosts and --allow-origins command
    line options, respectively. When such a flag is provided, exactly the given
    values will be permitted.

    By default any request with an Origin header is rejected, and only requests
    containing the bound hostname (specified via --host), or an IP address,
    in the Host header are allowed. These configuration options are
    designed to support scenarios where geckodriver is running on a different
    network node to the host e.g. some container based setups.

Fixed

  • Geckodriver lets Marionette itself select a system allocated port, so that
    it's no longer required to specify a fixed port when using a custom Firefox
    profile. This is done by reading the MarionetteActivePort file of the
    Firefox profile in-use. This helps to avoid port collisions when multiple
    Firefox instances are run in parallel.

  • It's no longer possible to specify both the androidPackage and binary
    capabilities togther within moz:firefoxOptions because these capabilites
    are mutually exclusive.