Skip to content

Bump the nuget-all group with 12 updates - #513

Open
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/nuget/nuget-all-2cc49170bc
Open

Bump the nuget-all group with 12 updates#513
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/nuget/nuget-all-2cc49170bc

Conversation

@dependabot

@dependabotdependabotBot commented on behalf of githubAug 12, 2026

Copy link
Copy Markdown
Contributor

Updated Handlebars.Net from 2.3.0 to 2.4.3.

Release notes

Sourced from Handlebars.Net's releases.

2.4.3

A performance-focused release: rendering is up to 36% faster with up to 56% fewer allocations, and template compilation is up to 88% faster. No API or behavior changes — all improvements are behavior-preserving and were validated against the full test suite (1912 tests) and A/B benchmark runs at every step. (#​667, #​668)

Performance

Rendering — up to 36% faster, up to 56% fewer allocations (#​667)

Suite2.4.22.4.3TimeAlloc
RenderToString clean10.49 µs / 30.2 KB7.48 µs / 13.4 KB−29%−56%
RenderToString html13.15 µs / 33.4 KB10.37 µs / 16.7 KB−21%−50%
RenderList 100 (object)18.95 µs12.16 µs−36%
RenderList 1000 (dictionary)191.3 µs126.7 µs−34%
RenderNested 20 (object)19.18 µs12.44 µs−35%
RenderSimple (object)636 ns431 ns−32%
EndToEnd26.1 µs23.5 µs−10%

What changed:

  • Cache helper-resolver presence in the late-bind descriptors.ObservableList<T>.Count acquires a ReaderWriterLockSlim per call, and every simple {{name}} paid it once per render — loops paid hundreds of lock acquisitions per render. The descriptors now subscribe once to the append-only resolver list and keep a flag; resolvers registered after compile still take effect.
  • Retain up to 32K chars in the pooled ReusableStringWriter. Outputs over 4096 chars discarded the pooled writer every render, re-growing a fresh StringBuilder(16) chunk by chunk — most of RenderToString's allocations.
  • Monomorphic descriptor cache on ChainSegment. Dotted member access re-resolved the instance's ObjectDescriptor through the ambient context + type-keyed lookup on every segment per render; each segment now holds an immutable (factory, version, type) → descriptor entry, self-invalidated via a version stamp when descriptor providers are registered.
  • Skip the frame-helper cascade walk when no frame-local helpers exist (decorator / in-render registration is tracked per frame).
  • Skip the ConditionalWeakTable probe in SafeStrings until a safe-marked string is ever produced.
  • Read ThrowOnUnresolvedBindingExpression only on the unresolved branch of path resolution.
  • Cheaper falsy checks: typed zero comparisons instead of Convert.ToBoolean dispatch, an O(1) ICollection.Count emptiness fast path, and enumerator disposal in Any().

Compilation — up to 88% faster (#​668)

Benchmark2.4.22.4.3Change
Compilation (nested 3-level template)10.80 ms1.85 ms−83%
CompileMany N=1057.7 ms6.97 ms−88%
CompileMany N=100537.9 ms78.1 ms−85%

Template compile time turned out to be dominated by the JIT compiling each template's dynamic method at CreateDelegate, inline-expanding the [AggressiveInlining] write/encoder machinery into every mustache call site of every template. The compiler now emits thin NoInlining static entry points that are JIT-compiled once per process. Render performance was verified unchanged by A/B guardrail benchmarks (the one variant that cost ~4% at render time was rejected and kept inline).

Compatibility notes

  • No public API changes; all new members are internal. Template semantics are unchanged, including late registration of helpers, helper resolvers, and descriptor providers after compile.
  • The ChainSegment descriptor cache allocates a small entry (~48 B) when a segment observes a new instance type; heterogeneous collections rendered through dotted access can re-allocate per type flip, while the common homogeneous case allocates once per segment ever.

Contributors

@​rexm

Full Changelog: Handlebars-Net/Handlebars.Net@2.4.2...2.4.3

2.4.2

Compatibility notes

  • The published package now includes a net10.0 target. CI was already building and testing against the .NET 10 SDK, and the test/benchmark projects already targeted net10.0, but the Handlebars library itself only shipped netstandard2.0, netstandard2.1, and net8.0 — so .NET 10 apps silently fell back to the net8.0 binary. The package now ships a first-class net10.0 build alongside the existing targets. (#​666, fixes #​659)
  • No API or behavior changes. Existing targets are unchanged; consumers on .NET 10 simply pick up the new target automatically on upgrade.

Contributors

@​rexm

Full Changelog: Handlebars-Net/Handlebars.Net@2.4.1...2.4.2

2.4.1

Fixes

Both regressions below were introduced on 2026-06-20 and shipped in 2.4.0 (released 2026-08-06). Neither was an intentional public API change — this release restores prior correct behavior.

  • Static template text no longer has its line endings silently rewritten. A fix for internal indentation handling started normalizing every \r\n/\r in static template text to \n, so a literal \r\n a caller wrote into a template string (e.g. between {{#each}} iterations) was silently turned into \n. Static text now round-trips verbatim, matching this library's long-standing behavior and handlebars.js. (#​663, fixes #​661)
  • Subexpression results are plain strings again, not an internal wrapper type. A fix for double-encoding across subexpression boundaries (#​543) wrapped every writer-based helper's captured output in an internal sealed class SafeString when used as a subexpression argument. Only a few internal call sites knew how to unwrap it — any other consumer, including reflection-based/typed helper binders in third-party packages (e.g. Handlebars.Net.Helpers), received an opaque type it could neither cast to string nor unwrap, throwing InvalidCastException. The double-encoding fix is preserved, but the signal is now carried by an invisible reference-keyed marker instead of a boxing type, so the value is a genuine System.String everywhere except the one place that needs to know. (#​664, fixes #​660)

Compatibility notes

  • No API surface changes. Both fixes are behavior reverts to what 2.3.0 and earlier already did; anything that worked before 2.4.0 works the same way again.
  • If your code adapted to either regression (e.g. expected \n-only output regardless of source line endings, or handled a SafeString-typed subexpression argument), that adaptation is no longer necessary but should remain harmless.

Contributors

@​rexm

Full Changelog: Handlebars-Net/Handlebars.Net@2.4.0...2.4.1

2.4.0

Performance

Rendering plain .NET objects and string-heavy templates got substantially faster this release, across three targeted changes to the hot rendering path:

  • ~10–33% faster object rendering, less allocationObjectDescriptor's member accessor is now pre-bound to its described type instead of re-resolving through a shared type-keyed lookup on every access, and bool property reads return cached boxed instances instead of allocating a fresh box per read. (#​652)
    BenchmarkCaseBeforeAfterΔ
    RenderSimpleobject856.85 ns575.79 ns−32.8%
    RenderNestedobject, rows=2024.52 us18.94 us−22.7%
    RenderListN=100, object27.48 us22.77 us−17.1%
  • ~10–20% faster string-heavy rendering — HTML encoders now bulk-write clean runs of text via SearchValues<char> (net8.0+) or a plain scan (netstandard) instead of one TextWriter.Write(char) call per character, falling back to the original per-character path only where escaping is actually needed. Output is byte-for-byte identical. (#​651)
    BenchmarkCaseBeforeAfterΔ
    RenderSimpledictionary509.96 ns399.20 ns−21.7%
    RenderListN=100, object27.48 us22.05 us−19.8%
    RenderToStringclean13.95 us10.97 us−21.4%
  • Zero-allocation {{#each}} iteration — the boxed-integer cache used for iterator indexes grew from 20 to 1024 entries, eliminating a 24-byte-per-item allocation that was the dominant remaining allocation source in list rendering (e.g. 23.5 KB → 0 B for a 1000-item {{#each}}). (#​653)

Combined, typical object-rendering and list-rendering templates should see meaningfully lower latency and near-zero allocation on the common paths; dictionary/expando-backed templates benefit from the encoder work but were otherwise already efficient.

New features

  • Nullable Reference Types — the entire public API surface is now annotated for Nullable Reference Types. Binary- and runtime-compatible (annotations are compile-time metadata only); projects without <Nullable>enable</Nullable> are unaffected. Nullable-enabled consumers get compiler-checked null contracts on the public API, and extensibility interfaces (IPartialTemplateResolver, ITextEncoder, IMemberAccessor, IHelperResolver, IFormatterProvider, IObjectDescriptorProvider, IHelperDescriptor<T>, ViewEngineFileSystem) gained nullability annotations that may surface mismatch warnings (e.g. CS8767) in existing implementations until updated. (#​642, @​TheConstructor)
  • System.Text.Json.JsonElement support — first-class support for JsonElement (e.g. the result of JsonSerializer.Deserialize<object>(json)) in templates: nested member access, {{#each}} iteration over both JSON objects and arrays, and correct {{#if}}/{{#unless}} truthiness — bringing it to parity with the existing Newtonsoft JObject/JToken support. (#​657)
  • Multi-dimensional array support — true C# multi-dimensional arrays (e.g. int[,]) can now be indexed via path expressions ({{grid.[0].[1]}}) and iterated with {{#each}}, which walks the outer-most dimension and yields row/slab slices for the rest. Jagged arrays and existing IList/IEnumerable behavior are unaffected. (#​649)
  • else if chaining for block helpers{{else name args}}...{{/outer}} now works for any block helper, not just {{#if}}, and chains recursively to any depth, e.g. {{#StringEqualityBlockHelper @​value 'dog'}}...{{else StringEqualityBlockHelper @​value 'cat'}}...{{else}}...{{/StringEqualityBlockHelper}}. (#​648)

Fixes

  • Properties whose only implementation is a C# 8+ default interface member (declared and bodied on an interface, not overridden by the concrete class) are now resolved correctly by both {{PropertyName}} lookup and {{#each this}} enumeration, instead of being silently skipped. (#​658, fixes #​601)
  • {{#*inline "name" ...}} no longer throws when passed hash arguments or extra positional arguments, matching Handlebars.js's inline decorator behavior. (#​647, fixes #​560)
  • Corrected the nullable annotation on Try* out-parameters for concrete reference types (introduced in #​642) from [MaybeNullWhen(false)] out T to [NotNullWhen(true)] out T?, matching BCL convention (e.g. Uri.TryCreate) and giving a stronger compiler guarantee against unchecked dereferences. Affects ~20 Try* methods across IObjectDescriptorProvider/ObjectDescriptor, IFormatterProvider, DynamicMemberAccessor, TypeExtensions, BindingContext, PathResolver, and BlockAccumulatorContext. Compile-time-only change, not binary breaking. (#​655, fixes #​654)
  • Resolved a SonarCloud reliability regression (A→B) surfaced by #​642's diff against two pre-existing mutable-array-exposure smells; Closure.A is now internal and PathInfo.Segments carries an explicit suppression. (#​656)

Compatibility notes

  • All changes in this release are binary-compatible. The Nullable Reference Types annotations and the NotNullWhen/MaybeNullWhen correction are compile-time metadata only.
  • If you implement IPartialTemplateResolver, ITextEncoder, IMemberAccessor, IHelperResolver, IFormatterProvider, IObjectDescriptorProvider, IHelperDescriptor<T>, or derive from ViewEngineFileSystem, and build with <Nullable>enable</Nullable>, you may see new nullability-mismatch warnings until your implementation's annotations are updated to match.
  • HandlebarsConfiguration.FileSystem is now declared nullable (ViewEngineFileSystem?), matching its actual default.
  • Built-in collection formatters now throw ArgumentNullException (with parameter name) instead of a raw NullReferenceException for null/mismatched values.

Contributors

@​TheConstructor, @​rexm

Full Changelog: Handlebars-Net/Handlebars.Net@2.2.0...2.4.0

Commits viewable in compare view.

Updated Microsoft.AspNetCore.DataProtection from 10.0.10 to 10.0.11.

Release notes

Sourced from Microsoft.AspNetCore.DataProtection's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.AspNetCore.Mvc.Testing from 10.0.10 to 10.0.11.

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.AspNetCore.OpenApi from 10.0.10 to 10.0.11.

Release notes

Sourced from Microsoft.AspNetCore.OpenApi's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.Extensions.Caching.Memory from 10.0.10 to 10.0.11.

Release notes

Sourced from Microsoft.Extensions.Caching.Memory's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.Extensions.Hosting.Abstractions from 10.0.10 to 10.0.11.

Release notes

Sourced from Microsoft.Extensions.Hosting.Abstractions's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.Extensions.Http from 10.0.10 to 10.0.11.

Release notes

Sourced from Microsoft.Extensions.Http's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.Extensions.Http.Resilience from 10.8.0 to 10.9.0.

Release notes

Sourced from Microsoft.Extensions.Http.Resilience's releases.

10.9.0

Version 10.9.0 is headlined by changes in these areas:

  • AI: New experimental routing APIs center on the abstract RoutingChatClient base class, with SemanticRoutingChatClient as a concrete semantic-routing implementation. Separately, the abstract FailoverChatClient specialization and its concrete OrderedFailoverChatClient implementation add failover routing.
  • AI Evaluation: The generated report gains redesigned Overview, Cases, History, and Comparison views.
  • ASP.NET Core and HTTP diagnostics: The release adds HTTP request latency log enrichment and fixes configuration binding, response-body logging, request-path redaction, and resilience package version handling.
  • Source-generated logging and service discovery: Fixes cover classification type qualification, thread-local state cleanup, and DNS query suffix handling.

Experimental API Changes

New Experimental APIs

  • New experimental API: HTTP request latency log enrichment (EXTEXP0013) #​7602
  • New experimental API: Chat client routing and failover (MEAI001) #​7662

What's Changed

AI (Microsoft.Extensions.AI, Microsoft.Extensions.AI.Abstractions, and Microsoft.Extensions.AI.OpenAI)

  • Add extensible chat client routing #​7662 by @​joshuajyue (co-authored by @​Copilot)
  • Pass the request's options to the selected client #​7685 by @​joshuajyue (co-authored by @​jozkee @​Copilot)
  • AI.Abstractions: fix ExcludeFromSchema dropped under concurrent AIFunction creation #​7677 by @​jozkee (co-authored by @​Copilot)
  • Cap OpenAI dependency version (b10f9c0) by @​jeffhandley (co-authored by @​Copilot)

Note: Microsoft.Extensions.AI.OpenAI constrains its dependency for OpenAI to 2.12.x, preventing OpenAI updates to 2.13.0+ due to an incompatibility. We expect to release Microsoft.Extensions.AI.OpenAI version 10.9.1 during the week of August 17 to address this issue.

HTTP Resilience and Diagnostics (Microsoft.Extensions.Http.Resilience and Microsoft.Extensions.Http.Diagnostics)

  • Fix Grpc.Net.ClientFactory version range check - Fixes #​7565 #​7566 by @​Ghost93
  • Fix response body logging under debugger #​7678 by @​Rimobul
  • Redact outgoing path when route is unknown #​7687 by @​Rimobul
  • Fix HTTP client logging config binding #​7691 by @​Rimobul

ASP.NET Core Extensions (Microsoft.AspNetCore.Diagnostics.Middleware)

  • Rename HttpLatencyTelemetry extensions class and drop redundant TFM guard #​7645 by @​EasyL0ver (co-authored by @​Copilot)
  • Add HTTP request latency log enricher (experimental) #​7602 by @​EasyL0ver (co-authored by @​Copilot)

Logging Source Generator (Microsoft.Gen.Logging)

  • [Microsoft.Gen.Logging] Clear thread-local state when logging throws #​7682 by @​Rimobul
  • [Microsoft.Gen.Logging] Fully qualify classification types #​7689 by @​Rimobul

AI Evaluation (Microsoft.Extensions.AI.Evaluation.Reporting)

  • [Microsoft.Extensions.AI.Evaluation.Reporting] Evaluation report redesign #​7609 by @​grafanaKibana

Project Templates (Microsoft.McpServer.ProjectTemplates)

  • Remove MCP server project template #​7680 by @​jeffhandley (co-authored by @​Copilot)

... (truncated)

10.8.4

This servicing update refreshes the .NET AI project templates ahead of the July 30, 2026 retirement of GitHub Models — removing the GitHub Models provider option and updating template dependencies.

As a result, both the AI Chat Web (aichatweb) and AI Agent Web API (aiagent-webapi) templates now require the AI service provider to be chosen explicitly via --provider; there is no longer a default. One of the following must be selected:

  • --provider azureopenai — Azure OpenAI
  • --provider ollama — Ollama (for local development)
  • --provider openai — OpenAI Platform

Packages in this release

PackageVersion
Microsoft.Extensions.AI.Templates10.8.4-preview.3.26379.3
Microsoft.Agents.AI.ProjectTemplates1.13.0-preview.1.26379.3

What's Changed

Project templates

  • Removed the GitHub Models provider from the AI Chat Web and AI Agent Web API templates, ahead of GitHub Models being fully retired on July 30, 2026. The --provider option is now required with no default (#​7667).
  • Updated AI template dependencies — bumped Aspire.Hosting.AppHost to 13.4.6 and CommunityToolkit.VectorData.SqliteVec to 1.0.0-preview.4 (aligned System.Linq.AsyncEnumerable to 10.0.9), replacing earlier workaround package pins (#​7639).

Full Changelog

10.8.3

Packages in this release

PackageVersion
Microsoft.Extensions.AI10.8.3
Microsoft.Extensions.AI.Abstractions10.8.3
Microsoft.Extensions.AI.OpenAI10.8.3

Experimental API Changes

Experimental API behavior updates

  • Updated serialization behavior for experimental ToolApprovalRequestContent.RequiresConfirmation so it no longer leaks into consumer source-generated AIContent JSON metadata unless approval APIs are intentionally used (#​7659).

What's Changed

AI abstractions and serialization

  • Fixed MEAI001 leakage from RequiresConfirmation in source-generated AIContent contexts by using an internal JSON-included backing member while keeping the public experimental member ignored for source-generation metadata (#​7659).

Test Improvements

  • Added stabilization regression coverage to verify consumer source-generated List<AIContent> contexts compile and round-trip without requiring MEAI001 suppression (#​7659).

Full Changelog

10.8.2

This servicing release updates Microsoft.Extensions.VectorData.ConformanceTests to 10.8.2 and includes targeted test framework migration fixes.

Packages in this release

PackageVersionNote
Microsoft.Extensions.VectorData.Abstractions10.8.2Published August 7, 2026
Microsoft.Extensions.VectorData.ConformanceTests10.8.2

Update: August 7, 2026
The Microsoft.Extensions.VectorData.Abstractions package was initially excluded from this release by mistake. Because Microsoft.Extensions.VectorData.ConformanceTests has a dependency on Microsoft.Extensions.VectorData.Abstractions, that led to failures when updating to Microsoft.Extensions.VectorData.ConformanceTests 10.8.2.

Microsoft.Extensions.VectorData.Abstractions was published August 7, 2026 to resolve that issue.

What's Changed

AI

  • Move Microsoft.Extensions.VectorData.ConformanceTests to xUnit 3 #​7636 by @​adamsitnik (co-authored by @​Copilot)

Acknowledgements

  • @​roji reviewed pull requests

Full Changelog: dotnet/extensions@v10.8.1...v10.8.2

10.8.1

This servicing release updates the Microsoft.Extensions.AI, Microsoft.Extensions.AI.Abstractions, and Microsoft.Extensions.AI.OpenAI packages to 10.8.1 with two targeted fixes: correct tool-call/tool-result ordering when resuming approval-gated functions with service-managed chat history, and preservation of the OpenAI Responses reasoning item id for stateless (store=false) encrypted reasoning.

Packages in this release

PackageVersion
Microsoft.Extensions.AI10.8.1
Microsoft.Extensions.AI.Abstractions10.8.1
Microsoft.Extensions.AI.OpenAI10.8.1

What's Changed

AI

  • Fix FICC tool_calls/tool ordering with approvals and service-managed chat history #​7617 by @​westey-m
  • Roundtrip OpenAI Responses reasoning item id for stateless (store=false) encrypted reasoning #​7629 by @​rogerbarreto (co-authored by @​tarekgh)

Acknowledgements

  • @​jozkee reviewed pull requests

Full Changelog: dotnet/extensions@v10.8.0...v10.8.1

Commits viewable in compare view.

Updated Microsoft.Extensions.Logging.Abstractions from 10.0.10 to 10.0.11.

Release notes

Sourced from Microsoft.Extensions.Logging.Abstractions's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.Extensions.Options from 10.0.10 to 10.0.11.

Release notes

Sourced from Microsoft.Extensions.Options's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.Extensions.ServiceDiscovery from 10.8.0 to 10.9.0.

Release notes

Sourced from Microsoft.Extensions.ServiceDiscovery's releases.

10.9.0

Version 10.9.0 is headlined by changes in these areas:

  • AI: New experimental routing APIs center on the abstract RoutingChatClient base class, with SemanticRoutingChatClient as a concrete semantic-routing implementation. Separately, the abstract FailoverChatClient specialization and its concrete OrderedFailoverChatClient implementation add failover routing.
  • AI Evaluation: The generated report gains redesigned Overview, Cases, History, and Comparison views.
  • ASP.NET Core and HTTP diagnostics: The release adds HTTP request latency log enrichment and fixes configuration binding, response-body logging, request-path redaction, and resilience package version handling.
  • Source-generated logging and service discovery: Fixes cover classification type qualification, thread-local state cleanup, and DNS query suffix handling.

Experimental API Changes

New Experimental APIs

  • New experimental API: HTTP request latency log enrichment (EXTEXP0013) #​7602
  • New experimental API: Chat client routing and failover (MEAI001) #​7662

What's Changed

AI (Microsoft.Extensions.AI, Microsoft.Extensions.AI.Abstractions, and Microsoft.Extensions.AI.OpenAI)

  • Add extensible chat client routing #​7662 by @​joshuajyue (co-authored by @​Copilot)
  • Pass the request's options to the selected client #​7685 by @​joshuajyue (co-authored by @​jozkee @​Copilot)
  • AI.Abstractions: fix ExcludeFromSchema dropped under concurrent AIFunction creation #​7677 by @​jozkee (co-authored by @​Copilot)
  • Cap OpenAI dependency version (b10f9c0) by @​jeffhandley (co-authored by @​Copilot)

Note: Microsoft.Extensions.AI.OpenAI constrains its dependency for OpenAI to 2.12.x, preventing OpenAI updates to 2.13.0+ due to an incompatibility. We expect to release Microsoft.Extensions.AI.OpenAI version 10.9.1 during the week of August 17 to address this issue.

HTTP Resilience and Diagnostics (Microsoft.Extensions.Http.Resilience and Microsoft.Extensions.Http.Diagnostics)

  • Fix Grpc.Net.ClientFactory version range check - Fixes #​7565 #​7566 by @​Ghost93
  • Fix response body logging under debugger #​7678 by @​Rimobul
  • Redact outgoing path when route is unknown #​7687 by @​Rimobul
  • Fix HTTP client logging config binding #​7691 by @​Rimobul

ASP.NET Core Extensions (Microsoft.AspNetCore.Diagnostics.Middleware)

  • Rename HttpLatencyTelemetry extensions class and drop redundant TFM guard #​7645 by @​EasyL0ver (co-authored by @​Copilot)
  • Add HTTP request latency log enricher (experimental) #​7602 by @​EasyL0ver (co-authored by @​Copilot)

Logging Source Generator (Microsoft.Gen.Logging)

  • [Microsoft.Gen.Logging] Clear thread-local state when logging throws #​7682 by @​Rimobul
  • [Microsoft.Gen.Logging] Fully qualify classification types #​7689 by @​Rimobul

AI Evaluation (Microsoft.Extensions.AI.Evaluation.Reporting)

  • [Microsoft.Extensions.AI.Evaluation.Reporting] Evaluation report redesign #​7609 by @​grafanaKibana

Project Templates (Microsoft.McpServer.ProjectTemplates)

  • Remove MCP server project template #​7680 by @​jeffhandley (co-authored by @​Copilot)

... (truncated)

10.8.4

This servicing update refreshes the .NET AI project templates ahead of the July 30, 2026 retirement of GitHub Models — removing the GitHub Models provider option and updating template dependencies.

As a result, both the AI Chat Web (aichatweb) and AI Agent Web API (aiagent-webapi) templates now require the AI service provider to be chosen explicitly via --provider; there is no longer a default. One of the following must be selected:

  • --provider azureopenai — Azure OpenAI
  • --provider ollama — Ollama (for local development)
  • --provider openai — OpenAI Platform

Packages in this release

PackageVersion
Microsoft.Extensions.AI.Templates10.8.4-preview.3.26379.3
Microsoft.Agents.AI.ProjectTemplates1.13.0-preview.1.26379.3

What's Changed

Project templates

  • Removed the GitHub Models provider from the AI Chat Web and AI Agent Web API templates, ahead of GitHub Models being fully retired on July 30, 2026. The --provider option is now required with no default (#​7667).
  • Updated AI template dependencies — bumped Aspire.Hosting.AppHost to 13.4.6 and CommunityToolkit.VectorData.SqliteVec to 1.0.0-preview.4 (aligned System.Linq.AsyncEnumerable to 10.0.9), replacing earlier workaround package pins (#​7639).

Full Changelog

10.8.3

Packages in this release

PackageVersion
Microsoft.Extensions.AI10.8.3
Microsoft.Extensions.AI.Abstractions10.8.3
Microsoft.Extensions.AI.OpenAI10.8.3

Experimental API Changes

Experimental API behavior updates

  • Updated serialization behavior for experimental ToolApprovalRequestContent.RequiresConfirmation so it no longer leaks into consumer source-generated AIContent JSON metadata unless approval APIs are intentionally used (#​7659).

What's Changed

AI abstractions and serialization

  • Fixed MEAI001 leakage from RequiresConfirmation in source-generated AIContent contexts by using an internal JSON-included backing member while keeping the public experimental member ignored for source-generation metadata (#​7659).

Test Improvements

  • Added stabilization regression coverage to verify consumer source-generated List<AIContent> contexts compile and round-trip without requiring MEAI001 suppression (#​7659).

Full Changelog

10.8.2

This servicing release updates Microsoft.Extensions.VectorData.ConformanceTests to 10.8.2 and includes targeted test framework migration fixes.

Packages in this release

PackageVersionNote
Microsoft.Extensions.VectorData.Abstractions10.8.2Published August 7, 2026
Microsoft.Extensions.VectorData.ConformanceTests10.8.2

Update: August 7, 2026
The Microsoft.Extensions.VectorData.Abstractions package was initially excluded from this release by mistake. Because Microsoft.Extensions.VectorData.ConformanceTests has a dependency on Microsoft.Extensions.VectorData.Abstractions, that led to failures when updating to Microsoft.Extensions.VectorData.ConformanceTests 10.8.2.

Microsoft.Extensions.VectorData.Abstractions was published August 7, 2026 to resolve that issue.

What's Changed

AI

  • Move Microsoft.Extensions.VectorData.ConformanceTests to xUnit 3 #​7636 by @​adamsitnik (co-authored by @​Copilot)

Acknowledgements

  • @​roji reviewed pull requests

Full Changelog: dotnet/extensions@v10.8.1...v10.8.2

10.8.1

This servicing release updates the Microsoft.Extensions.AI, Microsoft.Extensions.AI.Abstractions, and Microsoft.Extensions.AI.OpenAI packages to 10.8.1 with two targeted fixes: correct tool-call/tool-result ordering when resuming approval-gated functions with service-managed chat history, and preservation of the OpenAI Responses reasoning item id for stateless (store=false) encrypted reasoning.

Packages in this release

PackageVersion
Microsoft.Extensions.AI10.8.1
Microsoft.Extensions.AI.Abstractions10.8.1
Microsoft.Extensions.AI.OpenAI10.8.1

What's Changed

AI

  • Fix FICC tool_calls/tool ordering with approvals and service-managed chat history #​7617 by @​westey-m
  • Roundtrip OpenAI Responses reasoning item id for stateless (store=false) encrypted reasoning #​7629 by @​rogerbarreto (co-authored by @​tarekgh)

Acknowledgements

  • @​jozkee reviewed pull requests

Full Changelog: dotnet/extensions@v10.8.0...v10.8.1

Commits viewable in compare view.

Updated Microsoft.Playwright from 1.61.0 to 1.62.0.

Release notes

Sourced from Microsoft.Playwright's releases.

No release notes found for this version range.

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 Handlebars.Net from 2.3.0 to 2.4.3
Bumps Microsoft.AspNetCore.DataProtection from 10.0.10 to 10.0.11
Bumps Microsoft.AspNetCore.Mvc.Testing from 10.0.10 to 10.0.11
Bumps Microsoft.AspNetCore.OpenApi from 10.0.10 to 10.0.11
Bumps Microsoft.Extensions.Caching.Memory from 10.0.10 to 10.0.11
Bumps Microsoft.Extensions.Hosting.Abstractions from 10.0.10 to 10.0.11
Bumps Microsoft.Extensions.Http from 10.0.10 to 10.0.11
Bumps Microsoft.Extensions.Http.Resilience from 10.8.0 to 10.9.0
Bumps Microsoft.Extensions.Logging.Abstractions from 10.0.10 to 10.0.11
Bumps Microsoft.Extensions.Options from 10.0.10 to 10.0.11
Bumps Microsoft.Extensions.ServiceDiscovery from 10.8.0 to 10.9.0
Bumps Microsoft.Playwright from 1.61.0 to 1.62.0
---
updated-dependencies:
- dependency-name: Handlebars.Net
dependency-version: 2.4.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-all
- dependency-name: Microsoft.AspNetCore.DataProtection
dependency-version: 10.0.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-all
- dependency-name: Microsoft.AspNetCore.Mvc.Testing
dependency-version: 10.0.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-all
- dependency-name: Microsoft.AspNetCore.OpenApi
dependency-version: 10.0.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-all
- dependency-name: Microsoft.Extensions.Caching.Memory
dependency-version: 10.0.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-all
- dependency-name: Microsoft.Extensions.Logging.Abstractions
dependency-version: 10.0.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-all
- dependency-name: Microsoft.Extensions.Options
dependency-version: 10.0.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-all
- dependency-name: Microsoft.Extensions.Hosting.Abstractions
dependency-version: 10.0.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-all
- dependency-name: Microsoft.Extensions.Http
dependency-version: 10.0.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-all
- dependency-name: Microsoft.Extensions.Http.Resilience
dependency-version: 10.9.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-all
- dependency-name: Microsoft.Extensions.ServiceDiscovery
dependency-version: 10.9.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-all
- dependency-name: Microsoft.Playwright
dependency-version: 1.62.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-all
...
Signed-off-by: dependabot[bot] <support@github.com>
@dependabotdependabotBot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Aug 12, 2026
@dependabotdependabotBot added dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code labels Aug 12, 2026
@github-actions

github-actionsBot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

⏰ PR Preview Environment — Nightly Teardown

The preview environment was automatically torn down as part of the nightly cleanup (23:00 Brussels time).

To resume testing: manually re-trigger the CI Pipeline workflow ("Run workflow" → enter this PR's number) to rebuild images and redeploy the preview environment. Pushing a new commit does not redeploy the preview automatically — it only re-runs the quality-gate checks.

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

Labels

dependenciesPull requests that update a dependency file.NETPull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@rvanmaanen