Skip to content

Bump the testing group with 6 updates#52

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/src/testing-ca67e45e42
Open

Bump the testing group with 6 updates#52
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/src/testing-ca67e45e42

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 15, 2026

Copy link
Copy Markdown

Updated Aspire.Hosting.Testing from 13.2.2 to 13.4.4.

Release notes

Sourced from Aspire.Hosting.Testing's releases.

13.4.4

What's New in Aspire 13.4.4

Patch release for Aspire 13.4 with improved DCP connection reliability during request execution and consistent ExcludeFromMcp() filtering across all CLI MCP tools.

🐛 Fixes

  • 🔌 DCP requests could fail permanently when the connection dropped mid-request — If the underlying DCP channel closed while a request was in flight, the error was surfaced directly instead of being retried. Reconnection is now attempted as part of the DCP request retry path so transient disconnections recover automatically without surfacing errors. (#​18096, @​karolz-ms)
  • 🔍 Resources marked with ExcludeFromMcp() were not consistently filtered from CLI MCP tools — Resources with the resource.excludeFromMcp property were not excluded uniformly from all CLI MCP tool results. list_resources, list_console_logs, execute_resource_command, list_structured_logs, list_traces, and list_trace_structured_logs all now honor the exclusion, preventing excluded resources and their telemetry from appearing in agent context. (#​18150, @​JamesNK)

🏷️ Housekeeping

  • 📦 Improved npm CLI package metadata and hardened npm publish validation in the release pipeline. (#​18093, @​adamratzman)

Full Changelog: v13.4.3...v13.4.4

Full commit: ccc566c5ab3285c9beb8f38ede34734bb477c029

13.4.3

What's New in Aspire 13.4.3

Patch release for Aspire 13.4 with a fix for persistent container endpoint allocation regressions introduced in 13.4.

🐛 Fixes

  • 🔌 Persistent container endpoints had incorrect default behavior — Persistent containers were defaulting to proxyless endpoint behavior instead of the proxied behavior used by normal containers. This caused integrations that depend on endpoint allocation before resource startup (such as the KeyVault emulator) to fail. Persistent containers now default to proxied endpoints matching normal container behavior; opt out with isProxied: false or WithEndpointProxySupport(false). Proxyless container endpoints with only a targetPort specified now also resolve immediately to that port instead of waiting for delayed allocation. (#​17960, @​danegsta)

🏷️ Housekeeping

  • 🛠️ Unblocked WinGet manifest publishing on locked-down 1ES agents and updated manifest tags (#​17958)

Full Changelog: microsoft/aspire@v13.4.2...v13.4.3

Full commit: 4f218933552e18ff2874d1b6d5dc3fe671e3b6d9

Generated by Generate release notes for a new stable Aspire release · ● 4.7M

13.4.2

What's New in Aspire 13.4.2

Patch release for Aspire 13.4 with a fix for Redis persistent container deadlock on startup when using TLS.

🐛 Fixes

  • 🔴 Redis with WithLifetime(ContainerLifetime.Persistent) could deadlock on startup — Redis TLS startup arguments used the public/allocated host ports instead of the internal target ports. When the public port differed from the target port (or was not yet allocated) the container would listen on an unexpected port and become unreachable. The TLS and non-TLS startup arguments now bind to target ports, matching what Redis expects internally. Fixes #​17822. (#​17827, backported via #​17850, @​danegsta)

🏷️ Housekeeping

  • 🚀 Bumped branding to 13.4.2 (#​17876)

Full Changelog: microsoft/aspire@v13.4.1...v13.4.2

Full commit: d7d0b6759ce4b936c76bc4775814d27db560dd6d

Generated by Generate release notes for a new stable Aspire release · ● 5M

13.4.1

What's New in Aspire 13.4.1

Patch release for Aspire 13.4 with fixes for explicit-start resource lifecycle callbacks, Redis persistent container startup, proxyless endpoint allocation, and a duplicated profiles block in the empty C# AppHost template.

🐛 Fixes

  • ⏱️ Explicit-start resources triggered lifecycle callbacks too early — Session-scoped resources marked with WithExplicitStart() were having their execution configuration callbacks (environment variables, arguments, certificates) evaluated at AppHost startup instead of at manual start. This meant user-interaction callbacks such as WithEnvironment(ctx => PromptForValueAsync(...)) were called before the user triggered the resource. DCP registration is now deferred until the user manually starts the resource; persistent explicit-start resources still register immediately but patch the existing DCP record to Start = true rather than deleting and recreating it. Fixes #​17813. (#​17825, backported via #​17826, @​danegsta)
  • 🔴 Redis with WithLifetime(ContainerLifetime.Persistent) could deadlock on startup — Redis TLS startup arguments used the public/allocated host ports instead of the internal target ports. When the public port differed from the target port (or was not yet allocated) the container would listen on an unexpected port and become unreachable. The TLS and non-TLS startup arguments now bind to target ports, matching what Redis expects internally. Fixes #​17822. (#​17827, backported via #​17850, @​danegsta)
  • 🔌 Proxyless container endpoint could hang when resolved before container creation — Referencing a proxyless container endpoint in an environment variable callback (before the container port spec was finalized) could deadlock. An on-demand allocation path now commits the target port as the fallback host port in that case; once BuildContainerPorts runs, normal DCP dynamic port assignment takes over for any later resolution. (#​17851, backported via #​17859, @​danegsta)
  • 📄 Empty C# AppHost template emitted duplicate profiles blockaspire new aspire-empty on 13.4 produced an aspire.config.json with a profiles block that duplicated the content already present in apphost.run.json, causing redundant launch configuration. The embedded template now contains only the required appHost.path binding; profile configuration lives exclusively in apphost.run.json. Fixes #​17660. (#​17781, backported via #​17820, @​mitchdenny)

🏷️ Housekeeping

  • 📦 Added Aspire CLI npm package to the release pipeline so the npm distribution is published as part of stable releases. (#​17297, backported via #​17766, @​adamint)
  • 🚀 Bumped branding to 13.4.1 (#​17819)

Full Changelog: microsoft/aspire@v13.4.0...v13.4.1

Full commit: cf985fa817dd5863e7f62eb74fa1725ab5069ed2

Generated by Generate release notes for a new stable Aspire release · ● 1.0.40

Generated by Generate release notes for a new stable Aspire release · ● 3.9M

13.4.0

Aspire 13.4.0

Aspire 13.4 brings major improvements to Foundry hosted agents, the Aspire skills system, CLI reliability, and TypeScript AppHost stability — with cross-compute-environment deployment now working end-to-end and TypeScript AppHost support — Aspire's polyglot story — reaching general availability (GA).

Highlights

  • 🎉 TypeScript AppHost is now GA — First introduced as a preview in an earlier version of Aspire, the TypeScript AppHost — Aspire's polyglot story — has reached the quality bar for general availability and is now officially supported for production use alongside C#. As part of GA, the experimental markers on the Azure TypeScript AppHost (ATS) APIs have been removed and the ATS surface area is stable for 13.4.
  • 🤖 Foundry hosted agents — Protocol selection (responses / invocations) is now configurable from both C# and TypeScript AppHosts. Cross-compute-environment deployments (e.g., a Foundry hosted agent + an AKS consumer) now wire up correctly: endpoint resolution and the required Azure AI User RBAC role assignment on the Foundry account are generated automatically — no manual az role assignment create steps needed.
  • 🛠️ Aspire skills catalog from bundleaspire agent init now drives its installable skill catalog from the bundle manifest, surfacing all six bundled skills (previously only three were visible). An embedded snapshot means the full catalog is available even in airgapped / disconnected environments.
  • 🔧 CLI reliability — Multiple CLI fixes: implicit-channel discovery restored, aspire stop no longer falsely reports failure on Unix, aspire ps no longer includes raw resource data (use aspire describe for detailed state), aspire new prefers the current CLI template version, friendly error for aspire do --list-steps without a step argument, and improved --search option description with documentation link.
  • ⌨️ TypeScript AppHost — Fixed a deadlock that occurred when lazy options callbacks invoked async methods; dev-localhost resource service URLs are now accepted for local development without extra configuration.
  • 📊 Dashboard — Summary log formatting improved for readability, dotnet watch dashboard auto-launch signal restored, and dynamic-port handling fixed for DistributedApplicationTestingBuilder.
  • ☸️ Kubernetes — The Helm CLI minimum version (≥ 4.2.0) is now validated before a Kubernetes deploy, giving a clear error instead of a cryptic failure.
  • ⚠️ Aspire.Hosting.Blazor ships as preview in 13.4 — A packaging issue with the Blazor gateway scripts means the package is intentionally marked preview for this release. Full stable support is targeted for 13.5.

⚠️ Notable changes

  • aspire ps no longer includes raw resource data in its output. Use aspire describe <resource> to inspect detailed resource state.
  • Foundry hosted agent builder API shape updated — see #​17545 and #​17669 for the updated C# and TypeScript signatures.
  • Aspire.Hosting.Blazor is preview-versioned in 13.4 (SuppressFinalPackageVersion=true). A fix for the addBlazorGateway gateway script resolution error in TypeScript AppHosts is tracked in #​17685.

📖 Learn more

For the full details on everything in this release, check out the What's new in Aspire 13.4 documentation.

Thank you to all the community contributors who helped make Aspire 13.4 possible! 💜


Full Changelog: microsoft/aspire@v13.3.5...v13.4.0

Full commit: becb48e2d61099e35ae336d527d3875e928d6594

Generated by Generate release notes for a new stable Aspire release · ● 6.5M

13.3.5

What's New in Aspire 13.3.5

Patch release for Aspire 13.3 with fixes for the Azure provisioning location prompt and an Aspire CLI named-pipe timeout on Linux with .NET SDK 10.0.300.

🐛 Fixes

  • 📍 Azure provisioning location prompt not populated — Selecting an existing resource group during aspire publish now correctly populates dependent server-controlled fields (such as Location). Previously, server-provided values for disabled inputs were discarded, leaving those fields blank. (#​17278, backported via #​17291)
  • 🔧 Aspire CLI named-pipe timeout on Linux with .NET SDK 10.0.300 — The Aspire CLI was forcing DOTNET_CLI_USE_MSBUILD_SERVER=1 for all dotnet run/dotnet build invocations. On Linux with SDK 10.0.300 this caused a named-pipe timeout that prevented aspire run from building the AppHost. The forced override has been removed so the SDK chooses MSBuild server behavior. Fixes #​16849. (#​17313, backported via #​17314)

🏷️ Housekeeping

  • ⬆️ Skipped log publish for WinGet/Homebrew installer pipeline jobs to fix Prepare Installers stage failures (#​17134)
  • 🚀 Bumped branding to 13.3.5 (#​17315)

Full Changelog: microsoft/aspire@v13.3.4...v13.3.5

Full commit: 70b33bcb5f64c75e3ab6f57616545f35bd43dc81

Generated by Generate release notes for a new stable Aspire release · ● 4.3M

13.3.4

What's New in Aspire 13.3.4

Patch release for Aspire 13.3 with a fix for the Aspire skill description exceeding agent host limits.

🐛 Fixes

  • 📝 Aspire skill description too long for agent hosts — The SKILL.md generated by aspire agent init included a frontmatter description that exceeded the 1024-character limit enforced by agent hosts such as Codex and Copilot CLI, causing the Aspire skill to fail to load. The bundled skill description has been shortened to stay within the limit. (#​17183, backported via #​17188)

🏷️ Housekeeping

  • 🚀 Bumped branding to 13.3.4 (#​17215)

Full commit: 75080796af797483231a9da2d1642b5130617565

Generated by Generate release notes for a new stable Aspire release · ● 3.6M

13.3.3

What's New in Aspire 13.3.3

Patch release for Aspire 13.3 with fixes for debug log level leaking into user resources, Keycloak HTTPS endpoint token invalidation, and endpoint materialization in HostResourceWithEndpoints.

🐛 Fixes

  • 🔇 Debug log level leaking into user resourcesLogging__LogLevel__Default=Debug set by the app host was being inherited by all user resources, silently changing their logging verbosity. The app host now uses ASPIRE_APPHOST_LOGLEVEL instead, which is scoped to Aspire processes only. (#​17071, backported via #​17078)
  • 🔑 Keycloak HTTPS primary endpoint — Fixed a regression where Keycloak tokens became invalid after an app host restart because the HTTPS endpoint port was dynamic. When developer certificates are enabled, Keycloak's primary endpoint is now upgraded to HTTPS directly, and the endpoint name is set to http to enable standard http+https:// service discovery URLs. (#​17058, backported via #​17063)
  • 🔌 Endpoint materialization in HostResourceWithEndpoints — Endpoints configured via HostResourceWithEndpoints are now correctly materialized, ensuring endpoint resolution and service discovery work as expected. (#​17091, backported via #​17092)

🏷️ Housekeeping

  • ⬆️ Bumped DCP (Microsoft.DeveloperControlPlane) from 0.23.5 → 0.23.6 — includes fixes for Kubernetes OpenAPI generator types that caused [SHOULD NOT HAPPEN] failed to update managedFields errors. (#​17070)
  • 🚀 Bumped branding to 13.3.3 (#​17088)

Full commit: a4615e7c6def6cba4703cdbd84009cd3da9a261b

13.3.2

What's New in Aspire 13.3.2

Patch release for Aspire 13.3 with a fix for container tunnel startup when tunnel-dependent containers use WaitFor().

🐛 Fixes

  • 🚇 Fix WaitFor() for tunnel-dependent containers — The container tunnel implementation that shipped in Aspire 13.3 deadlocked at startup when tunnel-using containers waited on other resources, because resource waits blocked ResourceStarting before the tunnel initialization could complete. Container and tunnel startup have been refactored to cooperate correctly, and additional tunnel-dependent containers can now be started at any point during the application lifecycle. Also improves error reporting for container tunnel failures. (#​16988, backported via #​16993)

🏷️ Housekeeping

  • 🚀 Bumped branding to 13.3.2 (#​17053)

13.3.1

Aspire 13.3.1

What's New in Aspire 13.3.1

Patch release for Aspire 13.3 with a regression fix for aspire run and a DCP bump.

🐛 Fixes

  • 🏃 aspire run compute environment validation — Skip compute environment validation in run mode so customers no longer hit Resource '<name>' is configured to publish as an Azure Container App, but there are no 'AzureContainerAppEnvironmentResource' resources. Ensure you have added one by calling 'AddAzureContainerAppEnvironment'. errors during local runs. The check is now only performed in publish mode, matching pre-13.3 behavior. (#​16945, backported via #​16952)

🏷️ Housekeeping

  • ⬆️ Bumped DCP (Microsoft.DeveloperControlPlane) from 0.23.4 → 0.23.5 (#​16944)
  • 🌐 Updated localization resources (#​16602)
  • 🚀 Bumped branding to 13.3.1 (#​16951)

13.3.0

Aspire 13.3.0

Aspire 13.3 is here! 🚀 This release is packed with new ways to deploy, debug, and build distributed apps — including aspire destroy, browser telemetry in the dashboard, Kubernetes deployment, first-class JavaScript publishing, and major TypeScript AppHost parity
improvements.

Highlights

  • 🧹 Clean teardown — New aspire destroy tears down Azure, Kubernetes, and Docker Compose deployments, and pipeline summaries make deploy/publish/destroy runs easier to follow.
  • 🔍 Frontend telemetryAspire.Hosting.Browsers captures browser console logs, network requests, and screenshots right in the Aspire dashboard.
  • ☸️ Kubernetes deploy previewaspire deploy can now generate Helm-based Kubernetes deployments, with first-class Ingress and Gateway API routing.
  • 🟨 JavaScript publishing — New PublishAs* methods support static sites, Node servers, npm-script apps, Next.js, Vite, Bun, Yarn, and pnpm.
  • 🌐 TypeScript AppHost parity — Unified withEnvironment, Docker Compose hooks, endpoint expressions, Azure Container Apps domains, and more close the gap with C# AppHosts.
  • 🛠️ CLI upgrades — Run the standalone dashboard with aspire dashboard run, install the CLI as a NativeAOT dotnet tool, and search API docs from the terminal.
  • ☁️ Azure goodness — New Azure Front Door, Network Security Perimeter, AKS, private endpoint, and Foundry Prompt Agent support.
  • 🐳 Better containers — The Aspire container tunnel is now enabled by default for consistent host connectivity across Docker Desktop, Docker Engine, and Podman.

⚠️ Breaking changes

Notable breaking changes include --log-level becoming --pipeline-log-level, the dashboard MCP server being replaced by aspire agent init, dotnet new aspire-py-starter moving to aspire new aspire-py-starter, and several API shape updates across AKS,
Foundry, JavaScript diagnostics, and TypeScript AppHost helpers.

See the full list in the Aspire 13.3 breaking changes.

📖 Learn more

For the full details, examples, migration guidance, and everything new in this release, check out What's new in Aspire 13.3.

Thank you to all the community contributors who helped make Aspire 13.3 possible! 💜

13.2.4

Aspire 13.2.4

What's New in Aspire 13.2.4

Patch release addressing a security advisory in OpenTelemetry dependencies.

🐛 Fixes

  • 🔒 Bumped OpenTelemetry dependencies to address CVE-2026-40894 (#​16420)

🏷️ Housekeeping

  • 🚀 Bumped branding to
    13.2.4 (#​16436)

13.2.3

What's New in Aspire 13.2.3

Patch release focused on CLI packaging, signing, and reliability fixes.

🐛 Fixes

  • 🛑 aspire stop now properly cleans up application containers on Windows (#​16123)
  • 🔐 Fixed macOS signing, permissions, and certificate trust with improved CI verification (#​16053)
  • ✍️ Fixed signing for the aspire-managed bundle payload (#​16211)
  • 🎭 Fixed Playwright CLI provenance verification for the new tag format (#​16134)
  • 🧭 Updated service discovery environment variables (#​16223)

🔧 Improvements

  • 📊 Removed telemetry API data limits and refactored URL builders (#​16023)
  • ⏱️ Increased native build + sign timeout to 60 minutes for reliability (#​16212)

🏷️ Housekeeping

  • 🔖 Bumped branding to 13.2.3 (#​16181)
  • 🧪 Temporarily disabled Verify CLI archive step on Windows while investigating (#​16276, #​16285)

Commits viewable in compare view.

Updated Microsoft.AspNetCore.Mvc.Testing from 10.0.6 to 10.0.9.

Release notes

Sourced from Microsoft.AspNetCore.Mvc.Testing's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.NET.Test.Sdk from 17.14.0 to 17.14.1.

Release notes

Sourced from Microsoft.NET.Test.Sdk's releases.

17.14.1

What's Changed

Full Changelog: microsoft/vstest@v17.14.0...v17.14.1

Commits viewable in compare view.

Updated Microsoft.Playwright from 1.50.0 to 1.60.0.

Release notes

Sourced from Microsoft.Playwright's releases.

1.60.0

💬 Custom assertion messages

Expect() overloads now accept a custom message that is prepended to any failure, giving extra context in test reports:

await Expect(page.Locator("#status"), "Should be logged in").ToBeVisibleAsync();

When the assertion fails, the message is prefixed:

Should be logged in
Locator expected to be visible

🌐 HAR recording on Tracing

Tracing.StartHarAsync() / Tracing.StopHarAsync() expose HAR recording as a first-class tracing API, with the same Content, Mode and UrlFilter options as RecordHar:

await context.Tracing.StartHarAsync("trace.har");
var page = await context.NewPageAsync();
await page.GotoAsync("https://playwright.dev");
await context.Tracing.StopHarAsync();

🪝 Drop API

New Locator.DropAsync() simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches dragenter, dragover, and drop with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:

await page.Locator("#dropzone").DropAsync(new() {
    Files = new FilePayload() {
        Name = "note.txt",
        MimeType = "text/plain",
        Buffer = Encoding.UTF8.GetBytes("hello"),
    },
});

await page.Locator("#dropzone").DropAsync(new() {
    Data = new Dictionary<string, string> {
        ["text/plain"] = "hello world",
        ["text/uri-list"] = "https://example.com",
    },
});

🎯 Aria snapshots

1.59.0

🎬 Screencast

New Page.Screencast API provides a unified interface for capturing page content with:

  • Screencast recordings
  • Action annotations
  • Visual overlays
  • Real-time frame capture
  • Agentic video receipts
Demo

Screencast recording — record video with precise start/stop control, as an alternative to the recordVideoDir option:

await page.Screencast.StartAsync(new() { Path = "video.webm" });
// ... perform actions ...
await page.Screencast.StopAsync();

Action annotations — enable built-in visual annotations that highlight interacted elements and display action titles during recording:

await page.Screencast.ShowActionsAsync(new() { Position = "top-right" });

ShowActionsAsync accepts Position ("top-left", "top", "top-right", "bottom-left", "bottom", "bottom-right"), Duration (ms per annotation), and FontSize (px). Returns a disposable to stop showing actions.

Visual overlays — add chapter titles and custom HTML overlays on top of the page for richer narration:

await page.Screencast.ShowChapterAsync("Adding TODOs", new() {
    Description = "Type and press enter for each TODO",
    Duration = 1000,
});

await page.Screencast.ShowOverlayAsync("<div style=\"color: red\">Recording</div>");

Real-time frame capture — stream JPEG-encoded frames for custom processing like thumbnails, live previews, AI vision, and more:

await page.Screencast.StartAsync(new() {
    OnFrame = frame => SendToVisionModel(frame.Data),
});

... (truncated)

1.58.0

Trace Viewer Improvements

  • New 'system' theme option follows your OS dark/light mode preference
  • Search functionality (Cmd/Ctrl+F) is now available in code editors
  • Network details panel has been reorganized for better usability
  • JSON responses are now automatically formatted for readability

Thanks to @​cpAdm for contributing these improvements!

Miscellaneous

BrowserType.ConnectOverCDPAsync() now accepts an IsLocal option. When set to true, it tells Playwright that it runs on the same host as the CDP server, enabling file system optimizations.

Breaking Changes ⚠️

  • Removed _react and _vue selectors. See locators guide for alternatives.
  • Removed :light selector engine suffix. Use standard CSS selectors instead.
  • Option Devtools from BrowserType.LaunchAsync() has been removed. Use Args = new[] { "--auto-open-devtools-for-tabs" } instead.
  • Removed macOS 13 support for WebKit.

Browser Versions

  • Chromium 145.0.7632.6
  • Mozilla Firefox 146.0.1
  • WebKit 26.0

1.57.0

Chrome for Testing

Starting with this release, Playwright switches from Chromium, to using Chrome for Testing builds. Both headed and headless browsers are subject to this. Your tests should still be passing after upgrading to Playwright 1.57.

We're expecting no functional changes to come from this switch. The biggest change is the new icon and title in your toolbar.

new and old logo

If you still see an unexpected behaviour change, please file an issue.

On Arm64 Linux, Playwright continues to use Chromium.

Breaking Change

After 3 years of being deprecated, we removed Page.Accessibility from our API. Please use other libraries such as Axe if you need to test page accessibility. See our Node.js guide for integration with Axe.

New APIs

Browser Versions

  • Chromium 143.0.7499.4
  • Mozilla Firefox 144.0.2
  • WebKit 26.0

1.56.0

New APIs

Breaking Changes

Miscellaneous

  • Aria snapshots render and compare input placeholder

Browser Versions

  • Chromium 141.0.7390.37
  • Mozilla Firefox 142.0.1
  • WebKit 26.0

1.55.0

Codegen

  • Automatic ToBeVisibleAsync() assertions: Codegen can now generate automatic ToBeVisibleAsync() assertions for common UI interactions. This feature can be enabled in the Codegen settings UI.

Breaking Changes

  • ⚠️ Dropped support for Chromium extension manifest v2.

Miscellaneous

Browser Versions

  • Chromium 140.0.7339.16
  • Mozilla Firefox 141.0
  • WebKit 26.0

This version was also tested against the following stable channels:

  • Google Chrome 139
  • Microsoft Edge 139

1.54.0

Highlights

  • New cookie property PartitionKey in browserContext.cookies() and browserContext.addCookies(). This property allows to save and restore partitioned cookies. See CHIPS MDN article for more information. Note that browsers have different support and defaults for cookie partitioning.

  • New option --user-data-dir in multiple commands. You can specify the same user data dir to reuse browsing state, like authentication, between sessions.

    pwsh bin/Debug/netX/playwright.ps1 codegen --user-data-dir=./user-data
  • pwsh bin/Debug/netX/playwright.ps1 open does not open the test recorder anymore. Use pwsh bin/Debug/netX/playwright.ps1 codegen instead.

Browser Versions

  • Chromium 139.0.7258.5
  • Mozilla Firefox 140.0.2
  • WebKit 26.0

This version was also tested against the following stable channels:

  • Google Chrome 140
  • Microsoft Edge 140

1.53.0

Miscellaneous

  • New Steps in Trace Viewer:
    New Trace Viewer Steps

  • New method Locator.Describe() to describe a locator. Used for trace viewer.

    var button = Page.GetByTestId("btn-sub").Describe("Subscribe button");
    await button.ClickAsync();
  • pwsh bin/Debug/netX/playwright.ps1 install --list will now list all installed browsers, versions and locations.

Browser Versions

  • Chromium 138.0.7204.4
  • Mozilla Firefox 139.0
  • WebKit 18.5

This version was also tested against the following stable channels:

  • Google Chrome 137
  • Microsoft Edge 137

1.52.0

Highlights

  • New method Expect(locator).ToContainClassAsync() to ergonomically assert individual class names on the element.

      await Expect(Page.GetByRole(AriaRole.Listitem, new() { Name = "Ship v1.52" })).ToContainClassAsync("done");
  • Aria Snapshots got two new properties: /children for strict matching and /url for links.

    await Expect(locator).ToMatchAriaSnapshotAsync(@"
      - list
        - /children: equal
        - listitem: Feature A
        - listitem:
          - link ""Feature B"":
            - /url: ""https://playwright.dev""
    ");

Miscellaneous

Breaking Changes

  • Method route.ContinueAsync() does not allow to override the Cookie header anymore. If a Cookie header is provided, it will be ignored, and the cookie will be loaded from the browser's cookie store. To set custom cookies, use browserContext.AddCookiesAsync().
  • macOS 13 is now deprecated and will no longer receive WebKit updates. Please upgrade to a more recent macOS version to continue benefiting from the latest WebKit improvements.

Browser Versions

  • Chromium 136.0.7103.25
  • Mozilla Firefox 137.0
  • WebKit 18.4

This version was also tested against the following stable channels:

  • Google Chrome 135
  • Microsoft Edge 135

1.51.0

Highlights

  • New option IndexedDB for BrowserContext.StorageStateAsync() allows to save and restore IndexedDB contents. Useful when your application uses IndexedDB API to store authentication tokens, like Firebase Authentication.

    Here is an example following the authentication guide:

    // Save storage state into the file. Make sure to include IndexedDB.
    await context.StorageStateAsync(new()
    {
        Path = "../../../playwright/.auth/state.json",
        IndexedDB = true
    });
    
    // Create a new context with the saved storage state.
    var context = await browser.NewContextAsync(new()
    {
        StorageStatePath = "../../../playwright/.auth/state.json"
    });
  • New option Visible for locator.filter() allows matching only visible elements.

    // Ignore invisible todo items.
    var todoItems = Page.GetByTestId("todo-item").Filter(new() { Visible = true });
    // Check there are exactly 3 visible ones.
    await Expect(todoItems).ToHaveCountAsync(3);
  • New option Contrast for methods page.emulateMedia() and Browser.NewContextAsync() allows to emulate the prefers-contrast media feature.

  • New option FailOnStatusCode makes all fetch requests made through the APIRequestContext throw on response codes other than 2xx and 3xx.

Browser Versions

  • Chromium 134.0.6998.35
  • Mozilla Firefox 135.0
  • WebKit 18.4

This version was also tested against the following stable channels:

  • Google Chrome 133
  • Microsoft Edge 133

Commits viewable in compare view.

Updated Microsoft.Testing.Extensions.CodeCoverage from 18.6.2 to 18.8.0.

Release notes

Sourced from Microsoft.Testing.Extensions.CodeCoverage's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Testcontainers.PostgreSql from 4.4.0 to 4.12.0.

Release notes

Sourced from Testcontainers.PostgreSql's releases.

4.12.0

What's Changed

Thanks to all contributors 👏.

The NuGet packages for this release have been attested for supply chain security using actions/attest. This confirms the integrity and provenance of the artifacts and helps ensure they can be trusted: #​21198535.

⚠️ Breaking Changes

  • chore(deps): Bump Docker.DotNet from 3.131.1 to 4.0.2 (#​1665) @​HofmeisterAn

🚀 Features

  • feat: Add Floci module (#​1690) @​object
  • feat: Ignore port-forwarding extra host in reuse hash (#​1689) @​HofmeisterAn
  • feat: Allow devs to override the reuse hash calculation (#​1688) @​HofmeisterAn
  • feat: Add connect to network API (#​1672) @​HofmeisterAn
  • feat(LocalStack): Require auth token for 4.15 and onwards (#​1667) @​HofmeisterAn
  • chore(deps): Bump Docker.DotNet from 3.131.1 to 4.0.2 (#​1665) @​HofmeisterAn

🐛 Bug Fixes

  • fix: Trim tar record padding to avoid broken-pipe failure on Podman (#​1684) @​artiomchi
  • fix(Nats): Use healthz API for readiness probe (#​1679) @​eriblo01
  • fix: Remove KeepAlive socket option (#​1671) @​Angelinsky7

📖 Documentation

  • docs: Extend WithCommand(params string[]) documentation (#​1685) @​HofmeisterAn

🧹 Housekeeping

  • feat: Prepare next release cycle (4.12.0) (#​1664) @​HofmeisterAn

📦 Dependency Updates

  • chore(deps): Bump the actions group with 5 updates (#​1687) @dependabot[bot]
  • chore(deps): Bump Docker.DotNet from 4.1.0 to 4.2.0 (#​1686) @​HofmeisterAn
  • chore(deps): Bump the actions group with 5 updates (#​1676) @dependabot[bot]
  • chore(deps): Bump Docker.DotNet from 4.0.2 to 4.1.0 (#​1674) @​HofmeisterAn
  • chore(deps): Bump Docker.DotNet from 3.131.1 to 4.0.2 (#​1665) @​HofmeisterAn

4.11.0

What's Changed

Thanks to all contributors. Once again, really great contributions from everyone 🤝.

The NuGet packages for this release have been attested for supply chain security using actions/attest. This confirms the integrity and provenance of the artifacts and helps ensure they can be trusted: #​21198535.

Please be aware that we have changed the supported and underlying image used for the Cosmos DB module. The latest tag only supports certain environments and provides a limited set of features. Microsoft has introduced a new implementation, vnext-preview, which receives more updates and features. Due to the limitations of the latest tag, we decided to replace it with vnext-preview. You find more information about the image here: https://github.com/Azure/azure-cosmos-db-emulator-docker.

⚠️ Breaking Changes

  • feat(CosmosDb): Update base image from latest to vnext-preview (#​1324) @​NelsonBN

🚀 Features

  • feat(CosmosDb): Update base image from latest to vnext-preview (#​1324) @​NelsonBN
  • feat: Add typed WithResourceMapping(...) overloads (#​1497) @​cimnine
  • feat: Add Seq module (#​1276) @​montanehamilton
  • feat(PostgreSql): Add WithSsl builder API (#​1529) @​ozkanpakdil
  • feat: Add Temporal module (#​1635) @​bgener
  • feat: Add module connection string provider (#​1632) @​HofmeisterAn
  • fead: Add default container connection string provider (#​1630) @​HofmeisterAn
  • feat(ServiceBus): Add method to get HTTP connection string (#​1622) @​NelsonBN

🐛 Bug Fixes

  • fix(MongoDb): Wait for post-init startup readiness before replica set initiation (#​1656) @​HofmeisterAn
  • fix(Seq): Assert connection string provider (#​1645) @​HofmeisterAn
  • fix(EventHubs): Ignore runtime property to support reuse (#​1644) @​franciscosamuel
  • fix(ServiceBus): Ignore runtime property to support reuse (#​1643) @​franciscosamuel
  • fix(ResourceReaper): Set wait strategy (#​1634) @​HofmeisterAn
  • fix(ServiceBus): Workaround health API timeout (#​1625) @​HofmeisterAn
  • fix: Do not set console buffer width (ConsoleLogger) (#​1623) @​HofmeisterAn
  • fix(EventHubs): Workaround health API timeout (#​1624) @​HofmeisterAn

📖 Documentation

  • docs(CosmosDb): Replace unsupported tag 'latest' with 'vnext-preview' (#​1660) @​HofmeisterAn
  • docs(Redis): Add example (#​1641) @​HofmeisterAn

🧹 Housekeeping

  • chore(examples): Enable NuGet restore lock mode (#​1659) @​HofmeisterAn
  • chore: Pin image digest (#​1658) @​HofmeisterAn
  • fix: Run OpenSSF Scorecard only on default branch (#​1657) @​HofmeisterAn
  • chore: Remove Git LFS tracking for .snk (#​1655) @​HofmeisterAn
  • feat: Enable Dependabot for NuGet (repo) (#​1654) @​HofmeisterAn
  • feat: Enable Dependabot for NuGet (src) (#​1653) @​HofmeisterAn
  • fix: Replace branch protection with ruleset (#​1652) @​HofmeisterAn
  • fix: Do not enforce policies for admins (#​1651) @​HofmeisterAn
  • fix: Remove missing labels from Dependabot (#​1650) @​HofmeisterAn
    ... (truncated)

4.10.0

What's Changed

Happy New Year, everyone! 🎉

Please note that going forward, we expect developers to explicitly pin the image version (testcontainers/testcontainers-dotnet#1470). We consider this a best practice and it aligns with other language implementations.

Also, due to the recent Docker Engine v29 release, TC for .NET pins the Docker Engine API version to 1.44 (see the previous release notes). You can override this default and set it to the version you're using, ideally 1.52, which corresponds to v29, if you're already running it.

⚠️ Breaking Changes

  • feat: Add Docker Engine v29 support (#​1609) @​HofmeisterAn
  • chore: Remove EventStoreDb module (#​1599) @​HofmeisterAn

🚀 Features

  • feat: Require explicit container image in Testcontainers.Xunit (#​1612) @​0xced
  • feat: Add Platform property to IImage interface (#​1610) @​HofmeisterAn
  • feat: Add Docker Engine v29 support (#​1609) @​HofmeisterAn
  • feat: Require explicit container image when creating container builder (#​1584) @​digital88
  • feat: Add connection string provider (#​1588) @​HofmeisterAn

🐛 Bug Fixes

  • fix(Kafka): Bump image version to prevent container crash on startup (#​1604) @​HofmeisterAn
  • fix(Elasticsearch): Use HTTP wait strategy (#​1593) @​digital88
  • fix(Milvus): Use healthcheck wait strategy (#​1585) @​verdie-g

📖 Documentation

  • docs: Pin the image version explicitly (#​1605) @​HofmeisterAn

🧹 Housekeeping

  • chore: Remove Sonar findings (#​1611) @​HofmeisterAn
  • chore: Pin Docker Engine API for GH workflow to 1.47 (#​1608) @​HofmeisterAn
  • chore: Set remaining container image explicit (#​1606) @​digital88
  • fix(Kafka): Bump image version to prevent container crash on startup (#​1604) @​HofmeisterAn
  • chore: Remove EventStoreDb test project from SLNX file (#​1603) @​0xced
  • chore: Skip unnecessary work for empty or null sequences (#​1601) @​HofmeisterAn
  • chore: Delegate container builder ctor string to IImage (#​1600) @​HofmeisterAn
  • chore: Remove EventStoreDb module (#​1599) @​HofmeisterAn
  • feat: Prepare next release cycle (4.10.0) (#​1586) @​HofmeisterAn

4.9.0

What's Changed

This release adds a new configuration (DOCKER_API_VERSION) that lets you pin and downgrade the Docker Engine API version. This was needed because Docker Engine v29 introduced breaking changes that affect Docker.DotNet and Testcontainers for .NET. This release pins the API version to 1.44. So far, no issues or negative side effects have been observed.

I am also working on updating Docker.DotNet to make it fully compatible with Docker Engine v29. There is already a work-in-progress PR.

Thanks to all the contributors who helped with this release 👍.

⚠️ Breaking Changes

  • feat: Add KurrentDb module (#​1583) @​diegosasw

🚀 Features

  • feat: Add KurrentDb module (#​1583) @​diegosasw
  • chore: Bump NuGet dependencies (#​1578) @​HofmeisterAn
  • feat: Add .NET 10 support (#​1572) @​HofmeisterAn
  • feat: Support configuring Docker API version (#​1576) @​HofmeisterAn
  • feat: Add Mosquitto module (#​1522) @​EtherZa
  • feat: Add Toxiproxy module (#​1454) @​iltertaha
  • feat: Add Grafana module (#​1509) @​thomhurst
  • feat: Add Playwright module (#​1288) @​alimahboubi

🐛 Bug Fixes

  • fix(Milvus): Set DEPLOY_MODE=STANDALONE (necessary for v2.6+) (#​1569) @​verdie-g
  • fix: Set Kusto wait strategy encoding to UTF-8 (#​1567) @​MattKotsenas
  • fix: Split ALL_CHANGED_FILES on any whitespace (#​1566) @​HofmeisterAn

📖 Documentation

  • docs: Use correct comment characters for C# language (#​1564) @​HofmeisterAn

🧹 Housekeeping

  • feat: Add SLNX file (#​1579) @​HofmeisterAn
  • chore: Update Toxiproxy NuGet dependency to a .NET compatible version (#​1568) @​HofmeisterAn
  • chore: Add script to detect which tests to run in CI (#​1563) @​HofmeisterAn
  • chore: Make the continuous delivery job fork-friendly (#​1559) @​0xced
  • feat: Prepare next release cycle (4.9.0) (#​1561) @​HofmeisterAn

4.8.1

What's Changed

🐛 Bug Fixes

  • fix: Compute correct relative Dockerfile file path (#​1558) @​HofmeisterAn

4.8.0

What's Changed

Thank you to all the contributors 🙌.

In version 4.7.0, we noticed that the reuse hash could change depending on the order of dictionary values. This has been fixed to ensure that dictionary values are processed in a consistent order when generating the reuse hash. As a result, the reuse hash will likely change again with 4.8.0.

Wait strategies now default to the Running mode. This mode expects the container to remain running throughout startup. If the container exits unexpectedly, Testcontainers will throw a ContainerNotRunningException that includes the exit code and container logs.

The container startup callback now includes an additional overload that provides the actual container configuration. If you implement IContainerBuilder<TBuilderEntity, TContainerEntity>, you need to add the container configuration (e.g., IContainerConfiguration) as a third generic type constraint to IContainerBuilder.

IContainerBuilder.WithResourceMapping and IContainer.CopyAsync now include two new optional arguments: uid and gid. If you do not need to specify those, use named arguments for the existing parameters: fileMode or ct.

⚠️ Breaking Changes

  • fix: Generate consistent reuse hashes by sorting dictionary keys (#​1554) @​0xced
  • feat: Throw if container not running (#​1550) @​HofmeisterAn
  • feat: Add startup callback overload with configuration type (#​1547) @​HofmeisterAn
  • feat: Support UID/GID when copying files (#​1531) @​HofmeisterAn

🚀 Features

  • feat: Throw if container not running (#​1550) @​HofmeisterAn
  • feat: Add startup callback overload with configuration type (#​1547) @​HofmeisterAn
  • feat: Add Docker build context (#​1536) @​HofmeisterAn
  • feat: Add WithTarget(string) to image builder (#​1534) @​HofmeisterAn
  • feat: Resolve Dockerfile ARGs pulling base images (#​1532) @​HofmeisterAn
  • feat: Support UID/GID when copying files (#​1531) @​HofmeisterAn
  • feat(Keycloak): Add API to import a realm configuration file (#​1526) @​VladislavAntonyuk

🐛 Bug Fixes

  • fix: Generate consistent reuse hashes by sorting dictionary keys (#​1554) @​0xced
  • fix(MongoDb): Use db.runCommand({hello:1}) do detect readiness (#​1548) @​HofmeisterAn
  • fix(Papercut): Pin version 7.0 and set new HTTP and SMTP ports (#​1549) @​HofmeisterAn
  • fix(Pulsar): Wait for default namespace (#​1539) @​HofmeisterAn
  • fix(Keycloak): Wait until user created (#​1535) @​HofmeisterAn

📖 Documentation

  • docs: Remove obsolete UntilOperationIsSucceeded wait strategy example (#​1551) @​ascott18
  • docs: Fix link to Ryuk in IContainerBuilder.WithAutoRemove code comment (#​1546) @​hojmark

🧹 Housekeeping

  • chore: Don't create a static field in a generic class (#​1555) @​HofmeisterAn
  • chore: Add test certificates to common project (#​1545) @​HofmeisterAn
  • chore: Update CI workflow to ubuntu-24.04 (#​1544) @​HofmeisterAn
  • chore: Collect test projects at CI runtime (#​1543) @​HofmeisterAn
  • chore: Fix grammar (#​1542) @​Smoothengineer
  • chore: Bump Ryuk (#​1537) @​HofmeisterAn
    ... (truncated)

4.7.0

What's Changed

This release doesn't introduce breaking changes to the public API, but it isn't binary compatible due to necessary internal changes. Make sure to update all related packages (Testcontainers modules) to the same version. See more details here. Thanks to all contributors 👏.

⚠️ Breaking Changes

  • feat(Kafka): Add KRaft support (#​1353) @​SukharevAndrey
  • feat: Add ability to override enumerable builder values (#​1506) @​HofmeisterAn

🚀 Features

  • feat: Add wait strategy to check external (TCP) port availability (#​1495) @​WhiteTomX
  • feat(Kafka): Add KRaft support (#​1353) @​SukharevAndrey
  • feat: Relax Base64 auth provider and ignore path segments in Docker registry URLs (#​1516) @​HofmeisterAn
  • feat: Add ability to override enumerable builder values (#​1506) @​HofmeisterAn
  • feat(Elasticsearch): Return HTTP connection string if security is disabled (#​1494) @​HofmeisterAn
  • fix: Add tooling to inherit XML docs (#​1493) @​HofmeisterAn
  • feat: Resolve .slnx (solution) file in common directory paths (#​1492) @​alexander-jesner-AP
  • feat: Support getting all mapped ports (#​1485) @​HofmeisterAn
  • feat: Add named pipe connection timeout custom configuration (#​1480) @​HofmeisterAn

🐛 Bug Fixes

  • feat(Kafka): Add KRaft support (#​1353) @​SukharevAndrey
  • fix: Send valid HTTP test responses (#​1505) @​HofmeisterAn
  • fix: Use null-conditional operator to access FinishedAt (#​1499) @​HofmeisterAn
  • fix: Remove timeout that kills PID 1 when stopping a container (#​1481) @​HofmeisterAn
  • fix(Pulsar): Wait until the consumer becomes connected (#​1467) @​HofmeisterAn
  • fix(ServiceBus): Remove container lifecycle overrides (#​1465) @​HofmeisterAn

📖 Documentation

  • docs: Explain how to substitute the Docker Hub registry (#​1503) @​HofmeisterAn
  • docs: Extend example copying files to a container (#​1487) @​cimnine

🧹 Housekeeping

  • chore: Change Kafka vendor configuration from class to interface (#​1519) @​HofmeisterAn
  • chore: Bump Docker.DotNet version to 3.128.5 (#​1511) @​HofmeisterAn
  • chore: Build a single project instead of the whole solution (#​1502) @​HofmeisterAn

4.6.0

What's Changed

This is a patch release (but the minor version was already set). It fixes a bug in our Docker.DotNet fork where a wrong HTTP Connection header break Podman and possibly other environments. Shipped a quick fix. Thanks again to @​ahaeber and @​victor-lambret for the help.

🐛 Bug Fixes

  • chore: Bump Docker.DotNet version to 3.128.3 (#​1462) @​HofmeisterAn

🧹 Housekeeping

  • chore: Bump Docker.DotNet version to 3.128.3 (#​1462) @​HofmeisterAn

4.5.0

What's Changed

Big thanks to everyone who contributed to this release 🤜🤛.

🚀 Features

  • feat: Add OpenSearch module (#​1395) @​digital88
  • feat: Add Typesense module (#​1446) @​brainded
  • feat: Add Task<ExecResult> extension method ThrowOnFailure (#​1448) @​HofmeisterAn
  • feat: Throw DockerUnavailableException when Docker is not available (#​1308) @​0xced
  • feat: Improve error reporting when loading the Docker configuration file (#​1263) @​0xced
  • feat: Add a wait strategy that waits until the ADO.NET database is available (#​1401) @​0xced
  • feat: Add Ollama module (#​1099) @​frankhaugen
  • feat: Allow canceling container start in xUnit.net v3 fixtures (#​1431) @​TheConstructor
  • fix(EventHubs): Support default consumer group name (#​1432) @​scrocquesel-ml150
  • feat: Add Lowkey Vault module (#​1344) @​Xor-el
  • feat(ServiceBus): Add builder API to upload config file (#​1424) @​chasewallis

🐛 Bug Fixes

  • fix: Set container created, started, stopped time from inspect response (#​1455) @​HofmeisterAn
  • fix(EventHubs): Change predicate that it does not always evaluate to true (#​1433) @​HofmeisterAn
  • fix(EventHubs): Support default consumer group name (#​1432) @​scrocquesel-ml150

📖 Documentation

  • docs(ClickHouse): Add example (#​1421) @​digital88
  • docs: Mention the xUnit.net v3 module (package) (#​1442) @​TheConstructor

🧹 Housekeeping

  • chore: Add ExecResult serializable test data (#​1456) @​HofmeisterAn
  • chore: Remove Sonar findings (#​1450) @​HofmeisterAn
  • chore: Replace Cake .NET Tool with Cake Frosting (#​1437) @​0xced
  • chore: Update test-framework to xUnit.net v3 (#​1441) @​TheConstructor
  • chore: Bump Docker.DotNet version to 3.128.1 (#​1443) @​HofmeisterAn
  • chore: Add xUnit.net v3 tests (#​1430) @​TheConstructor
  • chore: Bump CI .NET SDK and Cake version (#​1434) @​HofmeisterAn

Commits viewable in compare view.

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 commands and options

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

Bumps Aspire.Hosting.Testing from 13.2.2 to 13.4.4
Bumps Microsoft.AspNetCore.Mvc.Testing from 10.0.6 to 10.0.9
Bumps Microsoft.NET.Test.Sdk from 17.14.0 to 17.14.1
Bumps Microsoft.Playwright from 1.50.0 to 1.60.0
Bumps Microsoft.Testing.Extensions.CodeCoverage from 18.6.2 to 18.8.0
Bumps Testcontainers.PostgreSql from 4.4.0 to 4.12.0

---
updated-dependencies:
- dependency-name: Aspire.Hosting.Testing
  dependency-version: 13.4.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: testing
- dependency-name: Microsoft.AspNetCore.Mvc.Testing
  dependency-version: 10.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: testing
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 17.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: testing
- dependency-name: Microsoft.Playwright
  dependency-version: 1.60.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: testing
- dependency-name: Microsoft.Testing.Extensions.CodeCoverage
  dependency-version: 18.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: testing
- dependency-name: Testcontainers.PostgreSql
  dependency-version: 4.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Jun 15, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: dependencies, dotnet. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@github-actions

Copy link
Copy Markdown

Summary

Summary
Generated on: 06/15/2026 - 10:07:44
Parser: MultiReport (2x Cobertura)
Assemblies: 2
Classes: 6
Files: 4
Line coverage: 100% (24 of 24)
Covered lines: 24
Uncovered lines: 0
Coverable lines: 24
Total lines: 141
Branch coverage: 100% (10 of 10)
Covered branches: 10
Total branches: 10
Method coverage: Feature is only available for sponsors

Coverage

TodoApp.Api - 100%
Name Line Branch
TodoApp.Api 100% 100%
TodoApp.Api.Features.TodoItems.CreateTodoItemRequest 100%
TodoApp.Api.Features.TodoItems.TodoItemResponse 100%
TodoApp.Api.Features.TodoItems.TodoItemsEndpoints 100% 100%
TodoApp.Api.Features.TodoItems.UpdateTodoItemRequest 100%
TodoApp.Application - 100%
Name Line Branch
TodoApp.Application 100% ****
TodoApp.Application.Features.TodoItems.TodoItem 100%
TodoApp.Application.Features.TodoItems.TodoItemService 100%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants