blob: 8c6492827203e920e22af0ebfffd64925fadae54 [file] [log] [blame]
v2.21.0 (In Progress)
=======
WebDriver:
* Significant stability improvements in firefoxdriver.
Grid:
* Significant changes in the timeout strategy between hub, nodes and browser.
See http://code.google.com/p/selenium/wiki/Grid2 section on timeouts.
Compatibility note: It is recommended to at least update the nodes
to 2.21. Upgrading only the hub will effectively disable the
browser-death timeout.
* Content length issue solved
* Improvements in thread dumps in both hub and node,
possible to corrolate the two.
Server:
* -Dwebdriver.server.browser.timeout=<timeoutInSeconds> added to
differentiate between browser hang and client gone (which is
webdriver.server.session.timeout as before)
See http://code.google.com/p/selenium/wiki/RemoteWebDriverServer
for further details.
v2.20.0
=======
WebDriver:
* RemoteWebDriver.setLogLevel is no longer a static method.
* Introduce a timeout for page loads. This needs to be used in
conjunction with the unstable page load detection.
* Adding alertIsPresent ExpectedCondition.
* Turning off password saving in the Android driver.
* FIXED: 3391: scroll containing elements, not just windows.
* FIXED: 2211: Allow the http client factory to discover the proxy
for traffic between the http command executor and the webdriver
server via the normal system properties.
WebDriverJS:
* Refactored the WebDriverJs promise manager to use a proper tree to
track scheduled tasks.
* In webdriver.Builder, default to http://localhost:4444/wd/hub if a
server URL is not specified.
Grid:
* JDK 1.6.1_31 recommended for maximum stability
* The HUB is now upgraded to run with Jetty 7.6.1.
* Making the id for proxy final, and allowing it to be specified
from the registration request. If the id isn't in the request, the
remote host is used as an id, as it was before.
* FIXED: 3096: Memory leak in selenium hub.
RC:
* More work on SSL certs. Should work cleanly in Firefox now.
* FIXED: 1982: Clear an input element in such a way as to avoid
firing any events when emulating typing in selenium
emulation. Fixes issue 1982.
Atoms:
* Submit a form when the enter button is pressed in its input
element.
* Add a "mouse pixel scroll" event to the atoms events module.
* Adding a public "mouseOver" action and a little internal
refactoring around the mouseOver functionality.
v2.19.0
=======
WebDriver:
* Server-side implementation of the webdriver-backed selenium.
* "sendKeys" works in the webdriver-backed selenium when using
safari.
* Implement local/session storage for iOS driver.
* Exceptions now thrown when an alert occurs during script
execution.
* Native events implemented for Firefox 10.
* Renamed the experimental "fast" page loaded strategy "unstable"
and disable queuing of commands when it's enabled.
* Corrections to javadocs.
* Disabled native events for Firefox 8 as it's deprecated by
Mozilla.
RC:
* Update cybervillains certificate (thanks to Ivan De Marino and
Mark Watson @ Neustar)
* Default to using the native xpath engine in selenium-backed
webdriver instances.
* Correctly fire events when outside a firefox extension
WebDriverJS:
* Return a promise from webdriver.WebDriver.prototype.quit() so
users may register callbacks.
* Small tweaks so WebDriverJs works as expected in IE7/8.
Known Issues:
* Holding down a modifier key and clicking with Firefox 10 on
Windows does not work reliably when using native events.
v2.18.0
========
WebDriver:
* FIXED: 3169: Getting value attribute on option elements.
* Alert handling in Firefox and IE: Throwing UnhandledAlertException
if an alert is present during an operation. The unhandled alert is
also dismissed to mitigate repeat exceptions.
* Better handling of getText invocations on SVG elements.
* FIXED: 3253: Clicking stopped working on Firefox 4.
* Android Driver now supports Flash, Geolocation.
* FIXED: 1371: iPhone Driver now supports frame switching.
RC:
* FIXED: 2958: Selenium RC now closes IE HTA when the tests finish.
WebDriverJs:
* Fixes around findElements.
v2.17.0
========
WebDriver:
* Removed deprecated methods
* FIXED: 3152: iWebDriver will auto-play HTML5 video
* Fixed issue with permissions on windows caused by wrapping
* FIXED: 3154, 3144: Issues launching Firefox 9 due to modal dialog
* Adding warning to android apk when used with an incompatible
android version (issue 3142)
* FIXED: 3167: Sending empty keys to a text field no longer throws
* FIXED: 3173: Using ChromeOptions no longer causes stack exhaustion
* FIXED: 3169: getAttribute("value") falls back to the text of
option tags, if no value attribute is specified
* Updated operadriver to version 0.9
Maven:
* NOTE: We have removed our dependency on the operadriver from our
pom, because it creates a circular dependency. To use the
operadriver, add the following dependency to your own pom.xml
file:
<dependency>
<groupId>com.opera</groupId>
<artifactId>operadriver</artifactId>
<version>0.9</version>
</dependency>
RC:
* Bumped firefox support up to Firefox 12
Grid:
* FIXED: 3161: Thread safety issues
Known issues:
* Some issues around scrolling (3075, 3045, 3034)
v2.16.1
=======
RC:
* FIXED: 3148: Allow IE to be launched.
v2.16.0
=======
WebDriver:
* Native events enabled for Firefox 9
* The FirefoxDriver now enables apps to use offline storage by
default.
* ChromeDriver allows setting the chrome driver's environment more
easily.
* RemoteWebElement implementations now guarantee that the ID used to
identify them. This allows "hashCode" and "equals" to be local
operations in Java.
* The PageFactory will now no longer decorate List<WebElement>
fields unless annotated with a @FindBy.
* By default, clicks will now be in the middle of elements.
* RemoteWebDriver will use uncacheable GET requests to communicate
with the remote webdriver server.
* HtmlUnitDriver defaults to emulating Firefox 3.6.
* FIXED: 2985: Calling quit() on the IE Driver in a shutdown hook
will no longer kill the JVM.
* FIXED: 2893: You can now pass a Map to executeScript when using
Firefox.
* FIXED: 1395, 2747, 2869, 2431: Upgraded version of CocoaHTTPServer
to the latest and greatest.
WebDriverJS:
* Test failures are now annotated with the task history.
* JSONP support dropped in favour of CORS. For those browsers where
CORS is not fully implemented, added a "/xdrpc" (cross-domain rpc)
end-point.
* Change the promise.Application event loop to run at a set interval
instead of trying to explicitly trigger it at the appropriate
times. This makes debugging much simpler.
* WebDriverJS hub front-end now renders correctly in IE.
Grid:
* It's now a beautiful butterfly.
RC:
* IE HTA mode will now close the final window.
* All windows are now opened as "resizable". This means that they
should always open in new windows rather than tabs in IE.
* *chrome mode can type into file input elements on Firefox 8+
* WebDriverCommandProcessor has all constructors depending on the
(deprecated) SuppliesWebDriver class marked as deprecated. Will be
deleted in the next release.
Automation Atoms:
* Bug fixes and updates
* Included a touchscreen abstraction
v2.15.0
=======
Project:
* Code donation from Google.
WebDriver:
* Now supports up to and including Firefox 11.
* Changed order of FirefoxProfile initialization attempts on a
remote host: 1) try to load from capabilities, 2) try to load
locally if webdriver.firefox.profile is specified, 3) create an
empty profile.
* Added the beginning of infrastructure for gathering logs from
webdriver tests.
* Added an UnreachableBrowserException.
* Additional work on the WebDriver JS console.
* Implicit waits now change how long we wait for alerts. This
functionality will change in 2.16
* FIXED: 2700: The infamous scrolling issue.
* FIXED: 2816: ClassCastException when calling switchTo().alert().
Grid:
* Grid now distinguishs between CLIENT_GONE and
FORWARDING_TO_NODE_FAILED.
* FIXED: issue where older RCs could not connect to a newer hub.
RC:
* Selenium-backed WebDriver now uses atoms for typing.
Automation Atoms:
* Significantly reworked input device abstractions.
Known Issues:
* HTA mode for Selenium RC (*iexplore) leaves a browser window open.
v2.14.0
=======
WebDriver:
* Deleted all deprecated methods in the Java API.
* Client code cleaned to work with Java 5. Server code needs Java 6.
* Added a front-end for executing WebDriverJS scripts. Point a
browser at http://localhost:4444/wd/hub.
* Can now query an Android driver for supported capabilities.
* Updated JSON framework used in the iOS driver.
* Fixed issue with scrolling on small viewports with native events
in Firefox.
* FIXED: 2889: FluentWait supports adding a custom message to
timeout exception.
* FIXED 2798: When implicit waits are enabled in the FirefoxDriver,
stale element reference errors when searching for child elements
are now handled properly
* FIXED 2917: Preventing endless recursion in hashCode.
Server:
* Memory leak fixed
Grid:
* New beta console added.
* Grid nodes were leaking even more memory that regular server
nodes.
* Fixed a scenario that used to lead to "session = null" errors.
* Now support iOS nodes.
Known issues:
* Continuing problems with element out of bounds exception being
thrown.
v2.13.0
=======
Dependency change:
* Selenium/webdriver java dependencies now use apache commons-exec
(http://commons.apache.org/exec/) version 1.1. If you are using manual
dependency management you will need to add this to your project.
If you resolve via maven central (maven, ivy, gradle), this will
be handled automatically.
WebDriver:
* Recovering from null window references in the Firefox driver (#1438)
* Make native events work correctly on Linux with the Python bindings (#2633)
* Improved finding Firefox on Windows in the C# bindings (2818)
* Screenshots in Python are now working (2829)
* Exporting webdriver.promise from the Javascript API (2839)
* Permission denied accessing some elements using the Firefox driver (2863)
* Fixed typing into content editable elements with Firefox (2.12 regression)
* Firefox is started in the forgeground on OS X. Focus / blur events now have
higher chance of firing correctly on OS X.
* Deprecated methods were removed from the FirefoxDriver and FirefoxProfile
classes (saveScreenshot, enableNativeEvents, alwaysLoadNoFocusLib).
* The amount of time a test can remain hanging is now capped (to 3 hours).
Grid:
* Gracefully handle registration of old nodes in a new grid hub (#2738).
* Releasing all the resources when a proxy is removed from the hub (#2768).
Known issues:
* Synthesized mouse events are inaccurate (Affects Firefox driver users
on OS X) (2281)
* Invalid move target out of bounds exception thrown.2700
* Dragged elements end up in the wrong location, with the Firefox driver,
when scrolling is required (typically with small viewport) (2877)
v2.12.0
=======
RC
* Disabled web security checks for Chrome by default.
* Actually reenabling *safariproxy.
WebDriver
* Firefox 8 support enabled
* Added @Beta annotation. Any method marked with this may be deleted
or changed without notification.
* Added @Beta Window control for Firefox in Ruby and Java. This
allows resizing and moving.
* Renamed FirefoxProfile.enableNativeEvents() to
FirefoxProfile.areNativeEventsEnabled(). Deprecated original
method. Will be removed in 2.13.
* Renamed FirefoxProfile.alwaysLoadNoFocusLib() to
FirefoxProfile.shouldLoadNoFocusLib(). Deprecated original
method. Will be removed in 2.13.
* Better reporting of page size when attempting to move out of bounds.
* More informative error message when a remote webdriver client
fails to connect to the browser.
* PageFactory now only decorates WebElement lists.
* Calling WebElement.clear on a disabled or readOnly element will
throw an InvalidElementStateException.
* WebDriver.getWindowHandle will throw a NoSuchWindowException if
the window is closed.
* FIXED: 1498: HtmlUnit no longer finds containing element when
searching by CSS.
Grid
* Made Grid orphan check only apply to Se1 clients.
Atoms
* Implemented clear action for contentEditable elements.
v2.11.0
=======
RC:
* Safari proxy added back to the supported browser.
v2.10.0
======
Grid:
* Stability and reliability fixes.
* A single node can now process both selenium 1.0 and selenium webdriver requests. Old proxies deprecated.
* FIXED: 2617: Removing unnecessary logging.
* FIXED: 2650, 2400: Unregister dead nodes.
WebDriver:
* FIXED: 2700: Don't throw MoveTargetOutOfBoundsError where we shouldn't.
* FIXED: 2301: Allow commas in CSS selectors.
* FIXED: 2099: Occasional XPath lookup errors.
* FIXED: 1771: Don't scroll unnecessarily.
* FIXED: 2674: Don't incorrectly decorate List<WebElement>s which don't have @FindBy annotations.
Javascript:
* Added jsapi, including node integration. More details to come.
General:
* Updated version of guava used to 10.0.1.
v2.9.0
======
Project:
* ThoughtWorks code grant to the Software Freedom Conservancy complete.
WebDriver:
* Support for Ice Cream Sandwich in the AndroidDriver
* CSS Selector support enabled for Android
* Remote webdriver server log now contains '[HTML source]' instead of full
source.
* Better respect for preformatted text in WebElement.getText()
* Adding better error message when failing to connect to the FirefoxDriver.
* Reduced scrolling during tests for IE and Firefox.
* Preserve the state of modified keys when using native events on Linux.
* Support for experimental page load detection in firefox. Set the
"webdriver.load.strategy" to "fast" in the FirefoxProfile to enable less
conservative page loading detection at the risk of greater test
instability.
* FIXED: 2031: Shielding backslashes when writing preferences to a file.
There is an issue with Firefox: it drops \n and \r when it moves user
preferences to prefs.js. This patch is a workaround.
* FIXED: 2223: Clicks on labels are now propagated to the referenced element.
* FIXED: 2646: PortProber no longer attempts to divide by zero.
* FIXED: 2675: Better detection of where to click on links.
RC:
* FIXED: 569: Making assert and verify methods NPE-safe.
v2.8.0
======
WebDriver
* FIXED: 1967,1934: Temporary directories no longer fill up disk.
* FIXED: 2295,1899: Better handling of select/option tags in HtmlUnit
* Disabled elements won't be cleared any more
* FIXED: 2531: Allow setting frozen firefox profile preferences to their frozen values.
* FIXED: 2509: Fixing error=24 too many open files bug
* Added setFileDetector to RemoteWebDriver to allow files to be uploaded to the remote server
* Faster error reporting if chromedriver isn't executable
* FIXED: Occasional ClassCastExceptions
* FIXED: Proxy configuration NullPointerException problem
* FIXED: 1326: Allow parallel execution of FirefoxDriver on Linux with native events
* FIXED: 384: Fixed native FirefoxDriver crash on some 64-bit linux systems
* FIXED: 417: Allow @FindBy annotations to be put on List<WebElement> as well as just WebElement fields
* Added native event support for Firefox 7
* Added constructor to ChromeDriver that lets you specify the ChromeDriverService as well as the DesiredCapabilities
* FIXED: By.linkText now always trims leading and trailing whitespace
* FIXED: Issues with doubleClick in Firefox
RC
* FIXED: 1934: -singleWindow works for *iexplore
* Selenium Server params work with RC Grid configuration
* Adding support for Firefox 8
v2.7.0
======
WebDriver
* FIXED: 2487: FirefoxDriver no longer types in the URL bar.
* FIXED: Issues to do with not clicking on elements out of view when using
native events.
* FIXED: 2456: Double click and get no longer hangs Firefox.
* Improved emulation of Selenium RC when using Opera in the
WebDriverBackedSelenium.
* FIXED: 2421: Chrome returns doubles instead of ints because it supports
sub-pixel rendering.
RC
* FIXED: #2413: "Missing space between browser name and custom path in error
message"
* FIXED: 2390, 2477: Make -h a synonym for -help
Automation Atoms
* Allow bot.dom.getInViewLocation to scroll a specified location into view.
v2.6.0
======
WebDriver
* Better handling of the case where emphemeral sockets are exhausted.
* More widespread use of the InvalidSelectorError in Chrome and Remote.
* When using native events, prevent firefox from scrolling if an element is
already in the view.
* Improvements in the mouse emulation (movement, click, double click, context
click)
* Bumped included version of OperaDriver to 0.7.1.
* Attempt to address issue #1443 (the infamous "getWindow() == null" problem)
* Added timing information to WebDriver exceptions resulting from command
invocations in the remote driver.
* Added an ExpectedConditions class with common ExpectedCondition
implementations.
* Better usage of sockets in the remote webdriver
RC
* WebDriver-backed Seleniums will now clear text fields before typing.
Grid
* Significantly improved thread safety.
* Improved information on the index page of the hub.
Automation Atoms
* bot.inject.executeScript* handles function arguments better.
* Add atom to get the frame index of a frame element (bot.frame.getFrameIndex)
* Added emulation of touch devices and events
* Use DOM Events level 2 and 3 for events IE if available
v2.5.0
======
WebDriver
* Firefox 7 support without Native Events
* Implementing scrolling past the viewport for Firefox
* FIXED: 1020: Clicking on a link over multiple lines in Firefox
* Minor cleanups of code
Grid
* FIXED: Thread Safety Issues
v2.4.0
======
WebDriver:
* Firefox 6 support.
* Change in the wire protocol to bring alert checking inline with the
semantics of other commands.
* Improved text handling: non-breaking spaces are now returned as spaces, even
in the middle of an existing body of text.
* Minor fixes for detecting whether elements are visible.
* Added handling of lists and maps in EventFiringWebDriver.executeScript().
* FIXED: 2158: Fixing HtmlUnit select element getAttribute behaviour for
"multiple" attribute.
* Better handling of cookies in the remote webdriver (particularly Chrome)
* FIXED: Thread safety issues.
* Added clear app cache to the wire protocol.
Selenium:
* Firefox 8 support.
v2.3.0
======
WebDriver:
* Better detection of clickable areas in Firefox.
* Alert handling works in Chrome.
* Merge of Google-contributed code into the underlying Atoms.
* FIXED: Internet Explorer crashes when an element has empty text and getText called.
* FIXED: IBM JDK throws different exception when unable to bind to a socket.
v2.2.0
======
Selenium RC:
* Avoiding double quoting the "method" when captured network traffic is
returned via XML.
WebDriver:
* relatedTarget now set on appropriate events (mouseover, mouseout)
* Multiply wrapped WebElements now unwrapped properly when using the remote
webdriver
* RemoteWebElement will reuse an ID if the element has been looked up before.
* Better warnings for emulated Selenium methods "allowNativeXpath" and
"useXpathLibrary"
* More consistent errors when an xpath expression returns something that is
not a WebElement (indicated via the InvalidSelectorException.
Grid:
* Adding support for a "host" variable in the config files.
* Additional logging
v2.1.0
======
WebDriver:
* Round to 0 if something looks like it's off the edge of the screen when
calculating distances. Fixes issue 1776.
* Deleting the deprecated TimeoutException inner class and replacing with the
top-level one
Grid:
* Properly form the HTML output for console display.
* Track when a session has become orphaned. I.e., when the client sends no
commands after the initial session creation. This almost always indicates
the client is no longer connected and the session is unusable immediately.