v0.5.pre3    2011-09-09

  [BUG FIXES]

  * Calling #to_s on opts, fixes `desktopwatir --help`.  (andreastt)

  * Removing redundant -autotestmode argument sent by
    OperaWatir::DesktopBrowser.  (andreastt)

  [OTHER]

  * Upgraded to OperaDriver v0.7.2.  This will fix issues with getting location
    of elements in SVG documents, among other fixes.  (andreastt)

  * Upgraded to latest head of selenium-client-nodeps.  (andreatt)

v0.5.pre2    2011-09-06

  [NEW FEATURES]

  * Added browser utility service as Browser#utils, implementing the following
    new method calls:

      Utils#core_version, returning the core version
      Utils#os, returning the browser's OS
      Utils#product, returning product type (desktop/core/mobile)
      Utils#binary_path, returning full path to Opera binary
      Utils#user_agent, returning User-Agent string
      Utils#pid, returning the browser's PID if available

    (andreastt)

  * Implementing ability to enable verbose logging in operawatir.  Added
    following new command-line switches to the operawatir binary:

      --debug=LEVEL (or -d for short), for specifying logging level
      --log=FILE, for specifying sending the logging to a file

    Available logging levels are: SEVERE (highest), WARNING, INFO, CONFIG,
    FINE, FINER, FINEST (lowest), ALL.  Default is INFO.  See `operawatir
    --help` for more information.

    (andreastt)

  [ENHANCEMENTS]

  * Now using DesiredCapabilities from OperaDriver v0.7 instead of
    OperaDriverSettings.  (andreastt)

  [BUG FIXES]

  * initMouseEvent in Element#fire_event is now clicking clientX and clientY
    instead of relying on internal driver locators.  (andreastt)

  * Compat::Window#show_frames now returns a string instead of writing to
    STDOUT.  (andreastt)

  * Browser#quit was calling OperaDriver.shutdown() which is now deprecated.
    Fixed by now calling OperaDriver.quit() instead.  (andreastt)

  * `operawatir --help` was broken, fixed by converting OptionParse object to a
    String.  (andreastt)

  [OTHER]

  * Upgraded to OperaDriver v0.7.1.  (andreastt)

  * Added tests for new Utils interface.  (andreastt)

