All Versions
20
Latest Version
Avg Release Cycle
105 days
Latest Release
148 days ago

Changelog History
Page 1

  • v1.11.1 Changes

    May 21, 2021

    🛠 Fixed

    • RemoteWebElement::getLocationOnScreenOnceScrolledIntoView() was missing polyfill implementation for W3C mode and not working in eg. Safari.
  • v1.11.0 Changes

    May 03, 2021

    ➕ Added

    • FirefoxOptions class to simplify passing Firefox capabilities. Usage is covered in our wiki.
    • 👀 FirefoxDriver to easy local start of Firefox instance without a need to start the geckodriver process manually. See wiki for usage examples.
    • Method ChromeDriver::startUsingDriverService() to be used for creating ChromeDriver instance with custom service.

    🛠 Fixed

    • 💻 Driver capabilities received from the browser when creating now session were not set to the instance of ChromeDriver (when ChromeDriver::start() was used).

    🔄 Changed

    • 🗄 Deprecate ChromeDriver::startSession. However, the method was supposed to be used only internally.
    • 👻 KeyDown and KeyUp actions will throw an exception when not used with modifier keys.
  • v1.10.0 Changes

    February 25, 2021

    ➕ Added

    • 👌 Support for sending Chrome DevTools Protocol commands (see details in wiki).
    • Option to specify type of new window (window or tab) when using $driver->switchTo()->newWindow().

    🛠 Fixed

    • 💻 Actually start ChromeDriver in W3C mode if it is supported by the browser driver. Until now, when it was initialized using ChromeDriver::start(), it has always been unintentionally started in OSS mode.
    • ChromeOptions were ignored when passed to DesiredCapabilities as ChromeOptions::CAPABILITY_W3C.
    • ↪ Clicking a block element inside <a> element in Firefox (workaround for GeckoDriver bug 1374283).

    🔄 Changed

    • 👻 Throw DriverServerDiedException on local driver process terminating unexpectedly and provide full details of original exception to improve debugging.
    • Do not require WEBDRIVER_CHROME_DRIVER environment variable to be set if chromedriver binary is already available via system PATH.
    • 🗄 Mark PhantomJS deprecated, as it is no longer developed and maintained.
    • 🗄 Deprecate RemoteWebDriver::newWindow() in favor of $driver->switchTo()->newWindow().
    • 👻 Don't escape slashes in CURL exception message to improve readability.
  • v1.9.0 Changes

    November 19, 2020

    ➕ Added

    • 👌 Support of SameSite cookie property.
    • Command RemoteWebDriver::newWindow() for W3C mode to open new top-level browsing context (aka window).
    • 👍 PHP 8.0 support.
  • v1.8.3 Changes

    October 06, 2020

    🛠 Fixed

    • 👉 Make alertIsPresent() condition working in W3C mode.
    • RemoteWebDriver::create() cannot be used without providing the second parameter (which is in fact optional).
    • ChromeDriver::start() starts in inconsistent state mixing W3C/OSS mode.
    • 🚀 Modifier keys are not released when sending NULL key in GeckoDriver (workaround for GeckoDriver bug 1494661).
    • Do not set unnecessary binary value of goog:chromeOptions while keep the object in proper data type required by ChromeDriver.
  • v1.8.2 Changes

    March 04, 2020

    🔄 Changed

    • Reimplement element equals() method to be working in W3C mode.
    • 🆕 New instance of RemoteWebDriver created via createBySessionID() by default expects W3C mode. This could be disabled using fifth parameter of createBySessionID().
    • Disable JSON viewer in Firefox to let JSON response be rendered as-is.

    🛠 Fixed

    • Properly read fifth parameter whether W3C compliant instance should be created when using createBySessionID().
    • Creating of Firefox profile with libzip 1.6+ (eg. on Mac OS Catalina).
  • v1.8.1 Changes

    February 17, 2020

    🛠 Fixed

    • Accept array as possible input to sendKeys() method. (Unintentional BC break in 1.8.0.)
    • 👉 Use relative offset when moving mouse pointer in W3C WebDriver mode.
  • v1.8.0 Changes

    February 10, 2020

    ➕ Added

    • 👍 Experimental W3C WebDriver protocol support. The protocol will be used automatically when remote end (like Geckodriver, newer Chromedriver etc.) supports it.
    • getStatus() method of RemoteWebDriver to get information about remote-end readiness to create new sessions.
    • takeElementScreenshot() method of RemoteWebElement to do the obvious - take screenshot of the particular element.
    • 👌 Support for sending custom commands via executeCustomCommand(). See wiki for more information.

    🔄 Changed

    • The repository was migrated to php-webdriver/php-webdriver.
    • 📦 The Packagist package was renamed to php-webdriver/webdriver and the original facebook/webdriver was marked as abandoned.
    • ⏪ Revert no longer needed workaround for Chromedriver bug 2943.
    • 👍 Allow installation of Symfony 5 components.
    • Rename environment variable used to pass path to ChromeDriver executable from webdriver.chrome.driver to WEBDRIVER_CHROME_DRIVER. However the old one also still works to keep backward compatibility
    • If subdirectories in a path to screenshot destination does not exists (using takeScreenshot() or takeElementScreenshot() methods), they are automatically created.
    • 👻 When zip archive cannot be created during file upload, throw an exception instead of silently returning false.
    • WebDriverNavigation and EventFiringWebDriverNavigation now both implement new WebDriverNavigationInterface.

    🛠 Fixed

    • WebDriverExpectedCondition::presenceOfElementLocated() works correctly when used within WebDriverExpectedCondition::not().
    • Improper behavior of Microsoft Edge when retrieving all cookies via getCookies() (it was causing fatal error when there were no cookies).
    • Avoid "path is not canonical" error when uploading file to Chromedriver.
  • v1.7.1 Changes

    June 13, 2019

    🛠 Fixed

    • Error Call to a member function toArray() if capabilities were already converted to an array.
    • 💻 Temporarily do not send capabilities to disable W3C WebDriver protocol when BrowserStack hub is used.
  • v1.7.0 Changes

    June 10, 2019

    ➕ Added

    • WebDriverCheckboxes and WebDriverRadios helper classes to simplify interaction with checkboxes and radio buttons.

    🛠 Fixed

    • Stop sending null values in Cookie object, which is against the protocol and may cause request to remote ends to fail.

    🔄 Changed

    • 👮 Force Chrome to not use W3C WebDriver protocol.
    • ➕ Add workaround for Chromedriver bug 2943 which breaks the protocol in Chromedriver 75.