-
-
Notifications
You must be signed in to change notification settings - Fork 8.2k
/
CHANGELOG
3929 lines (3487 loc) · 176 KB
/
CHANGELOG
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
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
v4.27.0
======
* Add CDP for Chrome 131 and remove 128
* Add Firefox CDP deprecation warnings
* Throw Error When Using Unsupported Linux ARM (#14616)
* Enhance error message for NoSuchElementException and return unmodifiable set for pinned scripts (#14707)
* Fix SpotBugs bugs in the Selenium manager (#14608)
* Allow to cancel a pending http request
* Case insensitive header names in http requests (#14095)
* Consume the input of the connection
* Deleted the deprecated FormEncodedData (#14688)
* Add method to select options containing the provided text (#14426)
* Remove toml parser warning (#14711)
* Simplify reading http headers
* Mark WebElement.getAttribute deprecated (#14666)
* Search windows by name without recursion (#14782)
* [bidi] Add network request handler APIs (#14424)
* [bidi] Fix the mode "closed" for a node
* [grid] TomlConfig: migrate TOML library to tomlj/tomlj (#14470)
* [grid] Avoid starting a session which will be disposed after start
* [grid] Cancel pending request on client timeout
* [grid] Check session ownership once
* [grid] Detect a client timeout while session creation #14743
* [grid] Prevent NPE in handling request with unsupported http method
* [grid] Retry creating a session in a distributed grid
* [grid] Shutdown the server backend on stop
* [grid] Speed up the server shutdown
* [grid] Stop a stale session more graceful
* [grid] Stop polling events on close
v4.26.0
======
* Add CDP for Chrome 130 and remove 127
* Add PAC proxy url to arguments for Selenium Manager (#14506)
* Prevent closing the stdin, stdout, stderr streams (#14569)
* Increasing of properties scope for better Appium compatibility (#14183)
* Fix decoding of line endings (#14539)
* Fix SpotBugs findings in `ChromiumDriver` and `PortProber` (#14589)
* Fix `v*Network.java` conditions (#14585)
* [grid] Enable the httpclient to perform async requests (#14409)
* [grid] Limit the number of websocket connections per session (#14410)
* [grid] Improvement for Node handling (#14628)
* [grid] Add node sessionTimeout to Grid status (#14582)
* [grid] Capability se:vncEnabled value based on list of vnc-env-var (#14584)
* [grid] UI Sessions list view sort Duration in ascending by default (#14599)
* [grid] UI Liveview disconnect noVNC websocket when closing dialog (#14598)
* [grid] UI Overview is able to sort Nodes capabilities (#14571)
v4.25.0
======
* Add CDP for Chrome 129 and remove 126
* replace `fedcm` links with new ones (#14478)
* toml: warn about upcoming change enforcing string to have quotes (#14491)
* Escape cookie values when required for tests (#14486)
v4.24.0
======
* Add "se" prefixed capabilities to session response (#14323)
* Ensure all prefixed caps in request are added in response
* [bidi] return the id of the listener added
* [grid] shutdown the websocket on unexpected failures
* Add JSpecify annotations to WebElement and SearchContext (#14291)
* Add JSpecify annotations for WebDriver and 3 other interfaces (#14371)
* Implement getAttributes() method of MBean, and update Number-based MBean attributes to return Number objects instead of Strings (#14153)
* [grid] shutdown the client related to a websocket
* [grid] release the upstream websocket
* [grid] close the httpclient after connecting the websocket failed
* [bidi] Add execute script high-level API (#14330)
* [ci] Use a tag to figure out what we might want to release (#14378)
* Add CDP for Chrome 128 and remove 125
v4.23.1
======
* [bidi] Add dom mutation handler support (#14304)
* [grid] Exclude status DRAINING when distributor getting available nodes (#14282)
* [bidi] Add script pinning methods (#14305)
* Allow setting JDKHttpClient connectionTimeout, readTimeout, version via system property (#14306)
* remove package org.openqa.selenium.grid.session.remote (#14295)
* close the HttClient in case starting the session fails
* Adding system property to disable tracing `webdriver.remote.enableTracing`
* wait for the close response #14280
* [bidi] Add authentication handlers (#14334)
* [grid] ensure the local_sessionmap.remove event is raised (#14337)
* [bidi] Add filter auth handler (#14349)
v4.23.0
======
* Use Files.notExists to check files #14088
* Setting proxy in SM only when it is needed.
* Remove `LocateNodeParameters.Builder`, deprecated since 4.20
* Remove usage of deprecated methods in Require.java
* Delete tests referencing deprecated methods in Require.java
* [bidi] Remove the method that converts node value to RemoteWebElement
* [bidi] Ensure the listeners returns an id (#14215)
* [bidi] Fix the adding and the removing listener
* [bidi] Ensure empty values are removed from the call back map
* [bidi] Avoid creating new instances of log entry event
* [bidi] Add source type to log entry (#14244)
* Revert workaround for old netty http client (addendum to #12843) (#14134)
* [grid] Remove 'browserName' capability from stereotype when using RelaySession (#14247)
* Merge android specific parameters in chrome options (#14217)
* Add custom duration for Actions constructor (#14085)
* Consistent UTF-8 Encoding and Code Enhancements (#14218)
* [grid] Set session-request-timeout as client readTimeout in RemoteNewSessionQueue (#14272)
* [bidi]Add high-level logging APIs (#14225)
* Add CDP for Chrome 127 and remove 124
v4.22.0
======
* [grid] Log unsuccessful attempts to create a session
* [grid] Prevent UrlChecker leaking threads on timeout
* Add convenience for enabling BiDi (#14029)
* Eliminate assumption of mutable list argument in SeleniumManager.getBinaryPaths() (#14036)
* Add 'toJson' method to Rectangle class to produce expected serialization (#14038)
* Let TracedCommandExecutor delegate NeedsLocalLogs calls
* Add preference to enable CDP in Firefox by default (#14091)
* [grid] Video file name set independently in dynamic grid via se:videoName (#14148)
* Add CDP for Chrome 126 and remove 123
* EdgeOptions.useWebView to return "this" (#14157)
* Various minor performance improvements and code cleanup (#14054)
* Use java.nio to check files (#14088)
v4.21.0
======
* Add CDP for Chrome 125 and remove 122
* [bidi]Add methods to allow all parameters for script callFunction and evaluate method (#13873)
* Setting a connection timeout for the WebSocket connections
* [grid] flatten combined routes to improve routing (#13856)
* Java language level aids (#13834)
* [grid] apply protocol version in relay session factory (#13880)
* Configure Selenium Manager environment from System Properties (#13858)
* [grid] Set test name to video file name in dynamic grid (#13907)
* [grid] Set connection timeout to session-timeout in RemoteNode (#13854)
* Type casting and numeric improvements (#13909)
* Allow filters to recover from failed requests in NetworkInterceptor (#13847)
* Allow a DevTools listener to determinate the order of handler calls (#13921)
* Read selenium manager output as UTF-8 #13653
* Reduce redundant toString() calls (#13932)
* Fixed format of expires in Cookie.toString #13927
* [bidi] Remove root ownership parameter due to update in BiDi spec
v4.20.0
======
* Add CDP for Chrome 124 and remove 121
* [bidi] Deprecate using builder for Locate Node parameters. (#13767)
* [grid] handle baseRoute like the hubRoute and the graphqlRoute (#13772)
* [grid] Fixing Dynamic Grid Docker (#13789)
* [grid] Browser containers provisioned in dynamic grid uses node-docker hostConfig
* Making Selenium Manager a thin wrapper (#13385)
* This change has been made to make it easier to maintain and improve, the interface has
changed and if users were invoking it, they might experience issues. Selenium Manager is
still in beta and these type of changes are expected.
* [grid] Dynamic Grid re-fetch browser images if they were pruned during runtime (#13821)
* [grid] Relay service can set protocol version in fetching status (#13849)
* [cdp] Continue requests without modification for know errors in NetworkInterceptor (#13836)
* [bidi] Update browsing context create method (#13766)
v4.19.1
======
* [bidi] Fix the bazel file after the BiDi breaking change
v4.19.0
======
* Add CDP for Chrome 123 and remove 120
* Use daemon threads in JdkHttpClient #13601
* Use a static class for ProxySelector #13622
* Improve memory allocation of an idle relay node #13643
* Close the httpclient after checking the service status #13643
* [bidi] Add storage module (#13675)
* [bidi] Add browser module (#13677)
* [bidi] Add continueRequest and continueResponse command (#13692)
* [bidi] Add provide response command (#13708)
* [bidi] Add setFiles command of the Input Module (#13711)
* Add JSON serialization for ShadowRoot (#13680)
* [grid] Ensure the original RemoteNode stays DOWN #13646 (#13647)
* Removed usage of FileBackedOutputStream in the client (#13308)
* [grid] Remove "se:bidi" (#13528)
* [bidi] Update the capture screenshot APIs to include all parameters and remove scroll parameter (#13743)
v4.18.1
======
* Add CDP for Chrome 122 and remove 119
v4.18.0
======
* Recommitting self-signed certificate should not require certificate file
* [bidi] Add browsing context destroyed event
* Add missing support events for Web Driver Listener (#13210)
* [bidi] Add network intercept commands
* [bidi] Add command "continuewithAuth"
* [bidi] Add failRequest command
* use the W3C state to detect errors
* [grid] Fixing driver configuration parsing (Fixes #13531)
* [cdp] Ensure dom mutation listener calls to webdriver apis are thread safe (Fixes #13500)
* Fix typo in comment (#13549)
* Allow `null` input in `FluentWait` (#13558)
* Add missing event handlers for `TargetLocator` interface (#13559)
* shutdown the process of a failed driver server start
* ensure ExternalProcess.waitFor will not block
* fixed the format of DriverService
* use message templates in logger calls
* [bidi] Add 'fetchError' event
* Fixing NPE when "se:downloadsEnabled" not set (#13583)
* Make Rectangle fields final to enhance immutability (#13586)
* Use all provided options while merging them for Firefox (#13582)
* Fix access modifier for script module classes
* use the ErrorCodec to build the WebDriverException #13580
* give the driver some time to terminate graceful
v4.17.0
======
* Self-signed certificate do not require certificate file (#13268)
* Remove deprecated event listener classes (#13200)
* Add ability to disable UI on grid (#13212)
* Recognise `chrome-headless-shell` as Chrome browser (#13292)
* Remove most of guava from remote package
* Add java to Selenium Manager input for tracking (see #13288)
* Add cookie support for network module (#13325)
* Refactored log capture and formatting code (#13322)
* Add support for Input module (Actions) (#13259)
* Close http connection for RemoteNode (#13313)
* Add Duration overload to SlowLoadableComponent constructor and deprecate the int (#13309)
* Improve logging errors (#13327)
* Ensure calling close() and quit() don't cause BiDi websocket errors (#13333)
* Check for emptiness instead of using length or size (#13335)
* Remove unnecessary overridden methods (#13336)
* improved logging when driver discovery failed
* WebSocket NoVNC session against the grid URL contains trailing slash (#13353)
* Updating channel name from Aurora to Dev
* Removing mentions to firefox-bin in docs and tests
* Deprecate FirefoxBinary class
* Deprecate json wire related ErrorCodes
* Fix the ScreenshotException message
* Add ShadowRoot.hashCode / .equals #13326
* Deprecate unused RemoteStatus
* Remove use of guava from FluentWait
* Remove all references to firefox-bin
* Deprecate all html5 offline storage implementations See #10397 (#13373)
* Remove endpoints and commands that are not w3c compliant (#13372)
* Deprecate methods for getting and setting location (#13372)
* Deprecate methods for getting and setting network connection (#13372)
* remove non-w3c endpoint references that are mobile specific
* Add auth required event
* Copy the output in a daemon thread
* No longer accept session requests with desiredCapabilities
* Remove requiredCapabilities from metadata ignored list
* Deprecate `AddWebStorage` augmenter provider as well (#13399)
* Update logging and errors for driver management
* Deprecate `ContextAware` interface (#13405)
* Add check back to driver service session factory
* Fix broken driver finder conditional
* Node WebSocket not working with sub-path option (#13407)
* Add window proxy properties class
* Schema HTTPS in Distributor, SessionQueue, SessionMap (#13413)
* Add BiDi Input module release command (#13362)
* Add Node properties class as precursor to BiDi's locateNodes command
* Deprecate `NoSuchContextException` (#13425)
* Ensure the worker thread is stopped
* Log the complete exception
* Add deprecation annotation to FirefoxBinary
* Add a warning while passing a decorated driver to augmenter (#13246)
* Tapping the Node session when there is WebSocket activity (#12223)
* Small code improvement in ProxyWebsocketsIntoGrid
* Using `max-sessions` from Node when it was declared (#12836)
* Fix typo in NodeFlags (#13440)
* Add locate nodes command (#13445)
* Add user friendly methods to locate nodes
* Add click dialog support to Federated Credential Management implementation
* Use the ErrorCodec to encode exceptions
* Ignore null text of UnhandledAlertException
* Add CDP for Chrome 121 and remove 118
v4.16.1
======
* Re-release due to broken packages
v4.16.0
======
* Allow stereotype to always allow browser version of "stable"
* [bidi] Listen to channel message
* [bidi] Add realm related events
* Move the module-info.class to the correct place
* Allow external uri to be configurable for components that support server functionality - #12491 (#12508)
* Close the streams after I/O failure #13096
* Fix events without parameters #13109
* Chrome-based browsers can do CDP-based script pinning (#13125)
* Ensure the complete output is read #13091
* Fixed reading array parameters in the CDP client
* Keep HttpClient alive until unused #12558 (#12978)
* Implement Safe Casting in getPermissions Method (#13143)
* Fix null request in case of chunked request (#13113)
* Set a name for thread started to forward output of external processes (#13142)
* Allow resuing devtools instance with JDK 11 client (#12882, #13165)
* Ensure all print options are sent as map instead of object
* Allow setting print options page ranges using list
* Fix bug replacing setDownloadThroughput for setUploadThroughput (#13187)
* Add macOS 14.0 to Platform enum
* Do not return linux Selenium Manager by default
* [bidi] Add traverse history command
* Make the json parsing exception text more helpful
* Add javadoc to support event classes (#13199)
* Packages should be opened to modules #13217
* Add more tests for java support event class (#13198)
* Add a `/quitquitquit` endpoint to the test server to make killing it easy
* Grid vnc session is not using the --sub-path argument (#12791, #13219)
* Remove retrying on timeout exception (#13224, #12975)
* Must not request further invocations for a broken websocket
* Moved org.openqa.selenium.remote.http.jdk to selenium-http (#13243)
* Add Chrome 120 and remove 117 for CDP
v4.15.0
======
* Fixed the characteristics of the collector
* Marked Client Config version field as final. (#12941)
* Removed use of guava from browser packages
* Removed use of guava from devtools (#12943)
* Do not set browser binary if it is an empty string (#12738)
* Allow setting proxy for all http client instances (#12940)
* Ensure request can be modified while intercepting (#12930)
* Add BiDi browsing contexts events related to navigation and user prompt
* Update Actions.java as removed modifier keys (#12903)
* Removed the unused netty domain socket client and dependencies
* Removed the guava reference from os, manager, bidi package
* Removed the unused sockets test base
* Removed most usages of guava from the support package
* Copy SM binary to cache folder and use it from there (#11359) (#12539)
* Prevent browser to be created and unused in case a short session-request-timeout is set (#12848)
* Add BiDi request data types from Network module
* Remove the http2-settings header in the reverse proxy
* Add BiDi network response data type, network initiator type
* Add value key to delete downloadFile response per w3c convention (#13025)
* Add BiDi BeforeRequestSent type
* Add BiDi mechanism to listen to network event - beforeRequestSent
* Fix bug in downloading files by ensuring browser vendor options in capabilities (#13024)
* Add BiDi network module events - onResponseStarted and onResponseCompleted
* Fixed processing continuation frames #12962
* Remove CDP version dependencies in the server (#12502)
* Add placeholder for BiDi script module commands and events
* Add BiDi script types, remote reference types, and local value types for script module
* Change local value method name for BiDi serialization
* Fixed the invalid session id response #12655
* Add BiDi channel value type, remote value type and evaluate result types
* Add BiDi call script command, evaluate function command, disown command, get realms command
* Open the selenium-manager to the selenium-json package for the Java Module System
* Add message to exception error for downloads error
* Add BiDi command to add and remove preload script
* Add CDP v119 and remove v116
* Implement file downloads (#12979)
v4.14.1
======
* Add print, activate and set viewport commands to Browsing Context
* Remove deprecated lift packages (#12917)
* Add validation for browsing context id (#12920)
* Fix default values for print options page size
* Use the java process builder to run external processes (#12898)
* Allow a custom timeout when shutting down a process
* Replacing Guava implementations with native Java implementations
* Allow setting version in Http Client Config (#12919)
v4.14.0
======
* Supported CDP versions: 85, 116, 117, 118
* Replace the EventAttribute(Value) with an AttributeMap (#12684)
* Add browsing context's capture box and element screenshot commands
* Enable handle user prompt tests for Firefox
* Delete SM binary only when SE_MANAGER_PATH is not set (#12840)
* Shutdown executors created for a single tasks
* Ensure closed socket connection does not prevent freeing up resources
* Remove the unused htmlunit-driver from the unit tests (#12849)
* Ensure proper error message gets logged (#12853)
* Allow setting SSL context in client config for HttpClient (#12874)
* Improve warning when CDP version not found (#12880)
* Ensure retry mechanism does not swallow an exception (#12838)
* Require Java 11 and move jdk-http-client into default package (#12843)
* Reduce log noise at FINE level (#12866)
* Refactor frame method to use isEmpty for list check and String check. (#12894)
* Use new 'getArray' method to extract driver configurations (#12716)
v4.13.0
======
* Supported CDP versions: 85, 115, 116, 117
* Deprecate setScriptTimeout(), use scriptTimeout()
* Remove deprecated method move on Point class
* Remove deprecated method GeckoDriverService usingFirefoxBinary, use setBinary
* Remove deprecated method GeckoDriverService createDefaultService with capabilities
* Remove deprecated onConsoleLog in BiDi LogInspector
* Fix NewSession Runner (#12700)
* Add 'getArray' method for array values (#12703)
* Ensure HttpClients not closed while waiting for responses
* Fix bug for overwriting driver log output stream passed in by user
* Update pinned browser versions
* Improve stability with final variables (#12733)
* Fix bug for Appium subclass that sets neither log file nor output (#12696)
* Remove deprecated headless methods from Options classes
* Remove deprecated driver service constructors and methods
* Remove deprecated log_file methods
* Allow users to set Selenium Manager path by environment variable (#12752)
v4.12.1
======
* Supported CDP versions: 85, 114, 115, 116
* Safari driver service system properties should be public
* [grid] Removing browserVersion before sending payload to driver
* Selenium Manager don't log file paths by default (#12673)
* Parse log output to support streams and file location in system properties (#12674)
* Fixing default service for drivers #12682
v4.12.0
======
* Supported CDP versions: 85, 114, 115, 116
* Update Selenium Manager to use io for executing command line
* Improve logic for deleting Selenium Manager binary on exit
* Remove deprecated BROWSER_LOGFILE
* Ensure grid maps exceptions to the correct error
* Allow deleting remote downloaded files from grid (#12501)
* Deprecate the Remote Response status field
* Remove deprecated UNEXPECTED_ALERT_BEHAVIOR capability in IE Options
* Deprecate disableNativeEvents method in IE Options
* Remove deprecated createPointerDown and createPointerUp methods
* use devtools script pinning mechanism by default (#11622)
* ensure all headers are removed or replaced
* Remove deprecated /file JWP endpoint (#12354)
* Increase maximum depth of generated JSON (see #12581)
* Do not register multiple listeners
* Improve synchronization for network event listeners
* Fix bug for null hashCode in element subclasses (#12442)
* Fix potential deadlock in processing events (#12576)
* Fix proxy breaking in RemoteWebDriver (#12607)
* Grid detects Safari and Safari Technology Preview only on macOS
* Grid avoids using Selenium Manager offline mode when it is enabled in arguments
* Batch copy input to multiple streams
* Remove browserVersion from options in Selenium Manager (#12639)
v4.11.0
======
* Supported CDP versions: 85, 113, 114, 115
* Add Missing W3C Exceptions (#12175)
* Increased the max depth of new session payload (#12205)
* Create less HttpClient instances while creating a CDP connection (#12216)
* Raise a ConnectionFailedException when openSocket failed (#12215)
* Ack the log file argument without need to combine it. Fixes #12225
* Improved the exit code and error handling (#12219)
* No need to have the auto-service dependency in the client bindings (#12244)
* Deprecate all 'lift style' code (#12263)
* Minor spelling Fix (#12258)
* Adding ignore process match for IE Mode across bindings (#12279)
* Extract original driver from decorated driver when Augmenting a driver (#12248)
* BidiException instead of DevToolsException in getBiDi (#12284)
* [grid] Switching to fine log level when clearing caches in LocalNode
* Removing deprecated methods (findElement & findElements)
* less memory allocation (#12320)
* Add move to location method to Actions (#11509)
* [grid] Add supports for list-of-table options (#12363)
* [grid] reject requests only if it has been in the queue before trying… (#12336)
* [grid] do not rely on .hashCode for .equals (#12361)
* Use Selenium Manager to locate drivers on PATH (#12352)
* [grid] Improved the new session handling when the queue is empty (#12385)
* [grid] Using SM to find drivers on PATH
* Using same variable for log output, fixes #12406
* UnreachableBrowserException logs the command parameter details only in debug mode (#11328)
* Filter related fixed in the NettyClient and the JdkHttpClient
* Removing deprecated `createServiceWithConfig` in ChromeDriverService
* Removing deprecated `webdriver.chrome.whitelistedIps` in ChromeDriverService
* Removing deprecated ChromeDriverLogLevel
* Add browser output from Selenium Manager to options (#12424)
* [grid] Make user defined SlotMatcher used everywhere in grid code (#12240)
* Add support for FedCM commands (#12096)
* [grid] Returning se:bidi when the user sends `webSocketUrl`. Fixes #12314
* [grid] Covering use case where a Node is UP after being marked DOWN. Fixes #12116
* Make external modules static (#12294)
* Use double-checked locking to initialise the Selenium Manager instance
* Making sure browser path is not null before setting the binary when value is returned from SM
* Showing SM error when the exception is thrown
v4.10.0
======
* Supported CDP versions: 85, 112, 113, 114
* Remove Selenium RC and WebDriverBackedSelenium code (#12024)
* Fixed URI in logs (#12000)
* Enhancing stereotype in Dynamic Grid (#12034)
* Support proxies in Selenium Manager (#12036)
* Close websockets when closing JDK HTTP Client (#12035)
* Change bidi loglevel warning level (#12054)
* Allow driving embedded apps without CDP (#11963)
* Fix possible freeze from incompatible HTTP responses (#12055)
* Fix bug when JSON max depth reached (#12056)
* Remove deprecated capabilities `SUPPORTS_JAVASCRIPT` and `SUPPORTS_WEB_STORAGE`
* Remove deprecated setters in `Rectangle`
* improve cleaning of upload and download directories (#12059)
* Fix redirect bug in JDK HTTP Client (#12070)
* Prevent grid from creating sessions that will time out in queue (#12014)
* Respect disabled pretty printing for arrays (#12079)
* Add support for WebView2 in Edge
* Allow setting savefile directory in Chrome when downloads are enabled (#12109)
* Add BiDi support for browing context events
* Enable BiDi functionality for Chromium browsers
* Improve "near" locator behavior (#11290)
* Do not send driver logs to console by default (#12136)
* Fix bug with GeckoDriver option for truncating log lines
* Do not log Selenium Manager details as INFO (#12145)
* Error messages link to Selenium documentation where supported
* Create NoSuchDriverException for referencing driver location problems
v4.9.1
======
* Supported CDP versions: 85, 111, 112, 113
* Typo in the "addArguments" method comment (#11945)
* Handling case where -1 is returned as statusCode (#11910)
* Adding remote-allow-origins argument only when the Java 11 http client is not used (#11949)
* Remove deprecated "version" JWP capability
* Remove deprecated "platform" JWP capability
* Remove deprecated "takesScreenshot" JWP capability
* Remove deprecated "unexpectedAlertBehaviour" JWP capability
* [grid] Displaying the real stereotype config at startup
* Add logging for starting the driver
* [grid] Do not switch and remove node in one iteration (#11961)
* Handle fragmented websocket messages (#11962)
* Add more logging to Selenium Manager (#11959)
* Make Driver Services consistent (#11973)
* Using driver path always for Safari and Safari Technology Preview (#11952)
* Overriding methods to have main platform names lowercase (#11952)
v4.9.0
======
* Supported CDP versions: 85, 110, 111, 112
* Handle redirects inside the JdkHttpClient (#11816)
* [grid] Remove Json Wire Protocol support (#11823)
* Selenium Manager use binary from Browser Options
* [grid] Allowing binary to be set via options when not set in Grid
* Log exception message (#11922)
* [grid] Fixing remote execution for Edge when Java 8 client is used
v4.8.3
======
* Supported CDP versions: 85, 109, 110, 111
* Fix bug preventing adding items to ArrayList for Selenium Manager command
v4.8.2
======
* Supported CDP versions: 85, 109, 110, 111
* [grid] Enabling `detectDrivers` original behaviour.
* Fix NPE regression in 4.8.0 (#11701)
* Implement DriverFinder completely independent of Service classes (#11491)
* [grid] Allow LocalNode to be extended for customisation (#11718)
* InvalidSelectorException extends WebDriverException (#11727)
* Deprecate CDP instance methods in FirefoxDriver
* Adding allowHosts to GeckoDriverService
* [grid] Passing language env var to child containers
* [grid] Removing unknown capability extensions for IE
* [bidi] Ensure removing listeners does not cause an error
* Process Selenium Manager output as JSON (#11663)
* [grid] Support remote downloads in Grid (#11702)
* Adding `remote-allow-origins` for Chrome
* Invoking Selenium Manager only with `--browser
* [grid] Adding `remote-allow-origins` for Chrome stereotypes
* Overloaded constructors to configure connect and read timeouts for WebDriver objects (#11532)
v4.8.1
======
* Supported CDP versions: 85, 108, 109, 110
* Merge capabilities of slot with the new session request capabilities (#11369)
* Keep track of pinned scripts per CDP session (#11598)
* Simplify Augmentation for Basic Auth (#11601)
* Print requested capabilities in SessionNotCreatedException (#11604)
* Simplify Augmentation for Dom Mutation
* Generate a Maven BOM (#11560)
* Synchronize method to get Selenium Manager binary (fix #11620) (#11640)
* Updating Selenium Manager binaries for 4.8.1 release
* File downloads url - Adhere to w3c standards (#11646)
v4.8.0
======
* Supported CDP versions: 85, 107, 108, 109
* Implement Edge and Chrome Driver Services using log level with ChromiumDriverLogLevel enum
* Deprecate Edge Driver Service using log level with String
* Deprecate Chrome Driver Service using log level with ChromeDriverLogLevel enum
* Deprecate setting Chrome Driver Service logging values in Chrome Options
* Close BiDi session on closing the last top-level browsing context
* Add withAllowedListIps() to ChromeDriverService
* Add comment with name of large JS executions (#11038)
* Allow Pointer and Wheel methods to accept Point object (#11477)
* Fix bug where options are not properly merged into capabilities (#11396)
* JDKHttpClient: Fix null pointer bug when responseBody is null (#11450)
* CDP: Ensure child session is created under browser session (#11475)
* Deprecate setHeadless for Chrome and Firefox Options (#11467)
* Grid: Remove translations of non-w3c locators (#11470)
* JDKHttpClient: Handle RQST with no Body [POST/PUT] (#11445)
* Fix bug with decorated webdriver not calling the listeners (#11438)
* BiDi: Add filter parameter to LogInspector methods
* BiDi: Rename 'onConsoleLog' to 'onConsoleEntry'
* CDP: Fix bug with console events returning modified args (#11435)
* Grid: Accommodate ability to specify sub-paths (#11271)
* Grid: fix bug with pulling image using zero content-length (#11342)
v4.7.2
======
* Grid: Support file downloads on the node (#11277)
* Change chromium service names from whitelisted to allowed (#11409)
* Avoid closing CDP connection in browser implementation since that logic now sits in RemoteWebDriver (Fixes #11401)
* Fix bug where failing Selenium Manager method results in wrong error
* Allow changing chromium driver log timestamp formatting
* Allow ignoring chromedriver build checks using service builders
* Add support for appendLog to msedgedriver service
* Fix msedgedriver log level logic
* Allow setting chromedriver log level from system properties
* Fix chromedriver log level logic
* Remove deprecated Firefox capabilities
* Removing a few bits more of the magic that moves JWP to W3C
* Removing deprecated SUPPORTS_ALERTS and SUPPORTS_SQL_DATABASE caps
* Removing deprecated OVERLAPPING_CHECK_DISABLED cap
* Removing deprecated LOGGING_PREFS cap
* Removing deprecated HAS_TOUCHSCREEN cap
* Removing deprecated HAS_NATIVE_EVENTS cap
* Removing deprecated ENABLE_PROFILING_CAPABILITY cap
* Removing deprecated ACCEPT_SSL_CERTS cap
v4.7.1
======
* Supported CDP versions: 85, 106, 107, 108
* Add close method to JDK 11 client. Ensure close methods for Http client is called. (#11345)
* Don’t specify content length when pulling images (#11343)
* Allow arguments to be passed in Node flag "driver-configuration" (#11367)
* Ensure all states of StartOrDie are handled (#11297)
v4.7.0
======
* Supported CDP versions: 85, 106, 107, 108
* Remove deprecated classes for Rotatable, AppCache, NetworkConnection, LocationContext
* Remove deprecated capabilities- IE_USE_PRE_PROCESS_PROXY, APPLICATION_NAME, ELEMENT_SCROLL_BEHAVIOR
* Fix bug causing sessions to hang when session stops (#11167)
* Support multiple reads of input stream (#11249)
* Fix reading connection header (#11255)
* BiDi: Implement JavascriptLogEntry
* BiDi: Support browsing context in event subscriptions
* BiDi: Fix type of JavascriptLogEntry
* Grid: improved exception handling when no cause is set (#11286)
* Fix following contract of Closeable (#11282)
* Grid: Get TZ from parent container when not passed as cap (#11289)
* BiDi: Add LogInspector
* Grid: do not offload from multiple threads to a single worker (#11260)
* Add support for Selenium Manager to work with IE Driver
* Improve error handling with Selenium Manager (#11300)
* BiDi: Add constructor parameter for commands without a response
* Grid: remove browser filters from makeW3CSafe
* Fix bug for merging MutableCapabilities and Options
v4.6.0
======
* Supported CDP versions: 85, 105, 106, 107
* Updated IllegalArgumentException to NullPointerException for Null Values in Require Class (#11162)
* Fix page ranges issue in PrintOptions (#11172) (#11174)
* Ensure the correct output stream is used (#11175)
* Add initial support for Selenium Manager
* Revert "[java] only allow enabled select lists for Select class"
* [grid] Closing input pipeline when 404 is returned
* JDK Http client - avoid chunking without buffering to memory (#11198)
* Avoiding pulling same netty dependencies for AsyncHttpClient
* [grid] Only check for IEDriver on Windows.
v4.5.3
======
* Supported CDP versions: 85, 104, 105, 106
* Removing check "::1" in PortProber (Fixes #11159)
v4.5.2
======
* Supported CDP versions: 85, 104, 105, 106
* Add support for basic auth in JDK client (Related to #11068)
* [grid] Adjusting PortProber for Docker execution
v4.5.1
======
* Supported CDP versions: 85, 104, 105, 106
* Avoid throwing errors once NetworkInterceptor is closed (Fixes #11032)
* Avoiding hiding "internal" package so that selenium-api exports it (Fixes #11069)
* Close the CDP connection on quit for FF (#11109)
* Removed the broken escape (#11110)
* Use the correct base64 decoder (#11107)
* Reduce noisy logs from CDP version finder and made dialect related log debug level (Related to #11088)
* Respect the last flag for binary data (#11108)
* Check that a port truly is free before using it (#11085)
* Make public constant storing capability name for IE options (#11114)
* [grid] Add BiDi endpoint to returned caps if available, adding `se:bidi`
* Ignoring additional headers in the JDK 11 implementation
* Pick random port outside of well-known ranges of ephemeral ports (#10990)
* [grid] Consume in batches from the new session queue (#10987)
* [grid] Deprecate max-threads flag. Add an alternate flag in the Distributor for new session thread
pool size. (#10995)
* [grid] Restoring behavior for session creation interval.
* [grid] Add batch size flag for session queue
* Make sure `EventFiringWebElement` implements all `WebElement` methods (#11144)
* [bidi] Make BaseLogEntry.LogLevel enum public (#11147)
* [grid] Removing default value for `max-threads` to avoid noisy warnings due to deprecation
v4.5.0
======
* Supported CDP versions: 85, 104, 105, 106
* Allow event firing decorator to accept a target class (#1694)
* Fix Javadoc for executeAsyncScript method
* [cdp] Add support for CDP 105 and remove CDP 102
* Make httpclient ClientConfig constructor protected (#10985)
* Throw an error when trying to select a disabled select or option (#10812)
* Add "webdriver.edge.loglevel" system property (#10961)
* Remove deprecated Opera support (#10379)
* [grid] Adding handler for options when using CORS and creating a session
* Add a JDK 11 HTTP client (#10730)
* [grid] Delete a session when a session times out (#10820)
* Set high redirect default value in Netty client
* [grid] Remove unused "grid-mode" flag
* Improve default matcher to enable Appium
* Remove host info for most exceptions, except SessionNotCreatedException (#9792)
* Change message when session is not found in Grid for better exception handling
* Remove IME support
* Remove deprecated ForSeleniumServer caps
* Remove deprecated BrowserType
* Differentiate "Windows 7" and "Windows Vista" in Platform class
* Fix bug preventing websocket connections in Firefox v105 from localhost
v4.4.0
======
* Supported CDP versions: 85, 102, 103, 104
* Fix bug to ensure correct window handle used by CDP (#10811)
* Remove makeW3CSafe from NewSession in Command Payload
* Allow decorating child classes of WebDriver (#10737)
* Throwing an error when user sets `w3c:false` in `goog:chromeOptions`
* Allow a Relay Node to boot and check periodically for the status endpoint.
* Forwarding requests with non-W3C locators (useful for Relay Nodes with Appium)
v4.3.0
======
* Supported CDP versions: 85, 101, 102, 103
* Remove deprecated methods that use capabilities in WebDrivers (#10427)
* Removal of deprecated Actions commands
Deprecated in (1/7/2017) for selenium-3.1.0 and (10/29/2018) for selenium-3.141.0
* Removing deprecated getPlatform and getVersion
* Removing a few non-W3C ways of matching browsers
* Add support for BiDi log event (#10696)
* Warning when user sets `w3c: true` in `goog:chromeOptions`
* Adding native ARM support for sockets
* Add Firefox profile preferences when retrieving from a file
* Add BiDi augmenter support (#10789)
* [cdp] Add support CDP 103 and remove CDP 100
v4.2.2
======
* Supported CDP versions: 85, 100, 101, 102
* Throwing warnings for non-W3C before creating session (#10741)
* Update ExpectedCondition to extend java util Function (#10695)
* Fixing SafariTechPreview
v4.2.1
======
* Supported CDP versions: 85, 100, 101, 102
* Improving warnings for non W3C capability checks (#10711)
* Adding LOGGING_PREFS to Edge and Chrome options
v4.2.0
======
* Supported CDP versions: 85, 100, 101, 102
* Add wheel input (#10445)
* Adding `--allow-origins` when starting GeckoDriver
* Deactivating automatic retries in the HTTPClient
* Implement separate Origin class for WheelInput (#10636)
* Deprecating IME
* Add javadocs to scroll()
* Add support to create a BiDi session
* [grid] Include JMX monitoring feature in the Grid local distributor (#10674)
* [grid] Fixing Node drain when session expires
* [grid] Add docker device mapping configuration (#10645)
* [grid] Flag to disable CDP if needed (#10661)
* [cdp] Add support Chrome 102 and remove for Chrome 99
* Improve error message for unsuccessfully submitting form
* [grid] Add deprecation notices to Grid logs and Java stdout,
check https://www.selenium.dev/blog/2022/legacy-protocol-support/
* Deprecating non W3C caps and Augmenters using them,
check https://www.selenium.dev/blog/2022/legacy-protocol-support/
* Logging warnings when non-W3C caps are being used,
check https://www.selenium.dev/blog/2022/legacy-protocol-support/
* Removing HTMLRunner, this was a server extracted from the old
Grid server which was used to run HTML test
suites exported from the old Selenium IDE
* Fix screen rotate error (#10693)
* Make the action movement methods specify the button number
* Convert RemoteWebElement::getLocation and ::getSize from JWP Standard to W3C Standard (#10700)
* Creating browser name for SAFARI_TECH_PREVIEW
v4.1.4
======
* Supported CDP versions: 85, 99, 100, 101
* [grid] Setting session-timeout as read timeout for http client (#10404)
* Add Windows 11 support to platform enum
* Enabling request retries for session handling (#9528)
* Use class' class loader when looking up `HttpClient` factory. (#10509)
* Fixing search in Java docs (#10415)
* Added fix to intercept PUT request
* [grid] Standalone should also shutdown when it has been drained
* [grid] Draining a Node after X sessions have been created (#9845)
* Fixing options handling for print command
* Fix links in JavaDocs (#10529)
* Introduce common interface for all web storage types (#10528)
* Added PATCH request
* Honoring proxy in ClientConfig (#10531)
* Return friendly names for Windows platforms like Mac does
* Support for sending firefox addon directory as temporary in remote sessions
* [grid] Closing input pipeline when client disconnects
v4.1.3
======
* Supported CDP versions: 85, 97, 98, 99
* [grid] Using DefaultSlotMatcher in DockerSessionFactory
* Removing XpiDriverService and XpiDriverInfo
* Implement event support for pointer device actions (#10198)
* Removing STP from SafariDriverService
* Fix modifier keys scope on Java Actions (#10333)
* Guarding runnables when scheduleAtFixedRate is used
* Acknowledging proxy config set in ClientConfig
* Make driver.close() tolerant to CDP failures (#10346)
* Fix issue "Incompatible types for '-' operation" in the Javascript executor example
* [grid] Refactoring rejectEvent and guarding UUID parsing
* [grid] Querying Node status only once at registration
* Add deprecated warnings to OperaDriver and OperaOptions
* Remove references to invalid errors (#10209)
* Removing deprecated methods from WebDriverWait, HttpMessage, CommandLine and DesiredCapabilities
* Avoid using ServiceLoader while creating FirefoxDriver instance
* [grid] Matching webview2 browser name with EdgeDriverService
* [grid] Pinging relay service to update health-check
* [grid] Adding a configuration flag to set a noVNC port.
* switch ByClassName locator from to "class name" (#10355)
* Ensure DevTools is augmented when using DriverService
* Fixed reading the data from the stream and fixed the size of chunks (#10409)
* [grid] Do not match empty capabilities
* [grid] Node capacity is given by available slots and usage below maxSessions.
* [grid] Grid is ready when Nodes are up and have availability.
* [grid] Improving /readyz return http code.
* Retry filter not used by default
* Add exponential backoff policy to the Retry request filter
* [grid] Preventing XSS attack.
v4.1.2
======
* Supported CDP versions: 85, 95, 96, 97
* Add new desktop cast command for Chromium
* BugFix: Update toJson() method creation for integer type in CdpClientGenerator
* Fix Javadocs FluentWait's sample usage wrt durations
* [grid] Throw ServerBindException when server cannot start due to network issues
* Add support for CDP Chrome 97
* Throw error when using custom client config with local driver
* Adding a builder() to all drivers to generate the correct default options instance
* Use class' class loader when looking up `HttpClient` factory
* Remove max duration value to allow retries during network connection failures
* allow setting a different keyboard or pointer for actions on input devices
* [grid] Guarding how the server reads parameters to keep it stable
* Remove connection timeout setter, a static 10s value is used
* [grid] Getting session requests from the queue faster
* [grid] Reworking how new session requests are processed, querying queue only
when Grid has availability
* [grid] Fix added missing quotation marks in examples (cli help)
* Replace deprecated OpenTelemetrySdk creation API
* [grid] Improving Node health check execution
* [grid] Adding back support for unix domain sockets
* Allow disabling tracing in RemoteWebDriver
* Replace dynamic proxy with ByteBuddy for WebDriverDecorator
* Log Timestamp flag added
v4.1.1
======
* Supported CDP versions: 85, 94, 95, 96
* Allow custom tracing to integrate with existing OpenTelemetry tracing
* Avoiding NoClassDefFoundError by waiting for completion of already started tasks
* use addon parameter with base64 encoding instead of path parameter
that requires using file detector and upload
* support installing temporary addon in Firefox
* Remove references to opera_blink in favour of opera
* BugFix: Handle null parameters in TracedCommandExecutor
* BugFix: Following redirects by default in HttpClient
* BugFix: Forwarding CDP/BiDi connections to the container in Dynamic Grid
* BugFix: Do not log screenshots payload in debug mode
* BugFix: Mapping Slot fields properly for json payloads
* BugFix: Configuring relay service via CLI
* BugFix: Adding a "bind-host" flag to start Grid properly when the
server cannot bind to the host, fixes this for environments like Docker
v4.1.0
======
* Supported CDP versions: 85, 94, 95, 96
* Removed USE_CHROMIUM from EdgeOptions as new Edge is the default
* [grid] Fixed command completion for ZSH when using the Selenium Server
* Pass WebDriver instead of Loggable to allow augmentation of HasLogEvents
* [grid] Using a random port when "-1" is set as port number for the Selenium Server
* Handle Json parsing error such that future messages are not blocked
* [grid] Fix host option
* Changing type of extraInfo from HashMap to ConcurrentHasMap to avoid
ConcurrentModificationException while reading exception message by parallel threads
* Add retry http request filter for transient errors.
* Fix Javadoc code block formatting
* [grid] Using non-loopback address when default config is used
* Fix classloading error in host identifier
* Split OpenTelemetry command in order to facilitate search by tags
v4.0.0
======
* Supported CDP versions: 85, 93, 94, 95
* Improved "relay" service description in help
* Switch to different JCIP annotations for Apache 2 license
* Deprecated USE_CHROMIUM so we can remove it after 4.0
* Add a --hub flag for the Node
v4.0.0-rc-3
===========
* Supported CDP versions: 85, 93, 94, 95
* Updated java dependencies
* Fixed bug in zsh completions
* Use the IANA port range for selecting random ports if there are
fewer than 5k ports to choose from
v4.0.0-rc-2
===========
* Supported CDP versions: 85, 93, 94
* Moved NetworkInterceptor to org.openqa.selenium.devtools
* NetworkInterceptor now takes a Filter to allow responses to be
captured and rewritten.
* Added a "relay" option to better support forwarding sessions to
something like the Appium server.
* Fixed CDP connection locking when called re-entrantly.
* Remove sessions from Redis backed session map on restart
* Accept "webSocketUrl" as a valid w3c capability name, as it's
declared in WebDriver Bidi
* Add strongly-typed methods for setting timeouts and other w3c
capabilities on the base options class.
* Enable live view for Dynamic Grid
* Merged devtools maven artifact into the main remote driver
* Added android capabilities to Chromium and Firefox options.
v4.0.0-rc-1
===========
* Supported CDP versions: 85, 92, 93.
* Only the name and stereotype are mandatory in nodeConfig.
* No longer sets unexpected alert value in Options by default.
* Update IE options class in each language to match the currently
supported capabilities in the IE Driver.
* Delete existing sessions if the Node is restarted.
* Sessions are now stopped when the Node is gracefully shutdown.
* Fixes file upload for Dynamic Grid
* Add docker max sessions flag. (#9688)
* Close DriverService and DriverCommandExecutor executor on
quit. (#9666)
* Handle empty inputs for JSON more gracefully.
* Ensure that default healthcheck duration is less than
the default node timeout duration.
* Better resource utilisation in the Distributor when starting
sessions.
* Implement ShadowDOM APIs in the Java bindings
* Routing VNC websockets through the Grid
v4.0.0-beta-4
=============
* Rework how the `Distributor` creates sessions to be more
spec-compliant.
* Rework internal structure of the New Session Queue.
* `DriverCommandExecutor` uses its own `ExecutorService` (#9430)
* Add proxy support to NettyClient (#9434)
* Handle bad gateway response from the server when starting a new
session (#9444)
* Expose session request metadata from the new session payload
* Implement getDomAttribute method in EventFiringWebDriver (#9394)
v4.0.0-beta-3
=============
* Allow RelativeBy to start with any locator, not just tag name
(#9273)