Skip to content

Bump Marten and 14 others - #98

Open
dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/nuget/src/Casino.Api/dev/minor-and-patch-980ba309c3
Open

dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/nuget/src/Casino.Api/dev/minor-and-patch-980ba309c3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 22, 2026

Copy link
Copy Markdown
Contributor

Pinned Marten at 9.51.0.

Release notes

Sourced from Marten's releases.

9.51.0

What's Changed

Full Changelog: JasperFx/marten@V9.50.3...v9.51.0

9.50.3

The Native AOT and hard-delete release. One new feature on the event store, two schema-naming fixes that could not be worked around, and three behaviour changes — read those before upgrading.

Note on these notes. They were rewritten after publication. 9.50.3 was cut as the JasperFx 2.90.1 dependency bump, but five pull requests had merged in the minutes before the tag, so the tag carried all of them too. The original notes described only the dependency bump and said no code change was needed. Everything below is what 9.50.3 actually contains; nothing about the published packages changed.

New

  • TombstoneStream — a hard stream delete (#​5673, #​5674). session.Events.TombstoneStream(id) queues a single-statement delete of a stream's tag rows, its events and its stream row — plus the mt_streams_identity row under strict identity enforcement — scoped to the session tenant under conjoined tenancy. The event sequence is never touched, and projected documents are deliberately left alone. Queued until SaveChangesAsync, like every other write.

    It is on the shared IEventStoreOperations contract as a default member that throws NotSupportedException, so a store without a hard delete stays source-compatible, and the shared StreamTombstoningCompliance suite now runs against Marten.

  • DCB tag types can be registered for Native AOT (#​5649, #​5674, #​5676). RegisterTagType<TTag>() discovers the tag's inner type by reflecting over its members and closes a generic registration at runtime, neither of which a native image can do — so a store with a DCB tag type could not even be configured under AOT.

    opts.Events.RegisterTagType<StudentId, Guid>(x => x.Value, "student")
        .ForAggregate<StudentCourseEnrollment>();

    Naming the inner type closes the generic at compile time and the unwrapper replaces the reflection. The suffix is optional and defaults to the tag type's own name, so for a tag the inferring overload could register, this one registers the same inner type and the same table. It works identically under a JIT.

    The inferring overloads are now annotated [RequiresUnreferencedCode]/[RequiresDynamicCode], and — because an analyzer warning only reaches an application that is itself AOT-analyzed, while a store configured from inside a library gets nothing — a failure at runtime now throws naming the exact line to write, keeping the original exception as its inner exception. Automatic tag registration from projection identities logs a warning naming the same line, including the projection's ForAggregate<T>().

    With explicit registrations, tagging, tag rules, EventTagQuery, EventsExistAsync, AggregateByTagsAsync and FetchForWritingByTags into a [BoundaryAggregate] all run from a native binary. A CI job publishes and runs them.

Fixed

  • A custom foreign key name is no longer discarded under conjoined tenancy (#​5672, #​5678). Moving tenant_id to the front of a document foreign key regenerated the key's name unconditionally, so a name set through the foreignKeyConfiguration callback was thrown away. That is what made the identifier-length failure unfixable: the exception tells you to override the database object name, and overriding it had no effect. A generated name is still regenerated; a chosen one survives, as does the name of a ForeignKey added by hand.

  • Archiving a tagged stream no longer fails with a foreign key violation (#​5675, #​5679). With UseArchivedStreamPartitioning on and any DCB tag type registered, ArchiveStream came back as 23503. Each mt_event_tag_* table is partitioned by is_archived and carries a composite foreign key to mt_events; mt_archive_stream moved the events between partitions without moving the tag rows that referenced them. It now moves them, in the order that keeps both sides of a non-deferrable key consistent at every statement.

  • AllObjects() no longer applies the Hi-Lo DDL (#​5665, #​5670). Describing the schema provisioned part of it. The describing seam is now separate from the applying one, and is proven offline against an unreachable host.

  • A failed Rebuild-mode run can be restarted and finished from its committed progress (#​5668, #​5669).

Performance

  • A commit that only starts streams no longer queries for a snapshot that cannot exist (#​5671, thanks @​lahma). An inline single-stream projection asks storage only for the ids of streams being appended to, so a start-only commit passed an empty id array — and still paid a round trip on id = ANY($1) that could only return no rows, plus a second connection with the default UseIdentityMapForAggregates = false. The same guard removes a wasted round trip from an async daemon batch whose slices all hit the aggregate write cache.

Behaviour changes

  1. An empty DCB tag table suffix is refused. RegisterTagType<T>("") used to be accepted and named mt_event_tag_ — a real table that every tag type registered that way would share. Pass a suffix, or null for the tag type's own name.

  2. A tag type that cannot be read now throws InvalidOperationException, with the original InvalidValueTypeException as its inner exception, and a message naming the explicit registration. This happens whether or not dynamic code is available, because the same exception means "not a single-value wrapper" under a JIT and "the members were trimmed away" in a trimmed image, and nothing at runtime tells those apart.

  3. Document foreign key and index names longer than 63 characters are shortened with a deterministic hash suffix, the same treatment the document table's primary key already got. If you raised PostgreSQL's NAMEDATALEN and have a foreign key or index whose generated name is between 64 characters and your own limit, that object will be renamed and you will see it in a migration diff.

Known, not fixed

DCB tag queries return archived events, where every other event query excludes them by default — #​5677. It matters most for EventsExistAsync, which is what a consistency boundary assertion is built on: an archived stream still answers yes. Independent of storage mode and of archived-stream partitioning.

Dependencies

... (truncated)

9.50.2

A maintenance release. Nothing in a shipped Marten package changed, and nothing here requires a configuration or code change.

Dependencies

  • The NuGet vulnerability audit is clean (#​5666). Marten's shipped packages were never affected by GHSA-846f-f764-76mx (CVE-2026-84008, System.Security.Cryptography.Pkcs). Npgsql doesn't bring that package in. Every finding was in the Nuke build tool or the samples:
    • The build tool now uses patched System.Security.Cryptography.Pkcs, System.Security.Cryptography.Xml and NuGet.Packaging.
    • The OpenTelemetry packages used by the EventPublisher sample and the Aspire sample moved from 1.8.x to 1.19.x.

The same advisory does reach Polecat and Weasel's SQL Server and Oracle packages, through their database drivers. Those are fixed in Polecat 5.40.2 and Weasel 9.45.1.

9.50.1

A patch release with one addition, for Wolverine's agent assignment. Nothing here requires a configuration or code change.

Event store

  • IEventStore.TryDescribeDatabasesAsync() is answered straight from the tenancy (#​5664). JasperFx 2.87.1 adds this narrower call, the database half of TryCreateUsage(). It returns each database's server, name and tenant ids without reading the highest event sequence or describing every projection, subscription, event type and tag type. Wolverine 6.50.0 asks for it on every leader heartbeat, for every store, where it used to build the full usage (JasperFx/wolverine#​5002). It follows on from #​5652, so thanks again to @​uniquelau for a report that came with the heartbeat maths already done.

Dependencies

  • JasperFx 2.87.1.

9.50.0

A bug-fix release. Nothing here requires a configuration or code change, but three things change what an application observes — read the box below before upgrading.

Observable changes

  • TotalResults changes value for Stats() + Include() + Select() + Take(). It was reporting the size of the page; it now reports the number of matches (#​5654). If you compute page counts from it, those counts change — to the correct ones.
  • A new warning may appear at startup if tag-type auto-discovery cannot register a projection's identity type. That condition is not new; it was previously silent (#​5649).
  • db-patch drop files no longer DROP ... CASCADE every schema — they roll back only what the patch touched (Weasel 9.45.0, weasel#​706). This is the one to look at if you apply drop files in an environment you care about.

LINQ — Include() joined on the queried document's own id

Three separate defects in the same corner, found by pulling on the first one. An Include() joined on the queried document's own id builds a temp table, and that temp table was missing the id it is joined on.

  • #​5650 — failed with 42703: column d.id does not exist in a query session when the queried document had any duplicated field. Lightweight, identity-map and dirty-tracked sessions were unaffected. Thanks to @​Blackclaws for the report and the fix (#​5651).
  • #​5653 — the same 42703, in a query session, when the query also called Stats(). Unlike #​5650 this did not depend on a duplicated field; Stats() wraps the select clause, which hid it from the check that puts the id back.
  • #​5654 — Stats() with an Include() and a Select() projection reported TotalResults as the size of the page rather than the number of matches, whenever Take() was used. No exception, just a wrong number, on every session kind. The temp table already held the correct count — PostgreSQL evaluates a window function before LIMIT — but re-applying the projection emitted a second count(*) over() against the already-truncated temp table.

If you page a projected grid with Stats() and Include(), #​5654 is the one to read.

Event store

  • #​5652 — a store with no event types and no projections never has its event tables migrated, so building a usage descriptor asked Postgres for a table that was not there. Marten swallowed the failure, but Postgres logged an ERROR for every attempt; under UseWolverineManagedEventSubscriptionDistribution the leader does this for every store on a ten-second heartbeat, which is tens of thousands of server-side ERROR lines a day for a store that can never hold an event. Marten now asks the catalog first, so nothing reaches the server log. Thanks to @​uniquelau for a report that came with the heartbeat maths already done.
  • #​5658 — IEventStore.FindDatabaseForTenantAsync, so a caller waiting on or querying a single tenant touches only that tenant's database instead of all of them. Goes through ITenancy.TryFindDatabase, never FindOrCreateDatabase, so a lookup cannot bring an unknown tenant into existence.

Native AOT

  • #​5649 (partial) — a DCB [BoundaryAggregate] fetch failed natively with MissingMethodException, because EventGraph.Build<TDoc>() closed SingleStreamProjection<,> at runtime even though both type arguments were known at compile time. And tag-type auto-discovery swallowed the AOT failure in the same breath as a benign one, leaving a store running with the tag type quietly absent; it now says so. Verified by publishing and running the native binary, not by a clean publish.

    Still open: RegisterTagType<TTag>() closes its own open generic and remains broken under Native AOT. That needs a reflection-free construction path in JasperFx.Events plus a new overload — see the discussion on #​5649. Thanks to @​skoging for an unusually thorough report, with native runs and three costed alternatives.

Dependencies

  • Weasel 9.45.0 — db-patch drop files no longer drop every schema with CASCADE; they roll back only what the patch touched (weasel#​706). This changes what an existing drop file does. Primary keys can also now be added to and removed from existing tables (weasel#​707).
  • JasperFx 2.87.0 — across all five packages.

Known issue

Stats() with Include() and a Select() projection is fixed here, but note that the Include() itself still follows the page, not the match set — it reads from the same truncated temp table. Only the statistics column outlives the Take(). That is existing, intended behaviour; it is called out because #​5654 makes the distinction visible for the first time.

Commits viewable in compare view.

Updated Microsoft.AspNetCore.Authentication.Google from 10.0.12 to 10.0.13.

Release notes

Sourced from Microsoft.AspNetCore.Authentication.Google's releases.

No release notes found for this version range.

Commits viewable in compare view.

Pinned Microsoft.AspNetCore.Authentication.JwtBearer at 10.0.13.

Release notes

Sourced from Microsoft.AspNetCore.Authentication.JwtBearer's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.AspNetCore.Identity.EntityFrameworkCore from 10.0.12 to 10.0.13.

Release notes

Sourced from Microsoft.AspNetCore.Identity.EntityFrameworkCore's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.AspNetCore.Mvc.Testing from 10.0.12 to 10.0.13.

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.SignalR.Client from 10.0.12 to 10.0.13.

Release notes

Sourced from Microsoft.AspNetCore.SignalR.Client's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.AspNetCore.SignalR.StackExchangeRedis from 10.0.12 to 10.0.13.

Release notes

Sourced from Microsoft.AspNetCore.SignalR.StackExchangeRedis's releases.

No release notes found for this version range.

Commits viewable in compare view.

Pinned Microsoft.Extensions.Http.Resilience at 10.11.0.

Release notes

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

10.11.0

.NET Extensions 10.11.0

This release adds optional scope capture for buffered logs and updates experimental HTTP latency enrichment APIs. It also includes fixes for AI streaming and function invocation, evaluation reports, HybridCache invalidation, and logging.

Experimental API Changes

New Experimental APIs

  • Optional logging-scope capture for global and per-request log buffering through GlobalLogBufferingOptions.IncludeScopes and PerRequestLogBufferingOptions.IncludeScopes (EXTEXP0003) #​7813

Breaking Changes to Experimental APIs

  • Incoming HTTP latency log enrichment: AddHttpLatencyTelemetry is renamed to AddHttpServerLatencyTelemetry and moves from HttpLatencyTelemetryServiceCollectionExtensions to HttpLoggingServiceCollectionExtensions. It remains experimental under EXTEXP0013 in this release. #​7730

What's Changed

AI

  • Yield final image when streaming with HostedImageGenerationTool #​7774 by @​iamAdarshh
  • Make the default tool-rejection message state that the decision is final #​7784 by @​manjunathshiva
  • AI: Remove obsolete OpenAI JsonPatch workaround #​7815 by @​jozkee (co-authored by @​Copilot)
  • Ignore empty model IDs in streaming responses #​7816 by @​valkiara
  • Honor FunctionInvocationContext.Terminate when the function throws #​7801 by @​gjz22
  • Fix ChatResponseUpdate.Clone dropping ContinuationToken #​7699 by @​dfedoryshchev
  • Decode non-base64 data URIs in DataContent to the octets they encode #​7798 by @​Laurianti

AI Evaluation

  • [M.E.AI.Evaluation.Reporting] Fix context and metric interpretation visualization #​7738 by @​grafanaKibana
  • Fix tokenizer attaching punctuation to number tokens #​7766 by @​tahakocal
  • Order iteration results numerically #​7769 by @​tahakocal
  • Score GLEU against the best matching reference #​7768 by @​tahakocal

Telemetry and Observability

  • Optionally preserve logging scopes in buffered log records #​7813 by @​evgenyfedorov2 (co-authored by @​Copilot)
  • Fix OOM from unbounded enumeration of ExtendedLogger tag joiners #​7819 by @​evgenyfedorov2 (co-authored by @​Copilot)
  • Fix log buffering race by removing the rule selector cache #​7803 by @​evgenyfedorov2 (co-authored by @​Copilot)

ASP.NET Core Extensions

  • Rename AddHttpLatencyTelemetry to AddHttpServerLatencyTelemetry (API-approved shape) #​7730 by @​EasyL0ver (co-authored by @​Copilot)
  • Fix ArgumentNullException in per-request log buffering at the end of a request #​7811 by @​evgenyfedorov2 (co-authored by @​Copilot)

AI Project Templates

  • Align aichatweb local vector-store keys with Guid record keys #​7804 by @​jongalloway (co-authored by @​adamsitnik @​Copilot)

Caching

... (truncated)

10.10.1

This release fixes two OpenAI integration issues: a TypeLoadException on tool-carrying Responses API calls and a streaming crash against third-party OpenAI-compatible endpoints, by upgrading the OpenAI SDK to 2.14.0.

Packages in this release

Package Version
Microsoft.Extensions.AI.OpenAI 10.10.1
Microsoft.Extensions.AI.Abstractions 10.10.1

What's Changed

AI

  • Upgrade OpenAI SDK to 2.14.0 #​7761 by @​zxyao145

Acknowledgements

  • @​zxyao145 made their first contribution in #​7761
  • @​zxyao145 submitted issue #​7760 (resolved by #​7761)
  • @​jozkee @​wtgodbe reviewed pull requests

Full Changelog: dotnet/extensions@v10.10.0...v10.10.1

10.10.0

This month's release focuses on AI package reliability: closing gaps in evaluation scoring, hardening OpenAI image-option handling, and removing the deprecated OpenAI Assistants API support.

Experimental API Changes

Removed Experimental APIs

  • OpenAI Assistants experimental APIs removed (was experimental under OPENAI001) #​7724

What's Changed

AI

  • Remove OpenAI Assistants API support #​7724 by @​jozkee (co-authored by @​Copilot)
  • Update OpenAI package version to 2.13.0 #​7726 by @​jozkee
  • OpenAI: Avoid null implicit conversions for image options #​7727 by @​jozkee (co-authored by @​Copilot)

AI Evaluation

  • Fail closed when a quality metric has no valid score #​7735 by @​thaildhe172591
  • Validate path segments in Azure storage result store and response cache #​7718 by @​Lroca88

Repository Infrastructure Updates

  • Add TfxInstaller for publishing #​7695 by @​peterwaltonwork
  • Bump PowerShell from 7.6.4 to 7.6.5 #​7702
  • [Infrastructure] Update vulnerable npm dependencies #​7705 by @​wtgodbe
  • Add Node installation for TfxInstaller #​7703 by @​peterwaltonwork
  • Publish VSIX using publish task instead of output #​7711 by @​peterwaltonwork
  • Bump dotnet-coverage from 18.9.0 to 18.10.0 #​7708
  • Do not validate extension during publish step #​7725 by @​peterwaltonwork
  • Add skill for upgrading OpenAI #​7728 by @​jozkee
  • Fix source indexer stage #​7694 by @​jjonescz

Acknowledgements

  • @​Lroca88 made their first contribution in #​7718
  • @​thaildhe172591 made their first contribution in #​7735
  • @​ANcpLua submitted issue #​7665 (resolved by #​7735)
  • @​jeffhandley @​peterwald @​shyamnamboodiripad reviewed pull requests

Full Changelog: dotnet/extensions@v10.9.0...v10.10.0

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

Package Version
Microsoft.Extensions.AI.Templates 10.8.4-preview.3.26379.3
Microsoft.Agents.AI.ProjectTemplates 1.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

Package Version
Microsoft.Extensions.AI 10.8.3
Microsoft.Extensions.AI.Abstractions 10.8.3
Microsoft.Extensions.AI.OpenAI 10.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

Package Version Note
Microsoft.Extensions.VectorData.Abstractions 10.8.2 Published August 7, 2026
Microsoft.Extensions.VectorData.ConformanceTests 10.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

Package Version
Microsoft.Extensions.AI 10.8.1
Microsoft.Extensions.AI.Abstractions 10.8.1
Microsoft.Extensions.AI.OpenAI 10.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.

Pinned Microsoft.Extensions.Http.Resilience at 10.11.0.

Release notes

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

10.11.0

.NET Extensions 10.11.0

This release adds optional scope capture for buffered logs and updates experimental HTTP latency enrichment APIs. It also includes fixes for AI streaming and function invocation, evaluation reports, HybridCache invalidation, and logging.

Experimental API Changes

New Experimental APIs

  • Optional logging-scope capture for global and per-request log buffering through GlobalLogBufferingOptions.IncludeScopes and PerRequestLogBufferingOptions.IncludeScopes (EXTEXP0003) #​7813

Breaking Changes to Experimental APIs

  • Incoming HTTP latency log enrichment: AddHttpLatencyTelemetry is renamed to AddHttpServerLatencyTelemetry and moves from HttpLatencyTelemetryServiceCollectionExtensions to HttpLoggingServiceCollectionExtensions. It remains experimental under EXTEXP0013 in this release. #​7730

What's Changed

AI

  • Yield final image when streaming with HostedImageGenerationTool #​7774 by @​iamAdarshh
  • Make the default tool-rejection message state that the decision is final #​7784 by @​manjunathshiva
  • AI: Remove obsolete OpenAI JsonPatch workaround #​7815 by @​jozkee (co-authored by @​Copilot)
  • Ignore empty model IDs in streaming responses #​7816 by @​valkiara
  • Honor FunctionInvocationContext.Terminate when the function throws #​7801 by @​gjz22
  • Fix ChatResponseUpdate.Clone dropping ContinuationToken #​7699 by @​dfedoryshchev
  • Decode non-base64 data URIs in DataContent to the octets they encode #​7798 by @​Laurianti

AI Evaluation

  • [M.E.AI.Evaluation.Reporting] Fix context and metric interpretation visualization #​7738 by @​grafanaKibana
  • Fix tokenizer attaching punctuation to number tokens #​7766 by @​tahakocal
  • Order iteration results numerically #​7769 by @​tahakocal
  • Score GLEU against the best matching reference #​7768 by @​tahakocal

Telemetry and Observability

  • Optionally preserve logging scopes in buffered log records #​7813 by @​evgenyfedorov2 (co-authored by @​Copilot)
  • Fix OOM from unbounded enumeration of ExtendedLogger tag joiners #​7819 by @​evgenyfedorov2 (co-authored by @​Copilot)
  • Fix log buffering race by removing the rule selector cache #​7803 by @​evgenyfedorov2 (co-authored by @​Copilot)

ASP.NET Core Extensions

  • Rename AddHttpLatencyTelemetry to AddHttpServerLatencyTelemetry (API-approved shape) #​7730 by @​EasyL0ver (co-authored by @​Copilot)
  • Fix ArgumentNullException in per-request log buffering at the end of a request #​7811 by @​evgenyfedorov2 (co-authored by @​Copilot)

AI Project Templates

  • Align aichatweb local vector-store keys with Guid record keys #​7804 by @​jongalloway (co-authored by @​adamsitnik @​Copilot)

Caching

... (truncated)

10.10.1

This release fixes two OpenAI integration issues: a TypeLoadException on tool-carrying Responses API calls and a streaming crash against third-party OpenAI-compatible endpoints, by upgrading the OpenAI SDK to 2.14.0.

Packages in this release

Package Version
Microsoft.Extensions.AI.OpenAI 10.10.1
Microsoft.Extensions.AI.Abstractions 10.10.1

What's Changed

AI

  • Upgrade OpenAI SDK to 2.14.0 #​7761 by @​zxyao145

Acknowledgements

  • @​zxyao145 made their first contribution in #​7761
  • @​zxyao145 submitted issue #​7760 (resolved by #​7761)
  • @​jozkee @​wtgodbe reviewed pull requests

Full Changelog: dotnet/extensions@v10.10.0...v10.10.1

Commits viewable in compare view.

Pinned Microsoft.Extensions.ServiceDiscovery at 10.11.0.

Release notes

Sourced from Microsoft.Extensions.ServiceDiscovery's releases.

10.11.0

.NET Extensions 10.11.0

This release adds optional scope capture for buffered logs and updates experimental HTTP latency enrichment APIs. It also includes fixes for AI streaming and function invocation, evaluation reports, HybridCache invalidation, and logging.

Experimental API Changes

New Experimental APIs

  • Optional logging-scope capture for global and per-request log buffering through GlobalLogBufferingOptions.IncludeScopes and PerRequestLogBufferingOptions.IncludeScopes (EXTEXP0003) #​7813

Breaking Changes to Experimental APIs

  • Incoming HTTP latency log enrichment: AddHttpLatencyTelemetry is renamed to AddHttpServerLatencyTelemetry and moves from HttpLatencyTelemetryServiceCollectionExtensions to HttpLoggingServiceCollectionExtensions. It remains experimental under EXTEXP0013 in this release. #​7730

What's Changed

AI

  • Yield final image when streaming with HostedImageGenerationTool #​7774 by @​iamAdarshh
  • Make the default tool-rejection message state that the decision is final #​7784 by @​manjunathshiva
  • AI: Remove obsolete OpenAI JsonPatch workaround #​7815 by @​jozkee (co-authored by @​Copilot)
  • Ignore empty model IDs in streaming responses #​7816 by @​valkiara
  • Honor FunctionInvocationContext.Terminate when the function throws #​7801 by @​gjz22
  • Fix ChatResponseUpdate.Clone dropping ContinuationToken #​7699 by @​dfedoryshchev
  • Decode non-base64 data URIs in DataContent to the octets they encode #​7798 by @​Laurianti

AI Evaluation

  • [M.E.AI.Evaluation.Reporting] Fix context and metric interpretation visualization #​7738 by @​grafanaKibana
  • Fix tokenizer attaching punctuation to number tokens #​7766 by @​tahakocal
  • Order iteration results numerically #​7769 by @​tahakocal
  • Score GLEU against the best matching reference #​7768 by @​tahakocal

Telemetry and Observability

  • Optionally preserve logging scopes in buffered log records #​7813 by @​evgenyfedorov2 (co-authored by @​Copilot)
  • Fix OOM from unbounded enumeration of ExtendedLogger tag joiners #​7819 by @​evgenyfedorov2 (co-authored by @​Copilot)
  • Fix log buffering race by removing the rule selector cache #​7803 by @​evgenyfedorov2 (co-authored by @​Copilot)

ASP.NET Core Extensions

  • Rename AddHttpLatencyTelemetry to AddHttpServerLatencyTelemetry (API-approved shape) #​7730 by @​EasyL0ver (co-authored by @​Copilot)
  • Fix ArgumentNullException in per-request log buffering at the end of a request #​7811 by @​evgenyfedorov2 (co-authored by @​Copilot)

AI Project Templates

  • Align aichatweb local vector-store keys with Guid record keys #​7804 by @​jongalloway (co-authored by @​adamsitnik @​Copilot)

Caching

... (truncated)

10.10.1

This release fixes two OpenAI integration issues: a TypeLoadException on tool-carrying Responses API calls and a streaming crash against third-party OpenAI-compatible endpoints, by upgrading the OpenAI SDK to 2.14.0.

Packages in this release

Package Version
Microsoft.Extensions.AI.OpenAI 10.10.1
Microsoft.Extensions.AI.Abstractions 10.10.1

What's Changed

AI

  • Upgrade OpenAI SDK to 2.14.0 #​7761 by @​zxyao145

Acknowledgements

  • @​zxyao145 made their first contribution in #​7761
  • @​zxyao145 submitted issue #​7760 (resolved by #​7761)
  • @​jozkee @​wtgodbe reviewed pull requests

Full Changelog: dotnet/extensions@v10.10.0...v10.10.1

Commits viewable in compare view.

Updated Microsoft.Extensions.ServiceDiscovery.Yarp from 10.10.0 to 10.11.0.

Release notes

Sourced from Microsoft.Extensions.ServiceDiscovery.Yarp's releases.

10.11.0

.NET Extensions 10.11.0

This release adds optional scope capture for buffered logs and updates experimental HTTP latency enrichment APIs. It also includes fixes for AI streaming and function invocation, evaluation reports, HybridCache invalidation, and logging.

Experimental API Changes

New Experimental APIs

  • Optional logging-scope capture for global and per-request log buffering through GlobalLogBufferingOptions.IncludeScopes and PerRequestLogBufferingOptions.IncludeScopes (EXTEXP0003) #​7813

Breaking Changes to Experimental APIs

  • Incoming HTTP latency log enrichment: AddHttpLatencyTelemetry is renamed to AddHttpServerLatencyTelemetry and moves from HttpLatencyTelemetryServiceCollectionExtensions to HttpLoggingServiceCollectionExtensions. It remains experimental under EXTEXP0013 in this release. #​7730

What's Changed

AI

  • Yield final image when streaming with HostedImageGenerationTool #​7774 by @​iamAdarshh
  • Make the default tool-rejection message state that the decision is final #​7784 by @​manjunathshiva
  • AI: Remove obsolete OpenAI JsonPatch workaround #​7815 by @​jozkee (co-authored by @​Copilot)
  • Ignore empty model IDs in streaming responses #​7816 by @​valkiara
  • Honor FunctionInvocationContext.Terminate when the function throws #​7801 by @​gjz22
  • Fix ChatResponseUpdate.Clone dropping ContinuationToken #​7699 by @​dfedoryshchev
  • Decode non-base64 data URIs in DataContent to the octets they encode #​7798 by @​Laurianti

AI Evaluation

  • [M.E.AI.Evaluation.Reporting] Fix context and metric interpretation visualization #​7738 by @​grafanaKibana
  • Fix tokenizer attaching punctuation to number tokens #​7766 by @​tahakocal
  • Order iteration results numerically #​7769 by @​tahakocal
  • Score GLEU against the best matching reference #​7768 by @​tahakocal

Telemetry and Observability

  • Optionally preserve logging scopes in buffered log records #​7813 by @​evgenyfedorov2 (co-authored by @​Copilot)
  • Fix OOM from unbounded enumeration of ExtendedLogger tag joiners #​7819 by @​evgenyfedorov2 (co-authored by @​Copilot)
  • Fix log buffering race by removing the rule selector cache #​7803 by @​evgenyfedorov2 (co-authored by @​Copilot)

ASP.NET Core Extensions

  • Rename AddHttpLatencyTelemetry to AddHttpServerLatencyTelemetry (API-approved shape) #​7730 by @​EasyL0ver (co-authored by @​Copilot)
  • Fix ArgumentNullException in per-request log buffering at the end of a request #​7811 by @​evgenyfedorov2 (co-authored by @​Copilot)

AI Project Templates

  • Align aichatweb local vector-store keys with Guid record keys #​7804 by @​jongalloway (co-authored by @​adamsitnik @​Copilot)

Caching

... (truncated)

10.10.1

This release fixes two OpenAI integration issues: a TypeLoadException on tool-carrying Responses API calls and a streaming crash against third-party OpenAI-compatible endpoints, by upgrading the OpenAI SDK to 2.14.0.

Packages in this release

Package Version
Microsoft.Extensions.AI.OpenAI 10.10.1
Microsoft.Extensions.AI.Abstractions 10.10.1

What's Changed

AI

  • Upgrade OpenAI SDK to 2.14.0 #​7761 by @​zxyao145

Acknowledgements

  • @​zxyao145 made their first contribution in #​7761
  • @​zxyao145 submitted issue #​7760 (resolved by #​7761)
  • @​jozkee @​wtgodbe reviewed pull requests

Full Changelog: dotnet/extensions@v10.10.0...v10.10.1

Commits viewable in compare view.

Updated Microsoft.Extensions.TimeProvider.Testing from 10.10.0 to 10.11.0.

Release notes

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

10.11.0

.NET Extensions 10.11.0

This release adds optional scope capture for buffered logs and updates experimental HTTP latency enrichment APIs. It also includes fixes for AI streaming and function invocation, evaluation reports, HybridCache invalidation, and logging.

Experimental API Changes

New Experimental APIs

  • Optional logging-scope capture for global and per-request log buffering through GlobalLogBufferingOptions.IncludeScopes and PerRequestLogBufferingOptions.IncludeScopes (EXTEXP0003) #​7813

Breaking Changes to Experimental APIs

  • Incoming HTTP latency log enrichment: AddHttpLatencyTelemetry is renamed to AddHttpServerLatencyTelemetry and moves from HttpLatencyTelemetryServiceCollectionExtensions to HttpLoggingServiceCollectionExtensions. It remains experimental under EXTEXP0013 in this release. #​7730

What's Changed

AI

  • Yield final image when streaming with HostedImageGenerationTool #​7774 by @​iamAdarshh
  • Make the default tool-rejection message state that the decision is final #​7784 by @​manjunathshiva
  • AI: Remove obsolete OpenAI JsonPatch workaround #​7815 by @​jozkee (co-authored by @​Copilot)
  • Ignore empty model IDs in streaming responses #​7816 by @​valkiara
  • Honor FunctionInvocationContext.Terminate when the function throws #​7801 by @​gjz22
  • Fix ChatResponseUpdate.Clone dropping ContinuationToken #​7699 by @​dfedoryshchev
  • Decode non-base64 data URIs in DataContent to the octets they encode #​7798 by @​Laurianti

AI Evaluation

  • [M.E.AI.Evaluation.Reporting] Fix context and metric interpretation visualization #​7738 by @​grafanaKibana
  • Fix tokenizer attaching punctuation to number tokens #​7766 by @​tahakocal
  • Order iteration results numerically #​7769 by @​tahakocal
  • Score GLEU against the best matching reference #​7768 by @​tahakocal

Telemetry and Observability

  • Optionally preserve logging scopes in buffered log records #​7813 by @​evgenyfedorov2 (co-authored by @​Copilot)
  • Fix OOM from unbounded enumeration of ExtendedLogger tag joiners #​7819 by @​evgenyfedorov2 (co-authored by @​Copilot)
  • Fix log buffering race by removing the rule selector cache #​7803 by @​evgenyfedorov2 (co-authored by @​Copilot)

ASP.NET Core Extensions

  • Rename AddHttpLatencyTelemetry to AddHttpServerLatencyTelemetry (API-approved shape) #​7730 by @​EasyL0ver (co-authored by @​Copilot)
  • Fix ArgumentNullException in per-request log buffering at the end of a request #​7811 by @​evgenyfedorov2 (co-authored by @​Copilot)

AI Project Templates

  • Align aichatweb local vector-store keys with Guid record keys #​7804 by @​jongalloway (co-authored by @​adamsitnik @​Copilot)

Caching

... (truncated)

10.10.1

This release fixes two OpenAI integration issues: a TypeLoadException on tool-carrying Responses API calls and a streaming crash against third-party OpenAI-compatible endpoints, by upgrading the OpenAI SDK to 2.14.0.

Packages in this release

Package Version
Microsoft.Extensions.AI.OpenAI 10.10.1
Microsoft.Extensions.AI.Abstractions 10.10.1

What's Changed

AI

  • Upgrade OpenAI SDK to 2.14.0 #​7761 by @​zxyao145

Acknowledgements

  • @​zxyao145 made their first contribution in #​7761
  • @​zxyao145 submitted issue #​7760 (resolved by #​7761)
  • @​jozkee @​wtgodbe reviewed pull requests

Full Changelog: dotnet/extensions@v10.10.0...v10.10.1

Commits viewable in compare view.

Updated Microsoft.NET.Test.Sdk from 18.10.1 to 18.11.0.

Release notes

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

18.11.0

What's Changed

New Contributors

Full Changelog: microsoft/vstest@v18.10.1...v18.11.0

Commits viewable in compare view.

Pinned WolverineFx.Marten at 6.51.2.

Release notes

Sourced from WolverineFx.Marten's releases.

6.51.2

Bug fix release on the JasperFx 2.91.0 / Marten 9.51.0 / Polecat 5.43.0 / Fisher 1.21.2 matched set, plus the Bobcat specification work

What's Changed

Committed directly to main

  • GH-5067 event-model --url stamps the pushed Event Model with its checkout root, repository and branch (dded67e95)
  • GH-5078 AgentAssignmentsChanged is obsolete, and the test observer's dead branch for it is removed (c1b22941a)

Full Changelog: JasperFx/wolverine@v6.51.1...V6.51.2

6.51.1

Bug fix release, and some doc updates too

What's Changed

Full Changelog: JasperFx/wolverine@V6.51.0...v6.51.1

6.51.0

Everything since 6.50.1.

Highlights

  • Warm-up nodes for blue/green deployments (#​4569, #​5024). Set opts.Durability.NodeRole = NodeRole.Warmup and a node joins the serving cluster but does none of the serving nodes' messaging. Its only job is to run the new release's projection shards in Rebuild mode, so the new projection versions are caught up before you cut over. The role is opt-in; the default is NodeRole.Serving, and no schema change is needed. Docs: Marten · Polecat
  • DurabilityMode.ServerlessWithOutbox (#​5016, #​5044). The lean Serverless runtime, but with the transactional outbox kept:
    • Outgoing messages are persisted with the handler's transaction.
    • They are sent inline before the request completes.
    • Anything that couldn't be sent is recovered by a durability pass.
    • Follow-ups are in #​5058 (#​5046–#​5057), #​5060 (#​5059) and #​5065 (#​5038).
    • Docs: Serverless with the Transactional Outbox
  • Wolverine.HTTP JSON options (#​5042, #​5064). HTTP handlers mapped directly now use ASP.NET Core's JsonOptions without needing MapWolverineEndpoints(). Two new properties, HttpChain.JsonSerializerOptions and HttpHandler.JsonSerializerOptions, give a single endpoint its own JSON options.
  • Failure log level (#​5043, #​5064). Set it with chain.FailureLogLevel, opts.Policies.MessageFailureLogLevel(...) or [WolverineLogging(FailureLogLevel = ...)]. The default is still Error.

Durability fixes

  • Durable database queue pops (#​5015, #​5020 by @​jcd1991, #​5021). A failed or lost pop no longer strands envelopes on a live node, on PostgreSQL, SQL Server, MySQL and Oracle. Thanks to @​dbelinsky-accureference for the report.
  • InboxStaleTime (#​5022, #​5025, #​5039):
    • Its clock now measures the time since a node claimed the message, not since the message was first written.
    • It leaves scheduled rows alone.
    • A node keeps the clock running for the messages it still holds, so a long handler is no longer started a second time.
  • Projection daemon self-healing (#​4986 by @​erdtsieck). A shard the daemon paused on a transient failure, such as connection pool exhaustion, is restarted with a capped backoff instead of staying paused until the pods restart.
  • Serverless startup with RavenDB (#​5030, #​5041 by @​jcd1991). Plain Serverless mode no longer fails at startup with RavenDB persistence.
  • Messages replayed on every restart (#​5040, #​5045, #​5062). A handled message is now marked handled in the store that holds its inbox row. This affected two setups:
    • a durable PostgreSQL queue with a DbContext enrolled in an ancillary store
    • Fisher or Polecat with an AddMessageHandler handler committing an ancillary session
  • PostgreSQL transport schema (#​5062). The transport takes its storage schema from the store it is bound to, not from the last PostgreSQL store registered.
  • More #​5038 follow-ups (#​5065):
    • Outside ServerlessWithOutbox, a failed inline send is retried by the destination's sending agent.
    • RavenDB and Cosmos DB take one durability pass lock per database or container.
    • EF Core and RavenDB write the same outgoing owner id as the other stores.
    • Plain Serverless warns about durable endpoints downgraded after startup.

Dependencies

  • 6.50.2 (#​5018): Weasel 9.45.1, Polecat 5.40.2 and Marten 9.50.2, for the System.Security.Cryptography.Pkcs advisory GHSA-846f-f764-76mx.
  • 6.51.0 (#​5063): JasperFx 2.90.1, Marten 9.50.3, Polecat 5.42.0 and Fisher 1.21.1.

6.50.2

A dependency patch release. No configuration or code changes needed.

Dependencies

This moves Wolverine onto the Critter Stack releases that fix CVE-2026-84008 / GHSA-846f-f764-76mx (System.Security.Cryptography.Pkcs, high-severity denial of service) (#​5018):

  • Weasel 9.45.1: Weasel.SqlServer and Weasel.Oracle now reference the patched Pkcs directly.
  • Polecat 5.40.2 (up from 5.38.0): Polecat now references the patched Pkcs directly. This also brings in Polecat 5.39 and 5.40.
  • Marten 9.50.2 (up from 9.49.0) for Marten, Marten.AspNetCore and Marten.Newtonsoft. Marten was never affected by the advisory.

Wolverine 6.50.1 already pinned the patched Pkcs in WolverineFx.SqlServer, WolverineFx.Oracle and WolverineFx.ClaimCheck.SqlServer, so applications on 6.50.1 were already protected. Those pins stay, because Wolverine references Microsoft.Data.SqlClient and Oracle.ManagedDataAccess.Core directly. 6.50.2 means the upstream libraries carry the fix too, so a NuGet audit comes back clean whichever of them your application references directly.

6.50.1

Patch release with a memory-leak fix and two security dependency updates.

Fixes

  • WolverineRuntime now disposes its Meter (#​5012, #​5013). The runtime's System.Diagnostics.Metrics.Meter used to stay in the process-wide static Meter registry after the host was disposed. The durable persistence gauges on it hold callbacks back into the runtime, so every disposed host stayed reachable for the life of the process. Test suites that build many WebApplicationFactory or Host instances with durable persistence saw the heap grow without bound. Thanks to @​AndriiKononenko3 for the detailed report and the retention path.

Security dependency updates

  • CVE-2026-84008 / GHSA-846f-f764-76mx (System.Security.Cryptography.Pkcs, high-severity denial of service). The package arrived transitively at vulnerable versions through Microsoft.Data.SqlClient, Oracle.ManagedDataAccess.Core and Polecat. WolverineFx.SqlServer, WolverineFx.Oracle and WolverineFx.ClaimCheck.SqlServer now reference the patched version directly: 9.0.21 on net9.0 and 10.0.13 on net10.0. Every package built on them, including WolverineFx.Polecat and WolverineFx.Http.Polecat, picks up the fix.
  • CVE-2026-70159 / GHSA-334f-vvp4-7g6p (Microsoft.AspNetCore.SignalR.Common, high-severity denial of service). WolverineFx.SignalR now depends on Microsoft.AspNetCore.SignalR.Client 9.0.21 on net9.0 and 10.0.13 on net10.0, up from 9.0.8.

6.50.0

Wolverine 6.50.0 is a feature release. The headline is a new way to send a message to every node in your cluster. Just as much of this release came from the community, though: five community pull requests landed, and several issue reports led straight to fixes.

The two Bobcat packages, WolverineFx.Bobcat and WolverineFx.Bobcat.Http, ship as 6.50.0-alpha.1 and are still pre-release.

Broadcast a message to every node in the cluster

  • BroadcastToAllNodesAsync() (#​4993, closes #​4988). Wolverine's normal delivery is competing consumers, where exactly one node handles a message. Sometimes you want every node to hear about something instead: a cache to invalidate, a configuration change to pick up, some node-local state to reset. Now you can just do this:

    await bus.BroadcastToAllNodesAsync(new InvalidateCache("products"));

    Every running node, including the one that sent it, handles the message exactly once with its own handler. The sending node gets the message on the local routes its type already has, or on local://default, and it's never forwarded to the external routes PublishAsync() would use. Every other node gets a copy on its node control endpoint, which is the broker control queue if you've configured one and the database control queue otherwise. Nodes that have gone stale are skipped, using the same rule the leader applies before ejecting a node. A broadcast from inside a handler goes through the outbox like any other outgoing message, and correlation ids are stamped as usual. In Solo and Serverless durability modes the message is delivered to this node only, and MediatorOnly refuses it just like PublishAsync(). It's an extension method on IMessageBus, so no other IMessageBus implementation breaks, and TestMessageContext records broadcasts in a new BroadcastToAllNodes list for your unit tests. See the new Broadcast Messages to Every Node guide.

From the community

A big thank you to everyone who sent pull requests and reports for this release:

  • @​jcd1991 contributed two PostgreSQL transport features:
    • Opt-in LISTEN/NOTIFY wakeups for PostgreSQL queues (#​4998, closes #​3480). With EnableQueueNotifications(), an idle queue listener is woken as soon as a message is written instead of waiting out its polling interval. In local benchmarks the median delivery time on an idle queue dropped from about 650ms to under 3ms. It's off by default because it holds one extra, long-lived database connection per database per running process. Read the trade-offs in the new Queue Notifications with LISTEN/NOTIFY section before you turn it on.
    • FIFO ordering for sharded PostgreSQL queue batches (#​4970, closes #​4862, reported by @​alexandrefresnais). Messages for one group id that went through a PostgreSQL shard queue could run out of order. EnableDeterministicQueueOrdering() now preserves their order, and it was followed up for SQL Server, MySQL, Oracle and SQLite in #​4987.
  • @​jcd1991 also fixed Wolverine.HTTP treating a container-registered service as the JSON request body on POST and PUT endpoints (#​5010, closes #​3863, reported by @​erdtsieck). The same parameter on a GET endpoint was correctly injected, but on a POST or PUT every call failed with a 500. An explicitly registered, non-keyed concrete type is now resolved from the container on every endpoint. This is a behavior change: if you register a type in the container and post it as a request body without [FromBody], add [FromBody] to keep binding it from the request.
  • @​erdtsieck found and fixed a ping-pong in agent assignment during blue/green warm-ups (#​5000, closes #​4999). Projection partitions that could only run on the previous version's nodes moved between those nodes on every evaluation, which showed up in production as 1,000 to 3,000 ReassignAgent commands a minute. A partition that fits nowhere now st...

Description has been truncated

Bumps Marten from 9.49.0 to 9.51.0
Bumps Microsoft.AspNetCore.Authentication.Google from 10.0.12 to 10.0.13
Bumps Microsoft.AspNetCore.Authentication.JwtBearer from 10.0.12 to 10.0.13
Bumps Microsoft.AspNetCore.Identity.EntityFrameworkCore from 10.0.12 to 10.0.13
Bumps Microsoft.AspNetCore.Mvc.Testing from 10.0.12 to 10.0.13
Bumps Microsoft.AspNetCore.SignalR.Client from 10.0.12 to 10.0.13
Bumps Microsoft.AspNetCore.SignalR.StackExchangeRedis from 10.0.12 to 10.0.13
Bumps Microsoft.Extensions.Http.Resilience to 10.11.0
Bumps Microsoft.Extensions.ServiceDiscovery from 10.10.0 to 10.11.0
Bumps Microsoft.Extensions.ServiceDiscovery.Yarp from 10.10.0 to 10.11.0
Bumps Microsoft.Extensions.TimeProvider.Testing from 10.10.0 to 10.11.0
Bumps Microsoft.NET.Test.Sdk from 18.10.1 to 18.11.0
Bumps WolverineFx.Marten from 6.49.0 to 6.51.2
Bumps WolverineFx.RabbitMQ from 6.49.0 to 6.51.2
Bumps WolverineFx.RuntimeCompilation from 6.49.0 to 6.51.2

---
updated-dependencies:
- dependency-name: Marten
  dependency-version: 9.51.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: Microsoft.AspNetCore.Authentication.JwtBearer
  dependency-version: 10.0.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: Microsoft.AspNetCore.SignalR.StackExchangeRedis
  dependency-version: 10.0.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: Microsoft.Extensions.Http.Resilience
  dependency-version: 10.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: Microsoft.Extensions.ServiceDiscovery
  dependency-version: 10.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: Microsoft.Extensions.ServiceDiscovery.Yarp
  dependency-version: 10.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: WolverineFx.Marten
  dependency-version: 6.51.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: WolverineFx.RabbitMQ
  dependency-version: 6.51.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: WolverineFx.RuntimeCompilation
  dependency-version: 6.51.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: Marten
  dependency-version: 9.51.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: WolverineFx.Marten
  dependency-version: 6.51.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: Microsoft.AspNetCore.Authentication.Google
  dependency-version: 10.0.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: Microsoft.AspNetCore.Identity.EntityFrameworkCore
  dependency-version: 10.0.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: Marten
  dependency-version: 9.51.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: WolverineFx.Marten
  dependency-version: 6.51.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: Microsoft.AspNetCore.Mvc.Testing
  dependency-version: 10.0.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: Microsoft.Extensions.Http.Resilience
  dependency-version: 10.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: Microsoft.AspNetCore.Mvc.Testing
  dependency-version: 10.0.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: Microsoft.AspNetCore.SignalR.Client
  dependency-version: 10.0.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: Microsoft.Extensions.TimeProvider.Testing
  dependency-version: 10.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants