eyes_selenium 5.0.0 → 6.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8441f0a1de233ae7ad4354b2eb6d1a9b6657145d8f6e556c50482edcd96371d3
4
- data.tar.gz: 2cb0048ca6f1dadf69250bc2e730cdfacadb73123dd32fc42e31ae4aadd22de4
3
+ metadata.gz: 8301350ade5d851a42d2961207e64eb28fad868542a8e945bdb3fca87d41607a
4
+ data.tar.gz: 505352470ad401bbf4cc696c203b0707a1e51ac95221eddae15c3dd51563462e
5
5
  SHA512:
6
- metadata.gz: 44c58f47ba81960692c784299984a956c3e9af4aacae7c25690dcaf89efca2a14a734def1dcfba530b63e2ab51b90bdedb231481da439fed15983fa2520c59c3
7
- data.tar.gz: b1ddee32a88320f387ecfa3493b4cc185599fcdc27f19ebf4d1b9781de8201175ea680a0b514ad26ea56edd0d2eea66667cb45a3d805a90c97649e9a083acee5
6
+ metadata.gz: 8ca75a2b4a088d99cba81dd989229868191e5a525550fb00427f936897d6e1f26f446531ff7b6faac435e4d367015f5770f72a7ad11292d9dc338dcc487d38aa
7
+ data.tar.gz: 932f0cc3b6396bd556406e55fa823e1252eff3a4db0f0c082cef5a882a8544f6d8f97b4c8e02b8876e7daf4e0ab6700aa42747c79571c707792dc02e26e51f81
data/CHANGELOG.md ADDED
@@ -0,0 +1,508 @@
1
+ # Changelog
2
+
3
+ ## [6.0.1] (2023-12-13)
4
+ ### Bug Fixes
5
+ * fix code loading error (NameError in environment_sdk)
6
+
7
+ ## [6.0.0] (2023-12-13)
8
+
9
+ ### Dependencies
10
+
11
+ ### Breaking Changes:
12
+ * #### Features
13
+ * Update version of Universal SDK Core to v4
14
+
15
+ * #### Added
16
+ * new api eyes.get_results to get results
17
+
18
+ * #### Removed
19
+ * eyes.checks now returns nil (added new eyes.get_results to get a results)
20
+
21
+ ### Features
22
+ * added notification about outdated sdk version
23
+ * log driver environment info to splank
24
+ * show aborted tests in Eyes dashboard
25
+ * allowed running multiple classic test with different devices for applitoolsified native apps
26
+ * add more logs for tunnel worker
27
+ * added warning when driver used with capabilities that may conflict with applitools lib workflow
28
+ ### Bug Fixes
29
+ * fix custom sequence_name in BatchInfo
30
+ * suppport coded regions with layoutBreakpoints reload
31
+ * update dom-snapshot to support xml pages and parens inside css URLs
32
+ * upgrade dom-capture to get font-family in DOM
33
+ * change expiration time of the tunnel
34
+ * async cache should wait for upload
35
+ * async cache race condition
36
+ * allow css scrolling when taking screenshot of the webview
37
+ * generate safe selectors as close as possible to taking dom snapshot
38
+ * added retries on ufg requests that respond with 503 status code
39
+ * fix incorrect stitchMode mapping in checkSettings
40
+ * handled duplicated style properties in inline style tags
41
+ * fixed issue that caused dom snapshots to be taken for different viewport sizes when layout breakpoints were explicitly turned off
42
+ * remove some connection timeout in case of a long running tasks
43
+ * return result when error in the ufg
44
+ * send devtool commands in chromium
45
+ * preserve css declarations order in dom-snapshot
46
+ * do not block concurrency when server response is 503
47
+ ### Code Refactoring
48
+ * reorganized code between gems
49
+
50
+ ## [5.0.0] - 2023-07-11
51
+ ### Breaking Changes:
52
+ - get_all_test_results return TestResultSummary with additional info
53
+ - TestResults Array now in get_all_test_results.results or can be accessed old-style with get_all_test_results[0]
54
+ - eyes.close always return first result, even when have failed check
55
+ - eyes.abort on closed/aborted eye now return nil
56
+ ### Added
57
+ - Add support for reloading the page when using layout_breakpoints
58
+ - add errors to TestResults
59
+ ### Updated
60
+ - Update version of Universal SDK Core to 3.6.0
61
+ ### Features
62
+ - ability to skip deserialize dom snapshot
63
+ - prevent animated gif images from playing in ufg
64
+ - support custom property per renderer
65
+ ### Bug fixes
66
+ - fixed issue that caused creation of unnecessary tunnels
67
+ - start tunnels with proper regional server
68
+ ## [4.6.3] - 2023-07-04
69
+ ### Updated
70
+ - Update version of Universal SDK Core to 3.4.0
71
+ ### Added
72
+ - Add api for mobile (set_nmg_capabilities, set_mobile_capabilities, use_system_screenshot)
73
+ ### Features
74
+ - Drop support of legacy vhs extraction
75
+ - Add an API to send logEvents
76
+ - Add support for reloading the page when using layoutBreakpoints
77
+ - Fixed issue with failed find element responses in EC
78
+ - Fixed issue when on certain browser versions test didn't target a previously created baseline
79
+ - added a new mode for taking native app screenshots
80
+ ### Bug fixes
81
+ - Increase timeout for rendering results polling
82
+ - Fixed issue when logs are not show up
83
+ - Add isProcess property when calling makeCoreServer
84
+ - Fixed issue with Safari mobile screenshots
85
+ - Fixed issue with default settings in extractText
86
+ - Fixed issue with viewport information extraction when switched to webview
87
+ - apply default scrolling mode
88
+ ## [4.6.2] - 2023-05-10
89
+ ### Added
90
+ - Add remove_duplicate_tests option & set_remove_duplicate_tests method to eyes runner
91
+ ### Updated
92
+ - Update version of Universal SDK Core to 2.5.8
93
+ ### Features
94
+ - Added functional session feature
95
+ - Add a timeout and max concurrency for fetching resources
96
+ ### Bug fixes
97
+ - Fixed issue in dom snapshot that prevented urls that start with a whitespace to be mapped
98
+ - Improved appium prefixed capabilities parsing
99
+ - Fix issue when locate return wrong type of the region, with left and top properties instead of x and y
100
+ - Fixed issue with when webview were wasn't recognized as web compatible world
101
+ - Fixed the issue with session metadata extraction
102
+ - Fixed functional test feature issues in ec client
103
+ - Fixed typo in ec custom property
104
+ - Fixed issue with hanging requests
105
+ - Fixed platform name formatting
106
+ - Prevented driver metadata extraction during check in ufg eyes
107
+ - Fixed dynamic import issue in universal binaries
108
+ - Fixed detection of emulated mobile drivers
109
+ - Remove 'Execution Cloud' custom property
110
+ ## [4.6.1] - 2023-04-12
111
+ ### Changed
112
+ - Packaging server core inside eyes_universal
113
+ ### Updated
114
+ - Update version of Universal SDK Core to 2.4.8
115
+ ### Features
116
+ - Added removeDuplicateTests property to the GetManagerResultsSettings
117
+ - Changed makeManager api to accept settings
118
+ - Improved extraction of nml element
119
+ - Update broker url using last response instead of using driver
120
+ ### Bug fixes
121
+ - Fixed screenshot framing
122
+ - Fixed issue with css fetching for dom capture
123
+ - Fixed issue with emulation driver detection
124
+ - Fixed relative url resolution in css files
125
+ - Added timeout to css fetching during preparing dom capture
126
+ - Improve performance in DOM snapshot
127
+ - Fixed retry interval during poll requests to eyes back-end
128
+ - Fixed issue with concurrency of the renders in ufg mode
129
+ - Fixed issue with concurrency of the renders in ufg mode
130
+ - Fixed ufg concurrency regression
131
+ - Replaced broker url cache with nml element cache
132
+ - Fixed selector transformation for scroll root elements for ufg
133
+ - Upgrade tunnel version
134
+ ## [4.6.0] - 2023-03-06
135
+ ### Changed
136
+ - change server package to @applitools/core
137
+ ### Updated
138
+ - Improve logging in core server
139
+ - Passing density metric for PPI support in the sdk
140
+ ### Added
141
+ - Integrate universal protocol to run core via transport
142
+ - Added Resize stitch mode value
143
+ - Add NML support for Android
144
+ - Add makeECClient api
145
+ ### Bug fixes
146
+ - upgrade dom-snapshot with a fix to CSP
147
+ - Fixed issue when .visualgrid was not added to agent id
148
+ - Fixed issue with aborting ufg tests
149
+ ## [4.5.5] - 2023-01-06
150
+ ### Updated
151
+ - Update version of Universal SDK to 3.2.2
152
+ ## [4.5.4] - 2023-01-04
153
+ ### Updated
154
+ - Update version of Universal SDK to 3.2.1
155
+ - Update arm64-darwin server recognition
156
+ ### Features
157
+ - Filter styles and resources with non-screen media queries
158
+ ### Bug fixes
159
+ - Fixed issue with parsing capabilities for iOS with native app
160
+ ## [4.5.3] - 2022-12-30
161
+ ### Fixed
162
+ - skip yanked gem versions
163
+ ## [4.5.2] - 2022-12-30
164
+ ### Updated
165
+ - Update version of Universal SDK to 3.2.0
166
+ ### Added
167
+ - Add dont_close_batches flag to eyes [Trello 3093](https://trello.com/c/3E0ilb0A)
168
+ ### Features
169
+ - Add server support for arm
170
+ - Additional internal event logs
171
+ ### Bug fixes
172
+ - Fixed OCR functionality with latest eyes server
173
+ - Fixed issue when helper lib inputs were not cleaned up before calling new command
174
+ - Fixed issue with element scroll position not being restored after screenshot is taken on native platforms
175
+ - Handed error during polling in long requests to eyes server
176
+ - Handle fake shadowRoot with UFG
177
+ ## [4.5.1] - 2022-11-28
178
+ ### Fixed
179
+ - releasing as stable all eyes
180
+ ## [4.0.0.alpha-eyes-images] - 2022-11-28
181
+ ### Added
182
+ - eyes_images updated to universal server sdk(v3)
183
+ ### Deprecated (eyes_images)
184
+ - eyes_images inputs Applitools::Screenshot and ChunkyPNG::Image now are image_path and image (examples in spec/images/eyes_images_functional_spec.rb)
185
+ ### Added (eyes_images)
186
+ - eyes_images: Applitools::MatchLevel::IGNORE_COLORS
187
+ ## [4.5.0.alpha] - 2022-11-23
188
+ - Update version of Universal SDK to v3 (sdk: 3.0.2)
189
+ ## [4.4.1] - 2022-10-03
190
+ ### Added
191
+ - Added iPhone 14 and iPhone 14 Pro Max devices [Trello 73](https://trello.com/c/M1YiwtHb)
192
+ ## [4.4.0] - 2022-09-16
193
+ ### Updated
194
+ - Update version of Universal SDK to 2.12.3
195
+ ### Added
196
+ - Created testing client for eyes-universal
197
+ ### Fixed
198
+ - Using lazyLoad.waitingTime as a delay between stitches by default
199
+ - Using proxy while polling for the result of the nml command
200
+ ## [4.3.0] - 2022-09-16
201
+ ### Updated
202
+ - Update version of Universal SDK to 2.12.0
203
+ ### Added
204
+ - Add proxy support when using NML for NMG
205
+ - Add NML NMG support for iOS
206
+ - Added support for lazy loading views in android native apps
207
+ - tests for alpine
208
+ ### Fixed
209
+ - Sending correct commands with android helper lib
210
+ - Fixed issue that prevented NMG from working when NML was enabled
211
+ ## [4.2.0] - 2022-09-05
212
+ ### Removed
213
+ - removed device name Galaxy S8, S8 Plus, Note 8
214
+ ## [4.1.4] - 2022-09-02
215
+ ### Updated
216
+ - Update version of Universal SDK to 2.10.8
217
+ ### Changed
218
+ - U-SDK server spawn once per process
219
+ - U-SDK server shutdown-mode changed
220
+ ## [4.1.4.alpha] - 2022-08-15
221
+ ### Updated
222
+ - Update version of Universal SDK to 2.10.5
223
+ ### Changed
224
+ - ci moved to github
225
+ ## [4.1.3] - 2022-08-04
226
+ ### Added
227
+ - add enum for edge-2 (EDGE_CHROMIUM_TWO_VERSIONS_BACK)
228
+ - Android 12 device name [Trello 54](https://trello.com/c/SZAPDKSI)
229
+ ### Updated
230
+ - Update version of Universal SDK to 2.10.3
231
+ ## [4.1.2] - 2022-07-07
232
+ ### Added
233
+ - add padding support for regions [Trello 2929](https://trello.com/c/kHbnEdC7), [Trello 42](https://trello.com/c/PYKqJLbg)
234
+ - add custom region id support for regions [Trello 47](https://trello.com/c/pv51sCYA)
235
+ ### Updated
236
+ - Update version of Universal SDK to 2.9.5
237
+ ### Fixed
238
+ - fix freeze in communication with universal server
239
+ - fix floating region bounds option(as 4 numbers) parsing
240
+ ## [4.1.1] - 2022-06-16
241
+ ### Added
242
+ - add support lazy loading as part of the check-api [Trello](https://trello.com/c/BIHFMhVk)
243
+ ### Updated
244
+ - Update version of Universal SDK to 2.8.0
245
+ ## [4.1.0] - 2022-06-16
246
+ ### Removed
247
+ - alpha flag from version number
248
+ ## [4.1.0.alpha] - 2022-06-13
249
+ ### Updated
250
+ - Update version of Universal SDK to 2.7.2
251
+ ## Removed
252
+ - removed eventmachine from eyes_core
253
+ ## [4.0.5.4] - 2022-06-10
254
+ ### Updated
255
+ - Update version of Universal SDK to 2.7.1
256
+ ### Fixed
257
+ - Fix default boolean field transition to server(like full page screenshot)
258
+ ## [4.0.5.3] - 2022-06-02
259
+ ### Updated
260
+ - Update version of Universal SDK to 2.5.19
261
+ ### Fixed
262
+ - fix ruby-3.1 installation collision
263
+ ## [4.0.5.2] - 2022-05-24
264
+ ### Updated
265
+ - Update version of Universal SDK to 2.5.17
266
+ ### Fixed
267
+ - Fix closing batches with closeManager
268
+ ## Removed
269
+ - removed nokogiri frozen version
270
+ - remove old&unused js(now processed by universal server)
271
+ ## [4.0.5.1] - 2022-05-18
272
+ ### Fixed
273
+ - Fix wrong gem yank
274
+ ## [4.0.5] - 2022-05-18
275
+ ### Updated
276
+ - Update version of Universal SDK to 2.5.11
277
+ ### Fixed
278
+ - Fix for default notify_on_completion value(moved to universal server)
279
+ ## [4.0.4] - 2022-05-13
280
+ ### Fixed
281
+ - Fix for mingw
282
+ ## [4.0.3] - 2022-05-13
283
+ ### Updated
284
+ - Update version of Universal SDK to 2.5.7
285
+ ### Added
286
+ - added api: wait_before_capture, page_id
287
+ - api for native ufg: add_mobile_device, add_mobile_devices
288
+ - new ios devices
289
+ - AndroidDeviceName and AndroidDeviceInfo
290
+ ### Fixed
291
+ - Fix installing universal server issues on windows
292
+ - fix getting connection info for universal server on ci
293
+ ## Removed
294
+ - png processing lib dependecies
295
+ ## [4.0.2] - 2022-02-08
296
+ ### Updated
297
+ - Update version of Universal SDK to 1.0.9
298
+ ### Fixed
299
+ - Fix installing issues with latest ruby version and installing on windows
300
+ ## [4.0.1] - 2022-02-08 - unreleased
301
+ ### Updated
302
+ - Update version of Universal SDK to 1.0.7
303
+ ## [4.0.0] - 2022-01-24
304
+ ### Changed
305
+ - Library is now based on Universal SDK
306
+ ## [3.18.4] - 2021-08-31
307
+ ### Fixed
308
+ - Fix Appium runner option [Trello 2697](https://trello.com/c/F6dLF1VF)
309
+ - Fix parsing css transition [Trello 2647](https://trello.com/c/CIzoKPNY)
310
+ - Fix require warning: No such file or directory @ dir_chdir - lib/applitools/selenium/scripts/node_modules [Trello 2148](https://trello.com/c/j5sAPSBa)
311
+ ## [3.18.3] - 2021-06-24
312
+ ### Added
313
+ - Support cross origin iframes in UFG [Trello 2259](https://trello.com/c/iJKPvd75), [Trello 2584](https://trello.com/c/QyLzmnGl)
314
+ ## [3.18.2] - 2021-05-05
315
+ ### Added
316
+ - Support variation_group_id and agentRunId [Trello 2527](https://trello.com/c/6SyxJXVZ)
317
+ ## [3.18.1] - 2021-04-28
318
+ ### Added
319
+ - Allow defining custom properties at the batch level [Trello 2445](https://trello.com/c/IKTydXLv)
320
+ ## [3.18.0] - 2021-04-20
321
+ ### Fixed
322
+ - Fix Selenium and Appium libraries conflict [Trello 2500](https://trello.com/c/UOwzI2s8)
323
+ ## Deprecated
324
+ - Ruby 1.9 support for Appium lib (Requirement 2.2+)
325
+ ## [3.17.23] - 2021-01-22
326
+ ### Fixed
327
+ - Fix viewport rect of a native app at some android devices [Trello 2079](https://trello.com/c/sQJLgtUL)
328
+ ### Updated
329
+ - Update Ruby Coverege Tests to v2
330
+ ## [3.17.22] - 2021-01-12
331
+ ### Added
332
+ - Supporting check full element with ufg [Trello 2145](https://trello.com/c/8tPAnz66)
333
+ ### Updated
334
+ - Supporting iPhone 12 in `IosDeviceName` class. [Trello 2269](https://trello.com/c/yWFy2pRE)
335
+ ### Fixed
336
+ - Restart on calling eyes.open with started driver [Trello 2162](https://trello.com/c/1SCQUUnW), [Trello 2233](https://trello.com/c/yPY3jhjW)
337
+ ## [3.17.21] - 2020-08-20
338
+ ### added
339
+ - UFG: the ability to set :visual_grid_options for the UFG SDK (Both globally and through the fluent interface) [Trello_2089](https://trello.com/c/d4zggQes/2089-ufg-sdks-visualgridoptionspolyfilladoptedstylesheets)
340
+ ## [3.17.20] - 2020-08-20
341
+ ### fixed
342
+ - Skip resources list: the errorStatusCode is passed to the server for UFG resources (if present) [Trello_2101](https://trello.com/c/vw3Ag8eO/2101-sdk-doesnt-pass-errorstatuscode-for-ufg-resources-if-an-error-occurred)
343
+ ## [3.17.19] - 2020-08-18
344
+ ### Updated
345
+ - Skip resources list for UFG is implemented [Trello_1974](https://trello.com/c/44xq8dze/1974-dom-snapshot-should-accept-a-skip-list-for-fetched-resources)
346
+ ## [3.17.18] - 2020-08-01
347
+ ### Fixed
348
+ - appium region screenshot issue [Trello_1996](https://trello.com/c/bmD4fCbs/1996-appium-native-ruby-error-with-png-signature-for-targetregion)
349
+ ## [3.17.17] - 2020-07-29
350
+ ### Fixed
351
+ - The availability to set :notify_on_completion manually for Applitools::BatchInfo. [Trello_2012](https://trello.com/c/OdYXtkFI/2012-batch-sequence-and-batch-notifications-are-not-working-in-the-ruby-selenium-sdk)
352
+ ### Updated
353
+ - Screenshot retry mechanism is now more efficient. [Trello 1866](https://trello.com/c/KyxkI6Bu)
354
+ ## [3.17.16] - 2020-07-16
355
+ ### Fixed
356
+ - The test name is not updated in case of double open->check->close call. [Trello 2011](https://trello.com/c/7UN1AbYU/2011-ruby-ufg-tests-creates-tests-out-of-order-when-classic-eyesopen-is-used)
357
+ ## [3.17.15] - 2020-07-16
358
+ ### Added
359
+ - Added `VisualViewport` for UFG client. [Trello 1957](https://trello.com/c/jWvdBwex/1957-add-visual-viewport-support-in-the-ui-for-mobile-devices)
360
+ ## [3.17.14] - 2020-07-9
361
+ ### Updated
362
+ - Added missing `StitchingService` URI field in `RenderRequest`. [Trello 1988](https://trello.com/c/Yr6EsUlL)
363
+ ## [3.17.13] - 2020-07-03
364
+ ## Fixed
365
+ - eyes_appium: Coded Floating Regions Incorrectly Placed [Trello_1960](https://trello.com/c/j6nJh1LS/1960-ruby-native-app-coded-floating-regions-incorrectly-placed)
366
+ - eyes_images: Simple eyes_images test is broken [Trello_1949](https://trello.com/c/dHQbz96i/1949-eyesimages-seem-to-be-broken)
367
+ ## [3.17.12] - 2020-07-02
368
+ ## Fixed
369
+ - :match_timeout property is moved to configuration object [Trello_1935](https://trello.com/c/2Z070Qgs/1935-ruby-selenium-matchtimeout-not-available-in-the-configuration-object)
370
+ ## [3.17.11] - 2020-06-25
371
+ ## Fixed
372
+ - IosDeviceOrientation is replaced by Orientation [Trello_1944](https://trello.com/c/EzyG7525/1944-ufg-safari-on-ios-orientations-changes)
373
+ ## [Eyes.sdk.ruby 3.17.10] - 2020-06-20
374
+ ## Fixed
375
+ - a configuration shared between Eyes instances in Rspec [Trello_1938](https://trello.com/c/qOQkbDO7/1938-a-configuration-shared-between-eyes-instances-in-rspec)
376
+ ## [Eyes.sdk.ruby 3.17.9] - 2020-06-19
377
+ ## Fixed
378
+ - Call :clone on a NilClass for ruby 2.3 [Trello_1855](https://trello.com/c/LCBhnTMd/1885-selenium-ruby-cant-clone-nilclass)
379
+ ## [Eyes.sdk.ruby 3.17.7] - 2020-06-18
380
+ ## Added
381
+ - eyes.ignore_displacements= and eyes.ignore_displacements methods [Trello_841](https://trello.com/c/uwrYb1Vj/841-add-a-general-method-for-ignoredisplacements?menu=filter&filter=visual%20loca,due:notdue)
382
+ ## Fixed
383
+ - Encoded regions for 'selector' mode [Trello_1915](https://trello.com/c/BQIrbCfC/1915-ruby-ultrafast-grid-incorrect-placement-of-coded-regions-for-targetregion)
384
+ ## [Eyes.sdk.ruby 3.17.6] - 2020-06-16
385
+ ## Fixed
386
+ - config.add_device_emulation(name, orientation) is fixed [Trello_1914](https://trello.com/c/l7WRvhSP/1914-ruby-ultrafast-grid-adddeviceemulation-throws-error-after-upgrading-to-3175?menu=filter&filter=due:notdue)
387
+ ## Added
388
+ - Appium driver support is ectended (Applitools::Appium::Eyes.new(driver: Appium::Driver.new)) [Trello_1913](https://trello.com/c/wQTgRNrN/1913-appium-ruby-regression-unknown-driver-appiumdriver0x00007fbaf9903448-applitoolseyeserror?menu=filter&filter=due:notdue)
389
+ ## [Eyes.sdk.ruby 3.17.5] - 2020-06-15
390
+ ## Added
391
+ - The ability to set :baseline_env_name for DesktopBrowserInfo, IosDeviceInfo and ChromeEmulationInfo
392
+ ## Fixed
393
+ - IosScreenOrientation instead of the IosScreenshotOrientation
394
+ ## [Eyes.sdk.ruby 3.17.4] - 2020-06-11
395
+ ## Fixed
396
+ - restricted to set emulation_info && ios_device_info for DesktopBrowserInfo
397
+ ## [Eyes.sdk.ruby 3.17.3] - 2020-06-06
398
+ ## Deprecated
399
+ - BrowserTypes module is deprecated in a favor of BrowserType
400
+ - Orientations module is deprecated in a favor of Orientation
401
+ ## Fixed
402
+ - IosDeviceOrientation instead of IosDeviceOrientations(plural)
403
+ ## Deprecated
404
+ ## [Eyes.sdk.ruby 3.17.2] - 2020-06-06
405
+ ## Added
406
+ - safari on ios device emulation for UFG [Trello_1872](https://trello.com/c/bykk2rzB/1872-ufg-safari-on-ios-simulators-support)
407
+ ## [Eyes.sdk.ruby 3.17.1] - 2020-05-26
408
+ ## Fixed
409
+ - eyes.properties for VG [Trello_1804](https://trello.com/c/Jt2BYz0e/1804-ruby-selenium-addproperty-method-not-recognized-when-running-with-visualgridrunner)
410
+ - SessionStartInfo parameters were not passed to Json correctly
411
+ ## [Eyes.sdk.ruby 3.17.0] - 2020-05-18
412
+ ## Added
413
+ - eyes.accessibility_validation(Applitools::AccessibilitySettings.new(Applitools::AccessibilityLevel::AA, Applitools::AccessibilityVersion::WCAG_2_0)) - [Trello_1767](https://trello.com/c/gq69woeK/1767-all-sdks-accessibility-accessiblity-guidelines-version-support-and-additional-verifications?menu=filter&filter=due:notdue)
414
+ ## Removed
415
+ - eyes.accessibility_level
416
+ ## [Eyes.sdk.ruby 3.16.16] - 2020-04-28
417
+ ## Added
418
+ - Regions support for eyes_appium (Target#ignore, Target#floating, Target#accessibility, Target#layout, etc.)
419
+ ## [Eyes.sdk.ruby 3.16.15] - 2020-04-24
420
+ ## Deprecated
421
+ - BrowserTypes::EDGE is deprecated. Please change it to either "EDGE_LEGACY" for the legacy version or to "EDGE_CHROMIUM" for the new Chromium-based version. [Trello 1757](https://trello.com/c/LUe43aee/1757-all-ultrafast-sdks-edge-chromium-support)
422
+ ## [Eyes.sdk.ruby 3.16.14] - 2020-04-10
423
+ ## Added
424
+ - new_session? flag is taken from start_session server response with fallback to the status code [Trello_1715](https://trello.com/c/DcVzWbeR/1715-all-sdks-updated-long-running-task-mode-for-startsession)
425
+ ## [Eyes.sdk.ruby 3.16.13] - 2020-04-06
426
+ ## Fixed
427
+ - eyes#hide_scrollbars is true by default [Trello 1592](https://trello.com/c/MXixwLnj/1592-upload-dom-directly-to-azure)
428
+ - eyes#ignore_caret has been included tothe configuration object [Trello)_1706](https://trello.com/c/16JqYlYb/1706-ignorecaret-globally-is-missing-ruby)
429
+ - Irrelevant URLs are excluded from SVG resource parsing results [Trello 1691](https://trello.com/c/EAIpEh8s/1691-ruby-vg-parsing-of-irrelevant-urls-from-css-and-svg-resources)
430
+ ## Added
431
+ - x-applitools-eyes-client header for all API requests [Trello_1697](https://trello.com/c/CzhUxOqE/1697-all-sdks-should-report-their-version-in-all-requests-to-the-eyes-server)
432
+ ## [Eyes.sdk.ruby 3.16.12] - 2020-03-30
433
+ ## Fixed
434
+ - eyes#send_dom didn't work [Trello 1659](https://trello.com/c/9CfD0fhn/1659-disable-dom-capturing-is-not-working-on-the-test-level-ruby)
435
+ ## [Eyes.sdk.ruby 3.16.11] - 2020-03-27
436
+ ## Fixed
437
+ - dom_capture threw an exception on a particular page [Trello 1658](https://trello.com/c/x0uYFwx0/1658-test-is-being-aborted-when-trying-to-capture-dom-ruby)
438
+ ## [Eyes.sdk.ruby 3.16.10] - 2020-03-24
439
+ ## Added
440
+ - The ability to use different Faraday adapters instead the default one [Trello 1683](https://trello.com/c/6IASHoBB/1683-add-http2-support-to-the-communication-library)
441
+ - The ability to set up timeout for HTTP request
442
+ - The ability to set up timeout for an Applitools::Future
443
+ ## [Eyes.sdk.ruby 3.16.9] - 2020-03-17
444
+ ## Fixed
445
+ - Agent ID for eyes_appium set to eyes.appium.ruby/version
446
+ ## [Eyes.sdk.ruby 3.16.8] - 2020-03-13
447
+ ## Fixed
448
+ - SDK fetch resources: the request header 'Accept-Language' is used along with 'User-Agent'
449
+ - Timeout for Thread.join is increased up to Faraday's connection timeout
450
+ - Error handling for resources that failed to fetch
451
+ ## Added
452
+ - Log messages for resource fetching now include the URL and status code
453
+ ## [Eyes.sdk.ruby 3.16.7] - 2020-03-06
454
+ ### Added
455
+ - dom_snapshot is uploaded directly to Azure storage
456
+ ### Fixed
457
+ - dom_snapshot script updated to 7.1.3
458
+ - send_dom is true by default for EyesSelenium
459
+ ## [Eyes.sdk.ruby 3.16.6] - 2020-03-05
460
+ ### Fixed
461
+ - eyes#check might be called as #check(tag, target) as well as #check(target)
462
+ - Selenium Eyes: ignore regions in the current target caused an exception
463
+ ## [Eyes.sdk.ruby 3.16.5] - 2020-03-02
464
+ ### Fixed
465
+ - double slash issue for custom server URL
466
+ ## [Eyes.sdk.ruby 3.16.2] - 2020-02-06
467
+ ### Fixed
468
+ - DefaultMatchSettings being overridden incorrectly by ImageMatchSettings
469
+ ## [Eyes.sdk.ruby 3.16.1] - 2020-01-29
470
+ ### Fixed
471
+ - eyes_appium crashed trying to get viewport_size
472
+ ### Added
473
+ - long_requests are used for start session
474
+ ## [Eyes.sdk.ruby 3.16.0] - 2020-01-24
475
+ ### Added
476
+ - Screenshot uploading direct to cloud store
477
+ ## [Eyes.sdk.ruby 3.15.48] - 2020-01-20
478
+ ### Added
479
+ - New browser types for the VisualGrid (CHROME, CHROME_ONE_VERSION_BACK, CHROME_TWO_VERSIONS_BACK, FIREFOX, FIREFOX_ONE_VERSION_BACK, FIREFOX_TWO_VERSIONS_BACK, SAFARI, SAFARI_ONE_VERSION_BACK, SAFARI_TWO_VERSIONS_BACK, IE_10, IE_11, EDGE)
480
+ ## [Eyes.sdk.ruby 3.15.47] - 2020-01-08
481
+ ### Fixed
482
+ - eyes_images throws "undefined method `each' for nil:NilClass (NoMethodError)"
483
+ ## [Eyes.sdk.ruby 3.15.43] - 2019-12-20
484
+ ### Removed
485
+ - delta compression for screenshots
486
+ ## [Eyes.sdk.ruby 3.15.43] - 2019-12-19
487
+ ### Added
488
+ - eyes.abort_async method implementation
489
+ ### Fixed
490
+ - save_new_tests is true by default
491
+ - tests are aborted instead of being closed on render fail
492
+ ## [Eyes.sdk.ruby 3.15.43] - 2019-12-12
493
+ ### Added
494
+ - Return empty test if the render fails
495
+ - eyes.abort method
496
+ ## [Eyes.sdk.ruby 3.15.42] - 2019-12-10
497
+ ### Fixed
498
+ - CSS paring & fetching font urls
499
+ - VisualGridEyes#config renamed to #configuration
500
+ - VisualGridEyes.configuration returns a clone of a configuration object
501
+ ## [Eyes.sdk.ruby 3.15.41] - 2019-11-06
502
+ ### Fixed
503
+ - Various VG related bugs
504
+ ## [Eyes.sdk.ruby 3.15.39] - 2019-11-06
505
+ ### Added
506
+ - This CHANGELOG file.
507
+ ### Fixed
508
+ - Chrome 78 css stitching bug
data/Rakefile ADDED
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rake/clean'
4
+ require 'securerandom'
5
+
6
+ require 'bundler/gem_helper'
7
+ # Monkey patch the Bundler release class to change tags for eyes_images
8
+ module Bundler
9
+ class GemHelper
10
+
11
+ def version_tag
12
+ ruby_tag = "@applitools/ruby"
13
+ "#{ruby_tag}/#{gemspec.name}@#{version}"
14
+ end
15
+
16
+ end
17
+ end
18
+
19
+ Bundler::GemHelper.install_tasks
20
+
21
+ namespace 'github' do
22
+ task :set_batch_info do
23
+ batch_id = SecureRandom.uuid
24
+ # next if ENV['APPLITOOLS_BATCH_ID'] && !ENV['APPLITOOLS_BATCH_ID'].empty?
25
+ ENV['APPLITOOLS_DONT_CLOSE_BATCHES'] = 'true'
26
+ ENV['APPLITOOLS_BATCH_ID'] = batch_id unless ENV['APPLITOOLS_BATCH_ID'] && !ENV['APPLITOOLS_BATCH_ID'].empty?
27
+ ENV['APPLITOOLS_BATCH_NAME'] = "Eyes Ruby SDK(#{RUBY_VERSION} | #{RUBY_PLATFORM})"
28
+ end
29
+
30
+ task :check do
31
+ puts "Batch ID: #{ENV['APPLITOOLS_BATCH_ID']}"
32
+ puts "Batch NAME: #{ENV['APPLITOOLS_BATCH_NAME']}"
33
+ end
34
+
35
+ # require 'rspec/core/rake_task'
36
+ # namespace :unit_tests do
37
+ # RSpec::Core::RakeTask.new(:core) do |t|
38
+ # t.pattern = 'spec/core'
39
+ # end
40
+ #
41
+ # RSpec::Core::RakeTask.new(:visual_grid) do |t|
42
+ # t.pattern = 'spec/visual_grid'
43
+ # end
44
+ #
45
+ # RSpec::Core::RakeTask.new(:selenium) do |t|
46
+ # t.pattern = 'spec/selenium'
47
+ # end
48
+ #
49
+ # RSpec::Core::RakeTask.new(:regression) do |t|
50
+ # t.pattern = 'spec/regression'
51
+ # end
52
+ #
53
+ # RSpec::Core::RakeTask.new(:bugfix) do |t|
54
+ # t.pattern = 'spec/bugfix'
55
+ # end
56
+ #
57
+ # RSpec::Core::RakeTask.new(:calabash) do |t|
58
+ # t.pattern = 'spec/calabash'
59
+ # end
60
+ #
61
+ # RSpec::Core::RakeTask.new(:images) do |t|
62
+ # t.pattern = 'spec/images'
63
+ # end
64
+ #
65
+ # task :github => [:regression, :bugfix, :core, :selenium, :visual_grid, :calabash, :images]
66
+ # end
67
+ #
68
+ # task :unit_tests => [:set_batch_info, :check, 'unit_tests:github']
69
+ #
70
+ # task :vg_tests => [:set_batch_info, :check] do
71
+ # sh('bundle exec parallel_rspec -n 1 -- --tag visual_grid -- spec/integration/*_spec.rb')
72
+ # end
73
+
74
+ # task :travis_selenium => ['webdrivers:chromedriver:update', :set_batch_info, :check] do
75
+ # sh('bundle exec parallel_rspec -n 4 -- --tag selenium -- spec/integration/*_spec.rb')
76
+ # end
77
+ #
78
+ # task :travis_vg => ['webdrivers:chromedriver:update', :set_batch_info, :check] do
79
+ # sh('bundle exec parallel_rspec -n 1 -- --tag visual_grid -- spec/integration/*_spec.rb')
80
+ # end
81
+
82
+ # task :vg_tests => ['webdrivers:chromedriver:update', :set_batch_info, :check] do
83
+ # sh('bundle exec parallel_rspec -n 1 -- --tag visual_grid -- spec/integration/*_spec.rb')
84
+ # end
85
+
86
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+
6
+ require 'applitools/eyes_selenium/version'
7
+
8
+ Gem::Specification.new do |spec|
9
+ spec.name = 'eyes_selenium'
10
+ spec.version = Applitools::EyesSelenium::VERSION
11
+ spec.authors = ['Applitools Team']
12
+ spec.email = ['team@applitools.com']
13
+ spec.description = 'Provides SDK for writing Applitools Selenium-based tests'
14
+ spec.summary = 'Applitools Ruby Selenium SDK'
15
+ spec.homepage = 'https://www.applitools.com'
16
+ spec.license = 'Applitools'
17
+
18
+ spec.files = `git ls-files lib/applitools/selenium`.split($RS) + [
19
+ 'lib/eyes_selenium.rb',
20
+ 'lib/applitools/eyes_selenium/version.rb',
21
+ 'CHANGELOG.md',
22
+ 'eyes_selenium.gemspec',
23
+ 'Rakefile',
24
+ ]
25
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
26
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
27
+ spec.require_paths = %w(lib)
28
+ spec.add_dependency 'eyes_core', "= #{Applitools::EyesSelenium::VERSION}"
29
+ spec.add_dependency 'selenium-webdriver', '>= 3'
30
+ spec.add_dependency 'css_parser'
31
+ spec.add_dependency 'crass'
32
+ spec.add_dependency 'state_machine'
33
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: false
2
+
3
+ module Applitools
4
+ module EyesSelenium
5
+ VERSION = '6.0.1'.freeze
6
+ # UNIVERSAL_CORE_VERSION = '3.6.4'.freeze
7
+ end
8
+ end
@@ -23,6 +23,7 @@ module BrowserType
23
23
  SAFARI = :'safari'
24
24
  SAFARI_ONE_VERSION_BACK = :'safari-one-version-back'
25
25
  SAFARI_TWO_VERSIONS_BACK = :'safari-two-versions-back'
26
+ SAFARI_EARLY_ACCESS = :'safari-earlyaccess'
26
27
  IOS_SAFARI = :safari
27
28
 
28
29
  EDGE_CHROMIUM = :'edgechromium'
@@ -61,6 +62,7 @@ module BrowserType
61
62
  SAFARI,
62
63
  SAFARI_ONE_VERSION_BACK,
63
64
  SAFARI_TWO_VERSIONS_BACK,
65
+ SAFARI_EARLY_ACCESS,
64
66
  IE_11,
65
67
  EDGE_LEGACY,
66
68
  IE_10,
@@ -131,6 +131,13 @@ module Applitools::Selenium
131
131
  self.utils = Applitools::Utils::EyesSeleniumUtils
132
132
  end
133
133
 
134
+ def self.environment_sdk
135
+ {
136
+ name: :eyes_selenium,
137
+ currentVersion: Applitools::EyesSelenium::VERSION
138
+ }
139
+ end
140
+
134
141
  def ensure_config
135
142
  self.config = Applitools::Selenium::Configuration.new
136
143
  end
@@ -329,7 +329,11 @@ module Applitools
329
329
  end
330
330
 
331
331
  def layout_breakpoints(value = true)
332
- options[:layout_breakpoints] = value.is_a?(Array) ? value : value
332
+ if value.is_a?(Hash) && (value.has_key?(:breakpoints) || value.has_key?('breakpoints'))
333
+ options[:layout_breakpoints] = value
334
+ else
335
+ options[:layout_breakpoints] = { breakpoints: value }
336
+ end
333
337
  self
334
338
  end
335
339
 
@@ -53,6 +53,13 @@ module Applitools
53
53
  self.utils = Applitools::Utils::EyesSeleniumUtils
54
54
  end
55
55
 
56
+ def self.environment_sdk
57
+ {
58
+ name: :eyes_selenium,
59
+ currentVersion: Applitools::EyesSelenium::VERSION
60
+ }
61
+ end
62
+
56
63
  def ensure_config
57
64
  self.config = Applitools::Selenium::Configuration.new
58
65
  self.send_dom = true
@@ -325,15 +332,18 @@ module Applitools
325
332
  logger.info "close(#{throw_exception})"
326
333
  logger.info 'Ending server session...'
327
334
 
335
+ raise Applitools::EyesNotOpenException.new 'Eyes not open' unless open?
328
336
  universal_results = universal_eyes.close # Array even for one test
329
- universal_results = universal_eyes.eyes_get_results # Array even for one test
330
- # require 'pry'
331
- # binding.pry
332
- raise Applitools::EyesError.new("Request failed: #{universal_results[:message]}") if server_error?(universal_results)
333
- results = universal_results.map {|result| Applitools::TestResults.new(result) }
334
- # results = results.first if results.size == 1
335
- # session_results_url = results.url
336
- all_results = results.compact
337
+ self.opened = false
338
+ all_results = get_results(throw_exception)
339
+ # universal_results = universal_eyes.eyes_get_results # Array even for one test
340
+ # # require 'pry'
341
+ # # binding.pry
342
+ # raise Applitools::EyesError.new("Request failed: #{universal_results[:message]}") if server_error?(universal_results)
343
+ # results = universal_results.map {|result| Applitools::TestResults.new(result) }
344
+ # # results = results.first if results.size == 1
345
+ # # session_results_url = results.url
346
+ # all_results = results.compact
337
347
 
338
348
 
339
349
  # return false if test_list.empty?
@@ -351,7 +361,30 @@ module Applitools
351
361
  # end
352
362
  #
353
363
  # all_results = test_list.map(&:test_result).compact
354
- failed_results = all_results.select { |r| !r.as_expected? }
364
+ # failed_results = all_results.select { |r| !r.as_expected? }
365
+ #
366
+ # if throw_exception
367
+ # all_results.each do |r|
368
+ # raise Applitools::NewTestError.new new_test_error_message(r), r if r.new?
369
+ # raise Applitools::DiffsFoundError.new diffs_found_error_message(r), r if r.unresolved? && !r.new?
370
+ # raise Applitools::TestFailedError.new test_failed_error_message(r), r if r.failed?
371
+ # end
372
+ # end
373
+
374
+ # failed_results.empty? ? all_results.first : failed_results.first
375
+ all_results.first
376
+ end
377
+
378
+ def get_results(throw_exception = true)
379
+ logger.info "get_results(#{throw_exception})"
380
+ logger.info 'Getting results...'
381
+
382
+ universal_results = universal_eyes.eyes_get_results # Array even for one test
383
+ # require 'pry'
384
+ # binding.pry
385
+ raise Applitools::EyesError.new("Request failed: #{universal_results[:message]}") if server_error?(universal_results)
386
+ results = universal_results.map {|result| Applitools::TestResults.new(result) }
387
+ all_results = results.compact
355
388
 
356
389
  if throw_exception
357
390
  all_results.each do |r|
@@ -360,9 +393,7 @@ module Applitools
360
393
  raise Applitools::TestFailedError.new test_failed_error_message(r), r if r.failed?
361
394
  end
362
395
  end
363
-
364
- # failed_results.empty? ? all_results.first : failed_results.first
365
- all_results.first
396
+ all_results
366
397
  end
367
398
 
368
399
  def abort_async
data/lib/eyes_selenium.rb CHANGED
@@ -12,8 +12,11 @@ module Applitools
12
12
  module Selenium
13
13
  extend Applitools::RequireUtils
14
14
  class UnsupportedCoordinateType < EyesError; end
15
- def self.load_dir
16
- File.dirname(File.expand_path(__FILE__))
15
+ def self.require_dir(dir)
16
+ load_dir = File.dirname(File.expand_path(__FILE__))
17
+ Dir[File.join(load_dir, 'applitools', dir, '*.rb')].sort.each do |f|
18
+ require f
19
+ end
17
20
  end
18
21
  end
19
22
  end
@@ -21,6 +24,7 @@ end
21
24
  Applitools::Selenium.require_dir 'selenium/concerns'
22
25
  Applitools::Selenium.require_dir 'selenium/scripts'
23
26
  Applitools::Selenium.require_dir 'selenium'
27
+ Applitools::Selenium.require_dir 'eyes_selenium'
24
28
  Applitools::Selenium.require_dir 'selenium/visual_grid'
25
29
  Applitools::Selenium.require_dir 'selenium/dom_capture'
26
30
  Applitools::Selenium.require_dir 'selenium/css_parser'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eyes_selenium
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0
4
+ version: 6.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Applitools Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-11 00:00:00.000000000 Z
11
+ date: 2023-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eyes_core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 5.0.0
19
+ version: 6.0.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 5.0.0
26
+ version: 6.0.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: selenium-webdriver
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -87,6 +87,10 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
+ - CHANGELOG.md
91
+ - Rakefile
92
+ - eyes_selenium.gemspec
93
+ - lib/applitools/eyes_selenium/version.rb
90
94
  - lib/applitools/selenium/border_aware_element_content_location_provider.rb
91
95
  - lib/applitools/selenium/browser.rb
92
96
  - lib/applitools/selenium/browser_types.rb
@@ -127,7 +131,6 @@ files:
127
131
  - lib/applitools/selenium/scripts/.gitignore
128
132
  - lib/applitools/selenium/scripts/get_element_xpath.rb
129
133
  - lib/applitools/selenium/scripts/package.json
130
- - lib/applitools/selenium/scripts/templates.rb
131
134
  - lib/applitools/selenium/scroll_position_provider.rb
132
135
  - lib/applitools/selenium/selenium_eyes.rb
133
136
  - lib/applitools/selenium/stitch_modes.rb
@@ -161,7 +164,6 @@ files:
161
164
  - lib/applitools/selenium/visual_grid/visual_grid_eyes.rb
162
165
  - lib/applitools/selenium/visual_grid/visual_grid_runner.rb
163
166
  - lib/applitools/selenium/visual_grid/web_element_region.rb
164
- - lib/applitools/version.rb
165
167
  - lib/eyes_selenium.rb
166
168
  homepage: https://www.applitools.com
167
169
  licenses:
@@ -182,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
184
  - !ruby/object:Gem::Version
183
185
  version: '0'
184
186
  requirements: []
185
- rubygems_version: 3.3.14
187
+ rubygems_version: 3.0.3.1
186
188
  signing_key:
187
189
  specification_version: 4
188
190
  summary: Applitools Ruby Selenium SDK
@@ -1,34 +0,0 @@
1
- module Applitools
2
- module Selenium
3
- module ScriptTemplates
4
- extend self
5
- def get_script_by_file_name(fname)
6
- script = nil
7
- return script unless Dir.exist?(Applitools::JS_PATH)
8
- begin
9
- Dir.chdir(Applitools::JS_PATH) do
10
- script = File.open(File.join('@applitools', 'dom-snapshot', 'dist', "#{fname}.js"), 'r').read
11
- end
12
- rescue StandardError => e
13
- puts e.class
14
- puts e.message
15
- script = ''
16
- end
17
- script
18
- end
19
-
20
- # JS_FILES_PATH = File.join(Applitools::JS_PATH, '@applitools', 'dom-snapshot', 'dist')
21
- # PROCESS_PAGE_AND_POLL_RB = <<"SCRIPT"
22
- # module Applitools
23
- # module Selenium
24
- # module Scripts
25
- # PROCESS_PAGE_AND_POLL = <<'END'
26
- # #{get_script_by_file_name('processPageAndSerializePoll')}
27
- # END
28
- # end
29
- # end
30
- # end
31
- # SCRIPT
32
- end
33
- end
34
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: false
2
-
3
- module Applitools
4
- VERSION = '5.0.0'.freeze
5
- IMAGES_VERSION = '5.0.0'.freeze
6
- UNIVERSAL_VERSION = '3.6.0'.freeze
7
- UNIVERSAL_CORE_VERSION = '3.6.0'.freeze
8
- end