appium_lib_core 4.1.0 → 5.0.1

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