| 4.34.0 (2025-06-29) |
| ========================= |
| * Add CDP for Chrome 138 and remove 135 |
| * Fix child process terminate method when a process is already terminated (#15789) |
| * Deprecate ftp proxy (#15926) |
| * Add macOS key mappings for Options and Function keys (#15959) |
| |
| 4.33.0 (2025-05-23) |
| ========================= |
| * Add CDP for Chrome 137 and remove 134 |
| * Let firefox choose the bidi port by default (#15727) |
| * Upgrade to Ruby 3.2 |
| |
| 4.32.0 (2025-05-02) |
| ========================= |
| * Add CDP for Chrome 136 and remove 133 |
| * log at info level with names and values when Guards#add_condition used |
| * Add PrintOptions Implementation for Ruby WebDriver (#15158) |
| * [ruby] fix lint for print_options.rb (#15608) |
| * add enable_downloads to attr_accessor for all options classes |
| * make logging of test guards debug level not info |
| * Set remote active protocol in Firefox to BiDi only |
| * handle issue with selenium manager exit status being nil (#15676) |
| * Add websocket-port parameter to firefox service (#15458) |
| |
| 4.31.0 (2025-04-04) |
| ========================= |
| * Add support for 135 and remove 132 |
| * Remove the pre-compiled atoms from trunk |
| * Allow symbols again to be passed on delete_cookie (#15519) |
| |
| 4.30.1 (2025-03-22) |
| ========================= |
| * put back the driver#script method that was inadvertently deleted |
| |
| 4.30.0 (2025-03-20) |
| ========================= |
| Ruby: |
| * Raise error when trying to delete a cookie without a name (#15386) |
| * Remove deprecated html 5 web storage features |
| * Remove deprecated script alias for execute_script |
| * Add debug message for location of screenshot |
| |
| BiDi: |
| * Add set viewport for browsing context (#15290) |
| * Add support for handling user prompt (#15291) |
| * Add Browser context activate command (#15365) |
| |
| DevTools: |
| * Add support for 134 and remove 131 |
| * Remove support for v85 since no longer required by Firefox |
| * Add support for additional target types (#15416) |
| |
| 4.29.1 (2025-02-22) |
| ========================= |
| * [rb] Fix "no anonymous block parameter" in ruby 3.1 (#15315) |
| |
| 4.29.0 (2025-02-17) |
| ========================= |
| * Add CDP for Chrome 133 and remove 130 |
| * [rb] Add Bidi Network Response Handler (#14900) |
| * [rb] Remove Firefox CDP (#15200) |
| * [rb][BiDi] Add support for provide response command (#15080) |
| * [rb][BiDi] Add set cache behaviour (#15114) |
| |
| 4.28.0 (2025-01-16) |
| ========================= |
| * Add CDP for Chrome 132 and remove 129 |
| * [ci] Bumping versions for nightly |
| * [rb] Add tests for the cookie named, and updates type (#14843) |
| * [rb] Update note for return value of Hash (#14845) |
| * [rb] BiDi Network: add_request_handler, remove_request_handler, clear_request_handlers (#14751) |
| * Update supported versions for Chrome DevTools |
| |
| 4.27.0 (2024-11-21) |
| ========================= |
| * Add CDP for Chrome 131 and remove 128 |
| * Add Firefox CDP deprecation warnings (#14763) |
| * Add Bidi network commands for authentication and interception (#14523) |
| * Handle graceful webdriver shutdown (#14430) |
| * Reduce RBS errors to 0 (#14661) |
| * Resolve `uri` gem deprecation warning (#14770) |
| * Update minimum Ruby to 3.1 (#14685) |
| * Implement navigation commands with BiDi (#14094) |
| |
| 4.26.0 (2024-10-28) |
| ========================= |
| * Add CDP for Chrome 130 and remove 127 |
| * Add missing RBS methods (#14621) |
| * Update Ruby BiDi script structs to match spec |
| * Add RBS type support for BiDi related classes (#14611) |
| |
| 4.25.0 (2024-09-19) |
| ========================= |
| * Add CDP for Chrome 129 and remove 126 |
| * Fix add_cause method not being able to process an array of hashes (#14433) |
| * replace `fedcm` links with new ones (#14478) |
| * Allow driver path to be set using ENV variables (#14287) |
| |
| 4.24.0 (2024-08-23) |
| ========================= |
| * Deprecate WebStorage JS methods (#14276) |
| * BUGFIX: Add stamp to nightly build (#14320) |
| * Add timeout and tests for curb, also added the gem curb that was not part of selenium (#14285) |
| * Add CDP for Chrome 128 and remove 125 |
| |
| 4.23.0 (2024-07-18) |
| ========================= |
| * Add FedCM support to the ruby selenium client (#13796) |
| * Add URLs constant to update error messages (#14174) |
| * Update selenium manager types (#14189) |
| * Add backtrace locations and cause to errors (#14170) |
| * Add CDP for Chrome 127 and remove 124 |
| |
| 4.22.0 (2024-06-20) |
| ========================= |
| |
| * Force UTF-8 encoding on logger (see #6937) |
| * Don't crash when ChildProcess is already killed (see #14032) |
| * Manage bidi instance on the bridge not the driver (#14071) |
| * Implement High Level Logging API with BiDi (#14073) |
| * Fix bug with message deletion in Guard class |
| * Change output for Guard class |
| * Implement toggle for BiDi and Classic implementations (#14092) |
| * Add preference to enable CDP in Firefox by default (#14091) |
| * Add support for the w3c silent option for the ruby library (#14152) |
| * Add CDP for Chrome 126 and remove 123 |
| |
| 4.21.1 (2024-05-16) |
| ========================= |
| |
| * Fixed missing Chrome binary error in Rails system tests. |
| |
| 4.21.0 (2024-05-16) |
| ========================= |
| |
| * Add CDP for Chrome 125 and remove 122 |
| * Initial extensibility points for Appium |
| * Support registering extra headers in HTTP client |
| * Support overriding User-Agent in HTTP client |
| * Support registering extra bridge commands |
| * Support overriding default locator conversion |
| * Support registering custom finders for SearchContext |
| * Support using custom element classes |
| |
| 4.20.1 (2024-04-25) |
| ========================= |
| |
| * Returned accidentally removed DriverFinder.path and deprecated it. |
| |
| 4.20.0 (2024-04-24) |
| ========================= |
| |
| * Add CDP for Chrome 124 and remove 121 |
| * Making Selenium Manager a thin wrapper (#13386) |
| * This change has been made to make it easier to maintain and improve, the interface has |
| changed and if users were invoking it, they might experience issues. Selenium Manager is |
| still in beta and these type of changes are expected. |
| |
| 4.19.0 (2024-03-27) |
| ========================= |
| |
| * Add CDP for Chrome 123 and remove 120 |
| * Avoid over-escaping browser path (#13632) |
| * Add full RBS support (#13234) |
| |
| 4.18.1 (2024-02-19) |
| ========================= |
| |
| * Add CDP for Chrome 122 and remove 119 |
| |
| 4.18.0 (2024-02-19) |
| ========================= |
| |
| * Update documentation link in readme (#13570) |
| * make suggested updates from rubocop |
| |
| 4.17.0 (2024-01-22) |
| ========================= |
| |
| * Logger defaults output to stderr instead of stdout |
| * Fully support Chrome 120+ old headless mode (#13271) |
| * Add ruby to Selenium Manager input for tracking (see #13288) |
| * Define default command_list (fixes #13307) |
| * Fix issues with incorrectly named edge browser |
| * Check for whether driver supports full page screenshots to error (#12799) |
| * Add CDP for Chrome 121 and remove 118 |
| |
| 4.16.0 (2023-12-06) |
| ========================= |
| |
| Ruby: |
| * Add RBS files to Ruby (#12844) |
| * Convert binary locations for cygwin (#12618) |
| * Allow Selenium Manager to work with Unix (#13161) |
| * Extend RBS support for logger and log entry (#13192) |
| * Update rules_ruby to the latest version (#13235) |
| |
| BiDi: |
| * Released selenium-devtools 0.120.0 (supports CDP v85, v118, v119, v120) |
| |
| Chrome: |
| * Fix http proxy configuration for chrome (#13093) |
| |
| Firefox: |
| * Delete 'lock' file in FF profile (#13090) |
| |
| 4.15.0 (2023-11-01) |
| ========================= |
| |
| * Do not set browser binary in selenium manager if it is an empty string (#12738) |
| * Add flaky condition to guards to mark unreliable tests |
| * Rake update needs to build latest grid for running remote tests |
| * Add CDP v119 and remove v116 |
| * Implement file downloads (#12979) |
| |
| 4.14.0 (2023-10-09) |
| ========================= |
| Ruby: |
| * allow users to access the full script of the atom directly |
| |
| BiDi: |
| * Released selenium-devtools 0.118.0 (supports CDP v85, v116, v117, v118) |
| |
| 4.13.1 (2023-09-25) |
| ========================= |
| Ruby: |
| * Fix bug preventing logging chromedriver to file |
| |
| 4.13.0 (2023-09-25) |
| ========================= |
| Ruby: |
| * Fix bug preventing using performance logging with chromium |
| * Allow users to set Selenium Manager path by environment variable (#12752) |
| * Allow service to be started before the driver |
| * remove deprecated driver extensions for location and network connection |
| |
| BiDi: |
| * Released selenium-devtools 0.117.0 (supports CDP v85, v115, v116, v117) |
| |
| 4.12.0 (2023-08-31) |
| ========================= |
| Ruby: |
| * Fix bug preventing good error messages in Selenium Manager when stdout empty |
| * Fix bug with Firefox not loading net/http library by default (#12506) |
| * Remove support for using capabilities in local drivers |
| |
| BiDi: |
| * Released selenium-devtools 0.116.0 (supports CDP v85, v114, v115, v116) |
| |
| 4.11.0 (2023-07-31) |
| ========================= |
| Ruby: |
| * Made network interception threads fail silently (#12226) |
| * Have Selenium Manager binary locate drivers on PATH (#12345) |
| * Add browser output from selenium manager to options (#12398) |
| * Remove deprecated code (#12417) |
| BiDi: |
| * Released selenium-devtools 0.115.0 (supports CDP v85, v113, v114, v115) |
| Edge: |
| * Adding ignore process match for IE Mode across bindings (#12279) |
| |
| 4.10.0 (2023-06-07) |
| ========================= |
| Ruby: |
| * Implement proxy support for Selenium Manager |
| * Prevent setting driver log level in Safari |
| * Change all Selenium Manager logging to :debug (#12145) |
| * Error messages include links to documentation |
| * Add custom error class for driver location and improve error logic |
| |
| BiDi: |
| * Released selenium-devtools 0.114.0 (supports CDP v85, v112, v113, v114) |
| |
| Edge: |
| * Add support for webview2 |
| |
| 4.9.1 (2023-05-08) |
| ========================= |
| Ruby: |
| * Allow users to specify driver process output in Service class (#11964) |
| * Updated minimum required Ruby version to 3.0 |
| * Selenium Logger defaults to :info and all debugging is now logged as :debug (#11967) |
| * Every logging entry can be ignored based on ID, not just warnings |
| * Logging entries can be filtered to allow or ignore specific IDs |
| |
| BiDi: |
| * Fix bug with loading devtools (#11931) (thanks Boris Petrov!) |
| * Released selenium-devtools 0.113.0 (supports CDP v85, v111, v112, v113) |
| |
| 4.9.0 (2023-04-21) |
| ========================= |
| Ruby: |
| * Fix devtools version fallback (#11869) |
| * Fix bug in selenium manager escaping back slashes in Windows (#11884) |
| |
| BiDi: |
| * Released selenium-devtools 0.112.0 (supports CDP v85, v110, v111, v112) |
| |
| 4.8.6 (2023-03-29) |
| ========================= |
| Ruby: |
| * Properly escape arguments passed to Selenium Manager |
| |
| 4.8.5 (2023-03-28) |
| ========================= |
| Ruby: |
| * Wrapping browser name in quotes when calling Selenium Manager |
| |
| 4.8.4 (2023-03-28) |
| ========================= |
| Ruby: |
| * Update the selenium-manager versions to fix an IE naming issue (#11828) |
| |
| 4.8.3 (2023-03-26) |
| ========================= |
| Ruby: |
| * Still need to use driver finder when using capabilities parameter |
| * Accommodate Driver Finder being sent something other than an Options instance |
| |
| 4.8.2 (2023-03-24) |
| ========================= |
| Ruby: |
| * Ruby driver finder (#11523) |
| * Using json output with Selenium Manager |
| |
| BiDi: |
| * Released selenium-devtools 0.111.0 (supports CDP v85, v109, v110, v111) |
| |
| 4.8.1 (2023-02-17) |
| ========================= |
| Ruby: |
| * Fix autoload of WebDriver::Remote::Bridge::COMMANDS |
| * Subclass is setting value before the superclass is setting it to nil |
| * Updating Selenium Manager binaries for 4.8.1 release |
| |
| BiDi: |
| * Released selenium-devtools 0.110.0 (supports CDP v85, v108, v109, v110) |
| * Close BiDi session on closing the last top-level browsing context |
| * Add filtering capability to LogInspector |
| |
| 4.8.0 (2023-01-23) |
| ========================= |
| Ruby: |
| * Allow updating instance variables on service classes |
| * Deprecate extract_service_args processing in service classes |
| * Fix bug preventing sending nil to #send_keys with Remote Driver |
| * Fix bug with IE specific methods not available to IE Driver |
| * Created Chromium superclass for Chrome and Edge |
| * Deprecated platform and version setters/getters in Capabilities class |
| * Revamped driver constructor logic |
| * Fix bug preventing using Safari Technology Preview when using SafariOptions |
| * Fix bug preventing more than one driver type to access Selenium Manager |
| * Defaults to using Options instead of Capabilities |
| * Make Options classes more strict for allowed arguments and types |
| * Removed previously deprecated actions class parameters |
| * Removed Location struct |
| * Add comment with name of large JS executions (#11038) |
| * update logger with link on how to use it (#11478) |
| * Deprecate #add_option for Option classes in favor of constructor and attr_accessor |
| * Deprecate all unrecognized capabilities for Options classes |
| * Deprecate support for :capabilities for local drivers |
| * Deprecate browser class methods for Capabilities |
| * Deprecate #headless! for Chrome and Firefox |
| |
| BiDi: |
| * Released selenium-devtools 0.109.0 (supports CDP v85, v107, v108, v109) |
| * Add LogInspector (#11368) |
| * Add Browsing context commands (#11446) |
| |
| 4.7.1 (2022-12-02) |
| ========================= |
| Ruby: |
| * Fix bug preventing selenium manager from using Internet Explorer |
| |
| 4.7.0 (2022-12-01) |
| ========================= |
| BiDi: |
| * Released selenium-devtools 0.108.0 (supports CDP v85, v106, v107, v108) |
| * Fix bug with socket stability |
| |
| Ruby: |
| * Remove dependency on ChildProcess gem in favor of native Process.spawn (#11251) |
| * Add support for Selenium Manager to work with IE Driver |
| * Improve error handling for Selenium Manager |
| |
| Safari: |
| * Fix bug preventing Safari Options from being used with Safari Technology Preview |
| |
| 4.6.1 (2022-11-04) |
| ========================= |
| Ruby: |
| * fix bug preventing selenium-manager from being executable by default |
| |
| 4.6.0 (2022-11-04) |
| ========================= |
| BiDi: |
| * Released selenium-devtools 0.107.0 (supports CDP v85, v105, v106, v107) |
| |
| Ruby: |
| * firefox scroll by amount is only failing on mac |
| * add initial support for selenium manager |
| * Revert "[rb] do not allow Select class to work with disabled selects" |
| * Make sure selenium-manager is packed into gem |
| * Fix platform list in #scroll_by guard |
| |
| 4.5.0 (2022-09-28) |
| ========================= |
| |
| BiDi: |
| * Released selenium-devtools 0.105.0 (supports CDP v85, v103, v104, v105) |
| * Released selenium-devtools 0.106.0 (supports CDP v85, v104, v105, v106) |
| * Add HasBiDi support to Chrome |
| |
| Ruby: |
| * Fix bug in Platform code |
| * Update Select class to error when elements are disabled (#10812) |
| |
| Firefox: |
| * Add support for installing unsigned add-ons (#10265, thanks TamsilAmani!) |
| * Change accept_insecure_certificates to true by default (to match other bindings) |
| * Set debugger_address option to true by default |
| |
| Server: |
| * Add support for initializing server class with arguments and log level |
| |
| 4.4.0 (2022-08-09) |
| ========================= |
| |
| BiDi: |
| * Released selenium-devtools 0.103.1 to fix websocket dependency requirement |
| * Released selenium-devtools 0.104.0 (supports CDP v85, v102, v103, v104) |
| * Have network interceptor ignore cancelled requests (#10856) |
| * Improve websocket message handling |
| |
| Chromium: |
| * Prevent users from setting w3c: false and warn for true (thanks Tamsil Amani!) |
| |
| Ruby: |
| * Implement Virtual Authenticator (#10903, #10541) (thanks Tamsil Amani!) |
| |
| 4.3.0 (2022-06-23) |
| ========================= |
| |
| BiDi: |
| * Released selenium-devtools 0.103.0 (supports CDP v85, v101, v102, v103) |
| |
| Ruby: |
| * Allow specifying which button is clicked in pointer action class methods |
| * Remove deprecated `Persistent` http class |
| * Remove deprecated HasRemoteStatus module |
| * Remove deprecated `Manager#new_window` and `Manager#logs` |
| * `ActionBuilder#move_to` no longer attempts to move to top left corner of element |
| * Remove deprecated support for sending Service parameters directly to Driver constructor |
| * Remove deprecated setters and getters for driver path on Browser modules |
| * Remove deprecated support for passing in options argument to Options class |
| * Allow `:options` parameter to take `Options` instance argument like other languages |
| * Remove deprecated support for `:desired_capabilities` & `:options` with `Hash` argument |
| |
| 4.2.1 (2022-05-31) |
| ========================= |
| |
| Ruby |
| * Fix bug in setting default duration in Actions constructor |
| |
| 4.2.0 (2022-05-27) |
| ========================= |
| |
| BiDi: |
| * Released selenium-devtools 0.97.0 (supports CDP v85, v95, v96, v97) |
| * Released selenium-devtools 0.98.0 (supports CDP v85, v96, v97, v98) |
| * Released selenium-devtools 0.99.0 (supports CDP v85, v97, v98, v99) |
| * Released selenium-devtools 0.100.0 (supports CDP v85, v98, v99, v100) |
| * Released selenium-devtools 0.101.0 (supports CDP v85, v99, v100, v101) |
| * Released selenium-devtools 0.102.0 (supports CDP v85, v100, v101, v102) |
| * Implement simple BiDi connection |
| * Fix bug in initial BiDi implementation (thanks Boris Petrov!) |
| * Fix bug with mutating headers in request interception (#10574) |
| * Fix bug with empty response headers (thanks Viren Negi!) |
| |
| Firefox: |
| * Add support to Firefox Options for environment capability |
| * Use addon parameter instead of path parameter to avoid using file detector |
| * Restore #from_name method to Firefox profile (#10146) |
| |
| Chromium: |
| * Add support for casting desktop |
| |
| Ruby: |
| * Updated minimum required Ruby version to 2.7 |
| * Fix bug by not attempting to stop service process when it's not started (#10015) |
| * Fix bug to not stop service process when it's not started (thanks Atsushi Tatsuma!) |
| * Use driver endpoint to get page source instead of JavaScript |
| * Add zenkaku_hankaku key support |
| * Fix download support of Selenium Server |
| * Do not convert Tag Name to CSS Selector |
| |
| ActionBuilder: |
| * Raise error if input device not found |
| * Move `TypingInteraction` from `Interactions::KeyInput` to `Interactions` module |
| * Throw better errors for `PointerInput` methods |
| * Allow each action interaction class to validate its own source |
| * Set all Interactions classes to private |
| * Allow device names to use a default id if one is not specified |
| * Deprecate default mouse and keyboard values in constructor, favoring devices parameter |
| * Add support for pointer event properties |
| * Implement scroll wheel support |
| * Deprecate ordered pair parameters for pause method in favor of keywords |
| * Deprecate move to element with offset changing origin to top left of element |
| |
| 4.1.0 (2021-11-22) |
| ========================= |
| |
| DevTools: |
| * Released selenium-devtools 0.95.0 (supports CDP v85, v93, v94, v95) |
| * Released selenium-devtools 0.96.0 (supports CDP v85, v94, v95, v96) |
| * Added support for secure websockets (#10017) |
| |
| Ruby: |
| * Execute Script supports ShadowRoots (#10019) |
| * Fixed bug preventing zipping temp files on Windows (#9987) |
| * Sang Pumpkin Carol (thanks Jari!) |
| |
| 4.0.3 (2021-10-20) |
| ========================= |
| |
| Firefox: |
| * Fixed bug avoiding camel casing prefs (#9944 thanks @glaszig) |
| |
| Ruby: |
| * Fixed bug in Select class for finding by index (#9945) |
| |
| Remote: |
| * Fixed bug preventing sending keys with an empty value |
| |
| 4.0.2 (2021-10-19) |
| ========================= |
| |
| Server: |
| * Fixed bug in new download code. |
| |
| 4.0.1 (2021-10-19) |
| ========================= |
| |
| Server: |
| * Fixed download by pointing to new storage location. |
| - Only supports Selenium 4 versions |
| * Added default value for Server::get and Server::download to use the latest server version |
| |
| 4.0.0 (2021-10-13) |
| ========================= |
| |
| Ruby: |
| * Updated minimum required Ruby version to 2.6 |
| * Updated minimum required rexml gem version due to vulnerability |
| |
| Chrome: |
| * Added default values for Network Conditions so no longer need to specify everything |
| |
| Firefox: |
| * Fixed bug where Firefox prefs were converting snake case to camel case |
| |
| 4.0.0.rc3 (2021-10-08) |
| ========================= |
| |
| Ruby: |
| * Added support for getting timeout values from the driver |
| |
| 4.0.0.rc2 (2021-09-30) |
| ========================= |
| |
| DevTools: |
| * Released selenium-devtools 0.93.0 (2021-09-01) |
| - adds CDP version 93 |
| - removes CDP version 91 |
| * Released selenium-devtools 0.94.0 (2021-09-22) |
| - adds CDP version 94 |
| - removes CDP version 92 |
| * Added support for mutating responses in network interception |
| |
| Ruby: |
| * Implemented Options#add_option to work for vendor extension capabilities |
| * Fixed bug for requiring uri (#9825 thanks @flanger001) |
| * Moved New Window functionality to TargetLocator#new_window to be used with Driver#switch_to |
| * Deprecated using Manager#new_window |
| * Changed order of logging output (#9850) |
| * Added support for web_socket_url capability |
| |
| Chromium: |
| * Implemented casting functionality |
| * Implemented ability to launch chromium app |
| * Implemented support for specifying permissions |
| * Added support for Chrome-specific Android functionality with #enable_android |
| |
| Firefox: |
| * Implemented context functionality |
| * Added support for Firefox-specific Android functionality with #enable_android |
| |
| Remote: |
| * Added support for file detector to install Firefox addons from client machine |
| |
| 4.0.0.rc1 (2021-09-01) |
| ========================= |
| |
| DevTools: |
| * Released selenium-devtools 0.92.0 (2021-08-21) which: |
| - adds CDP versions 92 |
| - removes CDP versions 88, 89, 90 |
| |
| IE: |
| * Added options for running Microsoft Edge in IE mode with IE Driver |
| |
| Remote: |
| * Added default file detector for remote driver |
| |
| Ruby: |
| * Fixed bug for getting valid capability that has not been set |
| * Fixed bug preventing loading of ServerError class |
| |
| 4.0.0.beta4 (2021-06-07) |
| ========================= |
| |
| Chrome: |
| * Fixed bug with camel casing of localState object |
| |
| Firefox: |
| * Added support for Full Page Screenshots |
| |
| Remote: |
| * Added support for #execute_cdp on Chrome and Edge |
| |
| Ruby: |
| * Changed capabilities to use alwaysMatch instead of firstMatch by default |
| * Fixed bug preventing Options classes from handling Proxy instances |
| |
| 4.0.0.beta3 (2021-04-13) |
| ========================= |
| |
| Chrome: |
| * Fixed a regression with prefs hash keys being converted to camelCase. |
| * Fixed an issue when passing Profile object to Options would fail. |
| |
| DevTools: |
| * Released selenium-devtools 0.91.0 which: |
| - adds CDP versions 90 and 91 |
| - removes CDP versions 86 and 87 |
| |
| Remote: |
| * Added support for setting alwaysMatch/firstMatch capabilities per W3C |
| WebDriver specification. It's done using the following methods where |
| `caps` is either a Ruby hash with desired capabilities or an instance |
| of Remote::Capabilities: |
| * Selenium::WebDriver::Remote::Capabilities.always_match(caps) |
| * Selenium::WebDriver::Remote::Capabilities.first_match(caps) |
| * Added support for Driver#save_print_page. |
| * Fixed an issue with Driver#print_page. |
| * Added support for setting timeouts capabilities in Remote::Capabilities |
| per W3C WebDriver specification. |
| * Added support for Element#aria_role which returns WAI-ARIA role of the element. |
| * Added support for Element#accessible name which returns WAI-ARIA label of the element. |
| * Added support for using DevTools version provided by Grid instead of |
| calculating it manually |
| |
| Ruby: |
| * Remove JRuby-specific socket poller. Note that this requires JRuby 9.2.8.0+. |
| |
| 4.0.0.beta2 (2021-03-16) |
| ========================= |
| |
| DevTools: |
| * Separated out DevTools methods into selenium-devtools gem to better manage versioning |
| * Updated supported versions to 85-89 |
| * Add support for intercepting browser requests |
| |
| Firefox: |
| * Add support for using DevTools commands with Firefox Nightly |
| |
| Remote: |
| * Provide access to browser specific driver extensions as appropriate for designated browser |
| * Add support for using DevTools commands via Grid |
| |
| Ruby: |
| * Spec Guard implementation moved into lib directory for other projects to use |
| * Implemented `Element#dom_attribute` to obtain attribute value as defined by w3c specification |
| * Implemented `Options#eq?` |
| * Allow Options subclass instances to be created from class methods in superclass |
| |
| Safari: |
| * Fix bug that prevented usage of Safari Technology Preview |
| |
| 4.0.0.beta1 (2021-02-15) |
| ========================= |
| |
| DevTools: |
| * Updated supported versions to 85-88 |
| |
| Edge: |
| * Removed support for legacy Edge HTML |
| |
| Firefox: |
| * Fixed support for default profile settings |
| * Added support for Devtools for Firefox v87+ |
| |
| Safari: |
| * Removed default platformName specification so it works with Grid |
| |
| Ruby: |
| * Added support for httpOnly attribute in Cookies |
| * Implemented `#print_page` method (thanks @raju249) |
| * Fixed support for missing libraries in Ruby 3.0 (thanks @znz) |
| * Deprecated `HTTP::Persistent` class |
| * Fixed support for accessors in options classes |
| * Added support for status endpoint for all browsers |
| * Fix support for Browser, Driver, and Performance Logging in Chrome and Edge |
| |
| 4.0.0.alpha7 (2020-11-10) |
| ========================= |
| |
| Chrome: |
| * Fixed a link to download ChromeDriver when it's not found (thanks @masakazutakewaka). |
| * Fixed an issue when passing instance of Profile to an Options in capabilities |
| (thanks @masakazutakewaka). |
| |
| DevTools: |
| * Added support for multiple version of CDP. Currently supported versions are |
| 84-87. The proper version is automatically selected when the browser is started |
| based on its version. The implementation is Chromium-based and is confirmed |
| to work in Chrome and Edge at least. |
| * Added support for basic authentication (see HasAuthentication). |
| * Added support for listening to JavaScript console messages (see HasLogEvents). |
| * Added support for listening to JavaScript exceptions (see HasLogEvents). |
| * Added support for listening to DOM mutations (see HasLogEvents). |
| |
| Edge: |
| * Switched default Edge implementation to Chromium-based. To use older versions |
| of Edge, pass :edge_html when initializing the driver. |
| |
| Firefox: |
| * Fixed an issue whereby using the new capabilities structure in local drivers |
| would cause the W3C check to complain that `browser_name` was an invalid |
| capability key name (thanks @luke-hill) |
| |
| Ruby: |
| * Added support for taking screenshots of individual elements using Element#screenshot |
| (thanks @johndouthat). |
| * Fixed deprecation message of using Net::HTTP::Proxy (thanks @masakazutakewaka). |
| * Fixed false negative detection of Linux on WSL2 (thanks @snsten). |
| * Support ChildProcess 4.x versions (thanks @boutil). |
| |
| Safari: |
| * Fixed browser name in capabilities for Safari Technology Preview. |
| |
| 4.0.0.alpha6 (2020-05-28) |
| ========================= |
| |
| Chrome: |
| * Added DevTools classes and methods generated from the CDP specification. |
| It currently supports commands and events and provides Rubyish API: |
| driver.devtools.page.navigate(url: 'http://google.com') |
| driver.devtools.console.clear_messages |
| driver.devtools.page.enable |
| driver.devtools.page.on(:load_event_fired) do |params| |
| puts("Page loaded in #{params['timestamp']}") |
| end |
| Check https://chromedevtools.github.io/devtools-protocol/ for more information |
| about possible commands and events. Please note that this API is considered |
| to be experimental and may change any time before stable 4.0 release. |
| * Fixed an issue when passing :prompt_for_download (or similar snake_cased |
| symbols) in Options#prefs would be ignored by Chrome because Selenium |
| would internally convert it to camelCased format (:promptForDownload). |
| Now :prefs are left intact. |
| |
| Edge: |
| * Fixed an issue when Driver#execute_cdp would not work for Chromium-based |
| Edge browser. |
| |
| Ruby: |
| * Deprecated passing :desired_capabilities and :options to driver initialization |
| in favor of :capabilities. They now can be combined in an array to make |
| custom capabilities requirements: |
| caps = Selenium::WebDriver::Remote::Capabilities.chrome |
| opts = Selenium::WebDriver::Chrome::Options.new |
| Selenium::WebDriver.for(:remote, capabilities: :chrome) |
| Selenium::WebDriver.for(:remote, capabilities: caps) |
| Selenium::WebDriver.for(:remote, capabilities: opts) |
| Selenium::WebDriver.for(:remote, capabilities: [caps, opts]) |
| * Deprecated passing Hash to :capabilities in favor of Remote::Capabilities object. |
| * Updated minimum require Ruby version to 2.5. |
| * Improved keyword arguments handling to avoid warnings in Ruby 2.7. |
| |
| 4.0.0.alpha5 (2020-03-18) |
| ========================= |
| |
| The release is just to synchronize version with other bindings and does not |
| include any changes. |
| |
| 4.0.0.alpha4 (2020-01-09) |
| ========================= |
| |
| Ruby: |
| * Added initial support for relative locators, which allow to find elements |
| above/below/left/right/near another element. For example, you can find all |
| the cells in a table to the right of your starting cell: |
| start_cell = driver.find_element(css: 'td') |
| right_cells = driver.find_elements(relative: {tag_name: 'td', right: start_cell}) |
| The documentation is still lacking so refer to examples in df6be2e962. |
| * Added ability to silence certain logger messages by using it's identifiers: |
| Selenium::WebDriver.logger.ignore(:driver_path) |
| * Added new dependency: websocket. It's used for communicating with Chrome DevTools. |
| * Loosened childprocess dependency to allow using version 2.0+. |
| * Loosened rubyzip dependency to allow using version 2.0+. |
| * Fixed Errno::EACCES error on Linux DeX and similar distributes |
| |
| Chrome: |
| * Added initial support for communicating with Chrome DevTools. The implementation |
| is very basic and lacks CDP domains, events and types - those will be added |
| in future releases. Still, it allows to execute simple commands to DevTools: |
| driver.devtools.send('Page.navigate', {url: 'https://google.com'}) |
| |
| 4.0.0.alpha3 (2019-07-08) |
| ========================= |
| |
| Ruby: |
| * All documented driver capabilities supported in respective browser Options class by constructor and accessor |
| * Driver constructor :options and :desired_capabilities generate the same capabilities for local and remote execution |
| * Deprecated :options as keyword for initializing browser Options classes |
| |
| Chrome: |
| * Add support for browser logging with latest versions of chromedriver |
| |
| Edge: |
| * Add support for Chromium based implementation |
| |
| 4.0.0.alpha2 (2019-05-02) |
| ========================= |
| |
| Ruby: |
| * Fixed an issue with previous alpha release which lead to removed files |
| being packaged inside the gem |
| |
| 4.0.0.alpha1 (2019-05-01) |
| ========================= |
| |
| Ruby: |
| * Removed Mouse and Keyboard as their implementations are not compliant to WebDriver specification |
| * Removed TouchActionBuilder as its implementation is not compliant to WebDriver specification |
| * Change ActionBuilder to be fully compliant to WebDriver specification |
| * Change Manager to be fully compliant to WebDriver specification |
| * Removed all deprecated errors that are not compliant to WebDriver specification |
| * Update minimum required Ruby version to 2.4 |
| * Changed capabilities to use only those that are compliant to WebDriver specification |
| * Removed deprecated timeout setter on default HTTP client |
| * Removed deprecated Remote::W3C::Capabilities |
| * Fixed an issue when services are not shutdown properly |
| |
| Chrome: |
| * Removed support for OSS mode - use W3C mode instead by using |
| Selenium::WebDriver::Chrome::Options.new(options: {w3c: true}) |
| |
| PhantomJS: |
| * Removed support for PhantomJS driver |
| |
| Firefox: |
| * Removed support for legacy Firefox driver - use GeckoDriver instead |
| * Removed deprecated outdated capabilities |
| * Fixed an issue when passing :profile string to Firefox::Options.new would |
| result in NoMethodError. Now it will find a profile with such name on your |
| system and use it accordingly (issue #7119) |
| |
| 3.142.7 (2019-12-27) |
| ==================== |
| |
| Ruby: |
| * Fix keyword argument deprecations in Ruby 2.7 (thanks @connorshea) |
| |
| 3.142.6 (2019-10-04) |
| ==================== |
| |
| Ruby: |
| * Loosen ChildProcess dependency so that 3.0+ can be used (thanks @jaredbeck) |
| |
| 3.142.5 (2019-10-01) |
| ==================== |
| |
| Ruby: |
| * Loosen RubyZip dependency so that 1.3+ can be used (thanks @vtamara) |
| |
| 3.142.4 (2019-09-02) |
| ==================== |
| |
| Chrome: |
| * Added support for new command for getting logs in ChromeDriver 76+ |
| with W3C mode on |
| |
| 3.142.3 (2019-05-21) |
| ==================== |
| |
| Firefox: |
| * Fixed a regression when Firefox binary path was not sent to GeckoDriver |
| by default and browser could not be located (issue #7219) |
| |
| 3.142.2 (2019-05-11) |
| ==================== |
| |
| Chrome: |
| * Fixed an issue when getting/setting network conditions and sending CDP |
| commands didn't work with Grid (issue #7174) |
| |
| Safari: |
| * Fixed an issue when getting/setting permissions and attaching debugger |
| didn't work with Grid (issue #7174) |
| |
| 3.142.1 (2019-05-07) |
| ==================== |
| |
| Firefox: |
| * Fixed an issue when processing error in legacy driver would result |
| in NoMethodError (issue #7178) |
| |
| 3.142.0 (2019-04-24) |
| ==================== |
| |
| Ruby: |
| * Fixed an issue when services are not shutdown properly |
| |
| Firefox: |
| * Fixed an issue when passing :profile string to Firefox::Options.new would |
| result in NoMethodError. Now it will find a profile with such name on your |
| system and use it accordingly (issue #7119) |
| * Fixed an issue when instantiating Firefox driver with capabilities having |
| :marionette would result in NoMethodError (issue #7120) |
| |
| 3.141.5926 (2019-04-18) |
| ======================= |
| |
| Ruby: |
| * Fixed an issue when Selenium itself would print deprecation warning |
| for TimeoutError |
| * Fixed a regression when socket poller would raise Errno::EBADF on JRuby |
| |
| 3.141.592 (2019-04-18) |
| ====================== |
| |
| Ruby: |
| * Updated minimum required Ruby version to 2.3 |
| * Added support for ChildProcess 1.x |
| * Improved socket connection waiting (thanks @N0xFF) |
| * Changed waiting to use monotonic clock instead of Time class to avoid |
| collisions with Timecop and similar gems |
| * Removed deprecated PortProber.random |
| * Added strictFileInteractability to the list of known capabilities |
| * Added InsecureCertificateError |
| * Added support for setting SOCKS version in proxy (issue #6938) |
| * Implemented new window command using driver.manage.new_window. The command |
| is supported by recent Firefox, Safari and IE drivers (thanks @dylanlive) |
| * Added support for passing proc to driver_path setter in Service classes |
| * Deprecated all errors which don't exist in WebDriver specification |
| * Deprecated TouchActionBuilder which is not a part of WebDriver specification |
| and is only supported by Chrome, but is likely to be dropped in v75. |
| ActionBuilder should be used instead |
| * Deprecated using Remote::W3C::Capabilities in favor of Remote::Capabilities |
| |
| Chrome: |
| * Added support for execute CDP commands using Driver#execute_cdp |
| * Removed GPU disabling in ChromeDriver when using Options#headless! |
| * Switched suggested download URL to HTTPS (thanks @JLLeitschuh) |
| * Added support for instantiating service class directly and moved all driver |
| executable configuration there (command-line arguments, port, etc.) |
| Passing driver_opts, driver_path and port to driver initializer is now |
| deprecated so use Selenium::WebDriver::Service.chrome instead, which allows |
| to customize executable behavior in similar way. Once initialized, this |
| object can be passed as :service keyword during driver initialization. |
| * Deprecated Chrome.driver_path= in favor of Service::Chrome.driver_path= |
| |
| Edge: |
| * Added support for instantiating service class directly and moved all driver |
| executable configuration there (command-line arguments, port, etc.) |
| Passing driver_opts, driver_path and port to driver initializer is now |
| deprecated so use Selenium::WebDriver::Service.firefox instead, which allows |
| to customize executable behavior in similar way. Once initialized, this |
| object can be passed as :service keyword during driver initialization |
| * Deprecated Edge.driver_path= in favor of Service::Edge.driver_path= |
| |
| Firefox: |
| * Deprecated legacy driver in favor of GeckoDriver |
| * Fixed Firefox path lookup on Cygwin (issue #6908) |
| * Added support for instantiating service class directly and moved all driver |
| executable configuration there (command-line arguments, port, etc.) |
| Passing driver_opts, driver_path and port to driver initializer is now |
| deprecated so use Selenium::WebDriver::Service.firefox instead, which allows |
| to customize executable behavior in similar way. Once initialized, this |
| object can be passed as :service keyword during driver initialization |
| * Deprecated Firefox.driver_path= in favor of Service::Firefox.driver_path= |
| * Deprecated outdated capabilities |
| |
| IE: |
| * Fixed an issue when native events could not be disabled using IE::Options |
| initializer |
| * Added support for instantiating service class directly and moved all driver |
| executable configuration there (command-line arguments, port, etc.) |
| Passing driver_opts, driver_path and port to driver initializer is now |
| deprecated so use Selenium::WebDriver::Service.ie instead, which allows |
| to customize executable behavior in similar way. Once initialized, this |
| object can be passed as :service keyword during driver initialization |
| * Deprecated IE.driver_path= in favor of Service::IE.driver_path= |
| |
| Safari: |
| * Added support for instantiating service class directly and moved all driver |
| executable configuration there (command-line arguments, port, etc.) |
| Passing driver_opts, driver_path and port to driver initializer is now |
| deprecated so use Selenium::WebDriver::Service.safari instead, which allows |
| to customize executable behavior in similar way. Once initialized, this |
| object can be passed as :service keyword during driver initialization |
| * Deprecated Safari.driver_path= in favor of Service::Safari.driver_path= |
| |
| Remote: |
| * Change default HTTP client to use persistent connections |
| |
| 3.141.0 (2018-10-31) |
| ==================== |
| |
| Edge: |
| * Added new Edge::Options class that should be used to customize browser |
| behavior. The instance of options class can be passed to driver |
| initialization using :options key. Please, note that using options require |
| insiders builds of Edge. |
| |
| Chrome: |
| * Included HasLocation to Chrome driver (thanks @sidonath). |
| * Updated endpoint to send Chrome Debugging Protocol commands. The old one |
| has been deprecated in ChromeDriver 40. |
| |
| Safari: |
| * Added new Safari::Options class that should be used to customize browser |
| behavior. The instance of options class can be passed to driver |
| initialization using :options key. Please, note that using options require |
| Safari 12+. |
| |
| Remote: |
| * Allow passing Options instances to remote driver initialization using |
| :options key. This feature allows to use browser-specific options classes |
| (Chrome::Options, Firefox::Options, etc.) and pass them to Server/Grid |
| instead of capabilities. |
| |
| 3.14.1 (2018-10-03) |
| =================== |
| |
| Ruby: |
| * Added a workaround to ignore Errno::EALREADY error when starting drivers |
| on Windows Subsystem for Linux |
| * Changed default pause duration to 0 for Selenium::WebDriver::Driver#action#pause (thanks @twalpole) |
| * Deprecated Selenium::WebDriver::PortProber#random |
| in favor of Selenium::WebDriver::PortProber#above |
| * Fixed a bug when Selenium::WebDriver::Element#drag_and_drop would not |
| work in certain cases |
| * Updated RubyZip dependency to 1.2.2 which fixes security vulnerability |
| |
| Edge: |
| * Added support for --silent driver flag |
| * Fixed an incorrect dash symbol when passing arguments to MicrosoftWebDriver.exe |
| |
| Firefox: |
| * Fixed an incorrect dash symbol when passing arguments to GeckoDriver |
| |
| Safari: |
| * Fixed a bug when Selenium::WebDriver::Element#displayed? would raise error |
| in Safari 12 |
| |
| 3.14.0 (2018-08-03) |
| =================== |
| |
| Ruby: |
| * Allow to customize default duration of movement of pointer actions using |
| Driver#action#default_move_duration= (thanks @prakharrr) |
| * Fixed an accidentally removed Selenium::WebDriver::Error::TimeoutError (thanks @twalpole) |
| |
| Server: |
| * Fixed an issue when Server.latest couldn't parse the version |
| |
| Remote: |
| * Added support for uploading multiple files by passing them as a string |
| separated by \n to Element#send_keys. Please, note that not all the drivers |
| have multiple file upload implemented (tested to work in ChromeDriver). |
| |
| 3.13.1 (2018-07-20) |
| =================== |
| |
| Chrome: |
| * Fixed an issue when empty Chrome options would cause DevToolsActivePort issue (thanks @artplan1) |
| |
| Remote: |
| * Support detecting local files (thanks @mskvn) |
| |
| 3.13.0 (2018-06-25) |
| =================== |
| |
| Ruby: |
| * Address warnings for redefined methods and uninitialized instance variables |
| |
| Chrome: |
| * Chrome options capabilities updated to use goog:chromeOptions. |
| Note that Selenium now requires ChromeDriver v2.31 at minimum. |
| * Added ability to tell headless Chrome to save files using Driver#download_path= (thanks @pelly) |
| |
| 3.12.0 (2018-05-08) |
| =================== |
| |
| Ruby: |
| * Added User-Agent header to requests from Selenium to give remote |
| ends more visibility into distribution of clients (thanks @sah) |
| * Added Selenium::WebDriver::VERSION constant (thanks @sah) |
| * Added changelog link to RubyGems page |
| * Fixed a bug when requests were sent with empty Content-Type, |
| which should instead be application/json (issue #5615 and #5659) |
| * Fixed a bug when failed connection attempt was retried without |
| grace period for remote to resolve its problem (thanks @amckinley42) |
| * Fixed a bug with accidentally removed HasNetworkConnection driver extension |
| |
| Chrome: |
| * Fixed a bug when deprecation message for using Chrome extensions |
| was incorrectly shown (thanks @treby) |
| |
| Safari: |
| * Added support getting permissions via Driver#permissions |
| * Added support setting permissions via Driver#permissions= |
| * Added support enabling web inspector via Driver#attach_debugger |
| |
| 3.11.0 (2018-03-11) |
| =================== |
| |
| Ruby: |
| * No changes in Ruby bindings for this release |
| |
| 3.10.0 (2018-03-02) |
| =================== |
| |
| Ruby: |
| * Added Errno::EAFNOSUPPORT to the list of ignored errors when finding port (thanks @jtarchie) |
| * Added automatic conversion of noProxy to the list of strings as required |
| by W3C WebDriver Specification (issue #5004) |
| |
| Chrome: |
| * Added Chrome::Options#headless! shortcut to enable headless mode (thanks @pulkitsharma07) |
| |
| IE: |
| * Added support for getting local storage using Driver#local_storage |
| * Added support for getting session storage using Driver#session_storage |
| |
| 3.9.0 (2018-02-06) |
| ================== |
| |
| Ruby: |
| * Fixed a bug when omitted capabilities caused NoMethodError (issue #5185) |
| * Fixed a bug when getting page source in W3C dialect caused WebDriverError (thanks @KazuCocoa) |
| * Fixed a bug when getting backtrace of server error would case NoMethodError (thanks @mcking49) |
| * Updated YARD to ~> 0.9.11 |
| * Updated rubyzip to ~> 1.2 (thanks @michaelglass) |
| |
| Chrome: |
| * Added support for getting network conditions via Driver#network_conditions |
| * Added support for setting network conditions via Driver#network_conditions= |
| * Added support to allow driver respond with custom error codes (issue #5376) |
| |
| Firefox: |
| * Improved GeckoDriver binary lookup mechanism (issue #5240) |
| |
| 3.8.0 (2017-12-01) |
| ================== |
| |
| Ruby: |
| * Removed deprecated Alert#authenticate |
| * Removed deprecated :port initialization argument of Remote::Bridge. |
| Use :url instead. |
| * Removed deprecated Selenium::WebDriver::Remote::W3CCapabilities. |
| Use Selenium::WebDriver::Remote::Capabilities instead. |
| |
| IE: |
| * Remove deprecated :log_file driver initialization argument. |
| Use driver_opts: {log_file: ''} instead. |
| * Remove deprecated :log_level driver initialization argument. |
| Use driver_opts: {log_level: ''} instead. |
| * Remove deprecated :implementation driver initialization argument. |
| Use driver_opts: {implementation: ''} instead. |
| * Removed deprecated :service_args driver initialization argument. |
| Use driver_opts: {args: ['--some-switch']} instead. |
| |
| Chrome: |
| * Removed deprecated :service_log_path driver initialization argument. |
| Use driver_opts: {log_path: 'path'} instead. |
| * Removed deprecated :service_args driver initialization argument. |
| Use driver_opts: {args: ['--some-switch']} instead. |
| |
| Firefox: |
| * Removed deprecated :service_args driver initialization argument. |
| Use driver_opts: {args: ['--some-switch']} instead. |
| |
| Safari: |
| * Removed deprecated :service_args driver initialization argument. |
| Use driver_opts: {args: ['--some-switch']} instead. |
| |
| Edge: |
| * Removed deprecated :service_args driver initialization argument. |
| Use driver_opts: {args: ['--some-switch']} instead. |
| |
| 3.7.0 (2017-11-03) |
| ================== |
| |
| Ruby: |
| * Added //rb:lint task to check codebase using RuboCop (thanks @RustyNail) |
| * Fixed codebase to comply more to Ruby community style guide (thanks @RustyNail) |
| * Packaged all dependencies to Selenium repository so that non-Ruby committers |
| can build and test Ruby bindings easier |
| * Update errors list according to latest changes of specification (thanks @jaysonesmith) |
| |
| Firefox: |
| * Added Firefox::Options#headless! shortcut to enable headless mode (thanks @franzliedke) |
| |
| 3.6.0 (2017-09-25) |
| ================== |
| |
| Edge: |
| * Fixed a bug when execute_script failed using server + Edge (issue #4651) |
| |
| Firefox: |
| * Fixed a bug when web extension failed to install using profile class (issue #4093) |
| |
| PhantomJS: |
| * Support is deprecated in favor of headless Chrome/Firefox or HTMLUnit. |
| PhantomJS is no longer actively developed, and support will eventually |
| be dropped. |
| |
| 3.5.2 (2017-09-07) |
| ================== |
| |
| Ruby: |
| * Removed platformVersion from W3C payload (issue #4641) |
| * Fixed a bug when proxy type was not compliant to specification (issue #4574) |
| * Added support for passing speed to flick action (issue #4549) |
| * Using TouchActionBuilder no longer prints mouse/key deprecations |
| * Deprecated Alert#authenticate |
| * Added support for DEBUG environment variable which enables full debug mode in gem |
| |
| Firefox: |
| * Fixed a bug when page load timeout was not properly constructed in new session payload |
| * Fixed a bug when GeckoDriver error stacktrace was not displayed (issue #3683) |
| |
| Chrome: |
| * Added workaround for the case when findElements call returns null (issue #4555) |
| * Chrome::Driver now includes touch actions by default |
| |
| 3.5.1 (2017-08-15) |
| ================== |
| |
| Ruby: |
| * Fixed a bug when Chrome/Firefox (and probably other) drivers could not be |
| started on JRuby (issue #4453). |
| |
| 3.5.0 (2017-08-10) |
| ================== |
| |
| Firefox: |
| * Firefox subprocess output is now only redirected when debug is set (issue #4311) |
| * Fixed a bug where non-integers could be sent when setting window rect |
| * Fixed Firefox location detection on Windows_x64 (thanks kamenlitchev) |
| * Fixed passing of profile with a W3C compatible remote end |
| |
| IE: |
| * Added new IE::Options class that should be used to customize browser |
| behavior (native events, element scroll behavior, etc). |
| The instance of options class can be passed to driver initialization using |
| :options key. Old way of passing these customization directly to driver |
| initialization is deprecated. |
| |
| 3.4.4 (2017-07-13) |
| ================== |
| |
| Firefox: |
| * Added support for GeckoDriver install addon command (issue 4215). |
| * Added support for GeckoDriver uninstall addon command (issue 4215). |
| * Raise error when passing :firefox_options as capability. |
| |
| Ruby: |
| * Fixed a bug when childprocess were leaking /dev/null file descriptor (issue 4285). |
| * Make Remote::Driver class so that it can be inherited from. |
| |
| 3.4.3 (2017-06-16) |
| ================== |
| |
| Ruby: |
| * Fixed a regression when passing symbol as :desired_capabilities caused NoMethodError (issue 4187). |
| |
| 3.4.2 (2017-06-14) |
| ================== |
| |
| Ruby: |
| * Added unhandledPromptBehavior to the list of known capabilities. |
| * Added timeouts to the list of known capabilities. |
| * Fixed a regression when passing hash as :desired_capabilities caused NoMethodError (issue 4172, thanks Thomas Walpole). |
| * Fixed a regression when extension capabilities (the ones that have ":" inside) |
| were filtered out when doing protocol handshake. |
| * Improved handling of capability names passed as plain camelCased strings |
| vs Rubyish snake_cased symbols when doing protocol handshake. |
| |
| Chrome: |
| * Fixed a regression when passing :switches to driver initialization was ignored. |
| |
| 3.4.1 (2017-06-13) |
| ================== |
| |
| Ruby: |
| * Implemented a new dual-dialect mechanism for communication with drivers |
| (a.k.a. protocol handshake). There shouldn't be any noticeable differences |
| but since this is a significant refactoring of internal APIs, some bugs |
| could slip into the release. |
| * Renamed ElementClickIntercepted to ElementClickInterceptedError. |
| * Renamed ElementNotInteractable to ElementNotInteractableError. |
| * Deprecated W3CCapabilities in favor of Capabilities (it was meant to be private API). |
| * Added a warning when trying to save screenshot without .png extension (thanks @abotalov). |
| |
| IE: |
| * Added support for both old IEDriver which uses OSS dialect of JSON wire |
| protocol (<= 3.4.0) and new IEDriver which uses W3C dialect (not yet released). |
| |
| Safari: |
| * Removed runtime dependencies used for old SafariDriver (u.g. websocket). |
| |
| Chrome: |
| * Added new Chrome::Options class that should be used to customize browser |
| behavior (command line arguments, extensions, preferences, mobile emulation, etc.). |
| The instance of options class can be passed to driver initialization using |
| :options key. Old way of passing these customization directly to driver |
| initialization is deprecated. |
| |
| Firefox: |
| * Added new Firefox::Options class that should be used to customize browser |
| behavior (command line arguments, profile, preferences, Firefox binary, etc.). |
| The instance of options class can be passed to driver initialization using |
| :options key. Old way of passing these customization directly to driver |
| initialization is deprecated. |
| |
| 3.4.0 (2017-04-21) |
| =================== |
| |
| Edge: |
| * Fix bug when response is not wrapped with "value" |
| |
| Firefox: |
| * Support geckodriver v0.16 |
| |
| Ruby: |
| * Support ElementClickIntercepted error from W3C spec |
| * Support ElementNotInteractable error from W3C spec |
| * Implement window rect commands |
| * Implement window minimize command |
| |
| 3.3.0 (2017-03-07) |
| =================== |
| |
| Firefox: |
| * geckodriver v0.15 or later is required |
| |
| W3C: |
| * Support for command response data to be wrapped in a 'value' key |
| * Support for updated timeout formats |
| |
| 3.2.2 (2017-03-01) |
| =================== |
| |
| Ruby: |
| * Fix bug for supporting Logger output on Ruby versions < 2.3 |
| * Add more logging and adjust output levels |
| |
| Remote: |
| * Support for creating Remote session with browser name and url parameters |
| |
| 3.2.1 (2017-02-24) |
| =================== |
| |
| Ruby: |
| * Fix bug for supporting Logger on Ruby versions < 2.3 |
| |
| 3.2.0 (2017-02-22) |
| =================== |
| |
| Ruby: |
| * Implement new Logger class |
| * Fix issue with chromedriver process leader incompatibility on Win7 (issue 3512) |
| |
| 3.1.0 (2017-02-14) |
| =================== |
| |
| Firefox: |
| * implement W3C actions endpoint |
| |
| 3.0.8 (2017-02-08) |
| =================== |
| |
| Firefox: |
| * Fix signature of element returned from #active_element |
| |
| 3.0.7 (2017-02-06) |
| =================== |
| |
| Firefox: |
| * Fix signature of element arrays returned from #find_elements (issue 3471) |
| |
| 3.0.6 (2017-02-05) |
| =================== |
| |
| Firefox: |
| * Implement W3C window position |
| * Update implementation for W3C send text to alert |
| * Implement timeout settings |
| * Remove default capabilities (thanks lmtierney) |
| * Fix signature of elements returned from #execute_script (thanks Thomas Walpole) |
| |
| 3.0.5 (2016-12-27) |
| =================== |
| |
| Ruby: |
| * Support for Ruby 2.4.0 (Thanks jamespdo) |
| |
| 3.0.4 (2016-12-21) |
| =================== |
| |
| Firefox: |
| * Implement profile support via geckodriver (#2933 thanks lmtierney) |
| |
| Ruby: |
| * Fix bug preventing use of Curb client (#2951 thanks clarkenciel) |
| * Support Net::HTTP::Persistent version 3 (#3219 thanks Pete Johns) |
| * Allow Net::HTTP::Default to set open_timout and read_timeout independently (#3264 thanks richseviora) |
| * Change default for Net::HTTP::Default#open_timeout to facilitate debuggers (#3264 thanks richseviora) |
| |
| 3.0.3 (2016-11-26) |
| =================== |
| |
| Ruby: |
| * Allow drivers to be executed from batch files on Windows |
| |
| 3.0.2 (2016-11-25) |
| =================== |
| |
| Ruby: |
| * Implement #driver_path as parameter when initializing a driver (thanks lmtierney) |
| * Improve Ruby syntax in driver commands (thanks joe_schulte) |
| * Improve performance when shutting down drivers (thanks lmtierney) |
| * Fix bug for finding open ports on Windows (thanks kou1okada) |
| * Fix bug in auto detection of drivers which allowed selection of non-executable binaries |
| |
| W3C: |
| * Implement #cookie_named and #delete_all_cookies methods (thanks lmtierney) |
| * Implement element #property method (thanks lmtierney) |
| |
| Chrome: |
| * Fix bug in switches (thanks danvine) |
| |
| 3.0.1 (2016-11-06) |
| =================== |
| |
| Ruby: |
| * Always send JSON Wire Protocol commands to server instead of W3C commands |
| |
| 3.0.0 (2016-10-13) |
| =================== |
| |
| Firefox: |
| * Update :firefox_options support for geckodriver 0.11 |
| |
| 3.0.0.beta4 (2016-09-29) |
| =================== |
| |
| Ruby: |
| * Remove support for deprecated driver options |
| * Add support for latest driver options |
| * Add support for :port parameter for launching driver |
| * Add support for :service_args parameter for driver command line switches |
| * Improve reliability by increasing service shutdown timeout (#2815; thanks John Barbuto ) |
| |
| Firefox: |
| * Add support for :firefox_options in geckodriver |
| |
| Safari: |
| * Remove support for legacy Safari driver (use Apple's driver built in to Safari 10+) |
| |
| Chrome: |
| * Set chromedriver to not log by default |
| |
| 3.0.0.beta3.1 (2016-09-03) |
| =================== |
| |
| Firefox: |
| * Fixed bug - legacy firefox extension included in gem |
| |
| 3.0.0.beta3 (2016-09-01) |
| =================== |
| |
| Firefox: |
| * Implemented w3c getAttribute with javascript atom |
| |
| 3.0.0.beta2.1 (2016-08-03) |
| =================== |
| |
| Ruby: |
| * Fixed bug in collections |
| |
| 3.0.0.beta2 (2016-08-02) |
| =================== |
| |
| Firefox: |
| * Fixed bug with form submission |
| * Improved w3c element handling |
| |
| 3.0.0.beta1 (2016-07-28) |
| =================== |
| |
| Ruby: |
| * Remove support for RC client |
| * Remove support for Ruby < 2.0 |
| * Update code to support designated style guidelines |
| * Chrome/GeckoDriver/PhantomJS/IE/Edge drivers are refactored to use standard |
| service class (issue 1797) |
| * Option `:timeout` was removed from IE server (issue 1797) |
| |
| Chrome: |
| * Remove override of default chromedriver behavior for chrome.detach (issue 2418) |
| |
| Firefox: |
| * Rename wires to geckodriver |
| * Change default usage from FirefoxDriver to geckodriver |
| |
| Safari: |
| * Initial support for Apple's Safari Driver in Sierra (issue #2475) |
| |
| Android and iPhone: |
| * Remove support for deprecated classes (Issue #2476) |
| |
| 2.53.0 (2016-03-15) |
| =================== |
| |
| Ruby: |
| * Removed dependency on "multi_json" (issue 1632) |
| * Properly handle namespaces in install manifest of Firefox add-ons (issue 1143) |
| * Improve error handling when stopping browsers (thanks bsedat) |
| * Fix deselecting options in select lists (thanks glib-briia) |
| * Fix w3c error handling |
| * Update w3c Capabilities support |
| |
| IE: |
| * support for alert credentials (issue #1698, thanks Alan Baird & trabulmonkee) |
| |
| 2.52.0 (2016-02-12) |
| =================== |
| |
| No Ruby changes in this release. |
| |
| 2.51.0 (2016-02-05) |
| =================== |
| |
| No Ruby changes in this release. |
| |
| 2.50.0 (2016-01-27) |
| =================== |
| |
| Firefox: |
| * Fix bug for locating binary in local path (issue 1523, thanks Gopal Patel) |
| |
| 2.49.0 (2016-01-13) |
| =================== |
| |
| Ruby: |
| * support for SessionNotCreatedError (thanks Alexander Bayandin) |
| |
| Safari: |
| * Limit support to OS X (issue 1186) |
| * support for multiple concurrent drivers |
| |
| PhantomJS: |
| * Implement Socket locking |
| |
| IE: |
| * support for multiple concurrent drivers |
| |
| Chrome: |
| * prevent 404 error when shutting down Chrome service (thanks Fumiaki MATSUSHIMA) |
| * logging turned on by default |
| * support local storage capabilities |
| |
| Firefox: |
| * support setting the location of Firefox binary to use when run locally |
| * add default lookup of Homebrew Cask default directory (issue 1437) |
| |
| W3C Specification: |
| * support for using with Remote WebDriver |
| * implement window size command |
| * implement window position command |
| * implement element size command |
| * implement element position command |
| * implement full screen window command |
| * implement page source command |
| |
| 2.48.1 (2015-10-13) |
| =================== |
| |
| Firefox: |
| * Mozilla's Wires Driver for Marionette works with Remote WebDriver |
| |
| 2.48.0 (2015-10-07) |
| =================== |
| |
| Firefox: |
| * Initial implementation of Mozilla's Wires Driver for Marionette; Supported in version 43 and higher |
| |
| Edge: |
| * Fix execution with Remote Server |
| * Fix Javascript Execution |
| * Implement Alert Handling |
| * Implement Window Switching |
| |
| Ruby: |
| * Initial implementation of W3C WebDriver syntax to support Mozilla Wires |
| * Change to RSpec expect syntax |
| * Specs can be run from relative directories |
| |
| |
| 2.47.1 (2015-07-31) |
| =================== |
| |
| Edge: |
| * Initial implementation of Microsoft's EdgeDriver |
| |
| |
| 2.47.0 (2015-07-29) |
| =================== |
| |
| Safari: |
| * Remove support for installing additional extensions due to architectural changes introduced with Safari 7 |
| |
| 2.46.2 (2015-06-05) |
| =================== |
| * Fix encoding issue which prevents Element#send_keys to work on Ruby < 2.0 (#621) |
| |
| 2.46.1 (2015-06-04) |
| =================== |
| * Fix aborted rubygems.org release |
| |
| 2.46.0 (2015-06-04) |
| =================== |
| |
| Firefox: |
| * Support for Firefox 38 |
| * Fix performance bug by not forcing garbage collection in httpd.js |
| |
| Chrome: |
| * Fixed ChromeDriver port race condition (#449 - thanks Jason Anderson) |
| |
| Ruby changes: |
| * Retry binding to ports unavailable by EADDRNOTAVAIL (#394). |
| * Remove Presto-Opera support (Blink-based Opera still supported) |
| |
| 2.45.0 (2015-02-28) |
| =================== |
| |
| Firefox: |
| * Native events in Firefox relied on an API that Mozilla no longer |
| provides. As such, fall back to synthesized events on recent Firefox |
| versions. |
| |
| Ruby changes: |
| * Allow switching windows when current window is closed (thanks Titus Fortner). |
| * Add :javascript_enabled to Android capabilities. |
| |
| 2.44.0 (2014-10-05) |
| =================== |
| |
| No Ruby changes in this release. |
| |
| Firefox: |
| * Native event support for Firefox 24, 31, 32 and 33 |
| |
| 2.43.0 (2014-09-09) |
| =================== |
| |
| * Make sure UnhandledAlertErrors includes the alert text if provided by the driver. |
| * Firefox |
| - Make sure the browser process is properly killed if silent startup hangs (#7392) |
| - native events support for Firefox 24, 31 and 32 |
| * Loosen websocket dependency to ~> 1.0 |
| * Add support for `switch_to.parent_frame` (thanks abotalov) |
| * Fix download location for Selenium::Server.{latest,get} (#7049 - thanks marekj) |
| |
| 2.42.0 (2014-05-23) |
| =================== |
| |
| Firefox: |
| * Fix for extensions whose install.rdf uses an attribute for em:id (#5978) |
| * Support for Firefox 29 Native Events |
| |
| 2.41.0 (2014-03-28) |
| =================== |
| |
| * Removed dead browser visibility methods. |
| * Firefox: |
| * Native events support for Firefox 28 (removed support for 26) |
| |
| 2.40.0 (2014-02-19) |
| =================== |
| |
| * Fix bug where FileReaper would not reap files added in a child process |
| * Document AbstractEventListener (#5994) |
| * Safari: |
| * Add Safari::Options + clean up Safari extension handling (#6382) |
| * Add support for user extensions (#6815) |
| * Firefox: |
| * Support native events for Firefox 27 + removed native event support for Firefox 25 |
| |
| 2.39.0 (2013-12-17) |
| =================== |
| |
| * Firefox: Native events support for Firefox 26. |
| * Add deprecation warning to the Android driver. |
| * Make sure selenium/client doesn't require Rake (#6709) |
| |
| 2.38.0 (2013-12-05) |
| =================== |
| |
| * Enforce required Ruby version in gemspec, not just transitively through rubyzip. |
| * Expose the logging API (beta API, subject to change) in the Ruby client: driver.manage.logs #=> Selenium::WebDriver::Logs |
| * Update to support native events for Firefox 25 |
| |
| |
| 2.37.0 (2013-10-18) |
| =================== |
| |
| * As of this version, selenium-webdriver no longer supports Ruby < 1.9.2 |
| * Depend on rubyzip ~> 1.0.0 |
| * Added SOCKS proxy support |
| * Fixed support for SVG documents in the atoms. |
| * Fixed computing an element's container dimensions to account for the scrollbar size when scrolling |
| * Added Capabilities.htmlunitwithjs |
| |
| Chrome: |
| * Pass through the prefs option as a Chrome capability (#5929). |
| Firefox: |
| * Updated Firefox native event components to support Firefox 24. |
| * New elementScrollBehavior capability. |
| * Fixed getLocation to work on scrolled pages. |
| * Fixed autoscrolling for elements located in frames. |
| * Fixed drag-n-drop for elements in frames with native events |
| IE: |
| * Use native events by default, also for remote IE (#4695) |
| Safari: |
| * Enable screenshots and input devices in the client. |
| |
| 2.35.1 (2013-08-26) |
| =================== |
| |
| * Depend on rubyzip < 1.0.0 |
| |
| 2.35.0 (2013-08-14) |
| =================== |
| |
| Firefox: |
| * Updated Firefox native event components to support Firefox 23. |
| |
| 2.34.0 (2013-08-06) |
| =================== |
| |
| Remote: |
| * Add `Driver#remote_status` (remote driver only) (#5669) |
| Firefox: |
| * Updated Firefox native event components to support Firefox 22. |
| iPhone: |
| * The driver is now deprecated (see http://appium.io/ or http://ios-driver.github.io/ios-driver/ for a replacement) |
| Various: |
| * Updated our copy of the Closure compiler and library to the most |
| recent versions. |
| * Updated the atoms library, including support for MS pointer events |
| and refinements to element visibility tests. |
| * Update synthesized mouse implementation. Mouse moves are |
| implemented using nsIDOMWindowUtils. |
| * Added support for the HTML5 "hidden" attribute. If an element, or |
| ancestor, has hidden attribute make, it is not shown. |
| |
| 2.33.0 (2013-05-26) |
| =================== |
| |
| Remote: |
| * Support rotating devices, such as iPhone & iPad in simulator and Android browser in emulator |
| * Support for interacting with touch screen devices, such as iPhone & iPad in simulator and Android browser in emulator |
| * Improve error messages for invalid wire protocol responses |
| Chrome: |
| * Accept :service_log_path for Chrome. (#3475) |
| IE: |
| * IE >=9 versions triggerMouseEvent like other browsers (#2218). |
| Various: |
| * Element#text ignores elements in <head> |
| |
| |
| 2.32.1 (2013-04-11) |
| =================== |
| |
| Safari: |
| * Fix typo when encoding the Safari server redirect URL (#5472) |
| |
| 2.32.0 (2013-04-09) |
| =================== |
| |
| Safari: |
| * The Safari extension is now packaged with the gem and automatically installed (#5322) |
| * Improved detection of the binary location on 64-bit windows (#5273) |
| Opera: |
| * Allow passing :desired_capabailities (#5279) |
| Firefox: |
| * This release supports versions 10esr, 17esr, 19, 20. |
| * Improved SVG support |
| Other: |
| * Allow #click_and_hold without target (#5410). |
| * Remove assumptions about returned capabilities (for ios-driver) |
| |
| 2.31.0 (2013-03-02) |
| =================== |
| |
| Remote: |
| * Expose session_id on the remote driver when used directly (#5240). |
| Firefox: |
| * Native events in Firefox 19 |
| Opera: |
| * Treat UNSPECIFIED proxy type as a nil proxy (#5081). |
| Other: |
| * Add ability to pass :desired_capabilities to all the Ruby drivers, not just for :remote. |
| Direct arguments take presendence. (#5078, see also https://github.com/SeleniumHQ/selenium/pull/8, https://github.com/SeleniumHQ/selenium/pull/11) |
| |
| 2.30.0 (2013-02-20) |
| =================== |
| |
| Firefox: |
| * Firefox 19 support (for synthesized events) |
| Remote: |
| * Pass along firefox_binary correctly (#5152) |
| Safari: |
| * Don't overwrite Driver#browser |
| Other |
| * Alert#text should raise on closed alert. |
| |
| 2.29.0 (2013-01-21) |
| =================== |
| |
| Firefox: |
| * Firefox 18 support (for native events). |
| IE: |
| * New 'requireWindowFocus' desired capability. |
| * IE view port calculation take scroll bars into account (#3602) |
| Safari: |
| * Replace 'libwebsocket' with 'websocket' gem. This should ensure |
| support with recent Safari. |
| Other: |
| * Fix Cygwin issue in PortProber/Firefox::Binary (#4963) |
| |
| 2.27.2 (2012-12-11) |
| =================== |
| |
| Firefox: |
| * Fix for native events in v17 (packaging mistake) |
| |
| 2.27.1 (2012-12-07) |
| =================== |
| |
| Firefox: |
| * Fix "g[b] is not an object" error when passing null to execute_script. |
| |
| 2.27.0 (2012-12-06) |
| =================== |
| |
| Firefox: |
| * Support for Firefox 17. |
| IE: |
| * Path to the server executable can be specified (S::W::IE.path=) |
| Other: |
| * Added :phantomjs driver |
| |
| 2.26.0 (2012-11-02) |
| =================== |
| |
| Firefox: |
| * Added support for native events for Firefox 15 and 16. |
| * Modified FirefoxDriver to use atoms to switch between frames. |
| * FIXED: 4309: 'Could not convert Native argument arg 0' error with Firefox. |
| * FIXED: 4375: Executing javascript hangs Firefox. |
| * FIXED: 4165: WebDriver fails on a machine with no IP address. |
| Safari: |
| * Fixed SafariDriver to allow calling .quit() consecutively without error. |
| * FIXED: 4676: Unable to fire javascript events into SVG's. |
| * FIXED: 3969: SafariDriver should auto-dismiss alerts. |
| IE: |
| * FIXED: 4535: Hover still does not work perfectly in IE. |
| * FIXED: 4593: Alert.accept() Cancels the Resend Alert/Dialog Box. |
| |
| 2.25.0 (2012-07-19) |
| =================== |
| |
| * Respect no_proxy / NO_PROXY env vars (#4007). |
| * Improve error message if a configured proxy refuses the connection. |
| * Ignored exception can be configured on the Wait class. |
| * Add Selenium::WebDriver::Support::Color class. |
| * Ignore Errno::ENETUNREACH when trying to detect our local IP (#4165). |
| * Ignore Errno::EADDRNOTAVAIL in PortProber (#3987). |
| * Firefox: |
| * Enumerate through client rects until finding one with non-zero dimensions when clicking. |
| * Updated supported versions of Firefox to 17. |
| * Allow windows to be resized from a frame (#3897). |
| * Fix an issue where a call to submit could hang the driver. |
| * IE: |
| * Ability to configure logging through the :log_file and :log_level options. |
| * Increasing stability of file upload dialog handling (#3858) |
| * Better handling of overflow edge cases when determining element visibility. |
| |
| 2.24.0 (2012-06-19) |
| =================== |
| |
| * bot.dom.getVisibleText does not properly handle display:run-in or display:table (#1584). |
| * CSS selectors now support compound selectors. |
| * IE: |
| * Failure to click on an element in the IE Driver will yield a more meaningful error. |
| * Crash on IE8 when S_FALSE is returned from get_Document (#4064) |
| * DLLs are no longer bundled with the gem, users must use the standalone server from now on. |
| * Firefox: |
| * Support for Firefox 13 |
| * Ability to pass :proxy directly as Firefox option (no Profile needed). |
| |
| 2.22.2 (2012-06-05) |
| =================== |
| |
| * Improve method for determining the local IP (#3987). |
| |
| 2.22.1 (2012-06-01) |
| =================== |
| |
| * Fix for 1.8.7 behaviour of Socket.getaddrinfo. |
| * Automatically reap Firefox profile on exit, not just in #quit. |
| |
| 2.22.0 (2012-05-29) |
| =================== |
| |
| * Fix conflict with ActiveSupport's Object#load (#3819) |
| * IE: |
| * Default to standalone server executable, fall back to bundled DLLs. |
| * The 'nativeEvents' capability is exposed as :native_events in the Ruby client (mode still experimental). |
| * Firefox: |
| * Native events for Firefox 12. |
| * Native events retained for Firefox 3.x, 10 and 11. |
| * Fix for typing in Firefox 12 |
| * Fix for typing on XHTML pages (#3647) |
| * Fix for maximizing windows when switched to a frame (#3758) |
| * Handle alerts from nested iframes (#3825) |
| * Remote: |
| * Honor HTTP_PROXY env vars (#3838). |
| * Element#attribute returns nil if a boolean attribute is not present. |
| * NoSuchWindowError will be thrown if the currently selected window is closed and another command is sent. |
| * Safari: |
| * support for frame switching, snapshot taking, execute script |
| * message protocol changed, not backwards compatible with 2.21. |
| * Style attributes are no longer lower-cased by default (#1089). |
| * Make sure the Ruby client kills Firefox even when the RPC fails. |
| * Make sure the Ruby client checks all network interfaces when finding free ports. |
| |
| |
| 2.21.2 (2012-04-18) |
| =================== |
| |
| * Check MultiJson.respond_to?, depend on ~> 1.0 |
| |
| 2.21.1 (2012-04-16) |
| =================== |
| |
| * Set multi_json dependency to < 1.3 to avoid deprecation warnings. |
| |
| 2.21.0 (2012-04-11) |
| =================== |
| |
| * Add Selenium::WebDriver::Window#maximize (#3489) |
| * Safari: |
| * New driver! See https://github.com/SeleniumHQ/selenium/wiki/SafariDriver. |
| * Firefox: |
| * Significant stability improvements. |
| * Native events support for Firefox 11 |
| * Dropped native events support for Firefox 4-9 |
| * Window maximize implementation. |
| * IE: |
| * Ignore invisible dialogs (#3360). |
| * Window maximize implementation. |
| * Android: |
| * Accept SSL certificates (#3504). |
| |
| 2.20.0 (2012-02-28) |
| =================== |
| |
| * Loosen the multi_json and ffi dependencies (#3446) |
| * Firefox: |
| * Introduce a timeout for page loads. This needs to be used in |
| conjunction with the unstable page load detection. Exposed as |
| Timeouts#page_load= |
| * Scroll containing elements, not just windows (#3391). |
| * Element#{style => css_value}, with an alias for backwards compatibility. |
| * 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. |
| * Selenium::WebDriver::Wait: polling interval reduced from 0.5 to 0.2 seconds. |
| |
| 2.19.0 (2012-02-08) |
| =================== |
| |
| * RC client supports server-side WebDriver-backed Selenium. |
| * Touch APIs implemented in the Ruby client (Android only) |
| * Firefox: |
| * Fix deserialization of user.js in Firefox::Profile |
| * Native events implemented for Firefox 10. |
| * Renamed the experimental "fast" page loaded strategy "unstable" |
| and disable queuing of commands when it's enabled. |
| * Disabled native events for Firefox 8 as it's deprecated by Mozilla. |
| * Fix for exceptions thrown when an alert occurs during script execution. |
| * Chrome: |
| * New download link for the server component: |
| http://code.google.com/p/chromedriver/downloads/list |
| |
| 2.18.0 (2012-01-27) |
| =================== |
| |
| * Fix for getting value attribute of option elements. (#3169) |
| * Firefox and IE: |
| * Raise UnhandledAlertError if an alert is present during an operation. The unhandled alert is also dismissed to mitigate repeat exceptions. |
| * Firefox: |
| * Better handling of getText invocations on SVG elements. |
| * Fix for Element#click in Firefox 4. (#3253) |
| * Fixed bug when deserializing user.js in Firefox::Profile. |
| * Default profile preferences now read from shared JSON blob. |
| * Android and iPhone: |
| * Client support for the geolocation API (see Selenium::WebDriver::DriverExtensions::HasLocation) |
| * Client support for the web storage API (see Selenium::WebDriver::DriverExtensions::HasWebStorage) |
| * iPhone: |
| * Server now supports frame switching (for frames in the same domain). |
| |
| 2.17.0 (2012-01-16) |
| =================== |
| |
| * Firefox: |
| * Fix excessive unwrapping when switching windows. |
| * Set toolkit.telemetry.{enabled,rejected} in the default Firefox profile. |
| * Support up to version 12 with synthesized events. |
| * Fixed issues launching Firefox 9 due to modal dialog (#3154, #3144) |
| * Chrome: |
| * Now accepts a :url option, pointing to an already running Chrome server. |
| * Now accepts a :proxy option (i.e. Selenium::WebDriver::Proxy instance). |
| * iPhone: |
| * iWebDriver will auto-play HTML5 video (#3152) |
| * Element#attribute("value") falls back to the text of option tags, if no value attribute is specified (#3169) |
| |
| 2.16.0 (2012-01-04) |
| =================== |
| |
| * Firefox: |
| * Native events support for Firefox 9 |
| * Allow apps to use offline storage by default |
| * Fix excessive unwrapping when executing mouseMove |
| * Click in the middle, rather than the top-left of elements (#3034, #2700) |
| * IE: |
| * Raise StaleElementReferenceError when interacting with elements outside the currently focused frame |
| * Handle frames and iframes in showModalDialog windows |
| * Chrome: |
| * Improve client handling of invalid error responses |
| * iPhone: |
| * Updated to latest CocoaHTTPServer |
| * Remote: |
| * Improve performance of Element#== by only making an RPC when necessary. |
| * Disallow caching of GET requests |
| * Various: |
| * Raise ArgumentError instead of UnsupportedOperationError on invalid modifier key |
| * Improve docs for Server, ActionBuilder and Window |
| * Update to latest Sizzle (used for :css selectors in older browsers) |
| |
| 2.15.0 (2011-12-08) |
| =================== |
| |
| * Firefox: |
| * Now supports up to Firefox 11 (for synthesized events) |
| * Implicit waits now change how long we wait for alerts. This |
| functionality will change in 2.16 |
| * Fix scrolling issue (#2700) |
| * IE: |
| * Fix issue with getWindowHandles() and showModalDialog() (#1828) |
| * Add support for the window sizing and positioning API |
| * Make Platform.bitsize use the correct constant from FFI |
| * WebDriver internals: |
| * Atoms code contribution from Google |
| * Closure updated |
| |
| |
| 2.14.0 (2011-11-29) |
| =================== |
| |
| * Add Selenium::WebDriver::Support::Select class to ease working with select lists. |
| * Add Capabilities.ipad and Capabilities.iphone (#2895) |
| * Replace json_pure dependency with multi_json. (#2901) |
| * Don't leave sockets hanging in SYN_SENT state while polling. |
| * Allow selecting option elements even if the enclosing select has zero opacity. |
| * Exception renames (old names aliased and will still work in rescues): |
| * ObsoleteElementError -> StaleElementReferenceError |
| * UnhandledError -> UnknownError |
| * UnexpectedJavascriptError -> JavascriptError |
| * NoAlertOpenError -> NoAlertPresentError |
| * ElementNotDisplayedError -> ElementNotVisibleError |
| * Firefox: |
| * Fixed issue with scrolling on small viewports with native events. |
| * Fix CSS selector support in Firefox 3.0 |
| * IE: |
| * Implement the window control API |
| |
| 2.13.0 (2011-11-18) |
| =================== |
| |
| * Firefox: |
| * Recovering from null window references in the Firefox driver (#1438) |
| |
| 2.12.2 (2011-11-13) |
| =================== |
| |
| * Firefox |
| * Fix issue where Firefox 8 would throw permission errors after document.domain was modified (#2863). |
| * Force window to the foreground on launch (see https://bugzilla.mozilla.org/show_bug.cgi?id=566671) |
| |
| 2.12.1 (2011-11-11) |
| =================== |
| |
| * Fix regression when typing into contenteditable elements. |
| |
| 2.12.0 (2011-11-10) |
| =================== |
| |
| * Loosened the ffi dependency now that Windows support is back (#2755). |
| * Fix shutdown issues when using net-http-persistent against remote servers. |
| * Added beta window control API (see Selenium::WebDriver::Options#window). |
| * Firefox |
| * Support for Firefox 8. |
| * Better reporting of page size when attempting to move out of bounds. |
| * Beta implementation of window control. |
| |
| 2.11.0 |
| ====== |
| |
| (release skipped since it included only server-side changes) |
| |
| 2.10.0 (2011-10-27) |
| =================== |
| |
| * Improve native keyboard emulation on Windows. |
| * Allow commas in CSS selectors (#2301) |
| * Firefox: |
| * Fix intermittent error when finding elements by XPath (#2099) |
| * Fix detection of maximum page size (#2700) |
| * Avoid extension selection dialog (extensions.autoDisableScopes) |
| * Fix invalid wire responses from the synthetic mouse (#2695) |
| * Don't scroll unnecessarily (#1771). |
| * IE: |
| * Improve handling of #clear on disabled or readonly elements. |
| |
| 2.9.1 (2011-10-24) |
| ================== |
| |
| * Workaround for invalid error responses (#2695). |
| |
| 2.9.0 (2011-10-21) |
| ================== |
| |
| * Support file uploads to the remote server (see Selenium::WebDriver::DriverExtensions::UploadsFiles) |
| * New exception: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError |
| * Implemented Chrome::Profile#add_extension |
| * Better respect for preformatted text in Element#text |
| * Reduced scrolling during tests for IE and Firefox. |
| * Firefox: |
| * Support for experimental page load detection. |
| * IE: |
| * Better detection of where to click on links (#2675). |
| * Improve handling of modal dialogs (showModalDialog). |
| |
| 2.8.0 (2011-10-06) |
| ================== |
| |
| * Firefox |
| - Avoid telemetry prompt on Firefox 7 |
| - Allow parallel execution with native events on Linux (#1326) |
| - Added native events support for Firefox 7 on Linux/Windows |
| - Improve search for libX11 for native events on Linux (#384) |
| - Fix double click with native events |
| * Chrome |
| - Fail fast if the chromedriver server is not executable. |
| * IE |
| - Fix find_element bug (#2563) |
| |
| |
| 2.7.0 (2011-09-23) |
| ================== |
| |
| * Firefox |
| - no longer types in the URL bar (#2487) |
| - fixed native events click() issue when element is out of view |
| - double click + get no longer hangs firefox (#2456) |
| - make sure escaped backslashes are properly escaped when serializing a Firefox profile (#2485) |
| * IE |
| - fix event firing issue (#2516) |
| * Opera |
| - don't start the remote service if the driver is passed bad arguments |
| |
| 2.6.0 (2011-09-13) |
| ================== |
| |
| * Rescue and retry on Errno::EADDRINUSE to work around ephemeral ports issue on Windows. |
| * Use correct default URL for the Android driver. |
| * Profile zipping now follows symlinks (#2416). |
| * Firefox |
| - Disable malware check |
| - Various #click improvements |
| - Don't scroll if element is already in view |
| * IE: |
| - improve scrolling to elements with 'overflow: scroll' |
| - properly trigger jQuery change events (#2207) |
| - improve handling of nested modal dialogs |
| * Opera: |
| - capabilities exposed as options to Selenium::WebDriver.for |
| * Various iPhone driver fixes (e.g. #1396) |
| |
| 2.5.0 (2011-08-23) |
| ================== |
| |
| * IE: support for double click and fix for clicks close to edge of window. |
| * Fix for clicking links that overflow into multiple lines (#1020). |
| * Correct initial cursor position when typing into text fields with Firefox 6. |
| * Native events support for Firefox 6 on Windows and Linux. |
| * Fix bug in Android::Bridge when no :http_client option was passed. |
| * Set chrome.detach to tell chromedriver to leave browser running on exit. |
| |
| 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 improvements 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 https://github.com/SeleniumHQ/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 executables 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. |