appium_lib_core 4.1.0 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +8 -0
  3. data/.github/workflows/codeql-analysis.yml +70 -0
  4. data/.github/workflows/unittest.yml +8 -9
  5. data/.rubocop.yml +95 -1
  6. data/CHANGELOG.md +94 -276
  7. data/README.md +11 -6
  8. data/Rakefile +4 -0
  9. data/appium_lib_core.gemspec +4 -7
  10. data/bin/console +0 -4
  11. data/ci-jobs/functional/run_appium.yml +3 -3
  12. data/ci-jobs/functional_test.yml +3 -3
  13. data/docs/mobile_command.md +2 -2
  14. data/lib/appium_lib_core/android/device/auth_finger_print.rb +2 -1
  15. data/lib/appium_lib_core/android/device.rb +4 -4
  16. data/lib/appium_lib_core/common/base/bridge.rb +297 -90
  17. data/lib/appium_lib_core/common/base/capabilities.rb +10 -3
  18. data/lib/appium_lib_core/common/base/device_ime.rb +49 -0
  19. data/lib/appium_lib_core/common/base/driver.rb +183 -171
  20. data/lib/appium_lib_core/common/base/driver_settings.rb +51 -0
  21. data/lib/appium_lib_core/common/base/has_location.rb +80 -0
  22. data/lib/appium_lib_core/common/base/has_network_connection.rb +56 -0
  23. data/lib/appium_lib_core/common/base/http_default.rb +1 -3
  24. data/lib/appium_lib_core/common/base/remote_status.rb +31 -0
  25. data/lib/appium_lib_core/common/base/rotable.rb +54 -0
  26. data/lib/appium_lib_core/common/base/screenshot.rb +6 -6
  27. data/lib/appium_lib_core/common/base/search_context.rb +19 -4
  28. data/lib/appium_lib_core/common/base.rb +1 -3
  29. data/lib/appium_lib_core/common/command.rb +257 -4
  30. data/lib/appium_lib_core/common/device/image_comparison.rb +12 -4
  31. data/lib/appium_lib_core/common/device/keyevent.rb +4 -4
  32. data/lib/appium_lib_core/common/{command/mjsonwp.rb → device/orientation.rb} +14 -11
  33. data/lib/appium_lib_core/common/device/touch_actions.rb +2 -0
  34. data/lib/appium_lib_core/common/device/value.rb +6 -6
  35. data/lib/appium_lib_core/common/error.rb +4 -1
  36. data/lib/appium_lib_core/common/log.rb +4 -1
  37. data/lib/appium_lib_core/common/touch_action/multi_touch.rb +19 -0
  38. data/lib/appium_lib_core/common/touch_action/touch_actions.rb +16 -2
  39. data/lib/appium_lib_core/common/wait.rb +38 -6
  40. data/lib/appium_lib_core/device.rb +1 -5
  41. data/lib/appium_lib_core/driver.rb +30 -46
  42. data/lib/appium_lib_core/{patch.rb → element.rb} +66 -9
  43. data/lib/appium_lib_core/ios/uiautomation/patch.rb +1 -1
  44. data/lib/appium_lib_core/{common/base/command.rb → mac2/bridge.rb} +9 -8
  45. data/lib/appium_lib_core/mac2/device/screen.rb +48 -0
  46. data/lib/appium_lib_core/mac2/device.rb +92 -0
  47. data/lib/appium_lib_core/mac2.rb +17 -0
  48. data/lib/appium_lib_core/version.rb +2 -2
  49. data/lib/appium_lib_core.rb +2 -5
  50. data/release_notes.md +132 -0
  51. data/script/commands.rb +3 -37
  52. metadata +27 -68
  53. data/lib/appium_lib_core/common/base/bridge/mjsonwp.rb +0 -81
  54. data/lib/appium_lib_core/common/base/bridge/w3c.rb +0 -252
  55. data/lib/appium_lib_core/common/command/common.rb +0 -110
  56. data/lib/appium_lib_core/common/command/w3c.rb +0 -56
data/CHANGELOG.md CHANGED
@@ -5,69 +5,139 @@ Read `release_notes.md` for commit level details.
5
5
  ## [Unreleased]
6
6
 
7
7
  ### Enhancements
8
- - Ruby 3.0 support
9
8
 
10
9
  ### Bug fixes
11
10
 
12
11
  ### Deprecations
13
12
 
14
- ## [4.1.0] - 2020-12-25
13
+ ## [5.0.2] - 2021-12-01
14
+
15
+ ### Bug fixes
16
+ - (internal) Fix firstMatch format in a new session creation
17
+
18
+ ## [5.0.1] - 2021-11-23
15
19
 
16
20
  ### Enhancements
17
- - Ruby 3.0 support
21
+ - Relaxed version restriction of selenium-webdriver
18
22
 