v0.5.pre1    2011-08-31

  [API CHANGES]

  * Implemented advanced user interaction API in Watir by adding a new Actions
    class.  This is accessible through Browser#actions.  (stuartk)

  * Removed Browser#close_all since this is no longer supported in WebDriver.
    The alternative approach is to get all windows, then cycle through them to
    close them.  (andreastt)

  * Added following method calls related to performing context menu clicks:

      DesktopBrowser#action_with_condition
      DesktopBrowser#active_quick_window_id
      DesktopBrowser#close_active_menu
      DesktopBrowser#close_all_menus
      DesktopBrowser#close_menu
      DesktopBrowser#close_menu_with_key_press
      DesktopBrowser#key_press_with_condition
      DesktopBrowser#open_menu_with_key_press
      DesktopBrowser#open_menu_with_rightclick
      DesktopBrowser#quick_menuitems
      DesktopBrowser#quick_menus
      DesktopBrowser#quick_tabs
      DesktopBrowser::ConditionTimeout
      DesktopContainer#quick_dropdownitem
      DesktopContainer#quick_menu
      DesktopContainer#quick_menuitem
      QuickMenu (...)
      QuickMenuItem (...)

    (karie)

  * Added following utility methods:

      DesktopBrowser#desktop?
      DesktopHelper#linux?
      DesktopHelper#mac?
      DesktopCommon#linux_internal?
      DesktopCommon#mac_internal?
      DesktopCommon#wait_for_menu_closed
      DesktopCommon#wait_for_menu_shown
      DesktopCommon#wait_for_widget_visible
      DesktopCommon#widgets

    (karie)

  * Added QuickButton#wait_for_visible to wait for a button to become visible.
   (karie)

  * Added following APIs related to QuickDropdown's:

      QuickDropdown#dropped_down?
      QuickDropdown#open_with_click
      QuickDropdownItem (...)

  * Added QuickTab#close_window_with_doubleclick.  (karie)

  * Added following APIs related to QuickTreeItem:

      QuickTreeItem#open_dialog_with_click
      QuickTreeItem#open_window_with_click

    (karie)

  * Added following APIs related to widgets:

      QuickWidget#click_with_condition
      QuickWidget#click_with_condition_internal
      QuickWidget#double_click_with_condition
      QuickWidget#focus_with_hover
      QuickWidget#middle_click_with_condition
      QuickWidget#open_menu_with_rightclick
      QuickWidget#open_window_with_click_internal
      QuickWidget#quick_tabs
      QuickWidget#quick_widgets
      QuickWidget#right_click_with_condition
      QuickWidget#verify_realtext
      QuickWidget::ConditionTimeout

    (karie)

  * Added following APIs related to QuickWindow:

      QuickWindow#active?
      QuickWindow#quick_widgets

    (karie)

  * Removed DesktopBrowser#open_dialog_with_click.  (karie)

  * Removed DesktopBrowser#key_down.  (karie)

  * Removed DesktopBrowser#key_up.  (karie)

  * Removed Preferences::Entry (...) and Preferences::SECTIONS; replaced by
    Preferences::Section and Preferences::Section::Key.  (andreastt)

  * Removed QuickButton#load_page_with_click.  (karie)

  * Removed QuickButton#open_dialog_with_click.  (karie)

  * Removed QuickButton#open_window_with_click.  (karie)

  * Exposed WebElement.middleClick() from WebDriver as Element#middle_click.
    (andreastt)

  * Renamed #key_down, and #key_up in desktop_browser to avoid clash with clash
    with browser#key_down and up.  Fixes failures of operawatir/core spec tests.
    New APIs:

       DesktopCommon#key_down_direct
       DesktopCommon#key_up_direct

    (karie)

  [NEW FEATURES]

  * Access to widgets in Desktop.  (karie/adamm)

  * Context menus in Desktop.  (karie/adamm)

  [BUG FIXES]

  * Fix for bug DSK-341584 concerning a regression in quick_treeitem where it
    complained about wrong number of arguments.  (karie)

  * profile-autotest folder was not deleted in running any spec test with no
    arguments, fixes DSK-333674.  (karie)

  * Add separator to #QuickMenuItem#to_s method.  (adamm)

  * Fixes to make Mac work with menus and multiple windows.  (adamm)

  * treeitem open window with click, fixes bug DSK-341539.  (karie)

  [OTHER]

  * Added more desktop-related tests.  (karie)

  * Added preliminary tests for keys implementation in key_spec.rb.
    (andreastt)

  * Fixes to make core tests run.  (andreastt)

  * Fixes to make desktop tests run.  (mariap)

v0.4.3.pre2  2011-05-25

  [BUG FIXES]

  * Element#click and Compat::Element#click now defaults to
    coordinates [1,1], fixing WTR-354.  (andreastt)

v0.4.3.pre1  2011-05-24

  [OTHER]

  * Using pessimistic operator to determine rspec version between 2.6.0
    and 2.7.0.  rspec v2.6.0 should now be fixed for JRuby.  (andreastt)

v0.4.2       2011-05-20

  [OTHER]

  * Downgrading dependency rspec to 2.5.0.  rspec 2.6.0 has an timestamp
    format in the gem package that triggers a bug in rubygems.  Since
    JRuby patches rubygems natively, we can't just upgrade rubygems.
    (andreastt)

v0.4.1       2011-05-19

  [ENHANCEMENTS]

  * Upgraded OperaDriver to v0.4.2.  (andreastt)

  [BUG FIXES]

  * OPERA_ARGS detection has now been moved to OperaDriver, removing
    workaround from OperaWatir::Browser.  (andreastt)

v0.4.1.pre7  2011-05-12

  [API CHANGES]

  * Added browser.iframe and browser.iframes to Watir 2 compatibility
    layer.  (andreastt)

  [ENHANCEMENTS]

  * Upgraded OperaDriver to v0.4.2.pre7-7-g261741e-internal.
    (andreastt)

  [BUG FIXES]

  * Workaround for empty preference values sent from core in
    ListPrefs, skipping them as they will terminate Scope if passed
    back to Opera in GetPref or SetPref.  (andreastt)

  [OTHER]

  * Using #first instead of #[0] when querying raw elements array.
    (andreastt)

  * Reduced some code duplication.  (andreastt)

