90 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Changelog
 | |
| This project versioning adheres to [Semantic Versioning](http://semver.org/).
 | |
| 
 | |
| ## Unreleased
 | |
| 
 | |
| ---
 | |
| 
 | |
| ## 1.6.0 - 2018-05-16
 | |
| ### Added
 | |
| - Connection and request timeouts could be specified also when creating RemoteWebDriver from existing session ID.
 | |
| - Update PHPDoc for functions that return static instances of a class.
 | |
| 
 | |
| ### Changed
 | |
| - Disable sending 'Expect: 100-Continue' header with POST requests, as they may more easily fail when sending via eg. squid proxy.
 | |
| 
 | |
| ## 1.5.0 - 2017-11-15
 | |
| ### Changed
 | |
| - Drop PHP 5.5 support, the minimal required version of PHP is now PHP 5.6.
 | |
| - Allow installation of Symfony 4 components.
 | |
| 
 | |
| ### Added
 | |
| - Add a `visibilityOfAnyElementsLocated()` method to `WebDriverExpectedCondition`.
 | |
| 
 | |
| ## 1.4.1 - 2017-04-28
 | |
| ### Fixed
 | |
| - Do not throw notice `Constant CURLOPT_CONNECTTIMEOUT_MS already defined`.
 | |
| 
 | |
| ## 1.4.0 - 2017-03-22
 | |
| ### Changed
 | |
| - Cookies should now be set using `Cookie` value object instead of an array when passed to to `addCookie()` method of `WebDriverOptions`.
 | |
| - Cookies retrieved using `getCookieNamed()` and `getCookies()` methods of `WebDriverOptions` are now encapsulated in `Cookie` object instead of an plain array. The object implements `ArrayAccess` interface to provide backward compatibility.
 | |
| - `ext-zip` is now specified as required dependency in composer.json (but the extension was already required by the code, though).
 | |
| - Deprecate `WebDriverCapabilities::isJavascriptEnabled()` method.
 | |
| - Deprecate `textToBePresentInElementValue` expected condition in favor of `elementValueContains`.
 | |
| 
 | |
| ### Fixed
 | |
| - Do not throw fatal error when `null` is passed to `sendKeys()`.
 | |
| 
 | |
| ## 1.3.0 - 2017-01-13
 | |
| ### Added
 | |
| - Added `getCapabilities()` method of `RemoteWebDriver`, to retrieve actual capabilities acknowledged by the remote driver on startup.
 | |
| - Added option to pass required capabilities when creating `RemoteWebDriver`. (So far only desired capabilities were supported.)
 | |
| - Added new expected conditions:
 | |
|     - `urlIs` - current URL exactly equals given value
 | |
|     - `urlContains` - current URL contains given text
 | |
|     - `urlMatches` - current URL matches regular expression
 | |
|     - `titleMatches` - current page title matches regular expression
 | |
|     - `elementTextIs` - text in element exactly equals given text
 | |
|     - `elementTextContains` (as an alias for `textToBePresentInElement`) - text in element contains given text
 | |
|     - `elementTextMatches` - text in element matches regular expression
 | |
|     - `numberOfWindowsToBe` - number of opened windows equals given number
 | |
| - Possibility to select option of `<select>` by its partial text (using `selectByVisiblePartialText()`).
 | |
| - `XPathEscaper` helper class to quote XPaths containing both single and double quotes.
 | |
| - `WebDriverSelectInterface`, to allow implementation of custom select-like components, eg. those not built around and actual select tag.
 | |
| 
 | |
| ### Changed
 | |
| - `Symfony\Process` is used to start local WebDriver processes (when browsers are run directly, without Selenium server) to workaround some PHP bugs and improve portability.
 | |
| - Clarified meaning of selenium server URL variable in methods of `RemoteWebDriver` class.
 | |
| - Deprecated `setSessionID()` and `setCommandExecutor()` methods of `RemoteWebDriver` class; these values should be immutable and thus passed only via constructor.
 | |
| - Deprecated `WebDriverExpectedCondition::textToBePresentInElement()` in favor of `elementTextContains()`.
 | |
| - Throw an exception when attempting to deselect options of non-multiselect (it already didn't have any effect, but was silently ignored).
 | |
| - Optimize performance of `(de)selectByIndex()` and `getAllSelectedOptions()` methods of `WebDriverSelect` when used with non-multiple select element.
 | |
| 
 | |
| ### Fixed
 | |
| - XPath escaping in `select*()` and `deselect*()` methods of `WebDriverSelect`.
 | |
| 
 | |
| ## 1.2.0 - 2016-10-14
 | |
| - Added initial support of remote Microsoft Edge browser (but starting local EdgeDriver is still not supported).
 | |
| - Utilize late static binding to make eg. `WebDriverBy` and `DesiredCapabilities` classes easily extensible.
 | |
| - PHP version at least 5.5 is required.
 | |
| - Fixed incompatibility with Appium, caused by redundant params present in requests to Selenium server.
 | |
| 
 | |
| ## 1.1.3 - 2016-08-10
 | |
| - Fixed FirefoxProfile to support installation of extensions with custom namespace prefix in their manifest file.
 | |
| - Comply codestyle with [PSR-2](http://www.php-fig.org/psr/psr-2/).
 | |
| 
 | |
| ## 1.1.2 - 2016-06-04
 | |
| - Added ext-curl to composer.json.
 | |
| - Added CHANGELOG.md.
 | |
| - Added CONTRIBUTING.md with information and rules for contributors.
 | |
| 
 | |
| ## 1.1.1 - 2015-12-31
 | |
| - Fixed strict standards error in `ChromeDriver`.
 | |
| - Added unit tests for `WebDriverCommand` and `DesiredCapabilities`.
 | |
| - Fixed retrieving temporary path name in `FirefoxDriver` when `open_basedir` restriction is in effect.
 | |
| 
 | |
| ## 1.1.0 - 2015-12-08
 | |
| - FirefoxProfile improved - added possibility to set RDF file and to add datas for extensions.
 | |
| - Fixed setting 0 second timeout of `WebDriverWait`.
 | 
