### 6.11.0.beta2 (2018-05-10) * Additional performance updates * Fix bug with error message of unlocated parent element (#706) ### 6.11.0.beta1 (2018-05-04) * Significant performance updates ### 6.10.3 (2018-01-26) * Add special handling for `date_field` and `date_time_field` input types ### 6.10.2 (2017-12-13) * Fix bug in `#exists?` for elements nested in IFrames ### 6.10.1 (2017-12-12) * Fix bug in IFrame#present? * Improve performance for Element#center (thanks Lucas Tierney) * Skip tag name filter when locating by tag name ### 6.10.0 (2017-11-23) * Add support for locating elements with custom attributes * Add new `:visible_text` locator (thanks Justin Ko) * Deprecate Selenium locators `:link`, `:link_text` and `:partial_link_text` in favor of `:visible_text` * Deprecate finding only visible text for `RegExp` values on `:text` locator (#342) * Improve support for finding elements with `:tag_name` along with `:xpath` or `:css` locators ### 6.9.1 (2017-11-20) * Fix bug preventing the use of `#exectue_script` in `AfterHook` (#684) ### 6.9.0 (2017-11-18) * Fix bug in Element#flash * Fix bug with w3c alert handling (thanks Lakshya Kapoor) * Add support for passing multiple options into #select and #select_all (thanks Justin Ko) * Add support for passing multiple parameters into Element#set! (thanks Justin Ko) * Add support for headless Firefox (thanks Lucas Tierney) * Add support for setting cookie expiration by String (thanks Lucas Tierney) * Add support for new class locators to #element and #elements (thanks Justin Ko) * Provide suggestion to look inside IFrame when element not found (thanks Justin Ko) ### 6.8.4 (2017-09-08) * Fix bug with non-visible buttons not being waited on (#648) ### 6.8.3 (2017-09-07) * Fix bug with non-interactable elements not being waited on (#636) ### 6.8.2 (2017-09-06) * Fix bug to prevent after_hooks from running when an alert is present * Fix bug with actions not correctly timing out (#636) ### 6.8.1 (2017-09-05) * Ignore index locator when value is zero * Fix bug with `Select#select!` doing partial string matches (thanks Justin Ko ) ### 6.8.0 (2017-08-28) * Add AfterHook executions to additional methods that can change DOM * Deprecate `Select#select_value` in favor of `Select#select` * Implement `Element` `#click!`, `#double_click!` & `#set!` with JavaScript * Implement `Select#select!` and `Select#select_all!` with JavaScript * Implement `Element#inner_text` and `Element#text_content` * Implement `RadioSet` * Implement `Input#label` * Fix bug preventing Capabilities from handling :listener ### 6.7.3 (2017-08-20) * Fix bug preventing Capabilities from handling :driver_opts (#629) ### 6.7.2 (2017-08-18) * TableCell#column_header returns String not Cell ### 6.7.1 (2017-08-16) * Fix bug preventing use of Firefox profiles (#625) ### 6.7.0 (2017-08-14) * Implement TableCell#column_header * Add aliases to access Element methods in more ways * Add methods on Element #scroll_into_view #location #size #height #center * Fix bug preventing Safari Technology Preview usage * Implement Browser#original_window * Implement TableCell#sibling_from_header * Fix bug preventing usage of switches with Chrome * Fix bug of not waiting for SelectList when using options * Allow OList, UList, TableRow, Table to be accessed like collections * Implement Element#siblings * Fix bug preventing locating elements by attribute ### 6.6.3 (2017-08-09) * Fix bug preventing usage of remote driver (#614) * HTML Element attribute support updated to HTML 5.1 ### 6.6.2 (2017-08-08) * Fix bug preventing headless operation (#611) ### 6.6.1 (2017-08-07) * Support initializing browser with Selenium Options class (#606) ### 6.6.0 (2017-08-02) * Implement `Select#select_all` for selecting multiple options in select list * Deprecate `Select#select` for selecting multiple options in a list * Implement `ElementCollection#empty?` and `ElementCollection#locate?` * Implement `Watir::Logger` class * Implement `Watir::Capabilities` class * Add support for relocating elements created with `Element#to_subtype` * Add support for locating adjacent elements with any Watir locator * Allow locating buttons by type attribute (thanks Justin Ko ) ### 6.5.0 (2017-07-25) * Add support for locating multiple classes using :class parameter ### 6.4.3 (2017-07-19) * Fix bug with element relocation from ElementCollection ### 6.4.2 (2017-07-14) * No changes ### 6.4.1 (2017-07-13) * Fix bug with stale element errors from ElementCollection (#571) ### 6.4.0 (2017-07-11) * Significant performance updates ### 6.3.0 (2017-06-20) * Allow locating elements by attribute presence/absence (#345) * Element#flash configurable by color, number, and delay (thanks Paul3816547290) * Implement Select#text like Select#value (thanks Arik Jones) * Optimize Select#selected_options, Select#value, and Select#text with javascript (thanks Andrei Botalov) * Support locating elements by #execute_script from inside frame context ### 6.2.1 (2017-03-22) * Allow sending text to FileField without checking element is #visible? * Fix bug waiting for Alerts * Fix bug from resetting stale element (thanks DJCecil2) ### 6.2.0 (2017-02-20) * `Element#wait_while_present` exits when locator no longer matches * Element Collections store specific element types rather than just `HTMLElement` * Implement adjacent element location for parent, siblings and children * Add support for assigning keywords to `Element` for better error messaging * Update actions implementation to work with selenium-webdriver > 3.0.5 ### 6.1.0 (2017-01-04) * Add Ruby 2.4.0 support (thanks Robert MacCracken) * Implement polling interval parameter for wait methods * Implement visible locator for element collections * Implement automatic waiting for selecting options in a select list * Fix bug allowing `StaleElementReferenceError` in `#wait_while_present` calls ### 6.0.3 (2016-12-22) * No notable changes, only includes fixes for WatirSpec ### 6.0.2 (2016-11-15) * Fix bug for `Timer#current_time` calling the wrong `Time` ### 6.0.1 (2016-11-09) * Fix bug for `Browser#wait_until` and `wait_while` to allow ordered arguments ### 6.0.0 (2016-11-08) * Add `#Watir#relaxed_locate` to enable automatic waiting for elements to be ready for a specified action * Remove `when_present` method * Update `wait_until` and `wait_while` to return `self` to allow chaining * Support keywords for wait methods * `Element#text_field` no longer locates textareas - use `Element#textarea` instead. * Use `Process.clock_gettime` when available for waiting (#486) ### 6.0.0.beta5 (2016-09-25) * Elements in collections can now be relocated after going stale * Added visible locator to filter out matching elements that are hidden * Element not found error messages now include selector information from parent elements ### 6.0.0.beta4 (2016-09-12) * Deprecate Watir#prefer_css setting * Deprecate Watir#always_locate setting * Add `Element#stale?` * Add `Element#wait_until_stale` * Allow locating date/time/etc. input types with `#text_field` (#295) ### 6.0.0.beta3 (2016-08-07) * Deprecate `require "watir-webdriver"` in favor of `require "watir"` ### 6.0.0.beta2 (2016-08-06) * Support projects with files using `require "watir-webdriver"` ### 6.0.0.beta1 (2016-08-06) * Project renamed to watir * References to WebDriver removed or replaced by Selenium * Require Selenium > 3.0.0.beta1 * Default browser in Watir is now Chrome * Default implementation for Firefox is with geckodriver * Remove deprecated alerts helpers * Remove deprecated checkers ### 0.9.9 (2016-08-01) * Final release as watir-webdriver ### 0.9.3 (2016-07-31) * Fix warning message for untyped text field (#434) ### 0.9.2 (2016-07-29) * Massive reorganization and refactoring of element locators (#392) * Fix bug with when_present (#432) * Bug fix for elements in collections going stale ### 0.9.1 (2015-10-14) * Fix permissions issue with element_locator file(#381) * Trying to select a disabled option now raises `ObjectDisabledException` (#378) * `Element#enabled?` raises `UnknownObjectException` if element is not present (#379) ### 0.9.0 (2015-10-08) * Improve performance for Select#include? (#375, thanks @Conky5) * Add support for waiting for elements to be enabled (#370, thanks @Rodney-QAGeek) * Remove unnecessary wire calls for navigation (#369) * Improve performance for Select#selected? with large drop-down lists (#367) * Add stale element protection and correct context assurance for Browser#text (#366) * Restore behavior for Wait#until to return result of block (#362, thanks @chrismikehogan) * Fix context switching between frames for element collections (#361) * AfterHooks run after closing an alert (#352) * New AfterHooks API that deprecates Checkers: * Use `Browser#after_hooks#add` instead of `Browser#add_checker` * Use `Browser#after_hooks#delete` instead of `Browser#disable_checker` * Use `Browser#after_hooks#run` instead of `Browser#run_checkers` * Use `Browser#after_hooks#without` instead of `Browser#without_checkers` ### 0.8.0 (2015-06-26) * Ruby 1.8 is no longer supported. Ruby 1.9 still works, but not supported as well (#327) * Ensure `Watir::Element` responds to `data_*` and `aria_*` methods (#333, thanks @daneandersen) * Fixed the handling of child elements becoming stale (#321) * Performance optimization for nested elements (#321) * Support for SVG elements (see `lib/watir-webdriver/elements/svg_elements.rb`) * Updated selenium-webdriver to 2.46.2 ### 0.7.0 (2015-03-02) * Allow finding all elements with prefer_css * Add support for yard-doctest (#287) * Update from HTML spec (#296) * Support tag_name call on Frames and IFrames (#293 & #294) * Increased performance by caching elements by default where possible (#307) * Improved handling of elements that go stale during lookup (#291, thanks @titusfortner) * Fix element location issues when switching between IFrames (#286, thanks @titusfortner) * Fix creation of an IFrameCollection based on selector (#299, thanks @titusfortner) * Fix window handling with closed windows (#290 & 282, thanks @titusfortner) * Prevent running checkers on a closed window (#283, thanks @titusfortner) * Allow taking actions without triggering run checkers (#283, thanks @titusfortner) * Fix bug when ElementCollection#[] returns existing elements for non-existing selector (#309) * Fix bug when Wait would never execute block with 0 timeout (#312) * Fix race condition with IFrameCollection#to_a (#317) ### 0.6.11 (2014-09-23) * Fix namespacing issue (#265, thanks @titusfortner) * Fix handling of elements that go stale during lookup (#271, thanks @titusfortner) ### 0.6.10 (2014-06-10) * Changed the way attributes are generated and documented (see #28 and #215) * Improved error message for read only elements (see #256) ### 0.6.9 (2014-04-13) * `Watir::Wait` timer can be re-implemented now (see #242) * Added `Watir::Cookies#[]` to retrieve cookie by name (see #251, thanks @mattparlane) * Added `Watir::Element#outer_html` (aliased to `#html`) (thanks @aderyabin) * Added `Watir::Element#inner_html` (thanks @aderyabin) ### 0.6.8 (2014-02-20) * `:css` selector can now be used with `:index` (fixes #241) * `:css` selector can now be used on all container methods (fixes #124) ### 0.6.7 (2014-02-04) * Revert wait/timeout bug introduced in 0.6.5 to fix #228. ### 0.6.6 (2014-01-29) * Fix regression where locating `` using (value: /foo/) would fail. ### 0.6.5 (2014-01-28) * Allow :name as locator for any element (#238) * Make default timeout configurable (Watir.default_timeout, thanks to Justin Ko) * Fix collission with Timecop. (#228) * Support locating elements by and retrieving value of `aria-*` attributes. (#233) * Allow to save/load cookies from file (thanks @ar4an) * Locate by label attribute if it's valid for element (#219) * Delegate #present? to Element (#216) * Handle iframes like frames (#204) * Fix HTML5 / input type handling (#217) * Fix locating buttons and textarea by value (#163, #208) * Make sure Browser#url always returns url of top frame (#205). * Deprecate locating texteareas with #text_field. ### 0.6.4 * Add ability to find element by parent