19
- ### Bug fixes
23
+ ## [5.0.0] - 2021-11-05
24
+
25
+ ### Enhancements
26
+
27
+ - Update base selenium webdriver version to `v4`
28
+ - Base Selenium Ruby binding is now v4
29
+ - Support only W3C WebDriver spec (and a few Appium specific commands)
30
+ - Support Ruby 2.6+
31
+ - Add `driver#wait`, `driver#wait_until`, `driver#wait_true`, `driver#wait_until_true` syntaxes
32
+ - Can give `driver` instance as its block variable
33
+ - `element.id` returns the element id instead of `element.ref`.
34
+ - `element.ref` now returns an array.
35
+ - Removed `desired_capabilities` as capabilities for `Appium::Core#for`. Please use `capabilities` key name instead.
36
+ - e.g. `Appium::Core.for capabilities: {...}` instead of `Appium::Core.for desired_capabilities: {...}`
37
+ - Removed methods that had _Deprecated_ mark
38
+ - Removed `driver#screenshot`. Please use `driver#save_screenshot` instead
39
+ - Removed `driver#send_keys` to send keys to an active element. Please use `driver.action.send_keys('happy testing').perform` instead
40
+ - Removed `forceMjsonwp` to send only MJSONWP capabilities since Selenium cleint v4 no longer supports MJSONWP
41
+ - No longer set default `timeouts` as `0`
42
+ - ruby_lib_core calls `/timeouts` endpoint only when `appium_lib: { wait: 5 }` is provided explicitly
43
+ - Raises `::Appium::Core::Error::ArgumentError` instead of `ArgumentError` for this library specific argument errors
44
+ - Removed Selendroid related methods
20
45
 
21
46
  ### Deprecations