v0.4.1.pre6  2011-05-09

  [API CHANGES]

  * Added Compat::Collection#select.  (andreastt)

  * Added Compat::Collection#selected?.  (andreastt)

  * Added Compat::Window#frame.  (andreastt)

  * Added Compat::Window#show_frames.  (andreastt)

  * Added Compat::Window#switch_to_default.  (andreastt)

  * Added DesktopBrowser#string.  (karie)

  * Added DesktopContainer#quick_find.  (karie)

  * Added DesktopContainer#quick_griditem.  (karie)

  * Added DesktopContainer#quick_gridlayout.  (karie)

  * Added Element#exist? and alias Element#exists? which will ensure
    that querying whether elements exists in Watir 2 compatibility
    mode will work.  (andreastt)

  * New classes QuickFind, QuickGridItem and QuickGridLayout.  (karie)

  * Added QuickTreeItem#collapse_with_click.  (karie)

  * Added QuickTreeItem#load_window_with_double_click.  (karie)

  * Added QuickWidget#has_ui_string?.  (karie)

  * Added QuickWidget#height.  (karie)

  * Added QuickWidget#width.  (karie)

  * Added QuickWidget#x.  (karie)

  * Added QuickWidget#y.  (karie)

  * Added QuickWindow#height.  (karie)

  * Added QuickWindow#width.  (karie)

  * Added QuickWindow#x.  (karie)

  * Added QuickWindow#y.  (karie)

  * Removed Collection#to_s.  (karie)

  * Removed Element#to_s.  (karie)

  * Removed QuickWidget#is_text?.  (karie)

  * Deprecated QuickWidgets#verify_includes_text, making #verify_text
    handle text substitution.  Fixes DSK-329541 and DSK-330462.
    (karie)

  [NEW FEATURES]

  * Added --opera-idle command line option to desktopwatir binary.
    (karie)

  * Added --manual command line option to desktopwatir binary.
    (karie)

  [ENHANCEMENTS]

  * Upgraded OperaDriver to v0.4.2.pre7-g4db1c56-internal.
    (andreastt)

  * Enabling full backtrace (from RSpec) again.

  * OperaDriver.getText() has been removed, replaced by doing
    Window#document.getText() instead.  #document calls root element
    using CSS selectors.  Fixes WTR-338.  (andreastt)

  * Cleaned up some code in Element by simplifying if-blocks.
    (andreastt)

  * OperaWatir Desktop specification suite has been completed.
    (karie, mariap)

  * Updated Mac launcher which now includes the emo patch.
    (andreastt)

  [BUG FIXES]

  * Idle is now disabled by default in OperaDriver, adding
    environmental check and enabling --opera-idle switch properly.
    (andreastt)

  * Added support for accessing method select_list(s) from Watir 2.
    (andreastt)

  * Releasing all parts of an array when modifiers are pressed as
    second argument.  Fixes WTR-339.  (andreastt)

  * QuickSearchField#search_with_index retuns text in search field,
    not address bar.  Fixes DSK-328699.  (karie)

  * Fix in bin/desktopwatir for calling binary with full path to Watir
    script.  Fixes DSK-330007.  (karie)

  * Now using RSpec's :file_or_directories_to_run option instead of
    :files_to_run, which has been deprecated.  (andreastt)

  * #text= is called by compatibility code, but didn't have a check
    for whether element was an INPUT @type="checkbox".  we are now
    toggling check instead of attempting to send keys.  (andreastt)

  * Helper executes RSpec autorun programmatically, disabling this by
    moving it to the end of the file if any of the above abort
    statements in bin/operawatir is called.  (andreastt)

  * Attempted to do #uncheck! on textareas or input elements, fixed by
    calling WebDriver's clear() method instead.  Fixes WTR-331.
    (andreastt)

  * Removed workaround for option --opera-idle.  This has now properly
    been implemented in OperaDriver, and we are as such doing the
    right thing now.  (andreastt)

  * QuickWidgets#toggle_with_click failed if clicking removed the
    element clicked.  Fixes DSK-330329.  (karie)

  * Now handling ampersands in strings got from string_ids.  Fixes
    DSK-319071.  (karie)

  * Construction of buttons by position is now possible.  (karie)

  * Add type checking to retrieval algorithm for widgets.  Fixes
    DSK-320616.  (karie)

  * Never raise UnknownObjectException on lookup, user must be able to
    execute methods like Collection#exist? on empty collection
    according to Watir specification.  (andreastt)

  * #full_backtrace= is broken in RSpec, but andreastt has patched it
     in upstream.  Added temporary workaround for it in
     bin/operawatir.

  * Element#value no longer does check for INPUT, TEXTAREA or SELECT
    fields in Watir, but leaves this to OperaDriver.  (andreastt)

  [OTHER]

  * Added documentation for the Preferences implementation.
    (andreastt)

  * Added documentation for more desktop code.  (karie)

  * Added #visual_hash tests for SVG documents.  (andreastt)

  * Upgraded select_list_spec.rb to latest HEAD from jarib:watirspec.
    (andreastt)

