Skip to content

[dotnet] [bidi] Align ContinueWithAuth command#17337

Merged
nvborisenko merged 5 commits into
SeleniumHQ:trunkfrom
nvborisenko:bidi-continuewithauth
Apr 11, 2026
Merged

[dotnet] [bidi] Align ContinueWithAuth command#17337
nvborisenko merged 5 commits into
SeleniumHQ:trunkfrom
nvborisenko:bidi-continuewithauth

Conversation

@nvborisenko
Copy link
Copy Markdown
Member

One more polymorphic command.

💥 What does this PR do?

This pull request refactors and simplifies the APIs for controlling network authentication in the WebDriver BiDi .NET bindings. The changes consolidate multiple method overloads into single, more flexible methods, and update the related types to be public and more extensible. Test code is updated accordingly.

🔄 Types of changes

  • Cleanup (formatting, renaming)

Copilot AI review requested due to automatic review settings April 11, 2026 07:50
@selenium-ci selenium-ci added the C-dotnet .NET Bindings label Apr 11, 2026
@qodo-code-review
Copy link
Copy Markdown
Contributor

Review Summary by Qodo

Align SetDownloadBehavior and ContinueWithAuth commands with polymorphic pattern

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Consolidate multiple method overloads into single polymorphic methods
• Make DownloadBehavior and ContinueWithAuth types public for extensibility
• Simplify API by accepting polymorphic action parameters instead of separate overloads
• Update test code to use new unified method signatures

Grey Divider

File Changes

1. dotnet/src/webdriver/BiDi/Browser/BrowserModule.cs ✨ Enhancement +2/-16

Consolidate SetDownloadBehavior methods into single polymorphic method

• Consolidate three SetDownloadBehavior method overloads into single method accepting
 DownloadBehavior parameter
• Remove separate methods for allowed, denied, and default behaviors
• Simplify parameter construction to use polymorphic DownloadBehavior type

dotnet/src/webdriver/BiDi/Browser/BrowserModule.cs


2. dotnet/src/webdriver/BiDi/Browser/IBrowserModule.cs ✨ Enhancement +1/-3

Update IBrowserModule interface for polymorphic SetDownloadBehavior

• Replace three SetDownloadBehavior method signatures with single unified signature
• Update method to accept DownloadBehavior parameter instead of specific behavior types

dotnet/src/webdriver/BiDi/Browser/IBrowserModule.cs


3. dotnet/src/webdriver/BiDi/Browser/SetDownloadBehavior.cs ✨ Enhancement +6/-3

Make DownloadBehavior types public with default property

• Change DownloadBehavior from internal abstract record to public abstract record
• Add static Default property to DownloadBehavior for null behavior representation
• Make DownloadBehaviorAllowed and DownloadBehaviorDenied public sealed records

dotnet/src/webdriver/BiDi/Browser/SetDownloadBehavior.cs


View more (5)
4. dotnet/src/webdriver/BiDi/Network/ContinueWithAuth.cs ✨ Enhancement +13/-15

Refactor ContinueWithAuth to use public polymorphic action types

• Introduce public ContinueWithAuth abstract record as base type for actions
• Create public ContinueWithAuthCredentials, ContinueWithAuthDefault, and ContinueWithAuthCancel
 sealed records
• Rename internal parameter types to ContinueWithAuthCredentialsParameters,
 ContinueWithAuthDefaultParameters, and ContinueWithAuthCancelParameters
• Remove old ContinueWithAuthOptions hierarchy and consolidate to single ContinueWithAuthOptions

dotnet/src/webdriver/BiDi/Network/ContinueWithAuth.cs


5. dotnet/src/webdriver/BiDi/Network/INetworkModule.cs ✨ Enhancement +1/-3

Update INetworkModule interface for polymorphic ContinueWithAuth

• Replace three ContinueWithAuth method overloads with single unified signature
• Update method to accept ContinueWithAuth action parameter instead of specific credential types
• Simplify options parameter to use single ContinueWithAuthOptions type

dotnet/src/webdriver/BiDi/Network/INetworkModule.cs


6. dotnet/src/webdriver/BiDi/Network/NetworkModule.cs ✨ Enhancement +10/-12

Consolidate ContinueWithAuth methods with polymorphic dispatch

• Consolidate three ContinueWithAuth method implementations into single method
• Add switch expression to map ContinueWithAuth action types to internal parameter types
• Include validation for unknown action types with ArgumentException

