Changelog
June 8, 2026 ยท View on GitHub
All notable changes to this project will be documented in this file.
Read release_notes.md for commit level details.
[13.0.1] - 2026-06-07
- Update the
rbs_collection.lock.yaml
[13.0.0] - 2026-05-10
- Remove extenced methods in
Appium::Core::Base::Driveronly for the appium_lib - which is covered by the library.
[12.2.0] - 2026-04-19
- Add validation for direct connect URL when
direct_connectcapability istrue.
[12.1.0] - 2026-03-21
- Replace internal
add_commandmethod with Selnium Bridge'sadd_commandto simplify the codebase.
[12.0.1] - 2026-03-07
- Improve Steep
[12.0.0] - 2025-12-28
- Remove
Appium::Core::WebSocketwhich was forappium/device/logcatendpoint. Please use BiDi log endpoint such as this test instead. - update RBS files
[11.12.1] - 2025-12-25 (Yanked)
update RBS files
[11.12.0] - 2025-11-16
- Add more RBS files
[11.1.0,11.1.1] - 2025-08-08
- Add WebDriver BiDi support. Please set
webSocketUrlin the capabilities to enable it.test/functional/android/webdriver/bidi_test.rbcan be an example usage.- Older versions of the Selenium Ruby bindings may raise exceptions due to missing module dependencies.
[11.0.2] - 2025-04-27
- Add more sig definitions #571
[11.0.1] - 2025-03-27
- Remove
::Selenium::WebDriver::DriverExtensions::HasWebStorageimport to follow selenium webdriver 4.30.0
[11.0.0] - 2025-03-21
Enhancements
- Remove deprecated marked commands
get_network_connection/set_network_connection,toggle_wifi,toggle_data,toggle_airplane_mode- Please use
mobile: setConnectivity/mobile: getConnectivityinstead
- Please use
start_activity- Please use
mobile: startActivityinstead
- Please use
- Use mobile command for existing methods (the backend method call has changed. Old appium such as Appium v1 or before may have an issue as no matched command)
toggle_location_services,get_performance_data,get_performance_data_types,finger_print,open_notifications,current_activity,current_package,get_system_bars,system_bars,toggle_location_services,hide_keyboard,background_app,set_clipboard,get_clipboard,send_sms,gsm_call,gsm_signal,gsm_voice,set_network_speed,set_power_capacity,set_power_ac,get_display_density,lock,unlock,locked?,hide_keyboard,press_keycode,long_press_keycode,app_strings,app_state,shake,device_time
[10.0.0] - 2025-02-16
Enhancements
- Use
http://127.0.0.1:4723as the default url destination instead ofhttp://127.0.0.1:4723/wd/hub--base-pathin appium server may need to drop the/wd/hub
[9.5.2] - 2025-01-30
- Fix yardoc
[9.5.1] - 2025-01-29
Enhancements
- Added a module to search context to improve documentation
[9.5.0] - 2025-01-22
Deprecations
- Drop Ruby 3.0 by following selenium binding
[9.4.0] - 2025-01-08
Enhancements
- Update
/se/log/typesand/se/logendpoint call instead of/log/typesand/logfor W3C WebDrier era.
[9.3.0] - 2024-12-08
Deprecations
- Remove deprecated
Appium::Core#quit_driver. Please useAppium::Core::Driver.quitinstead.
[9.2.1] - 2024-08-01
Bug fixes
- Fix to return symbols for
Core#deviceandCore#automation_name
[9.2.0] - 2024-07-21
Enhancements
- Raise defined errors in this library instead of Ruby general errors in some places.
- Most of errors have already followed this method. This version has updated rest of them.
[9.1.3., 9.1.2] - 2024-06-03
Bug fixes
- Fix
server_urlusage incore.start_driverto respect the given value every time.
[9.1.1] - 2024-05-19
Enhancements
- Simplify internal code with Selenium 4.21.0 further.
[9.1.0] - 2024-05-18
Enhancements
- Require Selenium 4.21.0+
- Simplify internal code with Selenium 4.21.0. Now it requires selenium webdriver v4.21.0.
[9.0.0] - 2024-05-14
Deprecations
- Stop converting snake cases to camel case for symbols in capabilities
- Please define camel/snake cases in capabilities as-is for the WebDriver capabilities
- Stop implicit symbolizing capabilities
- Historically ruby_lib/ruby_lib_core symbolized capabilities keys from string internally.
Appium.symbolize_keysto build symbolized capabilities if issues occurred by this change.
[8.0.2] - 2024-04-26
Enhancements
- Bump thor for publishment module
[8.0.1] - 2024-03-26
Bug fixes
- Do not ignore an empty string/nil values as caps
[8.0.0] - 2024-03-08
Deprecations
- Removed deprecated methods
launch_app,close_appandreset- Please use
activate_app,terminate_app, or launch/activate/terminate commands bymobile:command
- Please use
TouchAction,MultiTouch- Please refer to W3C WebDriver actions
- https://www.rubydoc.info/gems/appium_lib_core/Appium/Core/Base/Bridge#action-instance_method
immediate_valueandreplace_valueend_coveragesessionsandsession_capabilitiessince they are not W3C WebDriver spec and already removed from the dependent selenium clients.- To get events info, please use
driver.logs.eventsinstead
- To get events info, please use
switch_to_default_context- Please set proper context instead
[7.5.0] - 2024-02-21
- Remove upper limitation in
selenium-webdriver- Users can control the version in their Gemfile
- ruby_lib_core will fix when the future release requires changes
[7.4.0] - 2024-01-23
Enhancement
- Bump
selenium-webdrivermax
Deprecatioons
- Removed deprecated
core#platform_versionandcore#write_session_id- Please refer to the capabilities' value and
driver.session_id
- Please refer to the capabilities' value and
[7.3.2] - 2023-11-08
Bug fixes
- Fix default value fo set context
[7.3.1] - 2023-11-04
Enhancements
- Bump
selenium-webdrivermax
[7.3.0] - 2023-10-17
Deprecations
- Add deprecation marks that will be removed from Appium or this library to move to extension commands such as
mobile:
[7.2.0] - 2023-10-13
Enhancements
- Append
selenium-webdriver4.12support
[7.1.1] - 2023-10-01
Deprecations
- Add deprecation marks in
immediate_valueandreplace_value
[7.1.0] - 2023-08-15
Enhancements
- Append
selenium-webdriver4.11support
[7.0.0] - 2023-06-17
Deprecations
- Drop Ruby 2.7 support
[6.5.0] - 2023-06-11
Enhancements
- Append
selenium-webdriver4.10support
[6.4.2] - 2023-06-07
Enhancements
- Simplify internal http client implementation a bit
[6.4.1] - 2023-05-13
Bug fixes
- Fixed
driver.execute_cdpcommand error in a chrome session
[6.4.0] - 2023-04-30
Enhancements
- Append
selenium-webdriver4.9support
[6.3.0] - 2023-03-14
Enhancements
- Support custom listener
- e.g. A listener named
CustomListenerwhich inherits::Selenium::WebDriver::Support::AbstractEventListenercan set asappium_lib: { listener: CustomListener.new}capability
- e.g. A listener named
[6.2.1] - 2023-03-09
Enhancements
- Add
uia_device_orientation_landscaperightanduia_device_orientation_portrait_upsidedownsymbols in thedrivede.rotation= - Add
drivede.orientation=as a syntax sugar ofdrivede.rotation=
[6.2.0] - 2023-01-26
Enhancements
- Append
selenium-webdriver4.8support - Add
::Appium::Locationsince::Selenium::WebDriver::Locationno longer exists
Deprecations
::Selenium::WebDriver::Locationis deprecated in favor of::Appium::Locationin Appium Ruby binding
[6.1.0] - 2023-01-18
Bug fixes
Element#immediate_valuesendstextas the request body
[6.0.0] - 2022-12-25
- Remove iOS/UiAutomation classes
- The version may work for iOS 8. XCUITest driver will be the default behavior for iOS.
[5.8.0] - 2022-12-11
Enhancements
- Add
::Appium::Core::Driver#attach_toto generate a driver instance which has the given session id.- The primary usage is for debugging to attach to an existing session.
[5.7.0] - 2022-12-02
Enhancements
- Allow selenium webdriver version 4.7 #423
[5.6.0] - 2022-11-08
Enhancements
- Append
selenium-webdriver4.6support
[5.5.2] - 2022-10-11
Bug fixes
- Fix wrong deprecation message
[5.5.1] - 2022-10-10
Bug fixes
- Keep converting String to Symbol for
capabilities,capsandappium_libfor the backward compatibility - Wrong
automationNameandplatformNamedetection in this library before starting a session
Deprecations
- Converting
capabilities,capsandappium_libfrom String to Symbol- They are expected to be Symbol. Nothing affects existing users who already give the above keys as Symbol for
Appium::Core.for.
- They are expected to be Symbol. Nothing affects existing users who already give the above keys as Symbol for
[5.5.0] - 2022-10-09
Bug fixes
- Removed forcefully converting keys of capabilities into symbol, which caused unexpected capabilities format issue ruby_lib/945
[5.4.0] - 2022-10-01
Enhancements
- Append
selnium-webdriver4.5support
[5.3.0] - 2022-08-10
Enhancements
- Allow selenium webdriver version 4.4 #404
[5.2.2] - 2022-06-26
Enhancements
- Relax the selenium webdriver version restriction of
4.2.0
Bug fixes
- Remove undefined module in selenium webdriver version
4.3.0
[5.2.1] - 2022-06-24
Bug fixes
- Restrict the selenium webdriver version to
4.2.0
[5.2.0] - 2022-06-19
Enhancements
- Update base Selenium Ruby client to
4.2+- Please call
key_actionor set[::Selenium::WebDriver::Interactions.key('keyboard')]as the deviecs parameter to builddriver.send_keys().performW3C action.driver.key_action.send_keys('xxx').performinstead ofdriver.action.send_keys('xxx').perform, ordriver.action(devices: [::Selenium::WebDriver::Interactions.key('keyboard')]).send_keys('xxx').perform.- This PR change will help to update your some actions.
- Please call
[5.1.2] - 2022-06-02
Enhancements
- Limit selenium webdriver version less than
4.2
[5.1.1] - 2022-04-18
Enhancements
- Remove unneccessry files from gem package to reduce the size.
[5.1.0] - 2021-12-25
Enhancements
- Make default pointerType
touchfor the pointer in W3C actions instead ofmousefor Appium- This change should not affect W3C actions
[5.0.3] - 2021-12-13
Enhancements
- Can add more arguments in
install_app- e.g. Add
timeoutMsfor XCUITest driver as@driver.install_app("/path/to/test.ipa", timeoutMs: 20000)
- e.g. Add
Bug fixes
- (internal) Allow to access to
bridgeattribute indriverinstance for appium_flutter_finder
[5.0.2] - 2021-12-01
Bug fixes
- (internal) Fix firstMatch format in a new session creation
[5.0.1] - 2021-11-23
Enhancements
- Relaxed version restriction of selenium-webdriver
[5.0.0] - 2021-11-05
Enhancements
- Update base selenium webdriver version to
v4- Base Selenium Ruby binding is now v4
- Support only W3C WebDriver spec (and a few Appium specific commands)
- Support Ruby 2.6+
- Add
driver#wait,driver#wait_until,driver#wait_true,driver#wait_until_truesyntaxes- Can give
driverinstance as its block variable
- Can give
element.idreturns the element id instead ofelement.ref.element.refnow returns an array.
- Removed
desired_capabilitiesas capabilities forAppium::Core#for. Please usecapabilitieskey name instead.- e.g.
Appium::Core.for capabilities: {...}instead ofAppium::Core.for desired_capabilities: {...}
- e.g.
- Removed methods that had Deprecated mark
- Removed
driver#screenshot. Please usedriver#save_screenshotinstead - Removed
driver#send_keysto send keys to an active element. Please usedriver.action.send_keys('happy testing').performinstead - Removed
forceMjsonwpto send only MJSONWP capabilities since Selenium cleint v4 no longer supports MJSONWP
- Removed
- No longer set default
timeoutsas0- ruby_lib_core calls
/timeoutsendpoint only whenappium_lib: { wait: 5 }is provided explicitly
- ruby_lib_core calls
- Raises
::Appium::Core::Error::ArgumentErrorinstead ofArgumentErrorfor this library specific argument errors - Removed Selendroid related methods
Deprecations
Appium::Core::TouchActionandAppium::Core::MultiTouchare deprecated- Please use W3C actions instead http://appium.io/docs/en/commands/interactions/actions/
- More working examples:
- test/functional/android/webdriver/w3c_actions_test.rb
- test/functional/ios/webdriver/w3c_actions_test.rb
- test/functional/common_w3c_actions.rb
- https://www.selenium.dev/documentation/support_packages/mouse_and_keyboard_actions_in_detail/
- https://www.youtube.com/watch?v=oAJ7jwMNFVU
- https://appiumpro.com/editions/30-ios-specific-touch-action-methods
- https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api
launch_app,close_appandreset. Please read issues#15807 for more details.activate_appor a new session request can be alternatives oflaunch_appterminate_appor close the session request can be alternatives ofclose_app- Close current session and creating a new session, or
terminate_appandlaunch_appcan be alternatives ofreset
[4.7.1] - 2021-09-26
Enhancements
- Allow to override an existing method by
Appium::Core::Base::Driver#add_commandsince Appium drivers/plugins allow to override them
[4.7.0] - 2021-07-17
Enhancements
- Add
satellitesoption inAppium::Core::Base::Driver#set_location
[4.6.0] - 2021-06-03
Enhancements
- Add
Appium::Core::Base::Driver#add_commandto allow you to add your own command
[4.5.0] - 2021-03-14
Enhancements
- Add
speedargument forAppium::Core::Base::Driver#set_locationsince Appium 1.21.0 - Add
multipleandmatch_neighbour_thresholdarguments forAppium::Core::Base::Driver#find_image_occurrence
[4.4.1(4.4.0)] - 2021-02-15(2021-02-13)
Enhancements
- Returns
{}any errors inCore#appium_server_versionto prevent errors in some cases
[4.3.1(4.3.0)] - 2021-02-07(2021-02-05)
Enhancements
- Add
start_recording_screenfor Mac2 driver
[4.2.1] - 2021-01-10
Enhancements
- Refactor routable
[4.2.0] - 2021-01-02
Enhancements
- Add
Element#screenshot,Element#screenshot_asandElement#save_screenshotin Element moduleElement#screenshot_asandElement#save_screenshotare same asDriver#element_screenshot_asandDriver#save_element_screenshotElement#screenshotis same asElement#screenshot_as(:base64)
[4.1.1] - 2020-12-25
Enhancements
- Ruby 3.0 support
- Arguments in
@driver.execute_cdp- It should be like
@driver.execute_cdp 'Page.captureScreenshot', quality: 50, format: 'jpeg'as keyword arguments instead of@driver.execute_cdp 'Page.captureScreenshot', { quality: 50, format: 'jpeg' }in Ruby 3
- It should be like
- Arguments in
[4.0.0] - 2020-12-19
Supported Ruby version is 2.4+
Deprecations
- No longer work with
forceMjsonwpcapability to force the session MJSONWP
[3.11.1] - 2020-11-20
Bug fixes
- Fix
install_appto be able to set no args for options
[3.11.0] - 2020-08-01
Enhancements
- Security update GHSA-2v5c-755p-p4gv
- Affects only ::Appium::Core::WebSocket
[3.10.1] - 2020-06-29
Bug fixes
- Fix duplication warning of
execute_cdp
[3.10.0] - 2020-06-09
Enhancements
- Remove deprecated
Selenium::WebDriver::Error::TimeOutError
[3.9.0] - 2020-05-31
Enhancements
capabilities:is available in addition todesired_capabilities:andcaps:as a capability# case 1 opts = { caps: { }, appium_lib: { } } @driver = Appium::Core.for(opts).start_driver # case 2 opts = { capabilities: { }, appium_lib: { } } @driver = Appium::Core.for(opts).start_driver # case 3 opts = { desired_capabilities: { }, appium_lib: { } } @driver = Appium::Core.for(opts).start_driver
[3.8.0] - 2020-05-17
Enhancements
- Add options for
start_recording_screenfile_field_name,form_fieldsandheadersare available since Appium 1.18.0
Bug fixes
- Fix
x-idempotency-keyheader to add it only in new session request (https://github.com/appium/ruby_lib_core/issues/262)
[3.7.0] - 2020-04-18
Enhancements
- Add
x-idempotency-keyheader support (https://github.com/appium/appium-base-driver/pull/400)- Can disable the header with
enable_idempotency_header: falseinappium_libcapability. Defaults totrue.
- Can disable the header with
- Add chrome devtools endpoint which is available chrome module in Selenium Ruby binding
[3.6.1, 3.6.0] - 2020-03-15
Enhancements
- Add screen record feature for Windows driver (https://github.com/appium/appium-windows-driver/pull/66)
#start_recording_screen,#stop_recording_screen
[3.5.0] - 2020-01-11
Enhancements
- Add
:viewmatcherselector like@driver.find_elements :view_matcher, { name: 'withText', args: %w(Accessibility), class: 'androidx.test.espresso.matcher.ViewMatchers' }
[3.4.2] - 2019-12-29
Enhancements
- Add
attr_reader :bridgefor flutter driver not to usesend
[3.4.0, 3.4.1] - 2019-12-26, 2019-12-27
Enhancements
- Fix Ruby 2.7 warnings
[3.3.0] - 2019-11-08
Enhancements
- Add
Logs#eventto post a custom log by@driver.logs.event vendor: 'appium', event: 'funEvent' - Add
Logs#eventsto get events by@driver.logs.events. It is equal to@driver.session_capabilities['events']
[3.2.3] - 2019-09-30
Enhancements
- Add
system_barsas an alias toget_system_bars
[3.2.2] - 2019-08-04
Bug fixes
- Fixed parameters of
remove_app
[3.2.1] - 2019-07-19
Enhancements
- Add
video_filtersargument forstart_recording_screeniOS- It is available over Appium 1.15.0
Bug fixes
- Fix wrong warning message in driver detection
Deprecations
Driver#set_immediate_value(element, *value)- Use
Element#immediate_value(*value)instead
- Use
Driver#replace_value(element, *value)- Use
Element#replace_value(*value)instead
- Use
[3.2.0] - 2019-06-27
Enhancements
- Add
execute_driverto run a batch script- It requires Appium version which has
execute_driversupport
- It requires Appium version which has
[3.1.3] - 2019-06-18
Enhancements
- Add arguments for
start_activityintentAction,intentCategory,intentFlags,dontStopAppOnReset
[3.1.2] - 2019-05-10
Enhancements
- Add
sessionscommand to get all available sessions on the Appium server - [internal] Tweak error messages in emulator module
[3.1.1] - 2019-04-26
Enhancements
- [internal] Catch
Selenium::WebDriver::Error::TimeoutErrorwhich will be used instead ofSelenium::WebDriver::Error::TimeOutError
[3.1.0] - 2019-03-31
Enhancements
tvOSplatform supportplatformName: :tvos, automationName: :xcuitestcan work for iOS tvOS- It requires Appium 1.13
[3.0.4] - 2019-03-24
Enhancements
- Add
pixelFormatargument in screen record for iOS
[3.0.3] - 2019-03-11
Enhancements
- [internal] Bump Rubocop target Ruby version to Ruby 2.3
[3.0.2] - 2019-03-07
Enhancements
- Append more examples for use case in
test/functionalas functional test cases
Bug fixes
- [internal] Fixed typo in
Emulator#gsm_signal#196- Thanks khanhdodang
[3.0.1] - 2019-02-25
Enhancements
- Add
:data_matcherfind_element/s attribute appium-espresso-driver#386
[3.0.0] - 2019-02-06
This release has a breaking change about an implicit wait.
Ruby client sets 0 seconds as implicit wait by default instead of 20 seconds.
The behaviour follows the default spec in WebDriver.
Enhancements
- Breaking changes
- Set implicit wait zero by default #186
- Can configure
wait: 20asappium_libcapability to keep the behaviour
- Can configure
- Set implicit wait zero by default #186
- [Experimental] Add
direct_connectcapability for the Ruby client in order to handledirectConnectcapability in a create session response by Appium server #189- Update http client following
directConnectProtocol,directConnectHost,directConnectPortanddirectConnectPathifdirect_connectcapability for ruby_lib_core istrue - This will resolve a performance issue if a user has a proxy server to handle requests from client to Appium server.
With this feature, the user can send requests directly to the Appium server after create session skipping the proxy server.
# create session client <---> proxy server <---> appium server <> devices # Following requests after the create session client <----------------------> appium server <> devices
- Update http client following
Bug fixes
- Fix potential override of
AppManagement#background_app#188
[2.3.4] - 2019-01-31
Enhancements
- Add 3D touch option for
TouchAction#pressappium/WebDriverAgent#79:pressureoption
Bug fixes
- Stop sending blank value in
start_activity
[2.3.3] - 2019-01-22
Bug fixes
- Add
*args, &blockin method missing inSelenium::WebDriver::Element#184
[2.3.2] - 2019-01-20
Enhancements
- Add alias for some method calls
Bug fixes
ServerErrorinheritsCoreErrorin order to handle it as an exception
[2.3.1] - 2019-01-13
Enhancements
set_network_connectionaccepts keys as same asnetwork_connection_typein addition to numbers{ :airplane_mode: 1, wifi: 2, data: 4, all: 6, none: 0 }- Read documentation more
[2.3.0] - 2019-01-07
Enhancements
- Use
Base64.strict_encode64when this client sendsBase64encoded data to server- Follows RFC 4648 format. It should not affect server side which is front Appium node server
- Continues to decode base 64 data following
decode64to accept RFC 2045 format
- Add
query_app_stateas an alias ofapp_stateto get application status
[2.2.2] - 2018-12-22
Enhancements
- Append
appiumin header:appium/ruby_lib_core/2.2.1 (selenium/3.141.0 (ruby macosx))
[2.2.1] - 2018-12-08
Bug fixes
- Reduce warnings for method definitions
[2.2.0] - 2018-12-01
Enhancements
- Add
::Appium::Core::Base.platformto call::Selenium::WebDriver::Platform- Can identify platform using
::Appium::Core::Base.platform.windows?for example
- Can identify platform using
Deprecations
:offset_xand:offset_yinTouchAction#swipeis deprecated in favor of:end_xand:end_y
[2.1.1] - 2018-11-23
Enhancements
desired_capabilities:is available in addition tocaps:as a capability# case 1 opts = { caps: { }, appium_lib: { } } @driver = Appium::Core.for(opts).start_driver # case 2 opts = { desired_capabilities: { }, appium_lib: { } } @driver = Appium::Core.for(opts).start_driver- Update
start_recording_screenfor iOS, Appium 1.10.0- Add
:video_scaleand update:video_type
- Add
[2.1.0] - 2018-11-14
Enhancements
- Support below style 1, has url parameter, in addition to style 2
# 1 Appium::Core.for url: "http://127.0.0.1:8080/wd/hub", caps: {...}, appium_lib: {...} # 2 Appium::Core.for caps: {...}, appium_lib: {...} - Add
:video_fpsparam for screen recording in iOS(XCUITest) to sync with Appium 1.10.0
[2.0.6] - 2018-11-08
Enhancements
- Allow selenium update following Pi versioning like 3.141.0
- [internal] Update dev libraries
[2.0.5] - 2018-10-30
Enhancements
- [internal] No longer send
strategy: :tapOutsideas default value in Android
[2.0.4] - 2018-10-19
Enhancements
- Add custom locator in the future work: element-finding-plugins
@driver.find_element :custom, "f:foo"
[2.0.3] - 2018-10-11
Enhancements
- Set
'selenium-webdriver', '~> 3.14.1'
[2.0.2] - 2018-10-02
Enhancements
- Add finger print feature for Android emulators #13
- Add
keyboard_shown?andcontext=as aliases ofis_keyboard_shownandset_contex
[2.0.1] - 2018-09-01
Enhancements
- Add
Appium::Core::Base::Driver#perform_actionsto send multiple actions. Seetest_multiple_actionsas an example.
Bug fixes
- Fix desired capability for W3C protocol under selenium grid environment #137
[2.0.0] - 2018-08-25
This release has a breaking change for creating core. Thus, I've bumped the major version.
Enhancements
- use
autoloadto load Android/iOS modules
Deprecations
@core = Appium::Core.for(self, opts)is deprecated in favor of@core = Appium::Core.for(opts)- Call
extend Appium::Core::Deviceif you'd like to extend methods defined inAppium::Core- Read #816 as an example
- Call
[1.9.2] - 2018-08-23
Bug fixes
- fix unexpected method missing against
:to_hashin Element
[1.9.1] - 2018-08-20
Enhancements
- Add
:viewtagfor Espresso driver appium-espresso-driver#189 - Add missing
take_viewport_screenshotfor mjsonwp #127
Bug fixes
- [internal] Fix raising error in
set_implicit_wait_by_default#130
[1.9.0] - 2018-08-05
Enhancements
- Update documentation about
start_recording_screen - Port
send_keys/typefor active element #122 - Support
find_element/s :image, partial_image#119 - Requires
selenium-webdriver 3.14+because of W3C actions #115
Deprecations
- [Internal] Deprecate experimental
ImageElementin favor ofElement
[1.8.4] - 2018-07-28
Enhancements
- silence warning for pointeractions #113
- Use method missing to get attributes like
e.resource_idinstead ofe.attribute 'resource-id'#116 - Set
'~> 3.5', '< 3.14'
[1.8.3] - 2018-07-20
Enhancements
- Relax the logic of
:appcapability
Bug fixes
- Fix
within_context
[1.8.2] - 2018-07-17
Bug fixes
- Available packages over HTTP #106
Deprecations
- Remove warning of camelCase capability for W3C format
[1.8.1] - 2018-07-13
Bug fixes
- Fix including search context in
::Selenium::WebDriver::Elemenetinclude ::Appium::Core::Base::SearchContextinstead of::Selenium::WebDriver::SearchContext
[1.8.0] - 2018-07-07
Enhancements
- Add Tizen case
- [Internal] reduce method definition by
add_endpoint_method
[1.7.2] - 2018-06-23
Enhancements
- Add
find_element_by_imageandfind_elements_by_imageto handleImageElement- Read here for more details
- Add a
ImageElementto handle images as elements bymatchTemplate- Experimental feature
- [Internal] Define screenshot methods in appium_lib_core instead of Selenium's one
[1.7.1] - 2018-06-15
Enhancements
- Add a
formatargument fordevice_time#94
Bug fixes
- Return empty array
[]for find_elements
[1.7.0] - 2018-05-28
Enhancements
- Has one Breaking Change
- Add
flagsinpress_keycodeandlong_press_keycode- New:
@driver.press_keycode 66, metastate: [1], flags: [0x20, 0x2000]metastateshould set as a keyword argumentlong_press_keycodeas well
- Before:
@driver.press_keycode 66, 1(Can set only metastate)- How to change: add
metastate:for the metastate argument
- How to change: add
- New:
- Add
- [Internal] Change directory and file structure
- [Internal] Set default content-type
[1.6.0] - 2018-05-08
Enhancements
- Breaking Change
- Change the results of
app_state.- Before: A number or const.
0, 1, 2, 3, 4orNOT_INSTALLED, NOT_RUNNING, RUNNING_IN_BACKGROUND_SUSPENDED, RUNNING_IN_BACKGROUND, RUNNING_IN_FOREGROUND
- After: Symbol.
:not_installed, :not_running, :running_in_background_suspended, :running_in_background, :running_in_foreground
- Before: A number or const.
- Change the results of
- add
battery_infoto get battery information - add
is_keyboard_shownfor iOS ( see also https://github.com/appium/appium-xcuitest-driver/pull/664/files )
[1.5.1] - 2018-04-25
Bug fixes
- Revert timeout logic in
1.4.1
[1.5.0] - 2018-04-25
Enhancements
- [internal] Remove hot fix for XCUITest action
Deprecations
- Changed the name of arguments
swipe(start_x:, start_y:, end_x:, end_y:)instead ofswipe(start_x:, start_y:, offset_x:, offset_y:)
[1.4.2] - 2018-04-22
Bug fixes
- Revert
delegate_from_appium_driverforruby_libcompatibility
[1.4.1] - 2018-04-22
Enhancements
- add base image comparison
match_images_features,find_image_occurrence,get_images_similarity,compare_images
- [internal] No longer have dependency for Selenium's wait
- Raise
::Appium::Core::Wait::TimeoutErrorinstead of::Selenium::WebDriver::Error::TimeOutError
- Raise
- [internal] Separate mjsonwp commands module and w3c commands module from one command module
[1.4.0] - 2018-04-15
Enhancements
- Add a support for WebSocket client based on Faye::WebSocket::Client #74
[1.3.8] - 2018-04-12
Enhancements
- Make no-argument commands friendly for IDE
[1.3.7] - 2018-04-02
Enhancements
- Only for
ruby_lib_coreinternal process- Remove
touchaction by default and followingselenium-webdriverin W3C action.- Since XCUITest and UA2 drivers force handling the pointer as
touch.
- Since XCUITest and UA2 drivers force handling the pointer as
- Remove
[1.3.6] - 2018-04-01
Enhancements
- Be able to change
kindin W3C touch action.
[1.3.5] - 2018-03-30
Enhancements
- Add a
bug_reportoption instart_recording_screen, Android - Add clipboard apis #69
[1.3.4] - 2018-03-21
Enhancements
- Add
save_viewport_screenshotwhich get screenshot except for status bar. - [iOS] Add
start_performance_recordandget_performance_record
Bug fixes
- Fix create_session attempt to throw non-existent error type Appium::Core::Error::WebDriverError #66
[1.3.3] - 2018-03-03
Enhancements
- add
session_capabilities: https://appium.io/docs/en/commands/session/get/
[1.3.2] - 2018-02-18
Enhancements
- Add Android emulator commands
send_sms,gsm_call,gsm_signal,gsm_voice,set_network_speed,set_power_capacity,set_power_ac
- Add toggles
toggle_location_services,toggle_wifi,toggle_data
[1.3.1] - 2018-02-14
Enhancements
- add some app management commands #58
- Require Appium 1.8.0+
- Both platforms work absolute based axis for
move_toandswipe- Breaking Changes
- Android was relevant, previously.
- e.g.:
# Do not move because of the start and end point is the same # Tap (75, 500) and move the point to (75, 500) with duration 500ms. Appium::Core::TouchAction.new(@driver) .swipe(start_x: 75, start_y: 500, offset_x: 75, offset_y: 500, duration: 500) .perform # Tap (75, 500) and move the point to (75, 1000) with duration 500ms. Appium::Core::TouchAction.new(@driver) .swipe(start_x: 75, start_y: 500, offset_x: 75, offset_y: 1000, duration: 500) .perform
- Breaking Changes
[1.3.0] - 2018-01-28
Enhancements
start_recording_screen/stop_recording_screensupport iOS fromAppium 1.8.0#48- Breaking Changes
start_recording_screen- The argument,
file_path, was removed.
- The argument,
- Breaking Changes
[1.2.7] - 2018-01-25
Enhancements
- Print warning messages to use camelCase if capability key names are snake_case
- For W3C adaption for Appium Server
Bug fixes
- Make
@driver.automation_namedowncase #50
[1.2.6] - 2018-01-21
Enhancements
- Add
window_rect
Bug fixes
- Make
@driver.automation_namesymbol when someone define theautomationNamewith the server argument. #50
[1.2.5] - 2018-01-13
Enhancements
- Enhance W3C support
- Timeout related methods
[1.2.4] - 2018-01-03
Enhancements
- Refactor
create_sessioninAppium::Core::Base::Bridge - Be able to communicate with Appium by
W3Cbased webdriver protocol if the Appium supports W3C protocol.- If
forceMjsonwp: trueexists in the capability, the client try to communicatemjsonwpbased protocol- By default, it depends on the response from the server
- Read API doc for
Appium::Core::Base::Bridge#create_sessionto read the example offorceMjsonwp
- If
- Backport some commands from OSS module to W3C module
- Read
lib/appium_lib_core/common/base/w3c_bridge.rbfor more details
- Read
- Can get logs like
driver.logs.available_typesanddriver.logs.get
[1.2.3] - 2017-12-27
Bug fixes
- Fix some w3c methods to work with Appium part 2 #38
[1.2.2] - 2017-12-25
Bug fixes
- Fix some w3c methods to work with Appium #37
[1.2.1] - 2017-12-23
Enhancements
- override default duration to make some action fast #36
[1.2.0] - 2017-12-23
Enhancements
- Append
appium:prefix for capabilities automatically due to W3C format. - add take element screenshot for oss module #33
- add w3c touch action tests and some supports for w3c #35
- IME related
- Touch actions based on W3C spec
[1.1.0] - 2017-12-16
Enhancements
- Add guidelines in
.github - session/:session_id/appium/device/keyevent #21
Bug fixes
- fix creating sessions #31 for W3C creating sessions
[1.0.0] - 2017-11-12
Initial release