v0.4.1.pre5  2011-03-18

  [BUG FIXES]

  * Upgraded to OperaDriver v0.4.2.pre5-15-gf8e8949 containing an
    updated 64-bit launcher that will work on older versions of libc.
    (andreastt)

v0.4.1.pre4  2011-03-17

  [NEW FEATURES]

  * Imlemented temporary environmental variable for switching OperaIdle
    on and off for SPARTAN.  This will override the --opera-idle option.
    Set the OPERA_IDLE environmental variable to a truthy variable
    (true, "true", 1, "1") to enable.  (andreastt)

  [BUG FIXES]

  * Temporarily passing OPERA_ARGS environmental variable to OperaDriver
    to enable fullscreen testing on SPARTAN.  OPERA_ARGS will in the
    future be detected in OperaDriver.  (andreastt)

  * /lib/operawatir/helper.rb will now autorun RSpec, fixing the
    all-tests-failing issue on SPARTAN.  (andreastt)

v0.4.1.pre3  2011-03-14

  [API CHANGES]

  * window.element (and browser.element if you're running in
    compatibility mode) now works.  Fixes backwards compatibility for
    SPARTAN tests.  Related to WTR-260.  (andreastt)

  * :selector has now been added as a basic type in Watir 2
    compatibility mode (e.g. element(:selector, 'foo')).  This is aliased
    to :css.  Added method Compat::Collection#find_elements_by_selector as
    alias to Collection#find_by_css.  (andreastt)

  * Element#get_hash is now alias to Element#visual_hash for backwards
    compatiblity with WTR-260.  (andreastt)

  * Window#get_hash is now aliased to Window#visual_hash for backwards
    compatibility with WTR-260.  (andreastt)

  * Compat::Browser#quit is no longer needed, removed method.  We no
    longer use Browser#quit! which it was an alias for.  (andreastt)

  * Window#screenshot now returns a Screenshot interface or the absolute
    path to the file depending on whether an argument is given.  This
    provides backwards compatibility, but also allows you to access the
    newly added methods Screenshot#save, …#blank?, …#png and …#md5.
    (andreastt)

  * Removed timeout argument to Window#visual_hash.  We now default to
    50 milliseconds.  (andreastt)

  * Added Window#document which returns the body/document of a page.
    (andreastt)

  [NEW FEATURES]

  * New command-line option --tag (or -t for short) for specifying to
    run only tagged tests.  Adding ~ (tilde) before the tag (e.g. ~slow)
    will exclude given tests.

  * New command-line option --backtrace (or -b for short) for enabling
    full backtraces from RSpec.  As a result, --binary has lost its
    shortcut -b.  (andreastt)

  * Implemented a new screenshot API that exposes ScreenShotReply from
    OperaDriver.  (andreastt)

  [ENHANCEMENTS]

  * Upgraded to OperaDriver v0.4.2.pre5.  (andreastt)

  * Added specifications tests for Desktop part of OperaWatir.  (karie,
    mariap)

  * OperaWatir specification tests for Desktop are now using RSpec
    matchers.  Makes it easier to expect windows to be closed, opened,
    &c.  (karie)

  * --no-opera-idle has been renamed to --opera-idle.  OperaIdle is now
    by default switched off due to instability.  (andreastt)

  * Synced operawatir and desktopwatir binaries.  (andreastt)

  * Updated /spec/watir2/element_spec.rb to HEAD from watirspec.
    (andreastt)

  [BUG FIXES]

  * desktopwatir is no longer writing to STDERR, but to STDOUT.
    (andreastt)

  * Window#get_hash and Element#get_hash methods are now marked as
    deprecated.

  * Resolved failing to activate address field will use the current
    control without any errors.  Fixes DSK-320799.  (karie)

  * Widgets should return widgets listing from active Document Window.
    Fixes DSK-330102.  (karie)

  * Renamed paramter in DesktopBrowser#widgets since it's not
    necessarily the window name the user will be looking for.  (karie)

  * Added more load actions to be handled by load_window_with_action.
    Fixes DSK-320817.  (karie)

  * Failing to activate address field will use the current control
    without any errors.  Focus moved from edit_field to its subclass
    before call to enter text.  Fixes DSK-320799.  (karie)

  * Defaulting to active window when Document Window is specified, fixed
    to only default when active window is actually a Document Window.
    Related to DSK-320786.  (karie)

  * Documentation fixes in Desktop code.  (karie)

  [OTHER]

  * Updated /README.me with the latest version requirements.
  (andreastt)

  * Added /CHANGES (this).  (andreastt)

