selenium-webdriver 4.0.0.beta3 → 4.0.0.beta4

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: d43cea1b9a19e329eee91c38bb566fc2c7adb76df2da6a7efa2eee908910a9a3
4
- data.tar.gz: cd692d2a4f562dffcb0608cfd19adec5e383509d3f150826791c7312969b0aa9
3
+ metadata.gz: 444bcaf004013066865ffa83a058db4a2a254513f2307987fda37178b4761dfc
4
+ data.tar.gz: 0b303f2f0eb16502ae5e35aaa07e6572e80baabdef2be4291bdf6c1c5bba426f
5
5
  SHA512:
6
- metadata.gz: 695aa88517dc97ab25d93a1f0b983bc3a6fa55e48460d5e8ed053e300227b6b1b2693e243b8a439652d921b75eba1ac06384a33fc0c40e2cb4b194ee66483d3f
7
- data.tar.gz: acbe3d962300eff073ce447548fb41adb62ac56f238074f3f33c0bb43ccb4ef200daab53f1ff478f20f7efe67d3fcffc34e11d0b0959f929b9c7ffcac9afad0b
6
+ metadata.gz: e9e2cc4efb1c5e160b8d24c2a3529597665c806545ac8cbc708c373f518bc32afdd6493ead9b052e8eceee88b8a282a20c8b1fd8df175761fbeb3fe001f3c6f6
7
+ data.tar.gz: 42f58624279e8d11a444236626924f20cd0c70dd7d497d92d08a97ba5519d44b3e70adb312839bf8eca0764ca38fd88610849ed555dee1146d592214ec41bdeb
data/CHANGES ADDED
@@ -0,0 +1,1896 @@
1
+ 4.0.0.beta4 (2021-06-07)
2
+ =========================
3
+
4
+ Chrome:
5
+ * Fixed bug with camel casing of localState object
6
+
7
+ Firefox:
8
+ * Added support for Full Page Screenshots
9
+
10
+ Remote:
11
+ * Added support for #execute_cdp on Chrome and Edge
12
+
13
+ Ruby:
14
+ * Changed capabilities to use alwaysMatch instead of firstMatch by default
15
+ * Fixed bug preventing Options classes from handling Proxy instances
16
+
17
+ 4.0.0.beta3 (2021-04-13)
18
+ =========================
19
+
20
+ Chrome:
21
+ * Fixed a regression with prefs hash keys being converted to camelCase.
22
+ * Fixed an issue when passing Profile object to Options would fail.
23
+
24
+ DevTools:
25
+ * Released selenium-devtools 0.91.0 which:
26
+ - adds CDP versions 90 and 91
27
+ - removes CDP versions 86 and 87
28
+
29
+ Remote:
30
+ * Added support for setting alwaysMatch/firstMatch capabilities per W3C
31
+ WebDriver specification. It's done using the following methods where
32
+ `caps` is either a Ruby hash with desired capabilities or an instance
33
+ of Remote::Capabilities:
34
+ * Selenium::WebDriver::Remote::Capabilities.always_match(caps)
35
+ * Selenium::WebDriver::Remote::Capabilities.first_match(caps)
36
+ * Added support for Driver#save_print_page.
37
+ * Fixed an issue with Driver#print_page.
38
+ * Added support for setting timeouts capabilities in Remote::Capabilities
39
+ per W3C WebDriver specification.
40
+ * Added support for Element#aria_role which returns WAI-ARIA role of the element.
41
+ * Added support for Element#accessible name which returns WAI-ARIA label of the element.
42
+ * Added support for using DevTools version provided by Grid instead of
43
+ calculating it manually
44
+
45
+ Ruby:
46
+ * Remove JRuby-specific socket poller. Note that this requires JRuby 9.2.8.0+.
47
+
48
+ 4.0.0.beta2 (2021-03-16)
49
+ =========================
50
+
51
+ DevTools:
52
+ * Separated out DevTools methods into selenium-devtools gem to better manage versioning
53
+ * Updated supported versions to 85-89
54
+ * Add support for intercepting browser requests
55
+
56
+ Firefox:
57
+ * Add support for using DevTools commands with Firefox Nightly
58
+
59
+ Remote:
60
+ * Provide access to browser specific driver extensions as appropriate for designated browser
61
+ * Add support for using DevTools commands via Grid
62
+
63
+ Ruby:
64
+ * Spec Guard implementation moved into lib directory for other projects to use
65
+ * Implemented `Element#dom_attribute` to obtain attribute value as defined by w3c specification
66
+ * Implemented `Options#eq?`
67
+ * Allow Options subclass instances to be created from class methods in superclass
68
+
69
+ Safari:
70
+ * Fix bug that prevented usage of Safari Technology Preview
71
+
72
+ 4.0.0.beta1 (2021-02-15)
73
+ =========================
74
+
75
+ DevTools:
76
+ * Updated supported versions to 85-88
77
+
78
+ Edge:
79
+ * Removed support for legacy Edge HTML
80
+
81
+ Firefox:
82
+ * Fixed support for default profile settings
83
+ * Added support for Devtools for Firefox v87+
84
+
85
+ Safari:
86
+ * Removed default platformName specification so it works with Grid
87
+
88
+ Ruby:
89
+ * Added support for httpOnly attribute in Cookies
90
+ * Implemented `#print_page` method (thanks @raju249)
91
+ * Fixed support for missing libraries in Ruby 3.0 (thanks @znz)
92
+ * Deprecated `HTTP::Persistent` class
93
+ * Fixed support for accessors in options classes
94
+ * Added support for status endpoint for all browsers
95
+ * Fix support for Browser, Driver, and Performance Logging in Chrome and Edge
96
+
97
+ 4.0.0.alpha7 (2020-11-10)
98
+ =========================
99
+
100
+ Chrome:
101
+ * Fixed a link to download ChromeDriver when it's not found (thanks @masakazutakewaka).
102
+ * Fixed an issue when passing instance of Profile to an Options in capabilities
103
+ (thanks @masakazutakewaka).
104
+
105
+ DevTools:
106
+ * Added support for multiple version of CDP. Currently supported versions are
107
+ 84-87. The proper version is automatically selected when the browser is started
108
+ based on its version. The implementation is Chromium-based and is confirmed
109
+ to work in Chrome and Edge at least.
110
+ * Added support for basic authentication (see HasAuthentication).
111
+ * Added support for listening to JavaScript console messages (see HasLogEvents).
112
+ * Added support for listening to JavaScript exceptions (see HasLogEvents).
113
+ * Added support for listening to DOM mutations (see HasLogEvents).
114
+
115
+ Edge:
116
+ * Switched default Edge implementation to Chromium-based. To use older versions
117
+ of Edge, pass :edge_html when initializing the driver.
118
+
119
+ Firefox:
120
+ * Fixed an issue whereby using the new capabilities structure in local drivers
121
+ would cause the W3C check to complain that `browser_name` was an invalid
122
+ capability key name (thanks @luke-hill)
123
+
124
+ Ruby:
125
+ * Added support for taking screenshots of individual elements using Element#screenshot
126
+ (thanks @johndouthat).
127
+ * Fixed deprecation message of using Net::HTTP::Proxy (thanks @masakazutakewaka).
128
+ * Fixed false negative detection of Linux on WSL2 (thanks @snsten).
129
+ * Support ChildProcess 4.x versions (thanks @boutil).
130
+
131
+ Safari:
132
+ * Fixed browser name in capabilities for Safari Technology Preview.
133
+
134
+ 4.0.0.alpha6 (2020-05-28)
135
+ =========================
136
+
137
+ Chrome:
138
+ * Added DevTools classes and methods generated from the CDP specification.
139
+ It currently supports commands and events and provides Rubyish API:
140
+ driver.devtools.page.navigate(url: 'http://google.com')
141
+ driver.devtools.console.clear_messages
142
+ driver.devtools.page.enable
143
+ driver.devtools.page.on(:load_event_fired) do |params|
144
+ puts("Page loaded in #{params['timestamp']}")
145
+ end
146
+ Check https://chromedevtools.github.io/devtools-protocol/ for more information
147
+ about possible commands and events. Please note that this API is considered
148
+ to be experimental and may change any time before stable 4.0 release.
149
+ * Fixed an issue when passing :prompt_for_download (or similar snake_cased
150
+ symbols) in Options#prefs would be ignored by Chrome because Selenium
151
+ would internally convert it to camelCased format (:promptForDownload).
152
+ Now :prefs are left intact.
153
+
154
+ Edge:
155
+ * Fixed an issue when Driver#execute_cdp would not work for Chromium-based
156
+ Edge browser.
157
+
158
+ Ruby:
159
+ * Deprecated passing :desired_capabilities and :options to driver initialization
160
+ in favor of :capabilities. They now can be combined in an array to make
161
+ custom capabilities requirements:
162
+ caps = Selenium::WebDriver::Remote::Capabilities.chrome
163
+ opts = Selenium::WebDriver::Chrome::Options.new
164
+ Selenium::WebDriver.for(:remote, capabilities: :chrome)
165
+ Selenium::WebDriver.for(:remote, capabilities: caps)
166
+ Selenium::WebDriver.for(:remote, capabilities: opts)
167
+ Selenium::WebDriver.for(:remote, capabilities: [caps, opts])
168
+ * Deprecated passing Hash to :capabilities in favor of Remote::Capabilities object.
169
+ * Updated minimum require Ruby version to 2.5.
170
+ * Improved keyword arguments handling to avoid warnings in Ruby 2.7.
171
+
172
+ 4.0.0.alpha5 (2020-03-18)
173
+ =========================
174
+
175
+ The release is just to synchronize version with other bindings and does not
176
+ include any changes.
177
+
178
+ 4.0.0.alpha4 (2020-01-09)
179
+ =========================
180
+
181
+ Ruby:
182
+ * Added initial support for relative locators, which allow to find elements
183
+ above/below/left/right/near another element. For example, you can find all
184
+ the cells in a table to the right of your starting cell:
185
+ start_cell = driver.find_element(css: 'td')
186
+ right_cells = driver.find_elements(relative: {tag_name: 'td', right: start_cell})
187
+ The documentation is still lacking so refer to examples in df6be2e962.
188
+ * Added ability to silence certain logger messages by using it's identifiers:
189
+ Selenium::WebDriver.logger.ignore(:driver_path)
190
+ * Added new dependency: websocket. It's used for communicating with Chrome DevTools.
191
+ * Loosened childprocess dependency to allow using version 2.0+.
192
+ * Loosened rubyzip dependency to allow using version 2.0+.
193
+ * Fixed Errno::EACCES error on Linux DeX and similar distributes
194
+
195
+ Chrome:
196
+ * Added initial support for communicating with Chrome DevTools. The implementation
197
+ is very basic and lacks CDP domains, events and types - those will be added
198
+ in future releases. Still, it allows to execute simple commands to DevTools:
199
+ driver.devtools.send('Page.navigate', {url: 'https://google.com'})
200
+
201
+ 4.0.0.alpha3 (2019-07-08)
202
+ =========================
203
+
204
+ Ruby:
205
+ * All documented driver capabilities supported in respective browser Options class by constructor and accessor
206
+ * Driver constructor :options and :desired_capabilities generate the same capabilities for local and remote execution
207
+ * Deprecated :options as keyword for initializing browser Options classes
208
+
209
+ Chrome:
210
+ * Add support for browser logging with latest versions of chromedriver
211
+
212
+ Edge:
213
+ * Add support for Chromium based implementation
214
+
215
+ 4.0.0.alpha2 (2019-05-02)
216
+ =========================
217
+
218
+ Ruby:
219
+ * Fixed an issue with previous alpha release which lead to removed files
220
+ being packaged inside the gem
221
+
222
+ 4.0.0.alpha1 (2019-05-01)
223
+ =========================
224
+
225
+ Ruby:
226
+ * Removed Mouse and Keyboard as their implementations are not compliant to WebDriver specification
227
+ * Removed TouchActionBuilder as its implementation is not compliant to WebDriver specification
228
+ * Change ActionBuilder to be fully compliant to WebDriver specification
229
+ * Change Manager to be fully compliant to WebDriver specification
230
+ * Removed all deprecated errors that are not compliant to WebDriver specification
231
+ * Update minimum required Ruby version to 2.4
232
+ * Changed capabilities to use only those that are compliant to WebDriver specification
233
+ * Removed deprecated timeout setter on default HTTP client
234
+ * Removed deprecated Remote::W3C::Capabilities
235
+ * Fixed an issue when services are not shutdown properly
236
+
237
+ Chrome:
238
+ * Removed support for OSS mode - use W3C mode instead by using
239
+ Selenium::WebDriver::Chrome::Options.new(options: {w3c: true})
240
+
241
+ PhantomJS:
242
+ * Removed support for PhantomJS driver
243
+
244
+ Firefox:
245
+ * Removed support for legacy Firefox driver - use GeckoDriver instead
246
+ * Removed deprecated outdated capabilities
247
+ * Fixed an issue when passing :profile string to Firefox::Options.new would
248
+ result in NoMethodError. Now it will find a profile with such name on your
249
+ system and use it accordingly (issue #7119)
250
+
251
+ 3.142.7 (2019-12-27)
252
+ ====================
253
+
254
+ Ruby:
255
+ * Fix keyword argument deprecations in Ruby 2.7 (thanks @connorshea)
256
+
257
+ 3.142.6 (2019-10-04)
258
+ ====================
259
+
260
+ Ruby:
261
+ * Loosen ChildProcess dependency so that 3.0+ can be used (thanks @jaredbeck)
262
+
263
+ 3.142.5 (2019-10-01)
264
+ ====================
265
+
266
+ Ruby:
267
+ * Loosen RubyZip dependency so that 1.3+ can be used (thanks @vtamara)
268
+
269
+ 3.142.4 (2019-09-02)
270
+ ====================
271
+
272
+ Chrome:
273
+ * Added support for new command for getting logs in ChromeDriver 76+
274
+ with W3C mode on
275
+
276
+ 3.142.3 (2019-05-21)
277
+ ====================
278
+
279
+ Firefox:
280
+ * Fixed a regression when Firefox binary path was not sent to GeckoDriver
281
+ by default and browser could not be located (issue #7219)
282
+
283
+ 3.142.2 (2019-05-11)
284
+ ====================
285
+
286
+ Chrome:
287
+ * Fixed an issue when getting/setting network conditions and sending CDP
288
+ commands didn't work with Grid (issue #7174)
289
+
290
+ Safari:
291
+ * Fixed an issue when getting/setting permissions and attaching debugger
292
+ didn't work with Grid (issue #7174)
293
+
294
+ 3.142.1 (2019-05-07)
295
+ ====================
296
+
297
+ Firefox:
298
+ * Fixed an issue when processing error in legacy driver would result
299
+ in NoMethodError (issue #7178)
300
+
301
+ 3.142.0 (2019-04-24)
302
+ ====================
303
+
304
+ Ruby:
305
+ * Fixed an issue when services are not shutdown properly
306
+
307
+ Firefox:
308
+ * Fixed an issue when passing :profile string to Firefox::Options.new would
309
+ result in NoMethodError. Now it will find a profile with such name on your
310
+ system and use it accordingly (issue #7119)
311
+ * Fixed an issue when instantiating Firefox driver with capabilities having
312
+ :marionette would result in NoMethodError (issue #7120)
313
+
314
+ 3.141.5926 (2019-04-18)
315
+ =======================
316
+
317
+ Ruby:
318
+ * Fixed an issue when Selenium itself would print deprecation warning
319
+ for TimeoutError
320
+ * Fixed a regression when socket poller would raise Errno::EBADF on JRuby
321
+
322
+ 3.141.592 (2019-04-18)
323
+ ======================
324
+
325
+ Ruby:
326
+ * Updated minimum required Ruby version to 2.3
327
+ * Added support for ChildProcess 1.x
328
+ * Improved socket connection waiting (thanks @N0xFF)
329
+ * Changed waiting to use monotonic clock instead of Time class to avoid
330
+ collisions with Timecop and similar gems
331
+ * Removed deprecated PortProber.random
332
+ * Added strictFileInteractability to the list of known capabilities
333
+ * Added InsecureCertificateError
334
+ * Added support for setting SOCKS version in proxy (issue #6938)
335
+ * Implemented new window command using driver.manage.new_window. The command
336
+ is supported by recent Firefox, Safari and IE drivers (thanks @dylanlive)
337
+ * Added support for passing proc to driver_path setter in Service classes
338
+ * Deprecated all errors which don't exist in WebDriver specification
339
+ * Deprecated TouchActionBuilder which is not a part of WebDriver specification
340
+ and is only supported by Chrome, but is likely to be dropped in v75.
341
+ ActionBuilder should be used instead
342
+ * Deprecated using Remote::W3C::Capabilities in favor of Remote::Capabilities
343
+
344
+ Chrome:
345
+ * Added support for execute CDP commands using Driver#execute_cdp
346
+ * Removed GPU disabling in ChromeDriver when using Options#headless!
347
+ * Switched suggested download URL to HTTPS (thanks @JLLeitschuh)
348
+ * Added support for instantiating service class directly and moved all driver
349
+ executable configuration there (command-line arguments, port, etc.)
350
+ Passing driver_opts, driver_path and port to driver initializer is now
351
+ deprecated so use Selenium::WebDriver::Service.chrome instead, which allows
352
+ to customize executable behavior in similar way. Once initialized, this
353
+ object can be passed as :service keyword during driver initialization.
354
+ * Deprecated Chrome.driver_path= in favor of Service::Chrome.driver_path=
355
+
356
+ Edge:
357
+ * Added support for instantiating service class directly and moved all driver
358
+ executable configuration there (command-line arguments, port, etc.)
359
+ Passing driver_opts, driver_path and port to driver initializer is now
360
+ deprecated so use Selenium::WebDriver::Service.firefox instead, which allows
361
+ to customize executable behavior in similar way. Once initialized, this
362
+ object can be passed as :service keyword during driver initialization
363
+ * Deprecated Edge.driver_path= in favor of Service::Edge.driver_path=
364
+
365
+ Firefox:
366
+ * Deprecated legacy driver in favor of GeckoDriver
367
+ * Fixed Firefox path lookup on Cygwin (issue #6908)
368
+ * Added support for instantiating service class directly and moved all driver
369
+ executable configuration there (command-line arguments, port, etc.)
370
+ Passing driver_opts, driver_path and port to driver initializer is now
371
+ deprecated so use Selenium::WebDriver::Service.firefox instead, which allows
372
+ to customize executable behavior in similar way. Once initialized, this
373
+ object can be passed as :service keyword during driver initialization
374
+ * Deprecated Firefox.driver_path= in favor of Service::Firefox.driver_path=
375
+ * Deprecated outdated capabilities
376
+
377
+ IE:
378
+ * Fixed an issue when native events could not be disabled using IE::Options
379
+ initializer
380
+ * Added support for instantiating service class directly and moved all driver
381
+ executable configuration there (command-line arguments, port, etc.)
382
+ Passing driver_opts, driver_path and port to driver initializer is now
383
+ deprecated so use Selenium::WebDriver::Service.ie instead, which allows
384
+ to customize executable behavior in similar way. Once initialized, this
385
+ object can be passed as :service keyword during driver initialization
386
+ * Deprecated IE.driver_path= in favor of Service::IE.driver_path=
387
+
388
+ Safari:
389
+ * Added support for instantiating service class directly and moved all driver
390
+ executable configuration there (command-line arguments, port, etc.)
391
+ Passing driver_opts, driver_path and port to driver initializer is now
392
+ deprecated so use Selenium::WebDriver::Service.safari instead, which allows
393
+ to customize executable behavior in similar way. Once initialized, this
394
+ object can be passed as :service keyword during driver initialization
395
+ * Deprecated Safari.driver_path= in favor of Service::Safari.driver_path=
396
+
397
+ Remote:
398
+ * Change default HTTP client to use persistent connections
399
+
400
+ 3.141.0 (2018-10-31)
401
+ ====================
402
+
403
+ Edge:
404
+ * Added new Edge::Options class that should be used to customize browser
405
+ behavior. The instance of options class can be passed to driver
406
+ initialization using :options key. Please, note that using options require
407
+ insiders builds of Edge.
408
+
409
+ Chrome:
410
+ * Included HasLocation to Chrome driver (thanks @sidonath).
411
+ * Updated endpoint to send Chrome Debugging Protocol commands. The old one
412
+ has been deprecated in ChromeDriver 40.
413
+
414
+ Safari:
415
+ * Added new Safari::Options class that should be used to customize browser
416
+ behavior. The instance of options class can be passed to driver
417
+ initialization using :options key. Please, note that using options require
418
+ Safari 12+.
419
+
420
+ Remote:
421
+ * Allow passing Options instances to remote driver initialization using
422
+ :options key. This feature allows to use browser-specific options classes
423
+ (Chrome::Options, Firefox::Options, etc.) and pass them to Server/Grid
424
+ instead of capabilities.
425
+
426
+ 3.14.1 (2018-10-03)
427
+ ===================
428
+
429
+ Ruby:
430
+ * Added a workaround to ignore Errno::EALREADY error when starting drivers
431
+ on Windows Subsystem for Linux
432
+ * Changed default pause duration to 0 for Selenium::WebDriver::Driver#action#pause (thanks @twalpole)
433
+ * Deprecated Selenium::WebDriver::PortProber#random
434
+ in favor of Selenium::WebDriver::PortProber#above
435
+ * Fixed a bug when Selenium::WebDriver::Element#drag_and_drop would not
436
+ work in certain cases
437
+ * Updated RubyZip dependency to 1.2.2 which fixes security vulnerability
438
+
439
+ Edge:
440
+ * Added support for --silent driver flag
441
+ * Fixed an incorrect dash symbol when passing arguments to MicrosoftWebDriver.exe
442
+
443
+ Firefox:
444
+ * Fixed an incorrect dash symbol when passing arguments to GeckoDriver
445
+
446
+ Safari:
447
+ * Fixed a bug when Selenium::WebDriver::Element#displayed? would raise error
448
+ in Safari 12
449
+
450
+ 3.14.0 (2018-08-03)
451
+ ===================
452
+
453
+ Ruby:
454
+ * Allow to customize default duration of movement of pointer actions using
455
+ Driver#action#default_move_duration= (thanks @prakharrr)
456
+ * Fixed an accidentally removed Selenium::WebDriver::Error::TimeoutError (thanks @twalpole)
457
+
458
+ Server:
459
+ * Fixed an issue when Server.latest couldn't parse the version
460
+
461
+ Remote:
462
+ * Added support for uploading multiple files by passing them as a string
463
+ separated by \n to Element#send_keys. Please, note that not all the drivers
464
+ have multiple file upload implemented (tested to work in ChromeDriver).
465
+
466
+ 3.13.1 (2018-07-20)
467
+ ===================
468
+
469
+ Chrome:
470
+ * Fixed an issue when empty Chrome options would cause DevToolsActivePort issue (thanks @artplan1)
471
+
472
+ Remote:
473
+ * Support detecting local files (thanks @mskvn)
474
+
475
+ 3.13.0 (2018-06-25)
476
+ ===================
477
+
478
+ Ruby:
479
+ * Address warnings for redefined methods and uninitialized instance variables
480
+
481
+ Chrome:
482
+ * Chrome options capabilities updated to use goog:chromeOptions.
483
+ Note that Selenium now requires ChromeDriver v2.31 at minimum.
484
+ * Added ability to tell headless Chrome to save files using Driver#download_path= (thanks @pelly)
485
+
486
+ 3.12.0 (2018-05-08)
487
+ ===================
488
+
489
+ Ruby:
490
+ * Added User-Agent header to requests from Selenium to give remote
491
+ ends more visibility into distribution of clients (thanks @sah)
492
+ * Added Selenium::WebDriver::VERSION constant (thanks @sah)
493
+ * Added changelog link to RubyGems page
494
+ * Fixed a bug when requests were sent with empty Content-Type,
495
+ which should instead be application/json (issue #5615 and #5659)
496
+ * Fixed a bug when failed connection attempt was retried without
497
+ grace period for remote to resolve its problem (thanks @amckinley42)
498
+ * Fixed a bug with accidentally removed HasNetworkConnection driver extension
499
+
500
+ Chrome:
501
+ * Fixed a bug when deprecation message for using Chrome extensions
502
+ was incorrectly shown (thanks @treby)
503
+
504
+ Safari:
505
+ * Added support getting permissions via Driver#permissions
506
+ * Added support setting permissions via Driver#permissions=
507
+ * Added support enabling web inspector via Driver#attach_debugger
508
+
509
+ 3.11.0 (2018-03-11)
510
+ ===================
511
+
512
+ Ruby:
513
+ * No changes in Ruby bindings for this release
514
+
515
+ 3.10.0 (2018-03-02)
516
+ ===================
517
+
518
+ Ruby:
519
+ * Added Errno::EAFNOSUPPORT to the list of ignored errors when finding port (thanks @jtarchie)
520
+ * Added automatic conversion of noProxy to the list of strings as required
521
+ by W3C WebDriver Specification (issue #5004)
522
+
523
+ Chrome:
524
+ * Added Chrome::Options#headless! shortcut to enable headless mode (thanks @pulkitsharma07)
525
+
526
+ IE:
527
+ * Added support for getting local storage using Driver#local_storage
528
+ * Added support for getting session storage using Driver#session_storage
529
+
530
+ 3.9.0 (2018-02-06)
531
+ ==================
532
+
533
+ Ruby:
534
+ * Fixed a bug when omitted capabilities caused NoMethodError (issue #5185)
535
+ * Fixed a bug when getting page source in W3C dialect caused WebDriverError (thanks @KazuCocoa)
536
+ * Fixed a bug when getting backtrace of server error would case NoMethodError (thanks @mcking49)
537
+ * Updated YARD to ~> 0.9.11
538
+ * Updated rubyzip to ~> 1.2 (thanks @michaelglass)
539
+
540
+ Chrome:
541
+ * Added support for getting network conditions via Driver#network_conditions
542
+ * Added support for setting network conditions via Driver#network_conditions=
543
+ * Added support to allow driver respond with custom error codes (issue #5376)
544
+
545
+ Firefox:
546
+ * Improved GeckoDriver binary lookup mechanism (issue #5240)
547
+
548
+ 3.8.0 (2017-12-01)
549
+ ==================
550
+
551
+ Ruby:
552
+ * Removed deprecated Alert#authenticate
553
+ * Removed deprecated :port initialization argument of Remote::Bridge.
554
+ Use :url instead.
555
+ * Removed deprecated Selenium::WebDriver::Remote::W3CCapabilities.
556
+ Use Selenium::WebDriver::Remote::Capabilities instead.
557
+
558
+ IE:
559
+ * Remove deprecated :log_file driver initialization argument.
560
+ Use driver_opts: {log_file: ''} instead.
561
+ * Remove deprecated :log_level driver initialization argument.
562
+ Use driver_opts: {log_level: ''} instead.
563
+ * Remove deprecated :implementation driver initialization argument.
564
+ Use driver_opts: {implementation: ''} instead.
565
+ * Removed deprecated :service_args driver initialization argument.
566
+ Use driver_opts: {args: ['--some-switch']} instead.
567
+
568
+ Chrome:
569
+ * Removed deprecated :service_log_path driver initialization argument.
570
+ Use driver_opts: {log_path: 'path'} instead.
571
+ * Removed deprecated :service_args driver initialization argument.
572
+ Use driver_opts: {args: ['--some-switch']} instead.
573
+
574
+ Firefox:
575
+ * Removed deprecated :service_args driver initialization argument.
576
+ Use driver_opts: {args: ['--some-switch']} instead.
577
+
578
+ Safari:
579
+ * Removed deprecated :service_args driver initialization argument.
580
+ Use driver_opts: {args: ['--some-switch']} instead.
581
+
582
+ Edge:
583
+ * Removed deprecated :service_args driver initialization argument.
584
+ Use driver_opts: {args: ['--some-switch']} instead.
585
+
586
+ 3.7.0 (2017-11-03)
587
+ ==================
588
+
589
+ Ruby:
590
+ * Added //rb:lint task to check codebase using RuboCop (thanks @RustyNail)
591
+ * Fixed codebase to comply more to Ruby community style guide (thanks @RustyNail)
592
+ * Packaged all dependencies to Selenium repository so that non-Ruby committers
593
+ can build and test Ruby bindings easier
594
+ * Update errors list according to latest changes of specification (thanks @jaysonesmith)
595
+
596
+ Firefox:
597
+ * Added Firefox::Options#headless! shortcut to enable headless mode (thanks @franzliedke)
598
+
599
+ 3.6.0 (2017-09-25)
600
+ ==================
601
+
602
+ Edge:
603
+ * Fixed a bug when execute_script failed using server + Edge (issue #4651)
604
+
605
+ Firefox:
606
+ * Fixed a bug when web extension failed to install using profile class (issue #4093)
607
+
608
+ PhantomJS:
609
+ * Support is deprecated in favor of headless Chrome/Firefox or HTMLUnit.
610
+ PhantomJS is no longer actively developed, and support will eventually
611
+ be dropped.
612
+
613
+ 3.5.2 (2017-09-07)
614
+ ==================
615
+
616
+ Ruby:
617
+ * Removed platformVersion from W3C payload (issue #4641)
618
+ * Fixed a bug when proxy type was not compliant to specification (issue #4574)
619
+ * Added support for passing speed to flick action (issue #4549)
620
+ * Using TouchActionBuilder no longer prints mouse/key deprecations
621
+ * Deprecated Alert#authenticate
622
+ * Added support for DEBUG environment variable which enables full debug mode in gem
623
+
624
+ Firefox:
625
+ * Fixed a bug when page load timeout was not properly constructed in new session payload
626
+ * Fixed a bug when GeckoDriver error stacktrace was not displayed (issue #3683)
627
+
628
+ Chrome:
629
+ * Added workaround for the case when findElements call returns null (issue #4555)
630
+ * Chrome::Driver now includes touch actions by default
631
+
632
+ 3.5.1 (2017-08-15)
633
+ ==================
634
+
635
+ Ruby:
636
+ * Fixed a bug when Chrome/Firefox (and probably other) drivers could not be
637
+ started on JRuby (issue #4453).
638
+
639
+ 3.5.0 (2017-08-10)
640
+ ==================
641
+
642
+ Firefox:
643
+ * Firefox subprocess output is now only redirected when debug is set (issue #4311)
644
+ * Fixed a bug where non-integers could be sent when setting window rect
645
+ * Fixed Firefox location detection on Windows_x64 (thanks kamenlitchev)
646
+ * Fixed passing of profile with a W3C compatible remote end
647
+
648
+ IE:
649
+ * Added new IE::Options class that should be used to customize browser
650
+ behavior (native events, element scroll behavior, etc).
651
+ The instance of options class can be passed to driver initialization using
652
+ :options key. Old way of passing these customization directly to driver
653
+ initialization is deprecated.
654
+
655
+ 3.4.4 (2017-07-13)
656
+ ==================
657
+
658
+ Firefox:
659
+ * Added support for GeckoDriver install addon command (issue 4215).
660
+ * Added support for GeckoDriver uninstall addon command (issue 4215).
661
+ * Raise error when passing :firefox_options as capability.
662
+
663
+ Ruby:
664
+ * Fixed a bug when childprocess were leaking /dev/null file descriptor (issue 4285).
665
+ * Make Remote::Driver class so that it can be inherited from.
666
+
667
+ 3.4.3 (2017-06-16)
668
+ ==================
669
+
670
+ Ruby:
671
+ * Fixed a regression when passing symbol as :desired_capabilities caused NoMethodError (issue 4187).
672
+
673
+ 3.4.2 (2017-06-14)
674
+ ==================
675
+
676
+ Ruby:
677
+ * Added unhandledPromptBehavior to the list of known capabilities.
678
+ * Added timeouts to the list of known capabilities.
679
+ * Fixed a regression when passing hash as :desired_capabilities caused NoMethodError (issue 4172, thanks Thomas Walpole).
680
+ * Fixed a regression when extension capabilities (the ones that have ":" inside)
681
+ were filtered out when doing protocol handshake.
682
+ * Improved handling of capability names passed as plain camelCased strings
683
+ vs Rubyish snake_cased symbols when doing protocol handshake.
684
+
685
+ Chrome:
686
+ * Fixed a regression when passing :switches to driver initialization was ignored.
687
+
688
+ 3.4.1 (2017-06-13)
689
+ ==================
690
+
691
+ Ruby:
692
+ * Implemented a new dual-dialect mechanism for communication with drivers
693
+ (a.k.a. protocol handshake). There shouldn't be any noticeable differences
694
+ but since this is a significant refactoring of internal APIs, some bugs
695
+ could slip into the release.
696
+ * Renamed ElementClickIntercepted to ElementClickInterceptedError.
697
+ * Renamed ElementNotInteractable to ElementNotInteractableError.
698
+ * Deprecated W3CCapabilities in favor of Capabilities (it was meant to be private API).
699
+ * Added a warning when trying to save screenshot without .png extension (thanks @abotalov).
700
+
701
+ IE:
702
+ * Added support for both old IEDriver which uses OSS dialect of JSON wire
703
+ protocol (<= 3.4.0) and new IEDriver which uses W3C dialect (not yet released).
704
+
705
+ Safari:
706
+ * Removed runtime dependencies used for old SafariDriver (u.g. websocket).
707
+
708
+ Chrome:
709
+ * Added new Chrome::Options class that should be used to customize browser
710
+ behavior (command line arguments, extensions, preferences, mobile emulation, etc.).
711
+ The instance of options class can be passed to driver initialization using
712
+ :options key. Old way of passing these customization directly to driver
713
+ initialization is deprecated.
714
+
715
+ Firefox:
716
+ * Added new Firefox::Options class that should be used to customize browser
717
+ behavior (command line arguments, profile, preferences, Firefox binary, etc.).
718
+ The instance of options class can be passed to driver initialization using
719
+ :options key. Old way of passing these customization directly to driver
720
+ initialization is deprecated.
721
+
722
+ 3.4.0 (2017-04-21)
723
+ ===================
724
+
725
+ Edge:
726
+ * Fix bug when response is not wrapped with "value"
727
+
728
+ Firefox:
729
+ * Support geckodriver v0.16
730
+
731
+ Ruby:
732
+ * Support ElementClickIntercepted error from W3C spec
733
+ * Support ElementNotInteractable error from W3C spec
734
+ * Implement window rect commands
735
+ * Implement window minimize command
736
+
737
+ 3.3.0 (2017-03-07)
738
+ ===================
739
+
740
+ Firefox:
741
+ * geckodriver v0.15 or later is required
742
+
743
+ W3C:
744
+ * Support for command response data to be wrapped in a 'value' key
745
+ * Support for updated timeout formats
746
+
747
+ 3.2.2 (2017-03-01)
748
+ ===================
749
+
750
+ Ruby:
751
+ * Fix bug for supporting Logger output on Ruby versions < 2.3
752
+ * Add more logging and adjust output levels
753
+
754
+ Remote:
755
+ * Support for creating Remote session with browser name and url parameters
756
+
757
+ 3.2.1 (2017-02-24)
758
+ ===================
759
+
760
+ Ruby:
761
+ * Fix bug for supporting Logger on Ruby versions < 2.3
762
+
763
+ 3.2.0 (2017-02-22)
764
+ ===================
765
+
766
+ Ruby:
767
+ * Implement new Logger class
768
+ * Fix issue with chromedriver process leader incompatibility on Win7 (issue 3512)
769
+
770
+ 3.1.0 (2017-02-14)
771
+ ===================
772
+
773
+ Firefox:
774
+ * implement W3C actions endpoint
775
+
776
+ 3.0.8 (2017-02-08)
777
+ ===================
778
+
779
+ Firefox:
780
+ * Fix signature of element returned from #active_element
781
+
782
+ 3.0.7 (2017-02-06)
783
+ ===================
784
+
785
+ Firefox:
786
+ * Fix signature of element arrays returned from #find_elements (issue 3471)
787
+
788
+ 3.0.6 (2017-02-05)
789
+ ===================
790
+
791
+ Firefox:
792
+ * Implement W3C window position
793
+ * Update implementation for W3C send text to alert
794
+ * Implement timeout settings
795
+ * Remove default capabilities (thanks lmtierney)
796
+ * Fix signature of elements returned from #execute_script (thanks Thomas Walpole)
797
+
798
+ 3.0.5 (2016-12-27)
799
+ ===================
800
+
801
+ Ruby:
802
+ * Support for Ruby 2.4.0 (Thanks jamespdo)
803
+
804
+ 3.0.4 (2016-12-21)
805
+ ===================
806
+
807
+ Firefox:
808
+ * Implement profile support via geckodriver (#2933 thanks lmtierney)
809
+
810
+ Ruby:
811
+ * Fix bug preventing use of Curb client (#2951 thanks clarkenciel)
812
+ * Support Net::HTTP::Persistent version 3 (#3219 thanks Pete Johns)
813
+ * Allow Net::HTTP::Default to set open_timout and read_timeout independently (#3264 thanks richseviora)
814
+ * Change default for Net::HTTP::Default#open_timeout to facilitate debuggers (#3264 thanks richseviora)
815
+
816
+ 3.0.3 (2016-11-26)
817
+ ===================
818
+
819
+ Ruby:
820
+ * Allow drivers to be executed from batch files on Windows
821
+
822
+ 3.0.2 (2016-11-25)
823
+ ===================
824
+
825
+ Ruby:
826
+ * Implement #driver_path as parameter when initializing a driver (thanks lmtierney)
827
+ * Improve Ruby syntax in driver commands (thanks joe_schulte)
828
+ * Improve performance when shutting down drivers (thanks lmtierney)
829
+ * Fix bug for finding open ports on Windows (thanks kou1okada)
830
+ * Fix bug in auto detection of drivers which allowed selection of non-executable binaries
831
+
832
+ W3C:
833
+ * Implement #cookie_named and #delete_all_cookies methods (thanks lmtierney)
834
+ * Implement element #property method (thanks lmtierney)
835
+
836
+ Chrome:
837
+ * Fix bug in switches (thanks danvine)
838
+
839
+ 3.0.1 (2016-11-06)
840
+ ===================
841
+
842
+ Ruby:
843
+ * Always send JSON Wire Protocol commands to server instead of W3C commands
844
+
845
+ 3.0.0 (2016-10-13)
846
+ ===================
847
+
848
+ Firefox:
849
+ * Update :firefox_options support for geckodriver 0.11
850
+
851
+ 3.0.0.beta4 (2016-09-29)
852
+ ===================
853
+
854
+ Ruby:
855
+ * Remove support for deprecated driver options
856
+ * Add support for latest driver options
857
+ * Add support for :port parameter for launching driver
858
+ * Add support for :service_args parameter for driver command line switches
859
+ * Improve reliability by increasing service shutdown timeout (#2815; thanks John Barbuto )
860
+
861
+ Firefox:
862
+ * Add support for :firefox_options in geckodriver
863
+
864
+ Safari:
865
+ * Remove support for legacy Safari driver (use Apple's driver built in to Safari 10+)
866
+
867
+ Chrome:
868
+ * Set chromedriver to not log by default
869
+
870
+ 3.0.0.beta3.1 (2016-09-03)
871
+ ===================
872
+
873
+ Firefox:
874
+ * Fixed bug - legacy firefox extension included in gem
875
+
876
+ 3.0.0.beta3 (2016-09-01)
877
+ ===================
878
+
879
+ Firefox:
880
+ * Implemented w3c getAttribute with javascript atom
881
+
882
+ 3.0.0.beta2.1 (2016-08-03)
883
+ ===================
884
+
885
+ Ruby:
886
+ * Fixed bug in collections
887
+
888
+ 3.0.0.beta2 (2016-08-02)
889
+ ===================
890
+
891
+ Firefox:
892
+ * Fixed bug with form submission
893
+ * Improved w3c element handling
894
+
895
+ 3.0.0.beta1 (2016-07-28)
896
+ ===================
897
+
898
+ Ruby:
899
+ * Remove support for RC client
900
+ * Remove support for Ruby < 2.0
901
+ * Update code to support designated style guidelines
902
+ * Chrome/GeckoDriver/PhantomJS/IE/Edge drivers are refactored to use standard
903
+ service class (issue 1797)
904
+ * Option `:timeout` was removed from IE server (issue 1797)
905
+
906
+ Chrome:
907
+ * Remove override of default chromedriver behavior for chrome.detach (issue 2418)
908
+
909
+ Firefox:
910
+ * Rename wires to geckodriver
911
+ * Change default usage from FirefoxDriver to geckodriver
912
+
913
+ Safari:
914
+ * Initial support for Apple's Safari Driver in Sierra (issue #2475)
915
+
916
+ Android and iPhone:
917
+ * Remove support for deprecated classes (Issue #2476)
918
+
919
+ 2.53.0 (2016-03-15)
920
+ ===================
921
+
922
+ Ruby:
923
+ * Removed dependency on "multi_json" (issue 1632)
924
+ * Properly handle namespaces in install manifest of Firefox add-ons (issue 1143)
925
+ * Improve error handling when stopping browsers (thanks bsedat)
926
+ * Fix deselecting options in select lists (thanks glib-briia)
927
+ * Fix w3c error handling
928
+ * Update w3c Capabilities support
929
+
930
+ IE:
931
+ * support for alert credentials (issue #1698, thanks Alan Baird & trabulmonkee)
932
+
933
+ 2.52.0 (2016-02-12)
934
+ ===================
935
+
936
+ No Ruby changes in this release.
937
+
938
+ 2.51.0 (2016-02-05)
939
+ ===================
940
+
941
+ No Ruby changes in this release.
942
+
943
+ 2.50.0 (2016-01-27)
944
+ ===================
945
+
946
+ Firefox:
947
+ * Fix bug for locating binary in local path (issue 1523, thanks Gopal Patel)
948
+
949
+ 2.49.0 (2016-01-13)
950
+ ===================
951
+
952
+ Ruby:
953
+ * support for SessionNotCreatedError (thanks Alexander Bayandin)
954
+
955
+ Safari:
956
+ * Limit support to OS X (issue 1186)
957
+ * support for multiple concurrent drivers
958
+
959
+ PhantomJS:
960
+ * Implement Socket locking
961
+
962
+ IE:
963
+ * support for multiple concurrent drivers
964
+
965
+ Chrome:
966
+ * prevent 404 error when shutting down Chrome service (thanks Fumiaki MATSUSHIMA)
967
+ * logging turned on by default
968
+ * support local storage capabilities
969
+
970
+ Firefox:
971
+ * support setting the location of Firefox binary to use when run locally
972
+ * add default lookup of Homebrew Cask default directory (issue 1437)
973
+
974
+ W3C Specification:
975
+ * support for using with Remote WebDriver
976
+ * implement window size command
977
+ * implement window position command
978
+ * implement element size command
979
+ * implement element position command
980
+ * implement full screen window command
981
+ * implement page source command
982
+
983
+ 2.48.1 (2015-10-13)
984
+ ===================
985
+
986
+ Firefox:
987
+ * Mozilla's Wires Driver for Marionette works with Remote WebDriver
988
+
989
+ 2.48.0 (2015-10-07)
990
+ ===================
991
+
992
+ Firefox:
993
+ * Initial implementation of Mozilla's Wires Driver for Marionette; Supported in version 43 and higher
994
+
995
+ Edge:
996
+ * Fix execution with Remote Server
997
+ * Fix Javascript Execution
998
+ * Implement Alert Handling
999
+ * Implement Window Switching
1000
+
1001
+ Ruby:
1002
+ * Initial implementation of W3C WebDriver syntax to support Mozilla Wires
1003
+ * Change to RSpec expect syntax
1004
+ * Specs can be run from relative directories
1005
+
1006
+
1007
+ 2.47.1 (2015-07-31)
1008
+ ===================
1009
+
1010
+ Edge:
1011
+ * Initial implementation of Microsoft's EdgeDriver
1012
+
1013
+
1014
+ 2.47.0 (2015-07-29)
1015
+ ===================
1016
+
1017
+ Safari:
1018
+ * Remove support for installing additional extensions due to architectural changes introduced with Safari 7
1019
+
1020
+ 2.46.2 (2015-06-05)
1021
+ ===================
1022
+ * Fix encoding issue which prevents Element#send_keys to work on Ruby < 2.0 (#621)
1023
+
1024
+ 2.46.1 (2015-06-04)
1025
+ ===================
1026
+ * Fix aborted rubygems.org release
1027
+
1028
+ 2.46.0 (2015-06-04)
1029
+ ===================
1030
+
1031
+ Firefox:
1032
+ * Support for Firefox 38
1033
+ * Fix performance bug by not forcing garbage collection in httpd.js
1034
+
1035
+ Chrome:
1036
+ * Fixed ChromeDriver port race condition (#449 - thanks Jason Anderson)
1037
+
1038
+ Ruby changes:
1039
+ * Retry binding to ports unavailable by EADDRNOTAVAIL (#394).
1040
+ * Remove Presto-Opera support (Blink-based Opera still supported)
1041
+
1042
+ 2.45.0 (2015-02-28)
1043
+ ===================
1044
+
1045
+ Firefox:
1046
+ * Native events in Firefox relied on an API that Mozilla no longer
1047
+ provides. As such, fall back to synthesized events on recent Firefox
1048
+ versions.
1049
+
1050
+ Ruby changes:
1051
+ * Allow switching windows when current window is closed (thanks Titus Fortner).
1052
+ * Add :javascript_enabled to Android capabilities.
1053
+
1054
+ 2.44.0 (2014-10-05)
1055
+ ===================
1056
+
1057
+ No Ruby changes in this release.
1058
+
1059
+ Firefox:
1060
+ * Native event support for Firefox 24, 31, 32 and 33
1061
+
1062
+ 2.43.0 (2014-09-09)
1063
+ ===================
1064
+
1065
+ * Make sure UnhandledAlertErrors includes the alert text if provided by the driver.
1066
+ * Firefox
1067
+ - Make sure the browser process is properly killed if silent startup hangs (#7392)
1068
+ - native events support for Firefox 24, 31 and 32
1069
+ * Loosen websocket dependency to ~> 1.0
1070
+ * Add support for `switch_to.parent_frame` (thanks abotalov)
1071
+ * Fix download location for Selenium::Server.{latest,get} (#7049 - thanks marekj)
1072
+
1073
+ 2.42.0 (2014-05-23)
1074
+ ===================
1075
+
1076
+ Firefox:
1077
+ * Fix for extensions whose install.rdf uses an attribute for em:id (#5978)
1078
+ * Support for Firefox 29 Native Events
1079
+
1080
+ 2.41.0 (2014-03-28)
1081
+ ===================
1082
+
1083
+ * Removed dead browser visibility methods.
1084
+ * Firefox:
1085
+ * Native events support for Firefox 28 (removed support for 26)
1086
+
1087
+ 2.40.0 (2014-02-19)
1088
+ ===================
1089
+
1090
+ * Fix bug where FileReaper would not reap files added in a child process
1091
+ * Document AbstractEventListener (#5994)
1092
+ * Safari:
1093
+ * Add Safari::Options + clean up Safari extension handling (#6382)
1094
+ * Add support for user extensions (#6815)
1095
+ * Firefox:
1096
+ * Support native events for Firefox 27 + removed native event support for Firefox 25
1097
+
1098
+ 2.39.0 (2013-12-17)
1099
+ ===================
1100
+
1101
+ * Firefox: Native events support for Firefox 26.
1102
+ * Add deprecation warning to the Android driver.
1103
+ * Make sure selenium/client doesn't require Rake (#6709)
1104
+
1105
+ 2.38.0 (2013-12-05)
1106
+ ===================
1107
+
1108
+ * Enforce required Ruby version in gemspec, not just transitively through rubyzip.
1109
+ * Expose the logging API (beta API, subject to change) in the Ruby client: driver.manage.logs #=> Selenium::WebDriver::Logs
1110
+ * Update to support native events for Firefox 25
1111
+
1112
+
1113
+ 2.37.0 (2013-10-18)
1114
+ ===================
1115
+
1116
+ * As of this version, selenium-webdriver no longer supports Ruby < 1.9.2
1117
+ * Depend on rubyzip ~> 1.0.0
1118
+ * Added SOCKS proxy support
1119
+ * Fixed support for SVG documents in the atoms.
1120
+ * Fixed computing an element's container dimensions to account for the scrollbar size when scrolling
1121
+ * Added Capabilities.htmlunitwithjs
1122
+
1123
+ Chrome:
1124
+ * Pass through the prefs option as a Chrome capability (#5929).
1125
+ Firefox:
1126
+ * Updated Firefox native event components to support Firefox 24.
1127
+ * New elementScrollBehavior capability.
1128
+ * Fixed getLocation to work on scrolled pages.
1129
+ * Fixed autoscrolling for elements located in frames.
1130
+ * Fixed drag-n-drop for elements in frames with native events
1131
+ IE:
1132
+ * Use native events by default, also for remote IE (#4695)
1133
+ Safari:
1134
+ * Enable screenshots and input devices in the client.
1135
+
1136
+ 2.35.1 (2013-08-26)
1137
+ ===================
1138
+
1139
+ * Depend on rubyzip < 1.0.0
1140
+
1141
+ 2.35.0 (2013-08-14)
1142
+ ===================
1143
+
1144
+ Firefox:
1145
+ * Updated Firefox native event components to support Firefox 23.
1146
+
1147
+ 2.34.0 (2013-08-06)
1148
+ ===================
1149
+
1150
+ Remote:
1151
+ * Add `Driver#remote_status` (remote driver only) (#5669)
1152
+ Firefox:
1153
+ * Updated Firefox native event components to support Firefox 22.
1154
+ iPhone:
1155
+ * The driver is now deprecated (see http://appium.io/ or http://ios-driver.github.io/ios-driver/ for a replacement)
1156
+ Various:
1157
+ * Updated our copy of the Closure compiler and library to the most
1158
+ recent versions.
1159
+ * Updated the atoms library, including support for MS pointer events
1160
+ and refinements to element visibility tests.
1161
+ * Update synthesized mouse implementation. Mouse moves are
1162
+ implemented using nsIDOMWindowUtils.
1163
+ * Added support for the HTML5 "hidden" attribute. If an element, or
1164
+ ancestor, has hidden attribute make, it is not shown.
1165
+
1166
+ 2.33.0 (2013-05-26)
1167
+ ===================
1168
+
1169
+ Remote:
1170
+ * Support rotating devices, such as iPhone & iPad in simulator and Android browser in emulator
1171
+ * Support for interacting with touch screen devices, such as iPhone & iPad in simulator and Android browser in emulator
1172
+ * Improve error messages for invalid wire protocol responses
1173
+ Chrome:
1174
+ * Accept :service_log_path for Chrome. (#3475)
1175
+ IE:
1176
+ * IE >=9 versions triggerMouseEvent like other browsers (#2218).
1177
+ Various:
1178
+ * Element#text ignores elements in <head>
1179
+
1180
+
1181
+ 2.32.1 (2013-04-11)
1182
+ ===================
1183
+
1184
+ Safari:
1185
+ * Fix typo when encoding the Safari server redirect URL (#5472)
1186
+
1187
+ 2.32.0 (2013-04-09)
1188
+ ===================
1189
+
1190
+ Safari:
1191
+ * The Safari extension is now packaged with the gem and automatically installed (#5322)
1192
+ * Improved detection of the binary location on 64-bit windows (#5273)
1193
+ Opera:
1194
+ * Allow passing :desired_capabailities (#5279)
1195
+ Firefox:
1196
+ * This release supports versions 10esr, 17esr, 19, 20.
1197
+ * Improved SVG support
1198
+ Other:
1199
+ * Allow #click_and_hold without target (#5410).
1200
+ * Remove assumptions about returned capabilities (for ios-driver)
1201
+
1202
+ 2.31.0 (2013-03-02)
1203
+ ===================
1204
+
1205
+ Remote:
1206
+ * Expose session_id on the remote driver when used directly (#5240).
1207
+ Firefox:
1208
+ * Native events in Firefox 19
1209
+ Opera:
1210
+ * Treat UNSPECIFIED proxy type as a nil proxy (#5081).
1211
+ Other:
1212
+ * Add ability to pass :desired_capabilities to all the Ruby drivers, not just for :remote.
1213
+ Direct arguments take presendence. (#5078, see also https://github.com/SeleniumHQ/selenium/pull/8, https://github.com/SeleniumHQ/selenium/pull/11)
1214
+
1215
+ 2.30.0 (2013-02-20)
1216
+ ===================
1217
+
1218
+ Firefox:
1219
+ * Firefox 19 support (for synthesized events)
1220
+ Remote:
1221
+ * Pass along firefox_binary correctly (#5152)
1222
+ Safari:
1223
+ * Don't overwrite Driver#browser
1224
+ Other
1225
+ * Alert#text should raise on closed alert.
1226
+
1227
+ 2.29.0 (2013-01-21)
1228
+ ===================
1229
+
1230
+ Firefox:
1231
+ * Firefox 18 support (for native events).
1232
+ IE:
1233
+ * New 'requireWindowFocus' desired capability.
1234
+ * IE view port calculation take scroll bars into account (#3602)
1235
+ Safari:
1236
+ * Replace 'libwebsocket' with 'websocket' gem. This should ensure
1237
+ support with recent Safari.
1238
+ Other:
1239
+ * Fix Cygwin issue in PortProber/Firefox::Bianry (#4963)
1240
+
1241
+ 2.27.2 (2012-12-11)
1242
+ ===================
1243
+
1244
+ Firefox:
1245
+ * Fix for native events in v17 (packaging mistake)
1246
+
1247
+ 2.27.1 (2012-12-07)
1248
+ ===================
1249
+
1250
+ Firefox:
1251
+ * Fix "g[b] is not an object" error when passing null to execute_script.
1252
+
1253
+ 2.27.0 (2012-12-06)
1254
+ ===================
1255
+
1256
+ Firefox:
1257
+ * Support for Firefox 17.
1258
+ IE:
1259
+ * Path to the server executable can be specified (S::W::IE.path=)
1260
+ Other:
1261
+ * Added :phantomjs driver
1262
+
1263
+ 2.26.0 (2012-11-02)
1264
+ ===================
1265
+
1266
+ Firefox:
1267
+ * Added support for native events for Firefox 15 and 16.
1268
+ * Modified FirefoxDriver to use atoms to switch between frames.
1269
+ * FIXED: 4309: 'Could not convert Native argument arg 0' error with Firefox.
1270
+ * FIXED: 4375: Executing javascript hangs Firefox.
1271
+ * FIXED: 4165: WebDriver fails on a machine with no IP address.
1272
+ Safari:
1273
+ * Fixed SafariDriver to allow calling .quit() consecutively without error.
1274
+ * FIXED: 4676: Unable to fire javascript events into SVG's.
1275
+ * FIXED: 3969: SafariDriver should auto-dismiss alerts.
1276
+ IE:
1277
+ * FIXED: 4535: Hover still does not work perfectly in IE.
1278
+ * FIXED: 4593: Alert.accept() Cancels the Resend Alert/Dialog Box.
1279
+
1280
+ 2.25.0 (2012-07-19)
1281
+ ===================
1282
+
1283
+ * Respect no_proxy / NO_PROXY env vars (#4007).
1284
+ * Improve error message if a configured proxy refuses the connection.
1285
+ * Ignored exception can be configured on the Wait class.
1286
+ * Add Selenium::WebDriver::Support::Color class.
1287
+ * Ignore Errno::ENETUNREACH when trying to detect our local IP (#4165).
1288
+ * Ignore Errno::EADDRNOTAVAIL in PortProber (#3987).
1289
+ * Firefox:
1290
+ * Enumerate through client rects until finding one with non-zero dimensions when clicking.
1291
+ * Updated supported versions of Firefox to 17.
1292
+ * Allow windows to be resized from a frame (#3897).
1293
+ * Fix an issue where a call to submit could hang the driver.
1294
+ * IE:
1295
+ * Ability to configure logging through the :log_file and :log_level options.
1296
+ * Increasing stability of file upload dialog handling (#3858)
1297
+ * Better handling of overflow edge cases when determining element visibility.
1298
+
1299
+ 2.24.0 (2012-06-19)
1300
+ ===================
1301
+
1302
+ * bot.dom.getVisibleText does not properly handle display:run-in or display:table (#1584).
1303
+ * CSS selectors now support compound selectors.
1304
+ * IE:
1305
+ * Failure to click on an element in the IE Driver will yield a more meaningful error.
1306
+ * Crash on IE8 when S_FALSE is returned from get_Document (#4064)
1307
+ * DLLs are no longer bundled with the gem, users must use the standalone server from now on.
1308
+ * Firefox:
1309
+ * Support for Firefox 13
1310
+ * Ability to pass :proxy directly as Firefox option (no Profile needed).
1311
+
1312
+ 2.22.2 (2012-06-05)
1313
+ ===================
1314
+
1315
+ * Improve method for determining the local IP (#3987).
1316
+
1317
+ 2.22.1 (2012-06-01)
1318
+ ===================
1319
+
1320
+ * Fix for 1.8.7 behaviour of Socket.getaddrinfo.
1321
+ * Automatically reap Firefox profile on exit, not just in #quit.
1322
+
1323
+ 2.22.0 (2012-05-29)
1324
+ ===================
1325
+
1326
+ * Fix conflict with ActiveSupport's Object#load (#3819)
1327
+ * IE:
1328
+ * Default to standalone server executable, fall back to bundled DLLs.
1329
+ * The 'nativeEvents' capabilitiy is exposed as :native_events in the Ruby client (mode still experimental).
1330
+ * Firefox:
1331
+ * Native events for Firefox 12.
1332
+ * Native events retained for Firefox 3.x, 10 and 11.
1333
+ * Fix for typing in Firefox 12
1334
+ * Fix for typing on XHTML pages (#3647)
1335
+ * Fix for maximizing windows when switched to a frame (#3758)
1336
+ * Handle alerts from nested iframes (#3825)
1337
+ * Remote:
1338
+ * Honor HTTP_PROXY env vars (#3838).
1339
+ * Element#attribute returns nil if a boolean attribute is not present.
1340
+ * NoSuchWindowError will be thrown if the currently selected window is closed and another command is sent.
1341
+ * Safari:
1342
+ * support for frame switching, snapshot taking, execute script
1343
+ * message protocol changed, not backwards compatible with 2.21.
1344
+ * Style attributes are no longer lower-cased by default (#1089).
1345
+ * Make sure the Ruby client kills Firefox even when the RPC fails.
1346
+ * Make sure the Ruby client checks all network interfaces when finding free ports.
1347
+
1348
+
1349
+ 2.21.2 (2012-04-18)
1350
+ ===================
1351
+
1352
+ * Check MultiJson.respond_to?, depend on ~> 1.0
1353
+
1354
+ 2.21.1 (2012-04-16)
1355
+ ===================
1356
+
1357
+ * Set multi_json dependency to < 1.3 to avoid deprecation warnings.
1358
+
1359
+ 2.21.0 (2012-04-11)
1360
+ ===================
1361
+
1362
+ * Add Selenium::WebDriver::Window#maximize (#3489)
1363
+ * Safari:
1364
+ * New driver! See https://github.com/SeleniumHQ/selenium/wiki/SafariDriver.
1365
+ * Firefox:
1366
+ * Significant stability improvements.
1367
+ * Native events support for Firefox 11
1368
+ * Dropped native events support for Firefox 4-9
1369
+ * Window maximize implementation.
1370
+ * IE:
1371
+ * Ignore invisible dialogs (#3360).
1372
+ * Window maximize implementation.
1373
+ * Android:
1374
+ * Accept SSL certificates (#3504).
1375
+
1376
+ 2.20.0 (2012-02-28)
1377
+ ===================
1378
+
1379
+ * Loosen the multi_json and ffi dependencies (#3446)
1380
+ * Firefox:
1381
+ * Introduce a timeout for page loads. This needs to be used in
1382
+ conjunction with the unstable page load detection. Exposed as
1383
+ Timeouts#page_load=
1384
+ * Scroll containing elements, not just windows (#3391).
1385
+ * Element#{style => css_value}, with an alias for backwards compatibility.
1386
+ * Atoms:
1387
+ * Submit a form when the enter button is pressed in its input
1388
+ element.
1389
+ * Add a "mouse pixel scroll" event to the atoms events module.
1390
+ * Adding a public "mouseOver" action and a little internal
1391
+ refactoring around the mouseOver functionality.
1392
+ * Selenium::WebDriver::Wait: polling interval reduced from 0.5 to 0.2 seconds.
1393
+
1394
+ 2.19.0 (2012-02-08)
1395
+ ===================
1396
+
1397
+ * RC client supports server-side WebDriver-backed Selenium.
1398
+ * Touch APIs implemented in the Ruby client (Android only)
1399
+ * Firefox:
1400
+ * Fix deserialization of user.js in Firefox::Profile
1401
+ * Native events implemented for Firefox 10.
1402
+ * Renamed the experimental "fast" page loaded strategy "unstable"
1403
+ and disable queuing of commands when it's enabled.
1404
+ * Disabled native events for Firefox 8 as it's deprecated by Mozilla.
1405
+ * Fix for exceptions thrown when an alert occurs during script execution.
1406
+ * Chrome:
1407
+ * New download link for the server component:
1408
+ http://code.google.com/p/chromedriver/downloads/list
1409
+
1410
+ 2.18.0 (2012-01-27)
1411
+ ===================
1412
+
1413
+ * Fix for getting value attribute of option elements. (#3169)
1414
+ * Firefox and IE:
1415
+ * Raise UnhandledAlertError if an alert is present during an operation. The unhandled alert is also dismissed to mitigate repeat exceptions.
1416
+ * Firefox:
1417
+ * Better handling of getText invocations on SVG elements.
1418
+ * Fix for Element#click in Firefox 4. (#3253)
1419
+ * Fixed bug when deserializing user.js in Firefox::Profile.
1420
+ * Default profile preferences now read from shared JSON blob.
1421
+ * Android and iPhone:
1422
+ * Client support for the geolocation API (see Selenium::WebDriver::DriverExtensions::HasLocation)
1423
+ * Client support for the web storage API (see Selenium::WebDriver::DriverExtensions::HasWebStorage)
1424
+ * iPhone:
1425
+ * Server now supports frame switching (for frames in the same domain).
1426
+
1427
+ 2.17.0 (2012-01-16)
1428
+ ===================
1429
+
1430
+ * Firefox:
1431
+ * Fix excessive unwrapping when switching windows.
1432
+ * Set toolkit.telemetry.{enabled,rejected} in the default Firefox profile.
1433
+ * Support up to version 12 with synthesized events.
1434
+ * Fixed issues launching Firefox 9 due to modal dialog (#3154, #3144)
1435
+ * Chrome:
1436
+ * Now accepts a :url option, pointing to an already running Chrome server.
1437
+ * Now accepts a :proxy option (i.e. Selenium::WebDriver::Proxy instance).
1438
+ * iPhone:
1439
+ * iWebDriver will auto-play HTML5 video (#3152)
1440
+ * Element#attribute("value") falls back to the text of option tags, if no value attribute is specified (#3169)
1441
+
1442
+ 2.16.0 (2012-01-04)
1443
+ ===================
1444
+
1445
+ * Firefox:
1446
+ * Native events support for Firefox 9
1447
+ * Allow apps to use offline storage by default
1448
+ * Fix excessive unwrapping when executing mouseMove
1449
+ * Click in the middle, rather than the top-left of elements (#3034, #2700)
1450
+ * IE:
1451
+ * Raise StaleElementReferenceError when interacting with elements outside the currently focused frame
1452
+ * Handle frames and iframes in showModalDialog windows
1453
+ * Chrome:
1454
+ * Improve client handling of invalid error responses
1455
+ * iPhone:
1456
+ * Updated to latest CocoaHTTPServer
1457
+ * Remote:
1458
+ * Improve performance of Element#== by only making an RPC when necessary.
1459
+ * Disallow caching of GET requests
1460
+ * Various:
1461
+ * Raise ArgumentError instead of UnsupportedOperationError on invalid modifier key
1462
+ * Improve docs for Server, ActionBuilder and Window
1463
+ * Update to latest Sizzle (used for :css selectors in older browsers)
1464
+
1465
+ 2.15.0 (2011-12-08)
1466
+ ===================
1467
+
1468
+ * Firefox:
1469
+ * Now supports up to Firefox 11 (for syntesized events)
1470
+ * Implicit waits now change how long we wait for alerts. This
1471
+ functionality will change in 2.16
1472
+ * Fix scrolling issue (#2700)
1473
+ * IE:
1474
+ * Fix issue with getWindowHandles() and showModalDialog() (#1828)
1475
+ * Add support for the window sizing and positioning API
1476
+ * Make Platform.bitsize use the correct constant from FFI
1477
+ * WebDriver internals:
1478
+ * Atoms code contribution from Google
1479
+ * Closure updated
1480
+
1481
+
1482
+ 2.14.0 (2011-11-29)
1483
+ ===================
1484
+
1485
+ * Add Selenium::WebDriver::Support::Select class to ease working with select lists.
1486
+ * Add Capabilities.ipad and Capabilities.iphone (#2895)
1487
+ * Replace json_pure dependency with multi_json. (#2901)
1488
+ * Don't leave sockets hanging in SYN_SENT state while polling.
1489
+ * Allow selecting option elements even if the enclosing select has zero opacity.
1490
+ * Exception renames (old names aliased and will still work in rescues):
1491
+ * ObsoleteElementError -> StaleElementReferenceError
1492
+ * UnhandledError -> UnknownError
1493
+ * UnexpectedJavascriptError -> JavascriptError
1494
+ * NoAlertOpenError -> NoAlertPresentError
1495
+ * ElementNotDisplayedError -> ElementNotVisibleError
1496
+ * Firefox:
1497
+ * Fixed issue with scrolling on small viewports with native events.
1498
+ * Fix CSS selector support in Firefox 3.0
1499
+ * IE:
1500
+ * Implement the window control API
1501
+
1502
+ 2.13.0 (2011-11-18)
1503
+ ===================
1504
+
1505
+ * Firefox:
1506
+ * Recovering from null window references in the Firefox driver (#1438)
1507
+
1508
+ 2.12.2 (2011-11-13)
1509
+ ===================
1510
+
1511
+ * Firefox
1512
+ * Fix issue where Firefox 8 would throw permission errors after document.domain was modified (#2863).
1513
+ * Force window to the foreground on launch (see https://bugzilla.mozilla.org/show_bug.cgi?id=566671)
1514
+
1515
+ 2.12.1 (2011-11-11)
1516
+ ===================
1517
+
1518
+ * Fix regression when typing into contenteditable elements.
1519
+
1520
+ 2.12.0 (2011-11-10)
1521
+ ===================
1522
+
1523
+ * Loosened the ffi dependency now that Windows support is back (#2755).
1524
+ * Fix shutdown issues when using net-http-persistent against remote servers.
1525
+ * Added beta window control API (see Selenium::WebDriver::Options#window).
1526
+ * Firefox
1527
+ * Support for Firefox 8.
1528
+ * Better reporting of page size when attempting to move out of bounds.
1529
+ * Beta implementation of window control.
1530
+
1531
+ 2.11.0
1532
+ ======
1533
+
1534
+ (release skipped since it included only server-side changes)
1535
+
1536
+ 2.10.0 (2011-10-27)
1537
+ ===================
1538
+
1539
+ * Improve native keyboard emulation on Windows.
1540
+ * Allow commas in CSS selectors (#2301)
1541
+ * Firefox:
1542
+ * Fix intermittent error when finding elements by XPath (#2099)
1543
+ * Fix detection of maximum page size (#2700)
1544
+ * Avoid extension selection dialog (extensions.autoDisableScopes)
1545
+ * Fix invalid wire responses from the synthetic mouse (#2695)
1546
+ * Don't scroll unnecessarily (#1771).
1547
+ * IE:
1548
+ * Improve handling of #clear on disabled or readonly elements.
1549
+
1550
+ 2.9.1 (2011-10-24)
1551
+ ==================
1552
+
1553
+ * Workaround for invalid error responses (#2695).
1554
+
1555
+ 2.9.0 (2011-10-21)
1556
+ ==================
1557
+
1558
+ * Support file uploads to the remote server (see Selenium::WebDriver::DriverExtensions::UploadsFiles)
1559
+ * New exception: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError
1560
+ * Implemented Chrome::Profile#add_extension
1561
+ * Better respect for preformatted text in Element#text
1562
+ * Reduced scrolling during tests for IE and Firefox.
1563
+ * Firefox:
1564
+ * Support for experimental page load detection.
1565
+ * IE:
1566
+ * Better detection of where to click on links (#2675).
1567
+ * Improve handling of modal dialogs (showModalDialog).
1568
+
1569
+ 2.8.0 (2011-10-06)
1570
+ ==================
1571
+
1572
+ * Firefox
1573
+ - Avoid telemetry prompt on Firefox 7
1574
+ - Allow parallel execution with native events on Linux (#1326)
1575
+ - Added native events support for Firefox 7 on Linux/Windows
1576
+ - Improve search for libX11 for native events on Linux (#384)
1577
+ - Fix double click with native events
1578
+ * Chrome
1579
+ - Fail fast if the chromedriver server is not executable.
1580
+ * IE
1581
+ - Fix find_element bug (#2563)
1582
+
1583
+
1584
+ 2.7.0 (2011-09-23)
1585
+ ==================
1586
+
1587
+ * Firefox
1588
+ - no longer types in the URL bar (#2487)
1589
+ - fixed native events click() issue when element is out of view
1590
+ - double click + get no longer hangs firefox (#2456)
1591
+ - make sure escaped backslashes are properly escaped when serializing a Firefox profile (#2485)
1592
+ * IE
1593
+ - fix event firing issue (#2516)
1594
+ * Opera
1595
+ - don't start the remote service if the driver is passed bad arguments
1596
+
1597
+ 2.6.0 (2011-09-13)
1598
+ ==================
1599
+
1600
+ * Rescue and retry on Errno::EADDRINUSE to work around ephemeral ports issue on Windows.
1601
+ * Use correct default URL for the Android driver.
1602
+ * Profile zipping now follows symlinks (#2416).
1603
+ * Firefox
1604
+ - Disable malware check
1605
+ - Various #click improvements
1606
+ - Don't scroll if element is already in view
1607
+ * IE:
1608
+ - improve scrolling to elements with 'overflow: scroll'
1609
+ - properly trigger jQuery change events (#2207)
1610
+ - improve handling of nested modal dialogs
1611
+ * Opera:
1612
+ - capabilities exposed as options to Selenium::WebDriver.for
1613
+ * Various iPhone driver fixes (e.g. #1396)
1614
+
1615
+ 2.5.0 (2011-08-23)
1616
+ ==================
1617
+
1618
+ * IE: support for double click and fix for clicks close to edge of window.
1619
+ * Fix for clicking links that overflow into multiple lines (#1020).
1620
+ * Correct initial cursor position when typing into text fields with Firefox 6.
1621
+ * Native events support for Firefox 6 on Windows and Linux.
1622
+ * Fix bug in Android::Bridge when no :http_client option was passed.
1623
+ * Set chrome.detach to tell chromedriver to leave browser running on exit.
1624
+
1625
+ 2.4.0 (2011-08-11)
1626
+ ==================
1627
+
1628
+ * Firefox 6 support.
1629
+ * Raise in switch_to.alert when no alert is present.
1630
+ * Improved handling of non-breaking spaces for Element#text.
1631
+
1632
+ 2.3.2 (2011-08-01)
1633
+ ==================
1634
+
1635
+ * Re-releasing since 2.3.1 was a buggy build.
1636
+
1637
+ 2.3.1 (2011-08-01)
1638
+ ==================
1639
+
1640
+ * Fix bug where Firefox would hang if Firefox::Profile#log_file= was set.
1641
+
1642
+ 2.3.0 (2011-08-01)
1643
+ ==================
1644
+
1645
+ * Add Selenium::WebDriver::Chrome::Profile
1646
+ * Better detection of clickable areas in Firefox.
1647
+ * Merge of Google-contributed code into the underlying Atoms.
1648
+ * IE click issue fixed (#1650)
1649
+ * No longer raise in Element#inspect if the element is obsolete.
1650
+
1651
+
1652
+ 2.2.0 (2011-07-26)
1653
+ ==================
1654
+
1655
+ * Add ability to listen for WebDriver events
1656
+ * Fix Android/iPhone bridges to work similar to others (https://github.com/jnicklas/capybara/issues/425)
1657
+ * Various atoms fixes
1658
+ * Element equality now works properly with the remote server (#251).
1659
+
1660
+ 2.1.0 (2011-07-18)
1661
+ ==================
1662
+
1663
+ * Various improvments to the IE driver (#2049, #1870)
1664
+ * Atoms fixes (#1776, #1972).
1665
+ * Synthetic mouse clicks do not propagate errors in onmouseover.
1666
+
1667
+ 2.0.1 (2011-07-11)
1668
+ ==================
1669
+
1670
+ * Make sure at_exit hooks aren't inherited by child processes.
1671
+
1672
+ 2.0.0 (2011-07-08)
1673
+ ==================
1674
+
1675
+ * Remove deprecated methods Element#{toggle,select,drag_and_drop_*,value}.
1676
+ * Add ability to pass :verbose, :native_events to the Chrome driver.
1677
+ * Synthetic mouse implementation for Firefox - improves drag and drop support platforms without native events.
1678
+ * Added Selenium::WebDriver::Opera (requires the remote server).
1679
+ * Fix for locating Firefox on 64-bit Windows when missing from the registry.
1680
+ * Fix native events on Firefox 4, 5.
1681
+
1682
+ 0.2.2 (2011-06-22)
1683
+ ==================
1684
+
1685
+ * Deprecate Element#{toggle,select,drag_and_drop_*}
1686
+ * Chrome.path= now sets the path to Chrome, Chrome.driver_path= the path to the chromedriver server.
1687
+ * Fix argument names in Mouse#move_to and Mouse#move_by.
1688
+ * Support Firefox 5
1689
+ * Chrome and Firefox drivers now includes the HasInputDevices module.
1690
+ * Selenium::Rake::ServerTask now works with Rake 0.9.
1691
+
1692
+ 0.2.1 (2011-06-01)
1693
+ ==================
1694
+
1695
+ * Allow passing custom command line switches to Chrome (requires today's release of the Chrome server)
1696
+ * Avoid mutating arguments to find_element (issue #1273).
1697
+ * Avoid conflicts when SUT modifies Array.prototype
1698
+ * Allow setting arbitrary capabilities by adding Capabilities#[]=
1699
+ * The Chrome driver is extended with TakesScreenshot.
1700
+ * IE driver detects bad protected mode settings.
1701
+ * Firefox driver no longer considers opacity when determining visibility.
1702
+ * Fix for ActionBuilder#move_by.
1703
+ * Treat Errno::EBADF as an indication that we failed to grab the socket lock (issue #1611).
1704
+ * Ensure Firefox launches don't hang on some Ruby versions (by improving Selenium::WebDriver::SocketPoller).
1705
+ * Various internal driver improvements.
1706
+
1707
+ 0.2.0 (2011-04-22)
1708
+ ==================
1709
+
1710
+ * Update Ruby bindings to use the rewritten Chrome driver (see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver).
1711
+ * Add deprecation warning for WebDriver::Element#value (use Element#attribute("value") instead).
1712
+ * Change the default timeout for Wait instances to 5 seconds.
1713
+ * Fix bug where locators would fail if Object.prototype had been modified.
1714
+ * Various IE fixes
1715
+ - Issues: #698, #1444
1716
+ - Improved handling of showModalDialog()
1717
+ - Full-size screenshots
1718
+ * Allow users to override the dom.max_script_run_time preference in Firefox.
1719
+ * Removed DesiredCapabilities.safari, which was never supported anyway.
1720
+ * Add DesiredCapabilities.opera, which will be supported in the Remote server if OperaDriver is on the classpath.
1721
+ * Print warnings for deprecated constants in the RC client:
1722
+ - Selenium::SeleniumDriver => Selenium::Client::Driver
1723
+ - Selenium::CommandError => Selenium::Client::CommandError
1724
+ * Removed top-level constants:
1725
+ - SeleniumHelper (available as Selenium::Client::SeleniumHelper)
1726
+ - SeleniumCommandError (available as Selenium::Client::CommandError)
1727
+
1728
+ 0.1.4 (2011-03-21)
1729
+ ==================
1730
+
1731
+ * Support for Firefox 4.
1732
+ * Search PATH for Firefox / Chrome on OS X as well.
1733
+ * Bump dependencies for ffi and childprocess (#1356).
1734
+ * Find module renamed to SearchContext
1735
+ * Deprecated methods Driver#hover and Options#{speed,speed=} removed.
1736
+ * Improve IE driver stability, IE9 support
1737
+ * Added basic ActionBuilder and HasInputDevices#action. Not applicable for all browsers.
1738
+ * Added Driver#execute_async_script
1739
+ * Some WebDriver exception classes have been renamed to match its Java equivalents:
1740
+ ElementNotEnabledError -> InvalidElementStateError
1741
+ UnknownScriptResultError -> XpathLookupError
1742
+ * Fix bug where Element#disabled? would alternate between true/false (r11438)
1743
+
1744
+ 0.1.3 (2011-02-14)
1745
+ ==================
1746
+
1747
+ * Several crashing bugs fixed in the IE driver.
1748
+ * Alert API available through the remote driver.
1749
+ * Driver#refresh fixed in the IE driver.
1750
+ * Fixed paths for IE DLLs on Cygwin.
1751
+ * Screenshot support in the IE and Remote drivers.
1752
+ * Fix #1152 by avoiding IPv6 loopback.
1753
+ * Added Mouse and Keyboard classes, accessible as Driver#{mouse,keyboard}. Considered experimental (IE + HtmlUnit only at the moment).
1754
+ * Automation atoms now used extensively in the IE driver.
1755
+ * Firefox::Bridge is now easier to extend (i.e. with a custom launcher).
1756
+ * Add S::W::Remote::Http::Persistent (currently only usable with the remote server).
1757
+ * IE driver passes along options like the other remote drivers, enabling user-specified HTTP clients.
1758
+ * :firefox_profile added to Remote::Capabilities, enabling passing a profile to remote Firefoxes.
1759
+ * IE driver now supports launching multiple instances of the browser.
1760
+ * Remove some Ruby warnings (uninitialized ivars, URI.escape).
1761
+
1762
+
1763
+ 0.1.2 (2010-12-22)
1764
+ ==================
1765
+
1766
+ * Changed frame switching behaviour (http://groups.google.com/group/selenium-developers/browse_thread/thread/8dc7938c35bb3968)
1767
+ * IE driver rewrite landed.
1768
+ * Initial support for alerts/prompts (in Firefox).
1769
+ * Cygwin support.
1770
+ * Driver#execute_script now properly wraps elements inside Hashes.
1771
+ * Various fixes for Firefox 4.
1772
+
1773
+ 0.1.1 (2010-11-29)
1774
+ ==================
1775
+
1776
+ * Fix for Chrome.path=
1777
+ * Remote drivers always add Content-Length for POST requests (thanks joshuachisholm)
1778
+ * Fix for JS execution bug in the IE driver
1779
+ * Add ability to specify a proxy on the Http::Default client.
1780
+ * The remote drivers' :http_client argument now take a configured instance.
1781
+
1782
+ 0.1.0 (2010-11-11)
1783
+ ===================
1784
+
1785
+ * selenium-client code (Se1/RC client) is now included in the gem (require "selenium/client").
1786
+ * Add Selenium::WebDriver::Proxy, used to configure proxies for Firefox::Profile and the remote driver.
1787
+ * Tweaked Firefox profile preferences, improve logging, disabled crash reporter.
1788
+ * Reap Firefox profiles on close, not just on exit.
1789
+ * Add selenium/rake/server_task and selenium/server which wraps the Selenium server jar.
1790
+ * Various Firefox driver improvements (GC race conditions ++).
1791
+ * IE::Bridge#initialize now takes an options hash like the other bridges.
1792
+ * Added basic iPhone and Android driver classes.
1793
+ * Firefox driver now works on FreeBSD.
1794
+
1795
+
1796
+ 0.0.29 (2010-10-09)
1797
+ ===================
1798
+
1799
+ * Element#find_element with :xpath follows the XPath spec (i.e. results are not limited to the receiver's subtree).
1800
+ * Element#attribute(attribute) now returns "false" instead of nil.
1801
+ * Firefox::Profile instances can now be reused for multiple drivers.
1802
+ * Redirect Firefox console logs to a file with Firefox::Profile.log_file=
1803
+ * Added a simple Wait class, based on WebDriverWait in Java.
1804
+ * Search PATH for Firefox executable on Windows also.
1805
+ * Added Capabilities.android
1806
+ * Fix saving of screenshots on Windows and Ruby 1.9 (using "wb" mode string)
1807
+ * CSS selector support in the remote driver
1808
+ * CSS selector support for IE (using querySelector when available, Sizzle elsewhere)
1809
+ * CSS selector support for older versions of Firefox (through Sizzle)
1810
+ * Cookie expiration dates are now handled correctly (#730)
1811
+ * Make Driver#bridge private, since this seems to be a common cause of confusion.
1812
+ * Add {Element,Remote::Capabilities}#as_json for Rails 3 (http://jonathanjulian.com/2010/04/rails-to_json-or-as_json/)
1813
+ * User can configure path to exectuables with {Firefox,Chrome}.path = "/some/path"
1814
+ * Added "chromium" as a possible name for the Chrome binary (#769)
1815
+ * Correctly set the HTTP client timeout (#768)
1816
+ * switch_to.window with block now handles exceptions and non-local returns.
1817
+ * switch_to.window with block returns the result of the block.
1818
+ * Extracted handling of child processes to a separate gem: http://github.com/jarib/childprocess
1819
+
1820
+
1821
+ 0.0.28 (2010-08-23)
1822
+ ===================
1823
+
1824
+ * Fix behaviour of Element#==, Element#eql? and Element#hash (#hash still has issues on IE / remote).
1825
+ * Include remote server backtrace in raised errors (if available).
1826
+ * Chrome: Untrusted certificate support.
1827
+ * IE: Fix NoMethodError when getElementAttribute returns nil.
1828
+ * Driver#[] shorthand can take a locator hash, not just an id string.
1829
+
1830
+ 0.0.27 (2010-07-22)
1831
+ ===================
1832
+
1833
+ * Fixes for Element#attribute on IE / Firefox
1834
+
1835
+ 0.0.26 (2010-07-19)
1836
+ ===================
1837
+
1838
+ * Work around Curb issue: http://github.com/taf2/curb/issues/issue/40
1839
+
1840
+ 0.0.25 (2010-07-19)
1841
+ ===================
1842
+
1843
+ * Prevent Firefox from launching in offline mode (issue #587).
1844
+ * Add ability to set Firefox' binary path through Selenium::WebDriver::Firefox::Binary.path=
1845
+ * Add ability to install Firefox XPIs through Profile#add_extension.
1846
+ * Better packaging/building of Firefox/Chrome extensions, which adds rubyzip as a dependency.
1847
+ * Remote client supports HTTPS (issue #613 - thanks kkaempf).
1848
+ * Fix error message for TimeOutError in the IE driver (issue #602)
1849
+ * Add ability to use Chrome's default profile.
1850
+ * Fix for frame behaviour in Chrome (issue #273).
1851
+ * Standard gem directory structure (issue #475).
1852
+
1853
+ 0.0.24 (2010-06-17)
1854
+ ==================
1855
+
1856
+ * Fix issues with quitting Firefox/Chrome on Windows + MRI.
1857
+
1858
+
1859
+ 0.0.23 (2010-06-15)
1860
+ ===================
1861
+
1862
+ * Improved the HTTP clients:
1863
+ - hopefully fix some occasional socket errors on Windows
1864
+ - rescue error on driver.close() with curb
1865
+
1866
+ 0.0.22 (2010-06-11)
1867
+ ===================
1868
+
1869
+ * Bugfix: Workaround for http://github.com/taf2/curb/issues/issue/33 - curb would sometimes use DELETE for GET requests.
1870
+ * Minor doc fix
1871
+ * Add ability to set timeout for HTTP clients
1872
+
1873
+ 0.0.21 (2010-06-11)
1874
+ ===================
1875
+
1876
+ * User can specify :http_client for the Firefox driver.
1877
+ * Refactor HTTP client code
1878
+ * Add Remote::Http::Curb as an alternative to the default (net/http) client.
1879
+
1880
+
1881
+ 0.0.20 (2010-06-03)
1882
+ ===================
1883
+
1884
+ * Fix bug where Firefox would hang on quit().
1885
+
1886
+ 0.0.19 (2010-05-31)
1887
+ ===================
1888
+
1889
+ * Add a max redirect check to the remote driver
1890
+ * Add Firefox::Profile#assume_untrusted_certificate_issuer=
1891
+ * Add implicit waits (Selenium::WebDriver::Timeouts)
1892
+ * at_exit hook to clean temporary profiles
1893
+ * Fix for Errno::ECONNABORTED errors on Windows
1894
+ * Fix issue where Firefox::Profile#secure_ssl= would have no effect
1895
+ * Fix issue where locating elements by :css would fail in the Chrome driver.
1896
+ * IE driver now works on 64-bit rubies.