dotnet/src/webdriver/BiDi/Network/NetworkModule.cs


7. dotnet/test/webdriver/BiDi/Browser/BrowserTests.cs 🧪 Tests +11/-13

Update browser tests for new SetDownloadBehavior API

• Add using statement for OpenQA.Selenium.BiDi.Browser namespace
• Update test methods to use new SetDownloadBehaviorAsync signature with DownloadBehavior parameter
• Remove IgnoreBrowser attributes from SetDownloadBehavior tests
• Add test demonstrating both null and DownloadBehavior.Default usage patterns

dotnet/test/webdriver/BiDi/Browser/BrowserTests.cs


8. dotnet/test/webdriver/BiDi/Network/NetworkTests.cs 🧪 Tests +3/-3

Update network tests for new ContinueWithAuth API

• Update ContinueWithAuth test calls to use new polymorphic action types
• Replace AuthCredentials parameter with ContinueWithAuthCredentials wrapper
• Replace ContinueWithAuthDefaultCredentialsOptions with ContinueWithAuthDefault instance
• Replace ContinueWithAuthCancelCredentialsOptions with ContinueWithAuthCancel instance

dotnet/test/webdriver/BiDi/Network/NetworkTests.cs


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown
Contributor

qodo-code-review Bot commented Apr 11, 2026

Code Review by Qodo

🐞 Bugs (0)   📘 Rule violations (3)   📎 Requirement gaps (0)   🎨 UX Issues (0)
📘\ ≡ Correctness (1) ⚙ Maintainability (2)

Grey Divider


Action required

1. Removed SetDownloadBehavior*Async overloads 📘
Description
The public IBrowserModule API removes the
SetDownloadBehaviorAllowedAsync/SetDownloadBehaviorDeniedAsync overloads and replaces them with
SetDownloadBehaviorAsync, requiring user code changes. This breaks upgrade-by-version-bump
expectations for the .NET BiDi API surface.
Code

dotnet/src/webdriver/BiDi/Browser/IBrowserModule.cs[29]

+    Task<SetDownloadBehaviorResult> SetDownloadBehaviorAsync(DownloadBehavior? downloadBehavior, SetDownloadBehaviorOptions? options = null, CancellationToken cancellationToken = default);
Evidence
PR Compliance ID 1 requires backward-compatible public API changes, but the interface now exposes
only SetDownloadBehaviorAsync(...) rather than the previous overload set; no deprecated overloads
remain to preserve compatibility.

AGENTS.md
dotnet/src/webdriver/BiDi/Browser/IBrowserModule.cs[22-30]
AGENTS.md

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The public `IBrowserModule` methods `SetDownloadBehaviorAllowedAsync(...)` and `SetDownloadBehaviorDeniedAsync(...)` were removed and replaced with `SetDownloadBehaviorAsync(...)`, which is a breaking change for existing consumers.

## Issue Context
Compliance requires maintaining backward compatibility for public interfaces, and deprecating public APIs before removal.

## Fix Focus Areas
- dotnet/src/webdriver/BiDi/Browser/IBrowserModule.cs[22-30]
- dotnet/src/webdriver/BiDi/Browser/BrowserModule.cs[69-79]
- dotnet/src/webdriver/BiDi/Browser/SetDownloadBehavior.cs[24-41]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Changed ContinueWithAuthAsync signature 📘
Description
The public INetworkModule.ContinueWithAuthAsync overloads were removed and replaced with a
different signature taking ContinueWithAuth action, requiring user code changes. This is a
breaking public API change without compatibility shims.
Code

dotnet/src/webdriver/BiDi/Network/INetworkModule.cs[28]

+    Task<ContinueWithAuthResult> ContinueWithAuthAsync(Request request, ContinueWithAuth action, ContinueWithAuthOptions? options = null, CancellationToken cancellationToken = default);
Evidence
PR Compliance ID 1 requires backward-compatible public API evolution, but the interface now exposes
only ContinueWithAuthAsync(Request, ContinueWithAuth, ...) rather than the prior overload set;
there are no deprecated overloads left for a transition period (PR Compliance ID 7).

AGENTS.md
dotnet/src/webdriver/BiDi/Network/INetworkModule.cs[22-31]
AGENTS.md

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`INetworkModule` removed the existing `ContinueWithAuthAsync(...)` overloads and replaced them with a new signature. This breaks consumers who depended on the previous overloads.

