-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
784 lines (638 loc) · 28.3 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
2.37.0 (2013-10-18)
===================
* As of this version, selenium-webdriver no longer supports Ruby < 1.9.2
* Depend on rubyzip ~> 1.0.0
* Added SOCKS proxy support
* Fixed support for SVG documents in the atoms.
* Fixed computing an element's container dimensions to account for the scrollbar size when scrolling
* Added Capabilities.htmlunitwithjs
Chrome:
* Pass through the prefs option as a Chrome capability (#5929).
Firefox:
* Updated Firefox native event components to support Firefox 24.
* New elementScrollBehavior capability.
* Fixed getLocation to work on scrolled pages.
* Fixed autoscrolling for elements located in frames.
* Fixed drag-n-drop for elements in frames with native events
IE:
* Use native events by default, also for remote IE (#4695)
Safari:
* Enable screenshots and input devices in the client.
2.35.1 (2013-08-26)
===================
* Depend on rubyzip < 1.0.0
2.35.0 (2013-08-14)
===================
Firefox:
* Updated Firefox native event components to support Firefox 23.
2.34.0 (2013-08-06)
===================
Remote:
* Add `Driver#remote_status` (remote driver only) (#5669)
Firefox:
* Updated Firefox native event components to support Firefox 22.
iPhone:
* The driver is now deprecated (see http://appium.io/ or http://ios-driver.github.io/ios-driver/ for a replacement)
Various:
* Updated our copy of the Closure compiler and library to the most
recent versions.
* Updated the atoms library, including support for MS pointer events
and refinements to element visibility tests.
* Update synthesized mouse implementation. Mouse moves are
implemented using nsIDOMWindowUtils.
* Added support for the HTML5 "hidden" attribute. If an element, or
ancestor, has hidden attribute make, it is not shown.
2.33.0 (2013-05-26)
===================
Remote:
* Support rotating devices, such as iPhone & iPad in simulator and Android browser in emulator
* Support for interacting with touch screen devices, such as iPhone & iPad in simulator and Android browser in emulator
* Improve error messages for invalid wire protocol responses
Chrome:
* Accept :service_log_path for Chrome. (#3475)
IE:
* IE >=9 versions triggerMouseEvent like other browsers (#2218).
Various:
* Element#text ignores elements in <head>
2.32.1 (2013-04-11)
===================
Safari:
* Fix typo when encoding the Safari server redirect URL (#5472)
2.32.0 (2013-04-09)
===================
Safari:
* The Safari extension is now packaged with the gem and automatically installed (#5322)
* Improved detection of the binary location on 64-bit windows (#5273)
Opera:
* Allow passing :desired_capabailities (#5279)
Firefox:
* This release supports versions 10esr, 17esr, 19, 20.
* Improved SVG support
Other:
* Allow #click_and_hold without target (#5410).
* Remove assumptions about returned capabilities (for ios-driver)
2.31.0 (2013-03-02)
===================
Remote:
* Expose session_id on the remote driver when used directly (#5240).
Firefox:
* Native events in Firefox 19
Opera:
* Treat UNSPECIFIED proxy type as a nil proxy (#5081).
Other:
* Add ability to pass :desired_capabilities to all the Ruby drivers, not just for :remote.
Direct arguments take presendence. (#5078, see also https://github.com/SeleniumHQ/selenium/pull/8, https://github.com/SeleniumHQ/selenium/pull/11)
2.30.0 (2013-02-20)
===================
Firefox:
* Firefox 19 support (for synthesized events)
Remote:
* Pass along firefox_binary correctly (#5152)
Safari:
* Don't overwrite Driver#browser
Other
* Alert#text should raise on closed alert.
2.29.0 (2013-01-21)
===================
Firefox:
* Firefox 18 support (for native events).
IE:
* New 'requireWindowFocus' desired capability.
* IE view port calculation take scroll bars into account (#3602)
Safari:
* Replace 'libwebsocket' with 'websocket' gem. This should ensure
support with recent Safari.
Other:
* Fix Cygwin issue in PortProber/Firefox::Bianry (#4963)
2.27.2 (2012-12-11)
===================
Firefox:
* Fix for native events in v17 (packaging mistake)
2.27.1 (2012-12-07)
===================
Firefox:
* Fix "g[b] is not an object" error when passing null to execute_script.
2.27.0 (2012-12-06)
===================
Firefox:
* Support for Firefox 17.
IE:
* Path to the server executable can be specified (S::W::IE.path=)
Other:
* Added :phantomjs driver
2.26.0 (2012-11-02)
===================
Firefox:
* Added support for native events for Firefox 15 and 16.
* Modified FirefoxDriver to use atoms to switch between frames.
* FIXED: 4309: 'Could not convert Native argument arg 0' error with Firefox.
* FIXED: 4375: Executing javascript hangs Firefox.
* FIXED: 4165: WebDriver fails on a machine with no IP address.
Safari:
* Fixed SafariDriver to allow calling .quit() consecutively without error.
* FIXED: 4676: Unable to fire javascript events into SVG's.
* FIXED: 3969: SafariDriver should auto-dismiss alerts.
IE:
* FIXED: 4535: Hover still does not work perfectly in IE.
* FIXED: 4593: Alert.accept() Cancels the Resend Alert/Dialog Box.
2.25.0 (2012-07-19)
===================
* Respect no_proxy / NO_PROXY env vars (#4007).
* Improve error message if a configured proxy refuses the connection.
* Ignored exception can be configured on the Wait class.
* Add Selenium::WebDriver::Support::Color class.
* Ignore Errno::ENETUNREACH when trying to detect our local IP (#4165).
* Ignore Errno::EADDRNOTAVAIL in PortProber (#3987).
* Firefox:
* Enumerate through client rects until finding one with non-zero dimensions when clicking.
* Updated supported versions of Firefox to 17.
* Allow windows to be resized from a frame (#3897).
* Fix an issue where a call to submit could hang the driver.
* IE:
* Ability to configure logging through the :log_file and :log_level options.
* Increasing stability of file upload dialog handling (#3858)
* Better handling of overflow edge cases when determining element visibility.
2.24.0 (2012-06-19)
===================
* bot.dom.getVisibleText does not properly handle display:run-in or display:table (#1584).
* CSS selectors now support compound selectors.
* IE:
* Failure to click on an element in the IE Driver will yield a more meaningful error.
* Crash on IE8 when S_FALSE is returned from get_Document (#4064)
* DLLs are no longer bundled with the gem, users must use the standalone server from now on.
* Firefox:
* Support for Firefox 13
* Ability to pass :proxy directly as Firefox option (no Profile needed).
2.22.2 (2012-06-05)
===================
* Improve method for determining the local IP (#3987).
2.22.1 (2012-06-01)
===================
* Fix for 1.8.7 behaviour of Socket.getaddrinfo.
* Automatically reap Firefox profile on exit, not just in #quit.
2.22.0 (2012-05-29)
===================
* Fix conflict with ActiveSupport's Object#load (#3819)
* IE:
* Default to standalone server executable, fall back to bundled DLLs.
* The 'nativeEvents' capabilitiy is exposed as :native_events in the Ruby client (mode still experimental).
* Firefox:
* Native events for Firefox 12.
* Native events retained for Firefox 3.x, 10 and 11.
* Fix for typing in Firefox 12
* Fix for typing on XHTML pages (#3647)
* Fix for maximizing windows when switched to a frame (#3758)
* Handle alerts from nested iframes (#3825)
* Remote:
* Honor HTTP_PROXY env vars (#3838).
* Element#attribute returns nil if a boolean attribute is not present.
* NoSuchWindowError will be thrown if the currently selected window is closed and another command is sent.
* Safari:
* support for frame switching, snapshot taking, execute script
* message protocol changed, not backwards compatible with 2.21.
* Style attributes are no longer lower-cased by default (#1089).
* Make sure the Ruby client kills Firefox even when the RPC fails.
* Make sure the Ruby client checks all network interfaces when finding free ports.
2.21.2 (2012-04-18)
===================
* Check MultiJson.respond_to?, depend on ~> 1.0
2.21.1 (2012-04-16)
===================
* Set multi_json dependency to < 1.3 to avoid deprecation warnings.
2.21.0 (2012-04-11)
===================
* Add Selenium::WebDriver::Window#maximize (#3489)
* Safari:
* New driver! See http://code.google.com/p/selenium/wiki/SafariDriver.
* Firefox:
* Significant stability improvements.
* Native events support for Firefox 11
* Dropped native events support for Firefox 4-9
* Window maximize implementation.
* IE:
* Ignore invisible dialogs (#3360).
* Window maximize implementation.
* Android:
* Accept SSL certificates (#3504).
2.20.0 (2012-02-28)
===================
* Loosen the multi_json and ffi dependencies (#3446)
* Firefox:
* Introduce a timeout for page loads. This needs to be used in
conjunction with the unstable page load detection. Exposed as
Timeouts#page_load=
* Scroll containing elements, not just windows (#3391).
* Element#{style => css_value}, with an alias for backwards compatibility.
* Atoms:
* Submit a form when the enter button is pressed in its input
element.
* Add a "mouse pixel scroll" event to the atoms events module.
* Adding a public "mouseOver" action and a little internal
refactoring around the mouseOver functionality.
* Selenium::WebDriver::Wait: polling interval reduced from 0.5 to 0.2 seconds.
2.19.0 (2012-02-08)
===================
* RC client supports server-side WebDriver-backed Selenium.
* Touch APIs implemented in the Ruby client (Android only)
* Firefox:
* Fix deserialization of user.js in Firefox::Profile
* Native events implemented for Firefox 10.
* Renamed the experimental "fast" page loaded strategy "unstable"
and disable queuing of commands when it's enabled.
* Disabled native events for Firefox 8 as it's deprecated by Mozilla.
* Fix for exceptions thrown when an alert occurs during script execution.
* Chrome:
* New download link for the server component:
http://code.google.com/p/chromedriver/downloads/list
2.18.0 (2012-01-27)
===================
* Fix for getting value attribute of option elements. (#3169)
* Firefox and IE:
* Raise UnhandledAlertError if an alert is present during an operation. The unhandled alert is also dismissed to mitigate repeat exceptions.
* Firefox:
* Better handling of getText invocations on SVG elements.
* Fix for Element#click in Firefox 4. (#3253)
* Fixed bug when deserializing user.js in Firefox::Profile.
* Default profile preferences now read from shared JSON blob.
* Android and iPhone:
* Client support for the geolocation API (see Selenium::WebDriver::DriverExtensions::HasLocation)
* Client support for the web storage API (see Selenium::WebDriver::DriverExtensions::HasWebStorage)
* iPhone:
* Server now supports frame switching (for frames in the same domain).
2.17.0 (2012-01-16)
===================
* Firefox:
* Fix excessive unwrapping when switching windows.
* Set toolkit.telemetry.{enabled,rejected} in the default Firefox profile.
* Support up to version 12 with synthesized events.
* Fixed issues launching Firefox 9 due to modal dialog (#3154, #3144)
* Chrome:
* Now accepts a :url option, pointing to an already running Chrome server.
* Now accepts a :proxy option (i.e. Selenium::WebDriver::Proxy instance).
* iPhone:
* iWebDriver will auto-play HTML5 video (#3152)
* Element#attribute("value") falls back to the text of option tags, if no value attribute is specified (#3169)
2.16.0 (2012-01-04)
===================
* Firefox:
* Native events support for Firefox 9
* Allow apps to use offline storage by default
* Fix excessive unwrapping when executing mouseMove
* Click in the middle, rather than the top-left of elements (#3034, #2700)
* IE:
* Raise StaleElementReferenceError when interacting with elements outside the currently focused frame
* Handle frames and iframes in showModalDialog windows
* Chrome:
* Improve client handling of invalid error responses
* iPhone:
* Updated to latest CocoaHTTPServer
* Remote:
* Improve performance of Element#== by only making an RPC when necessary.
* Disallow caching of GET requests
* Various:
* Raise ArgumentError instead of UnsupportedOperationError on invalid modifier key
* Improve docs for Server, ActionBuilder and Window
* Update to latest Sizzle (used for :css selectors in older browsers)
2.15.0 (2011-12-08)
===================
* Firefox:
* Now supports up to Firefox 11 (for syntesized events)
* Implicit waits now change how long we wait for alerts. This
functionality will change in 2.16
* Fix scrolling issue (#2700)
* IE:
* Fix issue with getWindowHandles() and showModalDialog() (#1828)
* Add support for the window sizing and positioning API
* Make Platform.bitsize use the correct constant from FFI
* WebDriver internals:
* Atoms code contribution from Google
* Closure updated
2.14.0 (2011-11-29)
===================
* Add Selenium::WebDriver::Support::Select class to ease working with select lists.
* Add Capabilities.ipad and Capabilities.iphone (#2895)
* Replace json_pure dependency with multi_json. (#2901)
* Don't leave sockets hanging in SYN_SENT state while polling.
* Allow selecting option elements even if the enclosing select has zero opacity.
* Exception renames (old names aliased and will still work in rescues):
* ObsoleteElementError -> StaleElementReferenceError
* UnhandledError -> UnknownError
* UnexpectedJavascriptError -> JavascriptError
* NoAlertOpenError -> NoAlertPresentError
* ElementNotDisplayedError -> ElementNotVisibleError
* Firefox:
* Fixed issue with scrolling on small viewports with native events.
* Fix CSS selector support in Firefox 3.0
* IE:
* Implement the window control API
2.13.0 (2011-11-18)
===================
* Firefox:
* Recovering from null window references in the Firefox driver (#1438)
2.12.2 (2011-11-13)
===================
* Firefox
* Fix issue where Firefox 8 would throw permission errors after document.domain was modified (#2863).
* Force window to the foreground on launch (see https://bugzilla.mozilla.org/show_bug.cgi?id=566671)
2.12.1 (2011-11-11)
===================
* Fix regression when typing into contenteditable elements.
2.12.0 (2011-11-10)
===================
* Loosened the ffi dependency now that Windows support is back (#2755).
* Fix shutdown issues when using net-http-persistent against remote servers.
* Added beta window control API (see Selenium::WebDriver::Options#window).
* Firefox
* Support for Firefox 8.
* Better reporting of page size when attempting to move out of bounds.
* Beta implementation of window control.
2.11.0
======
(release skipped since it included only server-side changes)
2.10.0 (2011-10-27)
===================
* Improve native keyboard emulation on Windows.
* Allow commas in CSS selectors (#2301)
* Firefox:
* Fix intermittent error when finding elements by XPath (#2099)
* Fix detection of maximum page size (#2700)
* Avoid extension selection dialog (extensions.autoDisableScopes)
* Fix invalid wire responses from the synthetic mouse (#2695)
* Don't scroll unnecessarily (#1771).
* IE:
* Improve handling of #clear on disabled or readonly elements.
2.9.1 (2011-10-24)
==================
* Workaround for invalid error responses (#2695).
2.9.0 (2011-10-21)
==================
* Support file uploads to the remote server (see Selenium::WebDriver::DriverExtensions::UploadsFiles)
* New exception: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError
* Implemented Chrome::Profile#add_extension
* Better respect for preformatted text in Element#text
* Reduced scrolling during tests for IE and Firefox.
* Firefox:
* Support for experimental page load detection.
* IE:
* Better detection of where to click on links (#2675).
* Improve handling of modal dialogs (showModalDialog).
2.8.0 (2011-10-06)
==================
* Firefox
- Avoid telemetry prompt on Firefox 7
- Allow parallel execution with native events on Linux (#1326)
- Added native events support for Firefox 7 on Linux/Windows
- Improve search for libX11 for native events on Linux (#384)
- Fix double click with native events
* Chrome
- Fail fast if the chromedriver server is not executable.
* IE
- Fix find_element bug (#2563)
2.7.0 (2011-09-23)
==================
* Firefox
- no longer types in the URL bar (#2487)
- fixed native events click() issue when element is out of view
- double click + get no longer hangs firefox (#2456)
- make sure escaped backslashes are properly escaped when serializing a Firefox profile (#2485)
* IE
- fix event firing issue (#2516)
* Opera
- don't start the remote service if the driver is passed bad arguments
2.6.0 (2011-09-13)
==================
* Rescue and retry on Errno::EADDRINUSE to work around ephemeral ports issue on Windows.
* Use correct default URL for the Android driver.
* Profile zipping now follows symlinks (#2416).
* Firefox
- Disable malware check
- Various #click improvements
- Don't scroll if element is already in view
* IE:
- improve scrolling to elements with 'overflow: scroll'
- properly trigger jQuery change events (#2207)
- improve handling of nested modal dialogs
* Opera:
- capabilities exposed as options to Selenium::WebDriver.for
* Various iPhone driver fixes (e.g. #1396)
2.5.0 (2011-08-23)
==================
* IE: support for double click and fix for clicks close to edge of window.
* Fix for clicking links that overflow into multiple lines (#1020).
* Correct initial cursor position when typing into text fields with Firefox 6.
* Native events support for Firefox 6 on Windows and Linux.
* Fix bug in Android::Bridge when no :http_client option was passed.
* Set chrome.detach to tell chromedriver to leave browser running on exit.
2.4.0 (2011-08-11)
==================
* Firefox 6 support.
* Raise in switch_to.alert when no alert is present.
* Improved handling of non-breaking spaces for Element#text.
2.3.2 (2011-08-01)
==================
* Re-releasing since 2.3.1 was a buggy build.
2.3.1 (2011-08-01)
==================
* Fix bug where Firefox would hang if Firefox::Profile#log_file= was set.
2.3.0 (2011-08-01)
==================
* Add Selenium::WebDriver::Chrome::Profile
* Better detection of clickable areas in Firefox.
* Merge of Google-contributed code into the underlying Atoms.
* IE click issue fixed (#1650)
* No longer raise in Element#inspect if the element is obsolete.
2.2.0 (2011-07-26)
==================
* Add ability to listen for WebDriver events
* Fix Android/iPhone bridges to work similar to others (https://github.com/jnicklas/capybara/issues/425)
* Various atoms fixes
* Element equality now works properly with the remote server (#251).
2.1.0 (2011-07-18)
==================
* Various improvments to the IE driver (#2049, #1870)
* Atoms fixes (#1776, #1972).
* Synthetic mouse clicks do not propagate errors in onmouseover.
2.0.1 (2011-07-11)
==================
* Make sure at_exit hooks aren't inherited by child processes.
2.0.0 (2011-07-08)
==================
* Remove deprecated methods Element#{toggle,select,drag_and_drop_*,value}.
* Add ability to pass :verbose, :native_events to the Chrome driver.
* Synthetic mouse implementation for Firefox - improves drag and drop support platforms without native events.
* Added Selenium::WebDriver::Opera (requires the remote server).
* Fix for locating Firefox on 64-bit Windows when missing from the registry.
* Fix native events on Firefox 4, 5.
0.2.2 (2011-06-22)
==================
* Deprecate Element#{toggle,select,drag_and_drop_*}
* Chrome.path= now sets the path to Chrome, Chrome.driver_path= the path to the chromedriver server.
* Fix argument names in Mouse#move_to and Mouse#move_by.
* Support Firefox 5
* Chrome and Firefox drivers now includes the HasInputDevices module.
* Selenium::Rake::ServerTask now works with Rake 0.9.
0.2.1 (2011-06-01)
==================
* Allow passing custom command line switches to Chrome (requires today's release of the Chrome server)
* Avoid mutating arguments to find_element (issue #1273).
* Avoid conflicts when SUT modifies Array.prototype
* Allow setting arbitrary capabilities by adding Capabilities#[]=
* The Chrome driver is extended with TakesScreenshot.
* IE driver detects bad protected mode settings.
* Firefox driver no longer considers opacity when determining visibility.
* Fix for ActionBuilder#move_by.
* Treat Errno::EBADF as an indication that we failed to grab the socket lock (issue #1611).
* Ensure Firefox launches don't hang on some Ruby versions (by improving Selenium::WebDriver::SocketPoller).
* Various internal driver improvements.
0.2.0 (2011-04-22)
==================
* Update Ruby bindings to use the rewritten Chrome driver (see http://code.google.com/p/selenium/wiki/ChromeDriver).
* Add deprecation warning for WebDriver::Element#value (use Element#attribute("value") instead).
* Change the default timeout for Wait instances to 5 seconds.
* Fix bug where locators would fail if Object.prototype had been modified.
* Various IE fixes
- Issues: #698, #1444
- Improved handling of showModalDialog()
- Full-size screenshots
* Allow users to override the dom.max_script_run_time preference in Firefox.
* Removed DesiredCapabilities.safari, which was never supported anyway.
* Add DesiredCapabilities.opera, which will be supported in the Remote server if OperaDriver is on the classpath.
* Print warnings for deprecated constants in the RC client:
- Selenium::SeleniumDriver => Selenium::Client::Driver
- Selenium::CommandError => Selenium::Client::CommandError
* Removed top-level constants:
- SeleniumHelper (available as Selenium::Client::SeleniumHelper)
- SeleniumCommandError (available as Selenium::Client::CommandError)
0.1.4 (2011-03-21)
==================
* Support for Firefox 4.
* Search PATH for Firefox / Chrome on OS X as well.
* Bump dependencies for ffi and childprocess (#1356).
* Find module renamed to SearchContext
* Deprecated methods Driver#hover and Options#{speed,speed=} removed.
* Improve IE driver stability, IE9 support
* Added basic ActionBuilder and HasInputDevices#action. Not applicable for all browsers.
* Added Driver#execute_async_script
* Some WebDriver exception classes have been renamed to match its Java equivalents:
ElementNotEnabledError -> InvalidElementStateError
UnknownScriptResultError -> XpathLookupError
* Fix bug where Element#disabled? would alternate between true/false (r11438)
0.1.3 (2011-02-14)
==================
* Several crashing bugs fixed in the IE driver.
* Alert API available through the remote driver.
* Driver#refresh fixed in the IE driver.
* Fixed paths for IE DLLs on Cygwin.
* Screenshot support in the IE and Remote drivers.
* Fix #1152 by avoiding IPv6 loopback.
* Added Mouse and Keyboard classes, accessible as Driver#{mouse,keyboard}. Considered experimental (IE + HtmlUnit only at the moment).
* Automation atoms now used extensively in the IE driver.
* Firefox::Bridge is now easier to extend (i.e. with a custom launcher).
* Add S::W::Remote::Http::Persistent (currently only usable with the remote server).
* IE driver passes along options like the other remote drivers, enabling user-specified HTTP clients.
* :firefox_profile added to Remote::Capabilities, enabling passing a profile to remote Firefoxes.
* IE driver now supports launching multiple instances of the browser.
* Remove some Ruby warnings (uninitialized ivars, URI.escape).
0.1.2 (2010-12-22)
==================
* Changed frame switching behaviour (http://groups.google.com/group/selenium-developers/browse_thread/thread/8dc7938c35bb3968)
* IE driver rewrite landed.
* Initial support for alerts/prompts (in Firefox).
* Cygwin support.
* Driver#execute_script now properly wraps elements inside Hashes.
* Various fixes for Firefox 4.
0.1.1 (2010-11-29)
==================
* Fix for Chrome.path=
* Remote drivers always add Content-Length for POST requests (thanks joshuachisholm)
* Fix for JS execution bug in the IE driver
* Add ability to specify a proxy on the Http::Default client.
* The remote drivers' :http_client argument now take a configured instance.
0.1.0 (2010-11-11)
===================
* selenium-client code (Se1/RC client) is now included in the gem (require "selenium/client").
* Add Selenium::WebDriver::Proxy, used to configure proxies for Firefox::Profile and the remote driver.
* Tweaked Firefox profile preferences, improve logging, disabled crash reporter.
* Reap Firefox profiles on close, not just on exit.
* Add selenium/rake/server_task and selenium/server which wraps the Selenium server jar.
* Various Firefox driver improvements (GC race conditions ++).
* IE::Bridge#initialize now takes an options hash like the other bridges.
* Added basic iPhone and Android driver classes.
* Firefox driver now works on FreeBSD.
0.0.29 (2010-10-09)
===================
* Element#find_element with :xpath follows the XPath spec (i.e. results are not limited to the receiver's subtree).
* Element#attribute(attribute) now returns "false" instead of nil.
* Firefox::Profile instances can now be reused for multiple drivers.
* Redirect Firefox console logs to a file with Firefox::Profile.log_file=
* Added a simple Wait class, based on WebDriverWait in Java.
* Search PATH for Firefox executable on Windows also.
* Added Capabilities.android
* Fix saving of screenshots on Windows and Ruby 1.9 (using "wb" mode string)
* CSS selector support in the remote driver
* CSS selector support for IE (using querySelector when available, Sizzle elsewhere)
* CSS selector support for older versions of Firefox (through Sizzle)
* Cookie expiration dates are now handled correctly (#730)
* Make Driver#bridge private, since this seems to be a common cause of confusion.
* Add {Element,Remote::Capabilities}#as_json for Rails 3 (http://jonathanjulian.com/2010/04/rails-to_json-or-as_json/)
* User can configure path to exectuables with {Firefox,Chrome}.path = "/some/path"
* Added "chromium" as a possible name for the Chrome binary (#769)
* Correctly set the HTTP client timeout (#768)
* switch_to.window with block now handles exceptions and non-local returns.
* switch_to.window with block returns the result of the block.
* Extracted handling of child processes to a separate gem: http://github.com/jarib/childprocess
0.0.28 (2010-08-23)
===================
* Fix behaviour of Element#==, Element#eql? and Element#hash (#hash still has issues on IE / remote).
* Include remote server backtrace in raised errors (if available).
* Chrome: Untrusted certificate support.
* IE: Fix NoMethodError when getElementAttribute returns nil.
* Driver#[] shorthand can take a locator hash, not just an id string.
0.0.27 (2010-07-22)
===================
* Fixes for Element#attribute on IE / Firefox
0.0.26 (2010-07-19)
===================
* Work around Curb issue: http://github.com/taf2/curb/issues/issue/40
0.0.25 (2010-07-19)
===================
* Prevent Firefox from launching in offline mode (issue #587).
* Add ability to set Firefox' binary path through Selenium::WebDriver::Firefox::Binary.path=
* Add ability to install Firefox XPIs through Profile#add_extension.
* Better packaging/building of Firefox/Chrome extensions, which adds rubyzip as a dependency.
* Remote client supports HTTPS (issue #613 - thanks kkaempf).
* Fix error message for TimeOutError in the IE driver (issue #602)
* Add ability to use Chrome's default profile.
* Fix for frame behaviour in Chrome (issue #273).
* Standard gem directory structure (issue #475).
0.0.24 (2010-06-17)
==================
* Fix issues with quitting Firefox/Chrome on Windows + MRI.
0.0.23 (2010-06-15)
===================
* Improved the HTTP clients:
- hopefully fix some occasional socket errors on Windows
- rescue error on driver.close() with curb
0.0.22 (2010-06-11)
===================
* Bugfix: Workaround for http://github.com/taf2/curb/issues/issue/33 - curb would sometimes use DELETE for GET requests.
* Minor doc fix
* Add ability to set timeout for HTTP clients
0.0.21 (2010-06-11)
===================
* User can specify :http_client for the Firefox driver.
* Refactor HTTP client code
* Add Remote::Http::Curb as an alternative to the default (net/http) client.
0.0.20 (2010-06-03)
===================
* Fix bug where Firefox would hang on quit().
0.0.19 (2010-05-31)
===================
* Add a max redirect check to the remote driver
* Add Firefox::Profile#assume_untrusted_certificate_issuer=
* Add implicit waits (Selenium::WebDriver::Timeouts)
* at_exit hook to clean temporary profiles
* Fix for Errno::ECONNABORTED errors on Windows
* Fix issue where Firefox::Profile#secure_ssl= would have no effect
* Fix issue where locating elements by :css would fail in the Chrome driver.
* IE driver now works on 64-bit rubies.