2.4.0 (2011-08-11) ================== * Firefox 6 support. * Raise in switch_to.alert when no alert is present. * Improved handling of non-breaking spaces for Element#text. 2.3.2 (2011-08-01) ================== * Re-releasing since 2.3.1 was a buggy build. 2.3.1 (2011-08-01) ================== * Fix bug where Firefox would hang if Firefox::Profile#log_file= was set. 2.3.0 (2011-08-01) ================== * Add Selenium::WebDriver::Chrome::Profile * Better detection of clickable areas in Firefox. * Merge of Google-contributed code into the underlying Atoms. * IE click issue fixed (#1650) * No longer raise in Element#inspect if the element is obsolete. 2.2.0 (2011-07-26) ================== * Add ability to listen for WebDriver events * Fix Android/iPhone bridges to work similar to others (https://github.com/jnicklas/capybara/issues/425) * Various atoms fixes * Element equality now works properly with the remote server (#251). 2.1.0 (2011-07-18) ================== * Various improvments to the IE driver (#2049, #1870) * Atoms fixes (#1776, #1972). * Synthetic mouse clicks do not propagate errors in onmouseover. 2.0.1 (2011-07-11) ================== * Make sure at_exit hooks aren't inherited by child processes. 2.0.0 (2011-07-08) ================== * Remove deprecated methods Element#{toggle,select,drag_and_drop_*,value}. * Add ability to pass :verbose, :native_events to the Chrome driver. * Synthetic mouse implementation for Firefox - improves drag and drop support platforms without native events. * Added Selenium::WebDriver::Opera (requires the remote server). * Fix for locating Firefox on 64-bit Windows when missing from the registry. * Fix native events on Firefox 4, 5. 0.2.2 (2011-06-22) ================== * Deprecate Element#{toggle,select,drag_and_drop_*} * Chrome.path= now sets the path to Chrome, Chrome.driver_path= the path to the chromedriver server. * Fix argument names in Mouse#move_to and Mouse#move_by. * Support Firefox 5 * Chrome and Firefox drivers now includes the HasInputDevices module. * Selenium::Rake::ServerTask now works with Rake 0.9. 0.2.1 (2011-06-01) ================== * Allow passing custom command line switches to Chrome (requires today's release of the Chrome server) * Avoid mutating arguments to find_element (issue #1273). * Avoid conflicts when SUT modifies Array.prototype * Allow setting arbitrary capabilities by adding Capabilities#[]= * The Chrome driver is extended with TakesScreenshot. * IE driver detects bad protected mode settings. * Firefox driver no longer considers opacity when determining visibility. * Fix for ActionBuilder#move_by. * Treat Errno::EBADF as an indication that we failed to grab the socket lock (issue #1611). * Ensure Firefox launches don't hang on some Ruby versions (by improving Selenium::WebDriver::SocketPoller). * Various internal driver improvements. 0.2.0 (2011-04-22) ================== * Update Ruby bindings to use the rewritten Chrome driver (see http://code.google.com/p/selenium/wiki/ChromeDriver). * Add deprecation warning for WebDriver::Element#value (use Element#attribute("value") instead). * Change the default timeout for Wait instances to 5 seconds. * Fix bug where locators would fail if Object.prototype had been modified. * Various IE fixes - Issues: #698, #1444 - Improved handling of showModalDialog() - Full-size screenshots * Allow users to override the dom.max_script_run_time preference in Firefox. * Removed DesiredCapabilities.safari, which was never supported anyway. * Add DesiredCapabilities.opera, which will be supported in the Remote server if OperaDriver is on the classpath. * Print warnings for deprecated constants in the RC client: - Selenium::SeleniumDriver => Selenium::Client::Driver - Selenium::CommandError => Selenium::Client::CommandError * Removed top-level constants: - SeleniumHelper (available as Selenium::Client::SeleniumHelper) - SeleniumCommandError (available as Selenium::Client::CommandError) 0.1.4 (2011-03-21) ================== * Support for Firefox 4. * Search PATH for Firefox / Chrome on OS X as well. * Bump dependencies for ffi and childprocess (#1356). * Find module renamed to SearchContext * Deprecated methods Driver#hover and Options#{speed,speed=} removed. * Improve IE driver stability, IE9 support * Added basic ActionBuilder and HasInputDevices#action. Not applicable for all browsers. * Added Driver#execute_async_script * Some WebDriver exception classes have been renamed to match its Java equivalents: ElementNotEnabledError -> InvalidElementStateError UnknownScriptResultError -> XpathLookupError * Fix bug where Element#disabled? would alternate between true/false (r11438) 0.1.3 (2011-02-14) ================== * Several crashing bugs fixed in the IE driver. * Alert API available through the remote driver. * Driver#refresh fixed in the IE driver. * Fixed paths for IE DLLs on Cygwin. * Screenshot support in the IE and Remote drivers. * Fix #1152 by avoiding IPv6 loopback. * Added Mouse and Keyboard classes, accessible as Driver#{mouse,keyboard}. Considered experimental (IE + HtmlUnit only at the moment). * Automation atoms now used extensively in the IE driver. * Firefox::Bridge is now easier to extend (i.e. with a custom launcher). * Add S::W::Remote::Http::Persistent (currently only usable with the remote server). * IE driver passes along options like the other remote drivers, enabling user-specified HTTP clients. * :firefox_profile added to Remote::Capabilities, enabling passing a profile to remote Firefoxes. * IE driver now supports launching multiple instances of the browser. * Remove some Ruby warnings (uninitialized ivars, URI.escape). 0.1.2 (2010-12-22) ================== * Changed frame switching behaviour (http://groups.google.com/group/selenium-developers/browse_thread/thread/8dc7938c35bb3968) * IE driver rewrite landed. * Initial support for alerts/prompts (in Firefox). * Cygwin support. * Driver#execute_script now properly wraps elements inside Hashes. * Various fixes for Firefox 4. 0.1.1 (2010-11-29) ================== * Fix for Chrome.path= * Remote drivers always add Content-Length for POST requests (thanks joshuachisholm) * Fix for JS execution bug in the IE driver * Add ability to specify a proxy on the Http::Default client. * The remote drivers' :http_client argument now take a configured instance. 0.1.0 (2010-11-11) =================== * selenium-client code (Se1/RC client) is now included in the gem (require "selenium/client"). * Add Selenium::WebDriver::Proxy, used to configure proxies for Firefox::Profile and the remote driver. * Tweaked Firefox profile preferences, improve logging, disabled crash reporter. * Reap Firefox profiles on close, not just on exit. * Add selenium/rake/server_task and selenium/server which wraps the Selenium server jar. * Various Firefox driver improvements (GC race conditions ++). * IE::Bridge#initialize now takes an options hash like the other bridges. * Added basic iPhone and Android driver classes. * Firefox driver now works on FreeBSD. 0.0.29 (2010-10-09) =================== * Element#find_element with :xpath follows the XPath spec (i.e. results are not limited to the receiver's subtree). * Element#attribute(attribute) now returns "false" instead of nil. * Firefox::Profile instances can now be reused for multiple drivers. * Redirect Firefox console logs to a file with Firefox::Profile.log_file= * Added a simple Wait class, based on WebDriverWait in Java. * Search PATH for Firefox executable on Windows also. * Added Capabilities.android * Fix saving of screenshots on Windows and Ruby 1.9 (using "wb" mode string) * CSS selector support in the remote driver * CSS selector support for IE (using querySelector when available, Sizzle elsewhere) * CSS selector support for older versions of Firefox (through Sizzle) * Cookie expiration dates are now handled correctly (#730) * Make Driver#bridge private, since this seems to be a common cause of confusion. * Add {Element,Remote::Capabilities}#as_json for Rails 3 (http://jonathanjulian.com/2010/04/rails-to_json-or-as_json/) * User can configure path to exectuables with {Firefox,Chrome}.path = "/some/path" * Added "chromium" as a possible name for the Chrome binary (#769) * Correctly set the HTTP client timeout (#768) * switch_to.window with block now handles exceptions and non-local returns. * switch_to.window with block returns the result of the block. * Extracted handling of child processes to a separate gem: http://github.com/jarib/childprocess 0.0.28 (2010-08-23) =================== * Fix behaviour of Element#==, Element#eql? and Element#hash (#hash still has issues on IE / remote). * Include remote server backtrace in raised errors (if available). * Chrome: Untrusted certificate support. * IE: Fix NoMethodError when getElementAttribute returns nil. * Driver#[] shorthand can take a locator hash, not just an id string. 0.0.27 (2010-07-22) =================== * Fixes for Element#attribute on IE / Firefox 0.0.26 (2010-07-19) =================== * Work around Curb issue: http://github.com/taf2/curb/issues/issue/40 0.0.25 (2010-07-19) =================== * Prevent Firefox from launching in offline mode (issue #587). * Add ability to set Firefox' binary path through Selenium::WebDriver::Firefox::Binary.path= * Add ability to install Firefox XPIs through Profile#add_extension. * Better packaging/building of Firefox/Chrome extensions, which adds rubyzip as a dependency. * Remote client supports HTTPS (issue #613 - thanks kkaempf). * Fix error message for TimeOutError in the IE driver (issue #602) * Add ability to use Chrome's default profile. * Fix for frame behaviour in Chrome (issue #273). * Standard gem directory structure (issue #475). 0.0.24 (2010-06-17) ================== * Fix issues with quitting Firefox/Chrome on Windows + MRI. 0.0.23 (2010-06-15) =================== * Improved the HTTP clients: - hopefully fix some occasional socket errors on Windows - rescue error on driver.close() with curb 0.0.22 (2010-06-11) =================== * Bugfix: Workaround for http://github.com/taf2/curb/issues/issue/33 - curb would sometimes use DELETE for GET requests. * Minor doc fix * Add ability to set timeout for HTTP clients 0.0.21 (2010-06-11) =================== * User can specify :http_client for the Firefox driver. * Refactor HTTP client code * Add Remote::Http::Curb as an alternative to the default (net/http) client. 0.0.20 (2010-06-03) =================== * Fix bug where Firefox would hang on quit(). 0.0.19 (2010-05-31) =================== * Add a max redirect check to the remote driver * Add Firefox::Profile#assume_untrusted_certificate_issuer= * Add implicit waits (Selenium::WebDriver::Timeouts) * at_exit hook to clean temporary profiles * Fix for Errno::ECONNABORTED errors on Windows * Fix issue where Firefox::Profile#secure_ssl= would have no effect * Fix issue where locating elements by :css would fail in the Chrome driver. * IE driver now works on 64-bit rubies.