v0.4.1.pre2  2011-03-08

  [BUG FIXES]

  * Stringifying text before splitting it in Element#text=.  Thanks to
    Hallvord R. M. Steen.  (andreastt)

  * Depending on RSpec v2.4 or above, not v2.5 or less as we did
    previously.  This resolves upgrading OperaWatir if you already have
    an ancient version of RSpec installed (like we did on SPARTAN).
    (andreastt)

v0.4.1.pre1  2011-03-04

  [API CHANGES]

  * Moved deprecated keyboard interaction methods (Window#key,
    Window#key_down, Window#key_up, Window#type) from Window to Browser.
    If you're running operawatir in Watir 2 compatibility mode (which is
    enabled by default), this won't change anything for you.
    (andreastt)

  * Added a new preferences API which is accessible from
    browser.preferences.  Removed Browser#set_preference,
    Browser#get_default_preference and Browser#get_preference.
    (andreastt)

  * Removed Browser#pid.  (wilhelmja)

  * Removed Browser#goto.  It's still available in Browser::Compat#goto,
    which is included by default.  (andreastt)

  * Added DesktopBrowser#get_preference, DesktopBrowser#set_preference
    and DesktopBrowser#get_default_preference.  (karie)

  * Removed Browser#exists? and Browser#connected?.  (andreastt)

  [NEW FEATURES]

  * Support for disabling OperaIdle with --no-opera-idle.  (andreastt)

  * Added option to wait for connection from Opera.  operawatir binary
    now accepts --manual (or -m for short).  This will allow you to go
    to opera:debug and hit connect manually.  (andreastt)

  [ENHANCEMENTS]

  * Updated OperaDriver to v0.4.2.pre2.  (andreastt)

  * Added tests for deprecated method Window#eval_js.  (wilhelmja)

  * Added deprecation notice to Element#compare_hash.  (andreastt)

  * Added specification tests for Window#screenshot,
    Element#triple_click, Element#compare_hash.  (wilhelmja)

  * Added more specification tests for Window#quadruple_click.
    (andreastt)

  * DesktopBrowser is now using guessOperaPath from OperaDriver.
    (karie)

  [BUG FIXES]

  * Fixed passing wrong variable (param instead of args) in
    Browser#opera_action.  This fixes browser.opera_action('foo').
    (wilhelmja)

  * Browser#ua_string now returns the navigator.userAgent value from
    JavaScript.  (wilhelmja)

  * Browser#platform now returns the navigator.platform value from
    JavaScript.  (wilhelmja)

  * Compat::Element#text now supports getting texteditable values from
    input, textarea and select elements.  (andreastt)

  * Requiring stringio as JRuby apparently doesn't by default, fixes
    problem with RSpec formatters.  (andreastt)

  * Colours are now enabled by default, even on Windows.  Installing the
    gem `ansicolor' fixes colour problems on Windows.  (andreastt)

  * --output now writes to a file, was broken when upgrading to RSpec
    v2.5.  (andreastt)

  * --format was not working, fixed.  (andreastt)

  * Now requiring RSpec v2.5, not v2.5.1.  rspec-core is v2.5.1, but the
    main gem, rspec, is only 2.5.  (andreastt)

  * operawatir-launched tests now write to STDOUT instead of STDERR.
    (andreastt)

  * Check that Browser#desktop? actually returns true or false.
    (wilhelmja)

  * Check that Window#visual_hash and Element#visual_hash returns a hash
    in the correct format 8an md5sum preceded by 0x.  (wilhelmja)

  * Added tests for Window#visual_hash and Browser#desktop?.
    (wilhelmja)

  * Misc. test name fixes.  (wilhelmja)

  * Removing Ruby platform dependency.  (andreastt)

  * We need to exit forcibly (I think because of RSpec) when we come to
    the end of the test suite.  (andreastt)

  * Fixed compat problem and changed autostart fix to use empty Opera
    path instead of separate setting.  (karie)

  * Super goto (in DesktopBrowser) disappeared, so don't use it.

  [OTHER]

  * Updated /README.md with the latest version requirements.
    (andreastt)

  * Updated documentation in /README.md.  Also added a new section
    listing the operawatir binary's option list.  (andreastt)

  * Set up framework for OperaWatir-specific specification tests.
    (andreastt)

  * Renamed /spec/legacy_watirspec to /spec/watir2.  (andreastt)

  * Renamed /spec/new_watirspec to /spec/watir3.  (andreastt)