All Versions
22
Latest Version
Avg Release Cycle
111 days
Latest Release
723 days ago

Changelog History
Page 1

  • v1.12.1 Changes

    May 03, 2022

    ๐Ÿ›  Fixed

    • ๐Ÿ“š Improper PHP documentation for getAttribute() and getDomProperty().
    • Unsafe use of static:: when accessing private property in DesiredCapabilities.
    • ๐Ÿ—„ PHP 8.1 deprecations in the Cookie class.

    ๐Ÿ”„ Changed

    • ๐Ÿ“„ Docs: Extend findElement()/findElements() method documentation to better explain XPath behavior.
    • โž• Add @return and @param type annotations to Cookie class to avoid deprecations in PHP 8.1.
  • v1.12.0 Changes

    October 14, 2021

    โž• Added

    • RemoteWebElement::getDomProperty() method to read JavaScript properties of an element (like the value of innerHTML etc.) in W3C mode.
    • WebDriverCommand::newSession() constructor to create new session command without violating typehints.

    ๐Ÿ”„ Changed

    • ๐Ÿ‘ Allow installation of Symfony 6 components.

    ๐Ÿ›  Fixed

    • PHP 8.1 compatibility.
  • 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.