## Issue Context
To preserve public API compatibility, keep old overloads as `[Obsolete("...")]` wrappers that forward to the new `ContinueWithAuth`-based method.

## Fix Focus Areas
- dotnet/src/webdriver/BiDi/Network/INetworkModule.cs[22-46]
- dotnet/src/webdriver/BiDi/Network/NetworkModule.cs[168-179]
- dotnet/src/webdriver/BiDi/Network/ContinueWithAuth.cs[24-46]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


3. No null-check for action 📘
Description
ContinueWithAuthAsync does not validate the externally provided action argument, and the default
case uses action.GetType(), which will throw NullReferenceException if action is null. This
fails to validate an input early with a clear, actionable error.
Code

dotnet/src/webdriver/BiDi/Network/NetworkModule.cs[R170-176]

+        ContinueWithAuthParameters @params = action switch
+        {
+            ContinueWithAuthCredentials c => new ContinueWithAuthCredentialsParameters(request, c.Credentials),
+            ContinueWithAuthDefault => new ContinueWithAuthDefaultParameters(request),
+            ContinueWithAuthCancel => new ContinueWithAuthCancelParameters(request),
+            _ => throw new ArgumentException($"Unknown action type: {action.GetType()}", nameof(action))
+        };
Evidence
PR Compliance ID 11 requires validating externally provided inputs early with clear exceptions; the
added switch expression throws using action.GetType() without any null guard, producing an unclear
NRE path instead of an explicit argument validation failure.

dotnet/src/webdriver/BiDi/Network/NetworkModule.cs[168-178]
Best Practice: Learned patterns

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`ContinueWithAuthAsync(Request request, ContinueWithAuth action, ...)` does not validate `action` for null, and will throw `NullReferenceException` when building the exception message (`action.GetType()`).

## Issue Context
Even though `ContinueWithAuth` is non-nullable, null can still be passed at runtime (e.g., from older code, reflection, or null-forgiving usage). Fail fast with `ArgumentNullException` (or a clear `ArgumentException`) before the switch.

## Fix Focus Areas
- dotnet/src/webdriver/BiDi/Network/NetworkModule.cs[168-178]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

Comment thread dotnet/src/webdriver/BiDi/Network/INetworkModule.cs Outdated
Comment thread dotnet/src/webdriver/BiDi/Network/NetworkModule.cs Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors the WebDriver BiDi .NET APIs for network authentication continuation and browser download behavior by consolidating multiple overloads into single polymorphic methods, and updating call sites in the BiDi tests.

Changes:

  • Replaced multiple ContinueWithAuthAsync overloads with a single method taking a ContinueWithAuth action object.
  • Replaced multiple SetDownloadBehavior*Async overloads with a single SetDownloadBehaviorAsync(DownloadBehavior?) method and made DownloadBehavior public.
  • Updated BiDi test usage to the new consolidated APIs.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
dotnet/test/webdriver/BiDi/Network/NetworkTests.cs Updates auth continuation calls to new ContinueWithAuth action types.
dotnet/test/webdriver/BiDi/Browser/BrowserTests.cs Updates download behavior tests to new consolidated API and public behavior types.
dotnet/src/webdriver/BiDi/Network/NetworkModule.cs Implements consolidated ContinueWithAuthAsync with action-to-parameters mapping.
dotnet/src/webdriver/BiDi/Network/INetworkModule.cs Updates public interface to single ContinueWithAuthAsync signature.
dotnet/src/webdriver/BiDi/Network/ContinueWithAuth.cs Introduces public ContinueWithAuth action records; reshapes options/parameters types.
dotnet/src/webdriver/BiDi/Browser/SetDownloadBehavior.cs Makes DownloadBehavior public and adds Default convenience value.
dotnet/src/webdriver/BiDi/Browser/IBrowserModule.cs Updates public interface to single SetDownloadBehaviorAsync signature.
dotnet/src/webdriver/BiDi/Browser/BrowserModule.cs Implements consolidated SetDownloadBehaviorAsync.

