UnhandledPromptBehavior string/map support + strong signing
Release history
selenium releases
All releases
5 shown
Minor fixes and improvements.
Full changelog
Detailed Changelogs by Component
Java | Python | DotNet | Ruby | JavaScript
Full Changelog: https://github.com/SeleniumHQ/selenium/compare/selenium-4.42.0...selenium-4.43.0
- Deprecate `Keys.FN` in Java; make `Keys.OPTION` an alias of `Keys.ALT`.
Full changelog
Detailed Changelogs by Component
Java | Python | DotNet | Ruby | JavaScript
What's Changed
Click to see all the changes included in this release- [rust][rb] Update lock files with new versions by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17118
- [dotnet] [bidi] Unify all event arguments to be *EventArgs by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17125
- [py] Add return type annotation to execute_script and execute_async_script by @adamtheturtle in https://github.com/SeleniumHQ/selenium/pull/17117
- [dotnet] [bidi] Expose functionality via interface by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17127
- [dotnet] [bidi] Unregister cancelled commands by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17129
- [dotnet] [bidi] Properly handle websocket close handshake by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17132
- [ruby] fix linter error in
./go authorsscript by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17136 - [nodejs] Color Class for Javascript library by @BckupMuthu in https://github.com/SeleniumHQ/selenium/pull/16944
- [java] fix "or" condition by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17135
- [java] Improve screenshot error message by @seethinajayadileep in https://github.com/SeleniumHQ/selenium/pull/17120
- [java] fix "Don't serialize binary stream - it might be large" when using
RemoteWebDriver.builder()by @tim-burke-systemware in https://github.com/SeleniumHQ/selenium/pull/17139 - [dotnet] [bidi] Wait until events are dispatched when unsubscribing by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17142
- [dotnet] Any WebDriver can be disposed asynchronously by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17119
- [grid] Router bypass WebSocket data path via transparent TCP tunnel by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17146
- [dotnet] [bidi] Preserve configurable options pattern by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17144
- [rb] Use portable Ruby by @p0deje in https://github.com/SeleniumHQ/selenium/pull/16936
- [java] Guard against NPE in Platform.extractFromSysProperty by @seethinajayadileep in https://github.com/SeleniumHQ/selenium/pull/17151
- [java] Deduplicate Unicode PUA mappings in Keys; make OPTION an alias of ALT and deprecate FN by @seethinajayadileep in https://github.com/SeleniumHQ/selenium/pull/17147
- [java] remove
@Nullablefrom return value forExpectedConditionsthat never return null by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17149 - [java] Fluent setters in few classes like
PrintOptionsetc. by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17148 - [dotnet] [bidi] Add disposed guard by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17161
- [java] Enhance ScriptKey.toString() and mask script content in UnpinnedScriptKey by @seethinajayadileep in https://github.com/SeleniumHQ/selenium/pull/17159
- [java] specify nullability in packages
org.openqa.selenium.chrom*by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17152 - Nullability for browsers by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17167
- [py] Use Self as return type of enter in remote.WebDriver by @pinterior in https://github.com/SeleniumHQ/selenium/pull/17170
- [dotnet] [bidi] Convert RemoteValue to well-known types by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17027
- [dotnet] [bidi] Cache BrowsingContext/UserContext per session by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17172
- [java] Keys: enforce CharSequence contract in charAt() by @seethinajayadileep in https://github.com/SeleniumHQ/selenium/pull/17166
- [java][BiDi] implement
speculationmodule by @Delta456 in https://github.com/SeleniumHQ/selenium/pull/17130 - [java] specify nullability in
org.openqa.selenium.grid.*packages by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17173 - [dotnet] [bidi] Revert... Wait until events are dispatched by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17178
- [dotnet] Use props file for legacy sdk by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17180
- [bidi] Convert RemoteValue to IDictionary by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17181
- [java] make the signature change in
ExecuteMethodbackward compatible by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17183 - [java] specify nullability in package
org.openqa.selenium.devtoolsby @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17185 - [py] Add type stubs for lazy imported classes and modules by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17165
- [dotnet] Apply selenium theme for docs by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17190
- [py] Bidi py tests expansion by @AutomatedTester in https://github.com/SeleniumHQ/selenium/pull/17193
- [dotnet] [bidi] Simplified how background tasks are started by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17198
- [grid] Router WebSocket handle dropped close frames, idle disconnects, high-latency proxying by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17197
- [build] Fix Lint Format CI by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17202
- [dotnet] [bidi] Optimize commands via ReadOnlyMemory by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17205
- [java] specify nullability in package
org.openqa.selenium.dockerby @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17191 - [dotnet] [bidi] Optimize processing of incoming messages by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17206
- [dotnet] [bidi] Add SetScrollbarTypeOverride command in Emulation module by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17171
- [dotnet] [bidi] Thread safe events registration by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17210
- [grid] Align Router-Node read timeout with session pageLoad capability by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17211
- [py] Do not close externally provided log_output streams by @jit3pam in https://github.com/SeleniumHQ/selenium/pull/17204
- [dotnet] [bidi] Keep events deserialization at transport layer by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17212
- [dotnet] [bidi] Parallel event handlers by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17213
- [java] specify nullability in other java packages by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17194
- [dotnet] [bidi] ~Zero allocation per command/event by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17214
- [dotnet] Hide unnecessary chromium public fields by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17113
- [dotnet] [bidi] Don't propagate cancellation token for websocket by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17220
- [java] Fix saving docker logs to a file by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17218
- [py][bidi]: skip
test_perform_actions_pointer_pen_typefor firefox by @navin772 in https://github.com/SeleniumHQ/selenium/pull/17203 - [java] Fix duplicate field name handling in InstanceCoercer#getFieldWriters by @seethinajayadileep in https://github.com/SeleniumHQ/selenium/pull/17187
- [grid] Dynamic Grid Docker configure container stop-grace-period by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17222
- [java] Add field names to JsonException "Duplicate JSON field name..." by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17225
- [build] Fix RBE tests by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17233
- [build] Skip failing Firefox Beta tests by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17234
- [py] Create module for importing latest devtools by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17133
- [bazel] Update to Bazel 9 by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16757
- [grid] Fix VNC caps not propagated for sessions without browserName by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17235
- [dotnet] [build] Bump up C# lang version to 14.0 by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17236
- [build] Fix py:local_dev rake task by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17238
- [dotnet] [bidi] Dedicated RealmInfoEventArgs type for OnRealmCreated event by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17240
- [py][build] Bump dev dependencies and toolchain by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17241
- [grid] Add NodeCommandInterceptor for pluggable command interception via --ext by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17242
- [dotnet] [bidi] Protected Subscribe method in Module by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17260
- [dotnet] [build] Move build targets from cdp to DevTools by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17267
- [java] fix loading "isDisplayed.js" and other resources in OSGI environment by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17257
- [py] Improve Selenium Manager platform/architecture detection by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17271
- [dotnet] [build] Significantly simplify how test targets execute tests by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17269
- [dotnet] [build] Simplify how we pack nuget package by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17270
- [dotnet] Actualize readme how to run tests by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17272
- [py] Bump python dev dependencies by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17273
- [dotnet] [test] Start test webserver globally before any tests in Support by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17275
- [dotnet] [test] Rename namespace for common test project by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17276
- [dotnet] [test] Normalize namespace for Support tests by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17277
- [rb] [build] Upgrade bazel rules by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17279
- [dotnet] [test] Return safari back by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17280
- [dotnet] [test] Remove/move browser specific test projects by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17281
- [dotnet] [bidi] Remove high-level network interception by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17288
- [dotnet] [bidi] Remove enumerable json converter for Input module by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17285
- [java] Fix failing java tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17278
- [js] Fix failing javascript tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17293
- [dotnet] [build] Don't skip tests by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17295
- [dotnet] [bidi] Decouple transport and processing by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17291
- [rb] fix Ruby tests failing because of alerts in Firefox by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17294
- [py] Add APIRequestContext to make requests with browser auth/cookie state by @mayank-at-sauce in https://github.com/SeleniumHQ/selenium/pull/17228
- [dotnet] [bidi] Revise event args by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17304
- [dotnet] Fix domain lifecycle in CDP adapters by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17305
- [dotnet] [bidi] Testing infra for custom module by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17306
- [rb] Turn off external caching on portable Ruby by @p0deje in https://github.com/SeleniumHQ/selenium/pull/17307
- [dotnet] [bidi] Improve json discriminator determination by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17309
- [dotnet] [bidi] IIdentifiable json converter factory by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17310
- [dotnet] [bidi] Fix commands cancelling callback by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17315
- [py] Update dev dependencies and multitool binaries by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17314
- fix(js): migrate closure_js_binary provider access to modern Starlark API by @diemol in https://github.com/SeleniumHQ/selenium/pull/17317
- fix(update_cdp): update release fetch URL to include milestone 146 by @diemol in https://github.com/SeleniumHQ/selenium/pull/17318
- fix(update_cdp): update file paths for ChromeDriver configuration by @diemol in https://github.com/SeleniumHQ/selenium/pull/17319
- fix(pre-release): simplify dependency update command and ensure cargo… by @diemol in https://github.com/SeleniumHQ/selenium/pull/17320
- fix(pre-release): update job dependencies and streamline version bump process by @diemol in https://github.com/SeleniumHQ/selenium/pull/17321
New Contributors
- @BckupMuthu made their first contribution in https://github.com/SeleniumHQ/selenium/pull/16944
- @seethinajayadileep made their first contribution in https://github.com/SeleniumHQ/selenium/pull/17120
- @tim-burke-systemware made their first contribution in https://github.com/SeleniumHQ/selenium/pull/17139
- @jit3pam made their first contribution in https://github.com/SeleniumHQ/selenium/pull/17204
- @mayank-at-sauce made their first contribution in https://github.com/SeleniumHQ/selenium/pull/17228
Full Changelog: https://github.com/SeleniumHQ/selenium/compare/selenium-4.41.0...selenium-4.42.0
- [dotnet] Selenium Manager as async (breaking change)
- [dotnet] Remove unnecessary ICommandServer interface (breaking change)
Full changelog
Detailed Changelogs by Component
Java | Python | DotNet | Ruby | JavaScript
What's Changed
Click to see all the changes included in this release- [py] Remove type stub packages from runtime dependencies by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16945
- Canonical approach to supporting AI agent directions by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16735
- [build] Pre-release workflow improvements by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16946
- [build] Prevent nightly releases during release window by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16948
- [build] Fix Bazel NuGet push implementation by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16950
- [build] Release workflow improvements by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16947
- [build] Fix Bazel JSDocs implementation by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16949
- [build] Create config files from environment variables for publishing by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16951
- [js] create task to update dependencies by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16942
- [build] Java release improvements and build verification tasks by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16952
- [py] integrate mypy type checking with Bazel by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16958
- [build] Migrate workflows to use centralized bazel.yml by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16955
- [dotnet] [bidi] Simplify context aware command options by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16954
- [build] simplify release.yml: remove draft, build once during publish by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16960
- [dotnet] [bidi] AOT safe json converter for
Input.Originclass by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16962 - [dotnet] [bidi] AOT safe json converter for
OptionalConverterby @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16963 - [dotnet] [bidi] Null guard for event handlers by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16967
- [java] Improve error message for died grid by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16938
- [build] combine pre-release dependency updates by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16973
- [rb] remove stored atoms these get generated by build by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16971
- [dotnet] [bidi] Unignore some internal tests by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16968
- [build] run ruff on python files outside py directory by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16957
- [py] Fix return type hint for
alert_is_presentby @nemowang2003 in https://github.com/SeleniumHQ/selenium/pull/16975 - Replace hardcoded bazel-selenium references with dynamic path resolution by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16976
- No More CrazyFun! by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16972
- [build] Remove update_gh_pages in favor of CI workflow by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16977
- [build] Remove legacy rake helpers and unused code by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16978
- [py] make bazel test target names consistent with other languages by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16969
- [dotnet] [bidi] Fix namespace for Permissions module by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16981
- [dotnet] [bidi] Hide Broker as internal implementation by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16982
- [dotnet] [bidi] Refactor BiDi module initialization to pass BiDi explicitly by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16983
- [build] Add DocFX updater script by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16980
- [build] add reusable commit-changes.yml workflow by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16965
- [java] fix JSON parsing of numbers with exponent by @joerg1985 in https://github.com/SeleniumHQ/selenium/pull/16961
- [build] Skip macOS-only archive rules on unsupported platforms by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16985
- [build] Split Rakefile into per-language task files by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16979
- Implement fast bazel target lookup with index caching by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16974
- [build] Remove git.add() calls from rake tasks by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16994
- [js] Add eslint binary target for selenium-webdriver by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16992
- [dotnet] Add bazel rules for dotnet format and paket deps by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16986
- [dotnet] [bidi] Introduce CancellationToken for async commands by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16990
- [dotnet] [bidi] Support cancellation of events registration by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16996
- [build] Separate rust from all: namespace by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16995
- [build] optimize fetch-depth across workflows by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16966
- [build] consolidate pre-release workflow by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16997
- [build] Support per-language patch releases by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16987
- [build] retrigger CI after auto-format commits by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17000
- [dotnet] have SE_DEBUG output driver logs to stderr by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16903
- [dotnet] [bidi] Use
System.Threading.Channelsdependency for events dispatching by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17004 - [py] Replace //py:ruff with dedicated ruff-format and ruff-check targets by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16998
- [build] use bazel to update python requirements by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16930
- [dotnet] Add linting support with configurable dotnet format by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16999
- [dotnet][rb][java][js][py] remove disk cleanup, add monitoring by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17001
- [build] consolidate nightly workflow by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17005
- [rb] output driver logs by default when debug is enabled by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16901
- [build] use matrix for nightly releases by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17010
- [rb] Update lint configuration and fix rubocop offenses by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17008
- [py] Use lazy imports in webdriver init.py by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16993
- [py][java][js] SE_DEBUG warns only when overriding user settings by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17009
- mark
wait.untilas non-nullable by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17007 - restore BiDi constructor without timeout parameter by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17014
- [rust] Fix suppport for webview2 (#15797) by @bonigarcia in https://github.com/SeleniumHQ/selenium/pull/17016
- [dotnet] Fix generation of inline docs for devtools members by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17017
- [build] auto merge browser version updates if they pass all checks by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16991
- [py] Modularize Bazel build with per-module targets by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17012
- [dotnet] update formatting rules by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17019
- [grid] Preventing potential deadlock in Distributor by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17022
- [rb] add missing unit tests by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17025
- Report exactly which JSON value was incorrect by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17003
- [build] Add permissions for nightly job in release workflow by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17031
- [build] Separate format and lint tasks, add per-language format commands by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17020
- [Java] JSpecify annotations for
LoadableComponent,SlowLoadableComponentby @mk868 in https://github.com/SeleniumHQ/selenium/pull/16798 - [java] parse all JSON numbers the same way by @joerg1985 in https://github.com/SeleniumHQ/selenium/pull/17038
- [py] Make extensions tests work when not running bazel by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17026
- [grid] Add session event API for server-side event bus integration by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17015
- [java] specify nullability in package
org.openqa.selenium.bidi.browserby @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17036 - [py][bidi]: add emulation command
set_screen_settings_overrideby @navin772 in https://github.com/SeleniumHQ/selenium/pull/17030 - [py] Autofix lint errors but still fail by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17042
- [java][BiDi] implement
emulation.setScreenSettingsOverrideby @Delta456 in https://github.com/SeleniumHQ/selenium/pull/17028 - [java] specify nullability in package
org.openqa.selenium.bidi.browsingcontextby @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17040 - [py]: enable edge browser tests for bidi by @navin772 in https://github.com/SeleniumHQ/selenium/pull/17032
- [build] File-level test target indexing for precise affected test detection by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17033
- [build] add smart targeting and --lint flag to format.sh by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/17035
- [dotnet] [bidi] SetTouchOverride command in Emulation module by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17045
- [dotnet] [bidi] SetNetworkConditions command in Emulation module by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17047
- [dotnet] [bidi] Adjusted name for Capabilities in new session result by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17048
- [dotnet] [bidi] Expand SetViewport options with optional UserContexts by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17049
- [dotnet] [bidi] Change MovePointer X/Y types to double by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17050
- [dotnet] [bidi] Support UserContexts in AddPreloadScript command options by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17051
- [dotnet] [bidi] Rename input actions according spec by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17052
- [java] Fix "secure vs non-secure" error in tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17046
- [py][build] Bump bazel rules_python and python toolchain versions by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17054
- [java] Nullability annotations in package
org.openqa.selenium.bidi.emulationby @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17055 - [java] specify nullability in package
org.openqa.selenium.bidi.moduleby @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17058 - [java] specify nullability in package
org.openqa.selenium.bidi.logby @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17059 - [grid] Revert default standalone config by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17060
- [java] specify nullability in package
org.openqa.selenium.bidi.networkby @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17061 - [java] specify nullability in package
org.openqa.selenium.bidi.scriptby @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17062 - [bazel] fix running google formatter with too many files by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17065
- [java] Nullability in all BiDi packages by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17064
- [dotnet] Truncate internal log messages by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17063
- [py] Bump dev dependencies by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17066
- [java] Remove unneeded protection from BiDi Connection constructor by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/17067
- [dotnet] Fix test file/class names for consistency by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17068
- [dotnet] Fix emitting of trace log messages from http client handler by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17069
- [grid] Dynamic Grid standalone support passing basic auth credential by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17072
- [dotnet] Stream Selenium Manager output to internal logging by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17024
- [dotnet] Warn if SM log level is unknown by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17073
- [dotnet] Correlate low level http requests/responses and log failures by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17074
- [dotnet] Temporary disable CS1591 warning for BiDi namespace by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17075
- [dotnet] Fix generated devtools inline docs (amp;) by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17076
- [dotnet] [bidi] Fully immutable commands and events by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17077
- [dotnet] [bidi] Refactor CommandInfo and EventInfo to structs by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17080
- [py] Update dev dependencies to fix vulnerability by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17078
- [dotnet] Mark network request id as non-nullable by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17082
- [dotnet] Suppress arrays as attribute arguments is not CLS-compliant by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17083
- [dotnet] Remove legacy static analyzer suppressions by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17084
- [dotnet] Nullable value in dictionary for json preparation by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17087
- [dotnet] [bidi] Add Speculation module by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17093
- [grid] Restore stereotype capabilities merging in RelaySessionFactory by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17097
- [grid] Support Dynamic Grid in Kubernetes cluster by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17092
- [build] update for Nightly build by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17101
- [dotnet] [bidi] Add UserContext in event args by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17100
- [dotnet] Remove global suppressions from Support project by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17099
- [dotnet] Implicit global usings by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17094
- [dotnet] Selenium Manager as async (breaking change) by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17088
- [dotnet] Remove unnecessary ICommandServer interface (breaking change) by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17103
- [dotnet] Fix start/quit implementation on incorrect level by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17105
- [grid] Fix Distributor thread exhaustion in node health-check cycle by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17104
- [grid] Fix WebSocket connection counter leaks in ProxyNodeWebsockets by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17106
- [dotnet] Refactor waiting until driver service is initialized by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17107
- [dotnet] Asynchronously start driver service (breaking change) by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17108
- [grid] Distributor retry session when RemoteNode executor shutting down by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/17109
- [dotnet] Stop/Dispose driver service asynchronously by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/17110
- [py] Add in rules to agents around python 3.10+ by @AutomatedTester in https://github.com/SeleniumHQ/selenium/pull/17102
- [rb] Update dependencies by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/17111
- [py] Update test to check it's an integer rather than a value by @AutomatedTester in https://github.com/SeleniumHQ/selenium/pull/17114
New Contributors
- @nemowang2003 made their first contribution in https://github.com/SeleniumHQ/selenium/pull/16975
Full Changelog: https://github.com/SeleniumHQ/selenium/compare/selenium-4.40.0...selenium-4.41.0
- Removed deprecated FTP proxy support in Python bindings.
Full changelog
Detailed Changelogs by Component
Java | Python | DotNet | Ruby | JavaScript
What's Changed
Click to see all the changes included in this release- [dotnet] Modernize
EnvironmentManager, standardize assembly teardown by @RenderMichael in https://github.com/SeleniumHQ/selenium/pull/15551 - [java] Refactor tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16684
- [ci]: bump cargo lockfile by @navin772 in https://github.com/SeleniumHQ/selenium/pull/16698
- [java][BiDi] change emulation commands return type to void by @Delta456 in https://github.com/SeleniumHQ/selenium/pull/16699
- [java] simplify strings processing by @iampopovich in https://github.com/SeleniumHQ/selenium/pull/15309
- Fix few more flaky ruby tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16695
- [bazel] Switch to custom
closure_js_depsrule by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16571 - [dotnet] [bidi] Support SetScreenSettingsOverrideAsync method in Emulation module by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16704
- [dotnet] Modernize code patterns in test suites by @RenderMichael in https://github.com/SeleniumHQ/selenium/pull/16701
- use proper AssertJ asserts that generate a useful error message by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16707
- fix Java language level in IDEA by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16708
- [py] Properly verify Selenium Manager exists by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16711
- fix flaky Ruby test
element_spec.rbby @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16709 - [java][BiDi] implement
emulation.setScreenOrientationOverrideby @Delta456 in https://github.com/SeleniumHQ/selenium/pull/16705 - [rb] add synchronization and error handling for socket interactions by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16487
- [rb] mark low level bidi implementation as private api by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16475
- [rb] ensure driver process is always stopped by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/15635
- [rb] create user-friendly method for enabling bidi by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/14284
- [dotnet] [bidi] Added missing Script.RemoteReference LocaclValue type by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16717
- [dotnet] Standardize
IEquatable<T>implementations across types overriding Equals by @RenderMichael in https://github.com/SeleniumHQ/selenium/pull/16665 - [dotnet] Fix nullability warnings in
WebDriverby @RenderMichael in https://github.com/SeleniumHQ/selenium/pull/16662 - [py] Don't compare object identity in conftest by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16723
- #16720 avoid failing because of temporary Chrome internal files by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16722
- [rb] Add force encoding to remove warnings caused by json 3.0 by @aguspe in https://github.com/SeleniumHQ/selenium/pull/16728
- [py] Remove deprecated FTP proxy support by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16721
- [py] Bump ruff and mypy versions by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16737
- Create target directories before copying file by @MohabMohie in https://github.com/SeleniumHQ/selenium/pull/16739
- [bazel+closure]: Vendor the version of closure library we use by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16742
- [closure] Fix failing
//javascript/atoms:test-*targets by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16749 - Avoid sleep in tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16713
- [bazel] Bump
rules_closureand google closure libary to latest release by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16755 - [refactor] call WebDriverException constructor instead of using reflection by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16763
- [build] Pin Browsers in Bazel by default by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16743
- [build] build selenium manager for tests by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16736
- [refactor] replace JUnit assertions by AssertJ by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16765
- [py] Add LocalWebDriver base class by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16730
- Fix bug in FileHandler: it always failed on MacOS by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16771
- [java] add missing bazel artifacts by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16773
- [bazel+js]: Wrap grid-ui tests with bazel by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16758
- Add missing build file by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16779
- [bazel] Flag fixes for the RBE by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16785
- [bazel+js]: Avoid shadowing directory with test name by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16784
- [py] Add type hints for WebElement.find_element(s) by @pixelsapphire in https://github.com/SeleniumHQ/selenium/pull/16772
- [build] add explicit permissions to github workflows by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16774
- [dotnet] Hide driver service window by default by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16782
- [rb] Fix steep issues by @aguspe in https://github.com/SeleniumHQ/selenium/pull/16752
- [py][build]: consolidate Python CI tests by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16766
- [dotnet] [bidi] Fix context aware event handlers by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16787
- [java] #16753 workaround for JDK bug JDK-8228970 by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16793
- [java][BiDi] implement
emulation.setNetworkConditionsby @Delta456 in https://github.com/SeleniumHQ/selenium/pull/16794 - [java] [refactor] replace most of Guava collections by Java built-in collections by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16776
- [build] fix issue trying to guard actions run on forks by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16800
- [py] Add/fix type hints for find_element/find_elements by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16786
- [ci] Use macos-latest instead of macos-13 in Rust workflow by @bonigarcia in https://github.com/SeleniumHQ/selenium/pull/16803
- [py][bidi]: improve tests to use local no-proxy server by @navin772 in https://github.com/SeleniumHQ/selenium/pull/16747
- [py][bidi]: add emulation command
set_network_conditionsby @navin772 in https://github.com/SeleniumHQ/selenium/pull/16702 - [dotnet][java][py][rb][rust] Only use External Cache for GitHub Actions by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16788
- [py] Add new ruff lint rules, fix violations and type annotations by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16789
- [java] Be more tolerant to remote responses by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16797
- [py] pin python versions to specific patches by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16795
- [java] Fix asserts for maps and sets by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16808
- [js] fix JS tests on RBE by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16777
- [py] Remove deprecated FirefoxBinary class by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16811
- [build] limit what check job pulls in by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16815
- [rust] fix support for Edge beta versions on Windows by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16806
- [py] Bump versions and remove unnecessary dev/test dependencies by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16820
- remove docker deploy code by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16822
- [py] Fix type annotations, make docstrings consistent, centralize dependencies by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16821
- [java] several packages marks jspecify nullmarked by @iampopovich in https://github.com/SeleniumHQ/selenium/pull/16802
- Update copyright to 2026 by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16830
- [rust] ignore force download for Safari by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16825
- [dotnet] [bidi] Properly return shared buffer when disposing websocket by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16804
- [java] fix NPE in FirefoxOptions by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16833
- [py] Fix remaining mypy errors and enable CI for type checking by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16837
- [java] Mark obsolete variables deprecated in DriverCommand and W3CHttpCommandCodec by @iampopovich in https://github.com/SeleniumHQ/selenium/pull/16013
- [java] remove usages of Guava collections (sets and maps) by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16835
- [java] simplify several statements with isEmpty function call by @iampopovich in https://github.com/SeleniumHQ/selenium/pull/16836
- [java] JSpecify annotations for
org.openqa.selenium.jsonby @mk868 in https://github.com/SeleniumHQ/selenium/pull/16799 - [java][rb][py][dotnet][js] use SE_DEBUG to enable debugging by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16816
- [java] Allow downloading files from old Grid server by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16839
- [build] fix lint problems automatically by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16780
- [java] Speed up tests, improve test logging and build script by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16843
- [rb] ensure the grid is properly restarted in tests when there is a problem by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16842
- [build] get chrome-driver tests passing on RBE by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16807
- [Java] add lint job by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16846
- [java] rework downloading files from Grid by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16844
- [java] configurable timeout for BiDi commands by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16796
- [java] Unify error message format for all Expected Conditions & add tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16831
- [java][py][rb][js][dotnet] rerun failing tests when requested by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16840
- [build] remove ruby tests from skipped tests files by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16859
- [node] Add asMap function to Header class and corresponding tests by @iampopovich in https://github.com/SeleniumHQ/selenium/pull/16832
- [java] Fix flaky tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16862
- [java] fixes for running on windows by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16852
- [js]: Get the chrome-driver tests passing by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16856
- [js] Migrate javascript/atoms tests from Closure to QUnit by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16855
- [rb] should not need long client timeout in tests by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16847
- [py] Reduce traceback output on test failures by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16854
- [py] Bump minimum dependency versions because of CVE by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16867
- [js] Delete tests and files which are not run any more by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16871
- Migrate remaining Google Closure jsunit tests to qunit by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16870
- [py] improve how tests are run against the grid server by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16851
- Java chrome beta by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16860
- add readable
toString()toorg.openqa.selenium.remote.Browserby @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16873 - [java] restore ClientConfig constructor used by Appium (for backward compatibility) by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16874
- Remove outdated CodeTour files by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16872
- [dotnet] get tests working on windows with bazel by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16853
- [py] Add type annotations to bidi network module by @mzyndul in https://github.com/SeleniumHQ/selenium/pull/16875
- [dotnet] Stabilize ShouldTimeoutIfAPageTakesTooLongToRefresh test by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16880
- [dotnet] [bidi] Context aware network collector by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16866
- [dotnet] [bidi] Rent and return buffer to shared pool per remote message by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16838
- [build][rb] remove unnecessary log output from windows runs by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16876
- [build] save bazel cache to GitHub only from trunk by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16890
- [py] Add type annotations by @mzyndul in https://github.com/SeleniumHQ/selenium/pull/16883
- [rb] update ruby versions by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16891
- [java] update what java test targets are generated by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16886
- [java] update browser tests to match test suite conventions by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16888
- [rb][py][dotnet][java][js] move logic for reruns and collecting logs into separate scripts by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16879
- [java] deprecate unused logging implementation by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16889
- [py] rerun tests with debugging by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16892
- create FakeWebDriver only if "browser=selenium-test" by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16898
- [java] update how unit tests are declared and run by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16887
- [dotnet] [bidi] Allow consumer to combine input actions via identifier by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16885
- [build][rb][py] use arm binaries for mac by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16897
- [rb] wait for grid to actually be ready when starting server by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16896
- [java] rerun tests with debugging by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16893
- [rust] only collect stats on stamped builds by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16826
- [rb] Set Ruby tests to rerun when failing by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16858
- [rb] check driver status endpoint rather than socket connection by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16877
- [java] remove Apache Commons dependency by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16865
- [py] have SE_DEBUG output driver logs as well by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16902
- [build] rerun the RBE tests with debugging enabled by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16905
- [java] SE_DEBUG dumps all log output to stderr by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16900
- [py] Update development dependencies by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16908
- [java] Use ClientConfig provided by user instead of the default one by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16882
- [rust] Replace fs::rename by file::move_file for Grid artifacts by @bonigarcia in https://github.com/SeleniumHQ/selenium/pull/16911
- [dotnet] [bidi] Expose New session command by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16907
- [build] automate the new java release publish by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16509
- [py] Find grid in tests if not using bazel by @cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16912
- build python docs with bazel by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16919
- [build] generate dotnet docs with bazel by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16921
- [bazel] Prevent duplicate directory warnings from python builds by @shs96c in https://github.com/SeleniumHQ/selenium/pull/16923
- [grid] Improve Node handling concurrent sessions creation by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/16913
- [java] Change BiDi "internalId" type from Long to String by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16918
- [build] update ruby gems with bazel by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16924
- build js docs with bazel by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16922
- [rb] add a //rb:steep run target by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16925
- [py]: use
is_url_connectablefor driver status check by @navin772 in https://github.com/SeleniumHQ/selenium/pull/16881 - [java] create fewer objects while parsing JSON by @joerg1985 in https://github.com/SeleniumHQ/selenium/pull/16926
- [build] implement bazel rule for pushing nuget packages by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16920
- [build] release selenium via workflow by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16937
- [java] preserve original file's modification time when uploading to Grid by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16935
- [java] fix logging in Selenium own tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16933
- [java] Stabilize flaky tests related to mouse movement by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16906
- [java] Automatically save screenshots & page sources for failed tests by @asolntsev in https://github.com/SeleniumHQ/selenium/pull/16904
- [grid] Improve race conditions in Grid session distribution by @VietND96 in https://github.com/SeleniumHQ/selenium/pull/16939
- [dotnet] [bidi] FileDialogOpened event in Input module by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16934
- [dotnet] [bidi] Expose Input module in root BiDi class by @nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16940
- [build] use rulesets to restrict and unrestrict trunk during release window by @titusfortner in https://github.com/SeleniumHQ/selenium/pull/16941
New Contributors
- @pixelsapphire made their first contribution in https://github.com/SeleniumHQ/selenium/pull/16772
- @mzyndul made their first contribution in https://github.com/SeleniumHQ/selenium/pull/16875
Full Changelog: https://github.com/SeleniumHQ/selenium/compare/selenium-4.39.0...selenium-4.40.0