47
+ - `Appium::Core::TouchAction` and `Appium::Core::MultiTouch` are deprecated
48
+ - Please use W3C actions instead http://appium.io/docs/en/commands/interactions/actions/
49
+ - More working examples:
50
+ - [test/functional/android/webdriver/w3c_actions_test.rb](test/functional/android/webdriver/w3c_actions_test.rb)
51
+ - [test/functional/ios/webdriver/w3c_actions_test.rb](test/functional/ios/webdriver/w3c_actions_test.rb)
52
+ - [test/functional/common_w3c_actions.rb](test/functional/common_w3c_actions.rb)
53
+ - https://www.selenium.dev/documentation/support_packages/mouse_and_keyboard_actions_in_detail/
54
+ - https://www.youtube.com/watch?v=oAJ7jwMNFVU
55
+ - https://appiumpro.com/editions/30-ios-specific-touch-action-methods
56
+ - https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api
57
+ - `launch_app`, `close_app` and `reset`. Please read [issues#15807](https://github.com/appium/appium/issues/15807) for more details.
58
+ - `activate_app` or a new session request can be alternatives of `launch_app`
59
+ - `terminate_app` or close the session request can be alternatives of `close_app`
60
+ - Close current session and creating a new session, or `terminate_app` and `launch_app` can be alternatives of `reset`
22
61
 
23
- ## [4.0.0] - 2020-12-19
62
+ ## [4.7.1] - 2021-09-26
24
63
 
25
- Supported Ruby version is 2.4+
64
+ ### Enhancements
65
+ - Allow to override an existing method by `Appium::Core::Base::Driver#add_command` since Appium drivers/plugins allow to override them
66
+
67
+ ## [4.7.0] - 2021-07-17
26
68
 
27
69
  ### Enhancements
70
+ - Add `satellites` option in `Appium::Core::Base::Driver#set_location`
28
71
 
29
- ### Bug fixes
72
+ ## [4.6.0] - 2021-06-03
73
+
74
+ ### Enhancements
75
+ - Add `Appium::Core::Base::Driver#add_command` to allow you to add your own command
76
+
77
+ ## [4.5.0] - 2021-03-14
78
+
79
+ ### Enhancements
80
+ - Add `speed` argument for `Appium::Core::Base::Driver#set_location` since Appium 1.21.0
81
+ - Add `multiple` and `match_neighbour_threshold` arguments for `Appium::Core::Base::Driver#find_image_occurrence`
82
+
83
+ ## [4.4.1(4.4.0)] - 2021-02-15(2021-02-13)
84
+
85
+ ### Enhancements
86
+ - Returns `{}` any errors in `Core#appium_server_version` to prevent errors in some cases
87
+
88
+ ## [4.3.1(4.3.0)] - 2021-02-07(2021-02-05)
89
+
90
+ ### Enhancements
91
+ - Add `start_recording_screen` for Mac2 driver
92
+
93
+ ## [4.2.1] - 2021-01-10
94
+
95
+ ### Enhancements
96
+ - Refactor routable
97
+
98
+ ## [4.2.0] - 2021-01-02
99
+
100
+ ### Enhancements
101
+ - Add `Element#screenshot`, `Element#screenshot_as` and `Element#save_screenshot` in Element module
102
+ - `Element#screenshot_as` and `Element#save_screenshot` are same as `Driver#element_screenshot_as` and `Driver#save_element_screenshot`
103
+ - `Element#screenshot` is same as `Element#screenshot_as(:base64)`
104
+
105
+ ## [4.1.1] - 2020-12-25
106
+
107
+ ### Enhancements
108
+ - Ruby 3.0 support
109
+ - Arguments in `@driver.execute_cdp`
110
+ - It should be like `@driver.execute_cdp 'Page.captureScreenshot', quality: 50, format: 'jpeg'` as keyword arguments
111
+ instead of `@driver.execute_cdp 'Page.captureScreenshot', { quality: 50, format: 'jpeg' }` in Ruby 3
112
+
113
+ ## [4.0.0] - 2020-12-19
114
+
115
+ Supported Ruby version is 2.4+
30
116
 
31
117
  ### Deprecations
32
118
  - No longer work with `forceMjsonwp` capability to force the session MJSONWP
33
119
 
34
120
  ## [3.11.1] - 2020-11-20
35
121
 
36
- ### Enhancements
37
-
38
122
  ### Bug fixes
39
123
  - Fix `install_app` to be able to set no args for options
40
124
 
41
- ### Deprecations
42
-
43
125
  ## [3.11.0] - 2020-08-01
44
126
 
45
127
  ### Enhancements
46
128
  - Security update [GHSA-2v5c-755p-p4gv](https://github.com/advisories/GHSA-2v5c-755p-p4gv)
47
129
  - Affects only _::Appium::Core::WebSocket_
48
130
 
49
- ### Bug fixes
50
-
51
- ### Deprecations
52
-
53
131
  ## [3.10.1] - 2020-06-29
54
132
 
55
- ### Enhancements
56
-
57
133
  ### Bug fixes
58
134
  - Fix duplication warning of `execute_cdp`
59
135
 
60
- ### Deprecations
61
-
62
136
  ## [3.10.0] - 2020-06-09
63
137
 
64
138
  ### Enhancements
65
139
  - Remove deprecated `Selenium::WebDriver::Error::TimeOutError`
66
140
 
67
- ### Bug fixes
68
-
69
- ### Deprecations
70
-
71
141
  ## [3.9.0] - 2020-05-31
72
142
 
73
143
  ### Enhancements
@@ -86,10 +156,6 @@ Supported Ruby version is 2.4+
86
156
  @driver = Appium::Core.for(opts).start_driver
87
157
  ```
88
158
 
89
- ### Bug fixes
90
-
91
- ### Deprecations
92
-
93
159
  ## [3.8.0] - 2020-05-17
94
160
 
95
161
  ### Enhancements
@@ -99,8 +165,6 @@ Supported Ruby version is 2.4+
99
165
  ### Bug fixes
100
166
  - Fix `x-idempotency-key` header to add it only in new session request (https://github.com/appium/ruby_lib_core/issues/262)
101
167
 
102
- ### Deprecations
103
-
104
168
  ## [3.7.0] - 2020-04-18
105
169
 
106
170
  ### Enhancements
@@ -109,76 +173,44 @@ Supported Ruby version is 2.4+
109
173
  - Add chrome devtools endpoint which is available chrome module in Selenium Ruby binding
110
174
  - https://github.com/appium/appium-base-driver/pull/405
111
175
 
112
- ### Bug fixes
113
-
114
- ### Deprecations
115
-
116
176
  ## [3.6.1, 3.6.0] - 2020-03-15
117
177
 
118
178
  ### Enhancements
119
179
  - Add screen record feature for Windows driver (https://github.com/appium/appium-windows-driver/pull/66)
120
180
  - `#start_recording_screen`, `#stop_recording_screen`
121
181
 
122
- ### Bug fixes
123
-
124
- ### Deprecations
125
-
126
182
  ## [3.5.0] - 2020-01-11
127
183
 
128
184
  ### Enhancements
129
185
  - Add `:viewmatcher` selector like `@driver.find_elements :view_matcher, { name: 'withText', args: %w(Accessibility), class: 'androidx.test.espresso.matcher.ViewMatchers' }`
130
186
 
131
- ### Bug fixes
132
-
133
- ### Deprecations
134
-
135
187
  ## [3.4.2] - 2019-12-29
136
188
 
137
189
  ### Enhancements
138
190
  - Add `attr_reader :bridge` for flutter driver not to use `send`
139
191
  - https://github.com/truongsinh/appium-flutter-driver/pull/35
140
192
 
141
- ### Bug fixes
142
-
143
- ### Deprecations
144
-
145
193
  ## [3.4.0, 3.4.1] - 2019-12-26, 2019-12-27
146
194
 
147
195
  ### Enhancements
148
196
  - Fix Ruby 2.7 warnings
149
197
 
150
- ### Bug fixes
151
-
152
- ### Deprecations
153
-
154
198
  ## [3.3.0] - 2019-11-08
155
199
 
156
200
  ### Enhancements
157
201
  - Add `Logs#event` to post a custom log by `@driver.logs.event vendor: 'appium', event: 'funEvent'`
158
202
  - Add `Logs#events` to get events by `@driver.logs.events`. It is equal to `@driver.session_capabilities['events']`
159
203
 
160
- ### Bug fixes
161
-
162
- ### Deprecations
163
-
164
204
  ## [3.2.3] - 2019-09-30
165
205
 
166
206
  ### Enhancements
167
207
  - Add `system_bars` as an alias to `get_system_bars`
168
208
 
169
- ### Bug fixes
170
-
171
- ### Deprecations
172
-
173
209
  ## [3.2.2] - 2019-08-04
174
210
 
175
- ### Enhancements
176
-
177
211
  ### Bug fixes
178
212
  - Fixed parameters of `remove_app`
179
213
 
180
- ### Deprecations
181
-
182
214
  ## [3.2.1] - 2019-07-19
183
215
 
184
216
  ### Enhancements
@@ -200,39 +232,23 @@ Supported Ruby version is 2.4+
200
232
  - Add `execute_driver` to run a batch script
201
233
  - It requires Appium version which has `execute_driver` support
202
234
 
203
- ### Bug fixes
204
-
205
- ### Deprecations
206
-
207
235
  ## [3.1.3] - 2019-06-18
208
236
 
209
237
  ### Enhancements
210
238
  - Add arguments for `start_activity`
211
239
  - `intentAction`, `intentCategory`, `intentFlags`, `dontStopAppOnReset`
212
240
 
213
- ### Bug fixes
214
-
215
- ### Deprecations
216
-
217
241
  ## [3.1.2] - 2019-05-10
218
242
 
219
243
  ### Enhancements
220
244
  - Add `sessions` command to get all available sessions on the Appium server
221
245
  - [internal] Tweak error messages in emulator module
222
246
 
223
- ### Bug fixes
224
-
225
- ### Deprecations
226
-
227
247
  ## [3.1.1] - 2019-04-26
228
248
 
229
249
  ### Enhancements
230
250
  - [internal] Catch `Selenium::WebDriver::Error::TimeoutError` which will be used instead of `Selenium::WebDriver::Error::TimeOutError`
231
251
 
232
- ### Bug fixes
233
-
234
- ### Deprecations
235
-
236
252
  ## [3.1.0] - 2019-03-31
237
253
 
238
254
  ### Enhancements
@@ -240,28 +256,16 @@ Supported Ruby version is 2.4+
240
256
  - `platformName: :tvos, automationName: :xcuitest` can work for iOS tvOS
241
257
  - It requires Appium 1.13
242
258
 
243
- ### Bug fixes
244
-
245
- ### Deprecations
246
-
247
259
  ## [3.0.4] - 2019-03-24
248
260
 
249
261
  ### Enhancements
250
262
  - Add `pixelFormat` argument in screen record for iOS
251
263
 
252
- ### Bug fixes
253
-
254
- ### Deprecations
255
-
256
264
  ## [3.0.3] - 2019-03-11
257
265
 
258
266
  ### Enhancements
259
267
  - [internal] Bump Rubocop target Ruby version to Ruby 2.3
260
268
 
261
- ### Bug fixes
262
-
263
- ### Deprecations
264
-
265
269
  ## [3.0.2] - 2019-03-07
266
270
 
267
271
  ### Enhancements
@@ -271,17 +275,11 @@ Supported Ruby version is 2.4+
271
275
  - [internal] Fixed typo in `Emulator#gsm_signal` [#196](https://github.com/appium/ruby_lib_core/pull/196)
272
276
  - Thanks [khanhdodang](https://github.com/khanhdodang)
273
277
 
274
- ### Deprecations
275
-
276
278
  ## [3.0.1] - 2019-02-25
277
279
 
278
280
  ### Enhancements
279
281
  - Add `:data_matcher` find_element/s attribute [appium-espresso-driver#386](https://github.com/appium/appium-espresso-driver/pull/386)
280
282
 
281
- ### Bug fixes
282
-
283
- ### Deprecations
284
-
285
283
  ## [3.0.0] - 2019-02-06
286
284
 
287
285
  This release has a breaking change about an implicit wait.
@@ -307,8 +305,6 @@ The behaviour follows the default spec in WebDriver.
307
305
  ### Bug fixes
308
306
  - Fix potential override of `AppManagement#background_app` [#188](https://github.com/appium/ruby_lib_core/pull/188)
309
307
 
310
- ### Deprecations
311
-
312
308
  ## [2.3.4] - 2019-01-31
313
309
  ### Enhancements
314
310
  - Add 3D touch option for `TouchAction#press` [appium/WebDriverAgent#79](https://github.com/appium/WebDriverAgent/pull/79)
@@ -317,16 +313,10 @@ The behaviour follows the default spec in WebDriver.
317
313
  ### Bug fixes
318
314
  - Stop sending blank value in `start_activity`
319
315
 
320
- ### Deprecations
321
-
322
316
  ## [2.3.3] - 2019-01-22
323
- ### Enhancements
324
-
325
317
  ### Bug fixes
326
318
  - Add `*args, &block` in method missing in `Selenium::WebDriver::Element` [#184](https://github.com/appium/ruby_lib_core/pull/184)
327
319
 
328
- ### Deprecations
329
-
330
320
  ## [2.3.2] - 2019-01-20
331
321
  ### Enhancements
332
322
  - Add alias for some method calls
@@ -337,18 +327,12 @@ The behaviour follows the default spec in WebDriver.
337
327
  ### Bug fixes
338
328
  - `ServerError` inherits `CoreError` in order to handle it as an exception
339
329
 
340
- ### Deprecations
341
-
342
330
  ## [2.3.1] - 2019-01-13
343
331
  ### Enhancements
344
332
  - `set_network_connection` accepts keys as same as `network_connection_type` in addition to numbers
345
333
  - `{ :airplane_mode: 1, wifi: 2, data: 4, all: 6, none: 0 }`
346
334
  - Read [documentation](https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device#set_network_connection-instance_method) more
347
335
 
348
- ### Bug fixes
349
-
350
- ### Deprecations
351
-
352
336
  ## [2.3.0] - 2019-01-07
353
337
  ### Enhancements
354
338
  - Use `Base64.strict_encode64` when this client sends `Base64` encoded data to server
@@ -356,33 +340,19 @@ The behaviour follows the default spec in WebDriver.
356
340
  - Continues to decode base 64 data following `decode64` to accept RFC 2045 format
357
341
  - Add `query_app_state` as an alias of `app_state` to get application status
358
342
 
359
- ### Bug fixes
360
-
361
- ### Deprecations
362
-
363
343
  ## [2.2.2] - 2018-12-22
364
344
  ### Enhancements
365
345
  - Append `appium` in header: `appium/ruby_lib_core/2.2.1 (selenium/3.141.0 (ruby macosx))`
366
346
 
367
- ### Bug fixes
368
-
369
- ### Deprecations
370
-
371
347
  ## [2.2.1] - 2018-12-08
372
- ### Enhancements
373
-
374
348
  ### Bug fixes
375
349
  - Reduce warnings for method definitions
376
350
 
377
- ### Deprecations
378
-
379
351
  ## [2.2.0] - 2018-12-01
380
352
  ### Enhancements
381
353
  - Add `::Appium::Core::Base.platform` to call `::Selenium::WebDriver::Platform`
382
354
  - Can identify platform using `::Appium::Core::Base.platform.windows?` for example
383
355
 
384
- ### Bug fixes
385
-
386
356
  ### Deprecations
387
357
  - `:offset_x` and `:offset_y` in `TouchAction#swipe` is deprecated in favor of `:end_x` and `:end_y`
388
358
 
@@ -401,10 +371,6 @@ The behaviour follows the default spec in WebDriver.
401
371
  - Update `start_recording_screen` for iOS, Appium 1.10.0
402
372
  - Add `:video_scale` and update `:video_type`
403
373
 
404
- ### Bug fixes
405
-
406
- ### Deprecations
407
-
408
374
  ## [2.1.0] - 2018-11-14
409
375
  ### Enhancements
410
376
  - Support below style _1_, has _url_ parameter, in addition to style _2_
@@ -417,27 +383,15 @@ The behaviour follows the default spec in WebDriver.
417
383
  ```
418
384
  - Add `:video_fps` param for screen recording in iOS(XCUITest) to sync with Appium 1.10.0
419
385
 
420
- ### Bug fixes
421
-
422
- ### Deprecations
423
-
424
386
  ## [2.0.6] - 2018-11-08
425
387
  ### Enhancements
426
388
  - Allow selenium update following Pi versioning like 3.141.0
427
389
  - [internal] Update dev libraries
428
390
 
429
- ### Bug fixes
430
-
431
- ### Deprecations
432
-
433
391
  ## [2.0.5] - 2018-10-30
434
392
  ### Enhancements
435
393
  - [internal] No longer send `strategy: :tapOutside` as default value in Android
436
394
 
437
- ### Bug fixes
438
-
439
- ### Deprecations
440
-
441
395
  ## [2.0.4] - 2018-10-19
442
396
  ### Enhancements
443
397
  - Add custom locator in the future work: [element-finding-plugins](https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/element-finding-plugins.md)
@@ -447,27 +401,15 @@ The behaviour follows the default spec in WebDriver.
447
401
 
448
402
  ```
449
403
 
450
- ### Bug fixes
451
-
452
- ### Deprecations
453
-
454
404
  ## [2.0.3] - 2018-10-11
455
405
  ### Enhancements
456
406
  - Set `'selenium-webdriver', '~> 3.14.1'`
457
407
 
458
- ### Bug fixes
459
-
460
- ### Deprecations
461
-
462
408
  ## [2.0.2] - 2018-10-02
463
409
  ### Enhancements
464
410
  - Add finger print feature for Android emulators [#13](https://github.com/appium/ruby_lib_core/issues/13)
465
411
  - Add `keyboard_shown?` and `context=` as aliases of `is_keyboard_shown` and `set_contex`
466
412
 
467
- ### Bug fixes
468
-
469
- ### Deprecations
470
-
471
413
  ## [2.0.1] - 2018-09-01
472
414
  ### Enhancements
473
415
  - Add `Appium::Core::Base::Driver#perform_actions` to send multiple actions. See `test_multiple_actions` as an example.
@@ -475,8 +417,6 @@ The behaviour follows the default spec in WebDriver.
475
417
  ### Bug fixes
476
418
  - Fix desired capability for W3C protocol under selenium grid environment [#137](https://github.com/appium/ruby_lib_core/issues/137)
477
419
 
478
- ### Deprecations
479
-
480
420
  ## [2.0.0] - 2018-08-25
481
421
 
482
422
  This release has a breaking change for creating core. Thus, I've bumped the major version.
@@ -484,20 +424,14 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
484
424
  ### Enhancements
485
425
  - use `autoload` to load Android/iOS modules
486
426
 
487
- ### Bug fixes
488
-
489
427
  ### Deprecations
490
428
  - `@core = Appium::Core.for(self, opts)` is deprecated in favor of `@core = Appium::Core.for(opts)`
491
429
  - Call `extend Appium::Core::Device` if you'd like to extend methods defined in `Appium::Core`
492
430
  - Read [#816](https://github.com/appium/ruby_lib/pull/816) as an example
493
431
 
494
432
  ## [1.9.2] - 2018-08-23
495
- ### Enhancements
496
-
497
433
  ### Bug fixes
498
- - fix unexpedted method missing against `:to_hash` in Element
499
-
500
- ### Deprecations
434
+ - fix unexpected method missing against `:to_hash` in Element
501
435
 
502
436
  ## [1.9.1] - 2018-08-20
503
437
  ### Enhancements
@@ -507,8 +441,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
507
441
  ### Bug fixes
508
442
  - [internal] Fix raising error in `set_implicit_wait_by_default` [#130](https://github.com/appium/ruby_lib_core/issues/130)
509
443
 
510
- ### Deprecations
511
-
512
444
  ## [1.9.0] - 2018-08-05
513
445
  ### Enhancements
514
446
  - Update documentation about `start_recording_screen`
@@ -516,8 +448,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
516
448
  - Support `find_element/s :image, partial_image` [#119](https://github.com/appium/ruby_lib_core/pull/119)
517
449
  - Requires `selenium-webdriver 3.14+` because of W3C actions [#115](https://github.com/appium/ruby_lib_core/pull/115)
518
450
 
519
- ### Bug fixes
520
-
521
451
  ### Deprecations
522
452
  - [Internal] Deprecate experimental `ImageElement` in favor of `Element`
523
453
 
@@ -527,10 +457,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
527
457
  - Use method missing to get attributes like `e.resource_id` instead of `e.attribute 'resource-id'` [#116](https://github.com/appium/ruby_lib_core/pull/116)
528
458
  - Set `'~> 3.5', '< 3.14'`
529
459
 
530
- ### Bug fixes
531
-
532
- ### Deprecations
533
-
534
460
  ## [1.8.3] - 2018-07-20
535
461
  ### Enhancements
536
462
  - Relax the logic of `:app` capability
@@ -538,11 +464,7 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
538
464
  ### Bug fixes
539
465
  - Fix `within_context`
540
466
 
541
- ### Deprecations
542
-
543
467
  ## [1.8.2] - 2018-07-17
544
- ### Enhancements
545
-
546
468
  ### Bug fixes
547
469
  - Available packages over HTTP [#106](https://github.com/appium/ruby_lib_core/issues/106)
548
470
 
@@ -550,23 +472,15 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
550
472
  - Remove warning of camelCase capability for W3C format
551
473
 
552
474
  ## [1.8.1] - 2018-07-13
553
- ### Enhancements
554
-
555
475
  ### Bug fixes
556
476
  - Fix including search context in `::Selenium::WebDriver::Elemenet`
557
477
  - `include ::Appium::Core::Base::SearchContext` instead of `::Selenium::WebDriver::SearchContext`
558
478
 
559
- ### Deprecations
560
-
561
479
  ## [1.8.0] - 2018-07-07
562
480
  ### Enhancements
563
481
  - Add Tizen case
564
482
  - [Internal] reduce method definition by `add_endpoint_method`
565
483
 
566
- ### Bug fixes
567
-
568
- ### Deprecations
569
-
570
484
  ## [1.7.2] - 2018-06-23
571
485
  ### Enhancements
572
486
  - Add `find_element_by_image` and `find_elements_by_image` to handle `ImageElement`
@@ -575,10 +489,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
575
489
  - Experimental feature
576
490
  - [Internal] Define screenshot methods in appium_lib_core instead of Selenium's one
577
491
 
578
- ### Bug fixes
579
-
580
- ### Deprecations
581
-
582
492
  ## [1.7.1] - 2018-06-15
583
493
  ### Enhancements
584
494
  - Add a `format` argument for `device_time` [#94](https://github.com/appium/ruby_lib_core/pull/94)
@@ -586,8 +496,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
586
496
  ### Bug fixes
587
497
  - Return empty array `[]` for find_elements
588
498
 
589
- ### Deprecations
590
-
591
499
  ## [1.7.0] - 2018-05-28
592
500
  ### Enhancements
593
501
  - Has one **Breaking Change**
@@ -600,10 +508,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
600
508
  - [Internal] Change directory and file structure
601
509
  - [Internal] Set default content-type
602
510
 
603
- ### Bug fixes
604
-
605
- ### Deprecations
606
-
607
511
  ## [1.6.0] - 2018-05-08
608
512
  ### Enhancements
609
513
  - **Breaking Change**
@@ -615,36 +519,22 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
615
519
  - add `battery_info` to get battery information
616
520
  - add `is_keyboard_shown` for iOS ( see also https://github.com/appium/appium-xcuitest-driver/pull/664/files )
617
521
 
618
- ### Bug fixes
619
-
620
- ### Deprecations
621
-
622
522
  ## [1.5.1] - 2018-04-25
623
- ### Enhancements
624
-
625
523
  ### Bug fixes
626
524
  - Revert timeout logic in `1.4.1`
627
525
 
628
- ### Deprecations
629
-
630
526
  ## [1.5.0] - 2018-04-25
631
527
  ### Enhancements
632
528
  - [internal] Remove hot fix for XCUITest action
633
529
 
634
- ### Bug fixes
635
-
636
530
  ### Deprecations
637
531
  - Changed the name of arguments
638
532
  - `swipe(start_x:, start_y:, end_x:, end_y:)` instead of `swipe(start_x:, start_y:, offset_x:, offset_y:)`
639
533
 
640
534
  ## [1.4.2] - 2018-04-22
641
- ### Enhancements
642
-
643
535
  ### Bug fixes
644
536
  - Revert `delegate_from_appium_driver` for `ruby_lib` compatibility
645
537
 
646
- ### Deprecations
647
-
648
538
  ## [1.4.1] - 2018-04-22
649
539
  ### Enhancements
650
540
  - add base image comparison
@@ -653,54 +543,30 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
653
543
  - Raise `::Appium::Core::Wait::TimeoutError` instead of `::Selenium::WebDriver::Error::TimeOutError`
654
544
  - [internal] Separate mjsonwp commands module and w3c commands module from one command module
655
545
 
656
- ### Bug fixes
657
-
658
- ### Deprecations
659
-
660
546
  ## [1.4.0] - 2018-04-15
661
547
  ### Enhancements
662
548
  - Add a support for WebSocket client based on Faye::WebSocket::Client [#74](https://github.com/appium/ruby_lib_core/pull/74)
663
549
 
664
- ### Bug fixes
665
-
666
- ### Deprecations
667
-
668
550
  ## [1.3.8] - 2018-04-12
669
551
  ### Enhancements
670
552
  - Make no-argument commands friendly for IDE
671
553
 
672
- ### Bug fixes
673
-
674
- ### Deprecations
675
-
676
554
  ## [1.3.7] - 2018-04-02
677
555
  ### Enhancements
678
556
  - Only for `ruby_lib_core` internal process
679
557
  - Remove `touch` action by default and following `selenium-webdriver` in W3C action.
680
558
  - Since XCUITest and UA2 drivers force handling the pointer as `touch`.
681
559
 
682
- ### Bug fixes
683
-
684
- ### Deprecations
685
-
686
560
  ## [1.3.6] - 2018-04-01
687
561
  ### Enhancements
688
562
  - Be able to change `kind` in W3C touch action.
689
563
  - Read: https://github.com/appium/ruby_lib_core/blob/master/lib/appium_lib_core/common/base/bridge/w3c.rb#L29
690
564
 
691
- ### Bug fixes
692
-
693
- ### Deprecations
694
-
695
565
  ## [1.3.5] - 2018-03-30
696
566
  ### Enhancements
697
567
  - Add a `bug_report` option in `start_recording_screen`, Android
698
568
  - Add clipboard apis [#69](https://github.com/appium/ruby_lib_core/pull/69)
699
569
 
700
- ### Bug fixes
701
-
702
- ### Deprecations
703
-
704
570
  ## [1.3.4] - 2018-03-21
705
571
  ### Enhancements
706
572
  - Add `save_viewport_screenshot` which get screenshot except for status bar.
@@ -710,16 +576,10 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
710
576
  ### Bug fixes
711
577
  - Fix _create_session attempt to throw non-existent error type Appium::Core::Error::WebDriverError_ [#66](https://github.com/appium/ruby_lib_core/issues/66)
712
578
 
713
- ### Deprecations
714
-
715
579
  ## [1.3.3] - 2018-03-03
716
580
  ### Enhancements
717
581
  - add `session_capabilities`: https://appium.io/docs/en/commands/session/get/
718
582
 
719
- ### Bug fixes
720
-
721
- ### Deprecations
722
-
723
583
  ## [1.3.2] - 2018-02-18
724
584
  ### Enhancements
725
585
  - Add Android emulator commands
@@ -727,10 +587,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
727
587
  - Add toggles
728
588
  - `toggle_location_services`, `toggle_wifi`, `toggle_data`
729
589
 
730
- ### Bug fixes
731
-
732
- ### Deprecations
733
-
734
590
  ## [1.3.1] - 2018-02-14
735
591
  ### Enhancements
736
592
  - add some app management commands [#58](https://github.com/appium/ruby_lib_core/pull/58)
@@ -752,10 +608,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
752
608
  .perform
753
609
  ```
754
610
 
755
- ### Bug fixes
756
-
757
- ### Deprecations
758
-
759
611
  ## [1.3.0] - 2018-01-28
760
612
  ### Enhancements
761
613
  - `start_recording_screen`/`stop_recording_screen` support iOS from `Appium 1.8.0` [#48](https://github.com/appium/ruby_lib_core/issues/48)
@@ -763,10 +615,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
763
615
  - `start_recording_screen`
764
616
  - The argument, `file_path`, was removed.
765
617
 
766
- ### Bug fixes
767
-
768
- ### Deprecations
769
-
770
618
  ## [1.2.7] - 2018-01-25
771
619
  ### Enhancements
772
620
  - Print warning messages to use camelCase if capability key names are snake_case
@@ -775,8 +623,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
775
623
  ### Bug fixes
776
624
  - Make `@driver.automation_name` downcase [#50](https://github.com/appium/ruby_lib_core/issues/50)
777
625
 
778
- ### Deprecations
779
-
780
626
  ## [1.2.6] - 2018-01-21
781
627
  ### Enhancements
782
628
  - Add `window_rect`
@@ -784,17 +630,11 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
784
630
  ### Bug fixes
785
631
  - Make `@driver.automation_name` symbol when someone define the `automationName` with the server argument. [#50](https://github.com/appium/ruby_lib_core/issues/50)
786
632
 
787
- ### Deprecations
788
-
789
633
  ## [1.2.5] - 2018-01-13
790
634
  ### Enhancements
791
635
  - Enhance W3C support
792
636
  - Timeout related methods
793
637
 
794
- ### Bug fixes
795
-
796
- ### Deprecations
797
-
798
638
  ## [1.2.4] - 2018-01-03
799
639
  ### Enhancements
800
640
  - Refactor `create_session` in `Appium::Core::Base::Bridge`
@@ -806,34 +646,18 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
806
646
  - Read `lib/appium_lib_core/common/base/w3c_bridge.rb` for more details
807
647
  - Can get logs like `driver.logs.available_types` and `driver.logs.get`
808
648
 
809
- ### Bug fixes
810
-
811
- ### Deprecations
812
-
813
649
  ## [1.2.3] - 2017-12-27
814
- ### Enhancements
815
-
816
650
  ### Bug fixes
817
651
  - Fix some w3c methods to work with Appium part 2 [#38](https://github.com/appium/ruby_lib_core/pull/38)
818
652
 
819
- ### Deprecations
820
-
821
653
  ## [1.2.2] - 2017-12-25
822
- ### Enhancements
823
-
824
654
  ### Bug fixes
825
655
  - Fix some w3c methods to work with Appium [#37](https://github.com/appium/ruby_lib_core/pull/37)
826
656
 
827
- ### Deprecations
828
-
829
657
  ## [1.2.1] - 2017-12-23
830
658
  ### Enhancements
831
659
  - override default duration to make some action fast [#36](https://github.com/appium/ruby_lib_core/pull/36)
832
660
 
833
- ### Bug fixes
834
-
835
- ### Deprecations
836
-
837
661
  ## [1.2.0] - 2017-12-23
838
662
  ### Enhancements
839
663
  - Append `appium:` prefix for capabilities automatically due to W3C format.
@@ -842,10 +666,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
842
666
  - IME related
843
667
  - Touch actions based on W3C spec
844
668
 
845
- ### Bug fixes
846
-
847
- ### Deprecations
848
-
849
669
  ## [1.1.0] - 2017-12-16
850
670
  ### Enhancements
851
671
  - Add guidelines in `.github`
@@ -854,8 +674,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
854
674
  ### Bug fixes
855
675
  - fix creating sessions [#31](https://github.com/appium/ruby_lib_core/pull/31) for W3C creating sessions
856
676
 
857
- ### Deprecations
858
-
859
677
  ## [1.0.0] - 2017-11-12
860
678
 
861
679
  Initial release