Comment thread dotnet/src/webdriver/BiDi/Network/INetworkModule.cs
Comment thread dotnet/src/webdriver/BiDi/Network/NetworkModule.cs Outdated
Comment thread dotnet/src/webdriver/BiDi/Network/ContinueWithAuth.cs
@nvborisenko nvborisenko merged commit 82fd32a into SeleniumHQ:trunk Apr 11, 2026
19 checks passed
@nvborisenko nvborisenko deleted the bidi-continuewithauth branch April 11, 2026 08:29
PhilipWoulfe pushed a commit to PhilipWoulfe/F1Competition that referenced this pull request May 19, 2026
Updated
[Microsoft.AspNetCore.Components.Authorization](https://github.com/dotnet/aspnetcore)
from 8.0.26 to 8.0.27.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.AspNetCore.Components.Authorization's
releases](https://github.com/dotnet/aspnetcore/releases)._

## 8.0.27

[Release](https://github.com/dotnet/core/releases/tag/v8.0.27)

## What's Changed
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/aspnetcore#66205
* [release/8.0] Update NPM dependencies by @​wtgodbe in
dotnet/aspnetcore#66052
* [release/8.0] Move off of dead-lettered Windows preview helix queue by
@​wtgodbe in dotnet/aspnetcore#66220
* [release/8.0] (deps): Bump src/submodules/googletest from `73a63ea` to
`d72f9c8` by @​dependabot[bot] in
dotnet/aspnetcore#66087
* [release/8.0] Replace dn-bot-dnceng-build-rw-code-rw PAT with WIF
service connection in mirror-within-azdo by @​missymessa in
dotnet/aspnetcore#66115
* [release/8.0] Update dependencies from dotnet/source-build-externals
by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66216
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/aspnetcore#66081
* [release/8.0] Update dependencies from
dotnet/source-build-reference-packages by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66131
* [release/8.0] Update @​azure/msal-browser from 2.x to 4.x by @​wtgodbe
in dotnet/aspnetcore#66236
* [release/8.0] Use source-build-assets repo by @​NikolaMilosavljevic in
dotnet/aspnetcore#66276
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/aspnetcore#66317


**Full Changelog**:
dotnet/aspnetcore@v8.0.26...v8.0.27

Commits viewable in [compare
view](dotnet/aspnetcore@v8.0.26...v8.0.27).
</details>

Updated
[Microsoft.AspNetCore.Components.WebAssembly](https://github.com/dotnet/aspnetcore)
from 8.0.26 to 8.0.27.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.AspNetCore.Components.WebAssembly's
releases](https://github.com/dotnet/aspnetcore/releases)._

## 8.0.27

[Release](https://github.com/dotnet/core/releases/tag/v8.0.27)

## What's Changed
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/aspnetcore#66205
* [release/8.0] Update NPM dependencies by @​wtgodbe in
dotnet/aspnetcore#66052
* [release/8.0] Move off of dead-lettered Windows preview helix queue by
@​wtgodbe in dotnet/aspnetcore#66220
* [release/8.0] (deps): Bump src/submodules/googletest from `73a63ea` to
`d72f9c8` by @​dependabot[bot] in
dotnet/aspnetcore#66087
* [release/8.0] Replace dn-bot-dnceng-build-rw-code-rw PAT with WIF
service connection in mirror-within-azdo by @​missymessa in
dotnet/aspnetcore#66115
* [release/8.0] Update dependencies from dotnet/source-build-externals
by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66216
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/aspnetcore#66081
* [release/8.0] Update dependencies from
dotnet/source-build-reference-packages by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66131
* [release/8.0] Update @​azure/msal-browser from 2.x to 4.x by @​wtgodbe
in dotnet/aspnetcore#66236
* [release/8.0] Use source-build-assets repo by @​NikolaMilosavljevic in
dotnet/aspnetcore#66276
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/aspnetcore#66317


**Full Changelog**:
dotnet/aspnetcore@v8.0.26...v8.0.27

Commits viewable in [compare
view](dotnet/aspnetcore@v8.0.26...v8.0.27).
</details>

Updated
[Microsoft.AspNetCore.Components.WebAssembly.DevServer](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.AspNetCore.Components.WebAssembly.DevServer's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated
[Microsoft.AspNetCore.Http.Abstractions](https://github.com/dotnet/aspnetcore)
from 2.3.9 to 2.3.10.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.AspNetCore.Http.Abstractions's
releases](https://github.com/dotnet/aspnetcore/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/aspnetcore/commits).
</details>

Updated
[Microsoft.AspNetCore.Mvc.Testing](https://github.com/dotnet/aspnetcore)
from 8.0.26 to 8.0.27.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.AspNetCore.Mvc.Testing's
releases](https://github.com/dotnet/aspnetcore/releases)._

## 8.0.27

[Release](https://github.com/dotnet/core/releases/tag/v8.0.27)

## What's Changed
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/aspnetcore#66205
* [release/8.0] Update NPM dependencies by @​wtgodbe in
dotnet/aspnetcore#66052
* [release/8.0] Move off of dead-lettered Windows preview helix queue by
@​wtgodbe in dotnet/aspnetcore#66220
* [release/8.0] (deps): Bump src/submodules/googletest from `73a63ea` to
`d72f9c8` by @​dependabot[bot] in
dotnet/aspnetcore#66087
* [release/8.0] Replace dn-bot-dnceng-build-rw-code-rw PAT with WIF
service connection in mirror-within-azdo by @​missymessa in
dotnet/aspnetcore#66115
* [release/8.0] Update dependencies from dotnet/source-build-externals
by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66216
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/aspnetcore#66081
* [release/8.0] Update dependencies from
dotnet/source-build-reference-packages by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66131
* [release/8.0] Update @​azure/msal-browser from 2.x to 4.x by @​wtgodbe
in dotnet/aspnetcore#66236
* [release/8.0] Use source-build-assets repo by @​NikolaMilosavljevic in
dotnet/aspnetcore#66276
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/aspnetcore#66317


**Full Changelog**:
dotnet/aspnetcore@v8.0.26...v8.0.27

Commits viewable in [compare
view](dotnet/aspnetcore@v8.0.26...v8.0.27).
</details>

Updated
[Microsoft.AspNetCore.OpenApi](https://github.com/dotnet/aspnetcore)
from 8.0.26 to 8.0.27.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.AspNetCore.OpenApi's
releases](https://github.com/dotnet/aspnetcore/releases)._

## 8.0.27

[Release](https://github.com/dotnet/core/releases/tag/v8.0.27)

## What's Changed
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/aspnetcore#66205
* [release/8.0] Update NPM dependencies by @​wtgodbe in
dotnet/aspnetcore#66052
* [release/8.0] Move off of dead-lettered Windows preview helix queue by
@​wtgodbe in dotnet/aspnetcore#66220
* [release/8.0] (deps): Bump src/submodules/googletest from `73a63ea` to
`d72f9c8` by @​dependabot[bot] in
dotnet/aspnetcore#66087
* [release/8.0] Replace dn-bot-dnceng-build-rw-code-rw PAT with WIF
service connection in mirror-within-azdo by @​missymessa in
dotnet/aspnetcore#66115
* [release/8.0] Update dependencies from dotnet/source-build-externals
by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66216
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/aspnetcore#66081
* [release/8.0] Update dependencies from
dotnet/source-build-reference-packages by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66131
* [release/8.0] Update @​azure/msal-browser from 2.x to 4.x by @​wtgodbe
in dotnet/aspnetcore#66236
* [release/8.0] Use source-build-assets repo by @​NikolaMilosavljevic in
dotnet/aspnetcore#66276
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/aspnetcore#66317


**Full Changelog**:
dotnet/aspnetcore@v8.0.26...v8.0.27

Commits viewable in [compare
view](dotnet/aspnetcore@v8.0.26...v8.0.27).
</details>

Updated
[Microsoft.EntityFrameworkCore](https://github.com/dotnet/efcore) from
9.0.15 to 9.0.16.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.EntityFrameworkCore's
releases](https://github.com/dotnet/efcore/releases)._

## 9.0.16

[Release](https://github.com/dotnet/core/releases/tag/v9.0.16)

## What's Changed
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#37900
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#37969
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38034
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/efcore#38062
* [release/9.0] Update branding to 9.0.16 by @​vseanreesermsft in
dotnet/efcore#38063
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38053
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#37908
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#38099
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#38101
* Merging internal commits for release/9.0 by @​vseanreesermsft in
dotnet/efcore#38098
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38170


**Full Changelog**:
dotnet/efcore@v9.0.15...v9.0.16

Commits viewable in [compare
view](dotnet/efcore@v9.0.15...v9.0.16).
</details>

Updated
[Microsoft.EntityFrameworkCore.Design](https://github.com/dotnet/efcore)
from 9.0.15 to 9.0.16.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.EntityFrameworkCore.Design's
releases](https://github.com/dotnet/efcore/releases)._

## 9.0.16

[Release](https://github.com/dotnet/core/releases/tag/v9.0.16)

## What's Changed
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#37900
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#37969
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38034
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/efcore#38062
* [release/9.0] Update branding to 9.0.16 by @​vseanreesermsft in
dotnet/efcore#38063
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38053
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#37908
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#38099
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#38101
* Merging internal commits for release/9.0 by @​vseanreesermsft in
dotnet/efcore#38098
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38170


**Full Changelog**:
dotnet/efcore@v9.0.15...v9.0.16

Commits viewable in [compare
view](dotnet/efcore@v9.0.15...v9.0.16).
</details>

Updated
[Microsoft.EntityFrameworkCore.InMemory](https://github.com/dotnet/efcore)
from 9.0.15 to 9.0.16.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.EntityFrameworkCore.InMemory's
releases](https://github.com/dotnet/efcore/releases)._

## 9.0.16

[Release](https://github.com/dotnet/core/releases/tag/v9.0.16)

## What's Changed
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#37900
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#37969
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38034
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/efcore#38062
* [release/9.0] Update branding to 9.0.16 by @​vseanreesermsft in
dotnet/efcore#38063
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38053
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#37908
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#38099
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#38101
* Merging internal commits for release/9.0 by @​vseanreesermsft in
dotnet/efcore#38098
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38170


**Full Changelog**:
dotnet/efcore@v9.0.15...v9.0.16

Commits viewable in [compare
view](dotnet/efcore@v9.0.15...v9.0.16).
</details>

Updated
[Microsoft.EntityFrameworkCore.Relational](https://github.com/dotnet/efcore)
from 9.0.15 to 9.0.16.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.EntityFrameworkCore.Relational's
releases](https://github.com/dotnet/efcore/releases)._

## 9.0.16

[Release](https://github.com/dotnet/core/releases/tag/v9.0.16)

## What's Changed
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#37900
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#37969
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38034
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/efcore#38062
* [release/9.0] Update branding to 9.0.16 by @​vseanreesermsft in
dotnet/efcore#38063
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38053
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#37908
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#38099
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#38101
* Merging internal commits for release/9.0 by @​vseanreesermsft in
dotnet/efcore#38098
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38170


**Full Changelog**:
dotnet/efcore@v9.0.15...v9.0.16

Commits viewable in [compare
view](dotnet/efcore@v9.0.15...v9.0.16).
</details>

Updated
[Microsoft.Extensions.Caching.Abstractions](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Caching.Abstractions's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated
[Microsoft.Extensions.Configuration](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Configuration's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated
[Microsoft.Extensions.Configuration.Binder](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Configuration.Binder's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated [Microsoft.Extensions.Hosting](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Hosting's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated [Microsoft.Extensions.Http](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Http's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated
[Microsoft.Extensions.Options.DataAnnotations](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Options.DataAnnotations's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated [Selenium.Support](https://github.com/SeleniumHQ/selenium) from
4.43.0 to 4.44.0.

<details>
<summary>Release notes</summary>

_Sourced from [Selenium.Support's
releases](https://github.com/SeleniumHQ/selenium/releases)._

## 4.44.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at da2039bd1456a161d0c284de16f9f4f179f1e8ca -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* fix(documentation): update artifact naming for generated docs by
@​diemol in SeleniumHQ/selenium#17332
* fix(ruby): retrieve devtools version dynamically for package
verification by @​diemol in
SeleniumHQ/selenium#17335
* [dotnet] Don't truncate internal log messages at error/warn levels by
@​nvborisenko in SeleniumHQ/selenium#17333
* [dotnet] Safe modifications of internal log handlers by @​nvborisenko
in SeleniumHQ/selenium#17334
* [dotnet] Remove planned obsoleted members for 4.44 by @​nvborisenko in
SeleniumHQ/selenium#17328
* [dotnet] [bidi] Statically declare commands by @​nvborisenko in
SeleniumHQ/selenium#17330
* [dotnet] [bidi] Statically declared events by @​nvborisenko in
SeleniumHQ/selenium#17331
* [dotnet] Add C# 14 extension to polyfill
`ArgumentNullException.ThrowIfNull` by @​RenderMichael in
SeleniumHQ/selenium#16697
* [dotnet] [bidi] Align SetDownloadBehavior command by @​nvborisenko in
SeleniumHQ/selenium#17336
* [dotnet] [bidi] Align ContinueWithAuth command by @​nvborisenko in
SeleniumHQ/selenium#17337
* [dotnet] [bidi] Align SetGeolocation polymorphic command by
@​nvborisenko in SeleniumHQ/selenium#17338
* [dotnet] [test] In-process test webserver by @​nvborisenko in
SeleniumHQ/selenium#17339
* [java] deprecate the 'native' methods inside the HttpClient interface
by @​joerg1985 in SeleniumHQ/selenium#17340
* CDDL 2 Python generator by @​AutomatedTester in
SeleniumHQ/selenium#16914
* Fix py:local_dev rake task by @​cgoldberg in
SeleniumHQ/selenium#17342
* [grid] Accept legacy session-closed event payloads by @​VietND96 in
SeleniumHQ/selenium#17343
* [java] specify nullability in package `org.openqa.selenium.remote` by
@​asolntsev in SeleniumHQ/selenium#17325
* fix NPE when response status is null by @​asolntsev in
SeleniumHQ/selenium#17348
* [java] fix NoSuchElementException for custom By locators by
@​Chandan25sharma in SeleniumHQ/selenium#17287
* [py] Update docs with pytest example and minor formatting fixes by
@​cgoldberg in SeleniumHQ/selenium#17351
* [dotnet] Fix stopping of network monitoring via DevTools by
@​nvborisenko in SeleniumHQ/selenium#17352
* [dotnet] [test] Update tests to target .NET 10 by @​nvborisenko in
SeleniumHQ/selenium#17353
* [build] Clean extra tools from GHA runner to free disk space by
@​cgoldberg in SeleniumHQ/selenium#17360
* Initial Creation of the Selenium CLI Tool by @​AutomatedTester in
SeleniumHQ/selenium#17327
* [java] fix some nullability warnings by @​asolntsev in
SeleniumHQ/selenium#17362
* [py] Use generated Bidi files instead of hand curated ones by
@​AutomatedTester in SeleniumHQ/selenium#17266
* [docs] Add AI-assisted contribution policy by @​titusfortner in
SeleniumHQ/selenium#17043
* [Agents] Update agents to make sure do linting. by @​AutomatedTester
in SeleniumHQ/selenium#17366
* [py] Bump dependencies by @​cgoldberg in
SeleniumHQ/selenium#17368
* [git] update gitignore to exclude mempalace by @​AutomatedTester in
SeleniumHQ/selenium#17369
* [java] remove field `ChromiumDriver.capabilities` by @​asolntsev in
SeleniumHQ/selenium#17363
* [spec] Use http_file for the cddl files by @​AutomatedTester in
SeleniumHQ/selenium#17372
* [dotnet] [bidi] Obsolete Type(string) method in Input module by
@​nvborisenko in SeleniumHQ/selenium#17377
* Fix Network failures by @​AutomatedTester in
SeleniumHQ/selenium#17381
* [java] [test] Unignore bidi network conditions tests for Firefox by
@​nvborisenko in SeleniumHQ/selenium#17385
* [dotnet] [test] Unignore network conditions tests for Firefox by
@​nvborisenko in SeleniumHQ/selenium#17386
* [dotnet] [test] Migrate to MTP by @​nvborisenko in
SeleniumHQ/selenium#17384
* [dotnet] Support `UnhandledPromptBehavior` option as string and map
(breaking change) by @​nvborisenko in
SeleniumHQ/selenium#16557
 ... (truncated)

Commits viewable in [compare
view](SeleniumHQ/selenium@selenium-4.43.0...selenium-4.44.0).
</details>

Updated [Selenium.WebDriver](https://github.com/SeleniumHQ/selenium)
from 4.43.0 to 4.44.0.

<details>
<summary>Release notes</summary>

_Sourced from [Selenium.WebDriver's
releases](https://github.com/SeleniumHQ/selenium/releases)._

## 4.44.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at da2039bd1456a161d0c284de16f9f4f179f1e8ca -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* fix(documentation): update artifact naming for generated docs by
@​diemol in SeleniumHQ/selenium#17332
* fix(ruby): retrieve devtools version dynamically for package
verification by @​diemol in
SeleniumHQ/selenium#17335
* [dotnet] Don't truncate internal log messages at error/warn levels by
@​nvborisenko in SeleniumHQ/selenium#17333
* [dotnet] Safe modifications of internal log handlers by @​nvborisenko
in SeleniumHQ/selenium#17334
* [dotnet] Remove planned obsoleted members for 4.44 by @​nvborisenko in
SeleniumHQ/selenium#17328
* [dotnet] [bidi] Statically declare commands by @​nvborisenko in
SeleniumHQ/selenium#17330
* [dotnet] [bidi] Statically declared events by @​nvborisenko in
SeleniumHQ/selenium#17331
* [dotnet] Add C# 14 extension to polyfill
`ArgumentNullException.ThrowIfNull` by @​RenderMichael in
SeleniumHQ/selenium#16697
* [dotnet] [bidi] Align SetDownloadBehavior command by @​nvborisenko in
SeleniumHQ/selenium#17336
* [dotnet] [bidi] Align ContinueWithAuth command by @​nvborisenko in
SeleniumHQ/selenium#17337
* [dotnet] [bidi] Align SetGeolocation polymorphic command by
@​nvborisenko in SeleniumHQ/selenium#17338
* [dotnet] [test] In-process test webserver by @​nvborisenko in
SeleniumHQ/selenium#17339
* [java] deprecate the 'native' methods inside the HttpClient interface
by @​joerg1985 in SeleniumHQ/selenium#17340
* CDDL 2 Python generator by @​AutomatedTester in
SeleniumHQ/selenium#16914
* Fix py:local_dev rake task by @​cgoldberg in
SeleniumHQ/selenium#17342
* [grid] Accept legacy session-closed event payloads by @​VietND96 in
SeleniumHQ/selenium#17343
* [java] specify nullability in package `org.openqa.selenium.remote` by
@​asolntsev in SeleniumHQ/selenium#17325
* fix NPE when response status is null by @​asolntsev in
SeleniumHQ/selenium#17348
* [java] fix NoSuchElementException for custom By locators by
@​Chandan25sharma in SeleniumHQ/selenium#17287
* [py] Update docs with pytest example and minor formatting fixes by
@​cgoldberg in SeleniumHQ/selenium#17351
* [dotnet] Fix stopping of network monitoring via DevTools by
@​nvborisenko in SeleniumHQ/selenium#17352
* [dotnet] [test] Update tests to target .NET 10 by @​nvborisenko in
SeleniumHQ/selenium#17353
* [build] Clean extra tools from GHA runner to free disk space by
@​cgoldberg in SeleniumHQ/selenium#17360
* Initial Creation of the Selenium CLI Tool by @​AutomatedTester in
SeleniumHQ/selenium#17327
* [java] fix some nullability warnings by @​asolntsev in
SeleniumHQ/selenium#17362
* [py] Use generated Bidi files instead of hand curated ones by
@​AutomatedTester in SeleniumHQ/selenium#17266
* [docs] Add AI-assisted contribution policy by @​titusfortner in
SeleniumHQ/selenium#17043
* [Agents] Update agents to make sure do linting. by @​AutomatedTester
in SeleniumHQ/selenium#17366
* [py] Bump dependencies by @​cgoldberg in
SeleniumHQ/selenium#17368
* [git] update gitignore to exclude mempalace by @​AutomatedTester in
SeleniumHQ/selenium#17369
* [java] remove field `ChromiumDriver.capabilities` by @​asolntsev in
SeleniumHQ/selenium#17363
* [spec] Use http_file for the cddl files by @​AutomatedTester in
SeleniumHQ/selenium#17372
* [dotnet] [bidi] Obsolete Type(string) method in Input module by
@​nvborisenko in SeleniumHQ/selenium#17377
* Fix Network failures by @​AutomatedTester in
SeleniumHQ/selenium#17381
* [java] [test] Unignore bidi network conditions tests for Firefox by
@​nvborisenko in SeleniumHQ/selenium#17385
* [dotnet] [test] Unignore network conditions tests for Firefox by
@​nvborisenko in SeleniumHQ/selenium#17386
* [dotnet] [test] Migrate to MTP by @​nvborisenko in
SeleniumHQ/selenium#17384
* [dotnet] Support `UnhandledPromptBehavior` option as string and map
(breaking change) by @​nvborisenko in
SeleniumHQ/selenium#16557
 ... (truncated)

Commits viewable in [compare
view](SeleniumHQ/selenium@selenium-4.43.0...selenium-4.44.0).
</details>

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C-dotnet .NET Bindings

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants