Repository navigation
Bump Marten and 14 others - #98
Open
dependabot[bot] wants to merge 1 commit into
Open
dependabot[bot] wants to merge 1 commit into
dependabot[bot] wants to merge 1 commit into
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
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 themt_streams_identityrow 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 untilSaveChangesAsync, like every other write.It is on the shared
IEventStoreOperationscontract as a default member that throwsNotSupportedException, so a store without a hard delete stays source-compatible, and the sharedStreamTombstoningCompliancesuite 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.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'sForAggregate<T>().With explicit registrations, tagging, tag rules,
EventTagQuery,EventsExistAsync,AggregateByTagsAsyncandFetchForWritingByTagsinto 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_idto the front of a document foreign key regenerated the key's name unconditionally, so a name set through theforeignKeyConfigurationcallback 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 aForeignKeyadded by hand.Archiving a tagged stream no longer fails with a foreign key violation (#5675, #5679). With
UseArchivedStreamPartitioningon and any DCB tag type registered,ArchiveStreamcame back as23503. Eachmt_event_tag_*table is partitioned byis_archivedand carries a composite foreign key tomt_events;mt_archive_streammoved 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
id = ANY($1)that could only return no rows, plus a second connection with the defaultUseIdentityMapForAggregates = false. The same guard removes a wasted round trip from an async daemon batch whose slices all hit the aggregate write cache.Behaviour changes
An empty DCB tag table suffix is refused.
RegisterTagType<T>("")used to be accepted and namedmt_event_tag_— a real table that every tag type registered that way would share. Pass a suffix, ornullfor the tag type's own name.A tag type that cannot be read now throws
InvalidOperationException, with the originalInvalidValueTypeExceptionas 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.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
NAMEDATALENand 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
System.Security.Cryptography.Pkcs). Npgsql doesn't bring that package in. Every finding was in the Nuke build tool or the samples:System.Security.Cryptography.Pkcs,System.Security.Cryptography.XmlandNuGet.Packaging.EventPublishersample 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 ofTryCreateUsage(). 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
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.
LINQ —
Include()joined on the queried document's own idThree 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.42703: column d.id does not existin 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).42703, in a query session, when the query also calledStats(). 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.Stats()with anInclude()and aSelect()projection reportedTotalResultsas the size of the page rather than the number of matches, wheneverTake()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 beforeLIMIT— but re-applying the projection emitted a secondcount(*) over()against the already-truncated temp table.If you page a projected grid with
Stats()andInclude(), #5654 is the one to read.Event store
ERRORfor every attempt; underUseWolverineManagedEventSubscriptionDistributionthe leader does this for every store on a ten-second heartbeat, which is tens of thousands of server-sideERRORlines 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.IEventStore.FindDatabaseForTenantAsync, so a caller waiting on or querying a single tenant touches only that tenant's database instead of all of them. Goes throughITenancy.TryFindDatabase, neverFindOrCreateDatabase, so a lookup cannot bring an unknown tenant into existence.Native AOT
#5649 (partial) — a DCB
[BoundaryAggregate]fetch failed natively withMissingMethodException, becauseEventGraph.Build<TDoc>()closedSingleStreamProjection<,>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
db-patchdrop files no longer drop every schema withCASCADE; 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).Known issue
Stats()withInclude()and aSelect()projection is fixed here, but note that theInclude()itself still follows the page, not the match set — it reads from the same truncated temp table. Only the statistics column outlives theTake(). 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
GlobalLogBufferingOptions.IncludeScopesandPerRequestLogBufferingOptions.IncludeScopes(EXTEXP0003) #7813Breaking Changes to Experimental APIs
AddHttpLatencyTelemetryis renamed toAddHttpServerLatencyTelemetryand moves fromHttpLatencyTelemetryServiceCollectionExtensionstoHttpLoggingServiceCollectionExtensions. It remains experimental underEXTEXP0013in this release. #7730What's Changed
AI
AI Evaluation
Telemetry and Observability
ASP.NET Core Extensions
AI Project Templates
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
10.10.110.10.1What's Changed
AI
Acknowledgements
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
OPENAI001) #7724What's Changed
AI
AI Evaluation
Repository Infrastructure Updates
Acknowledgements
Full Changelog: dotnet/extensions@v10.9.0...v10.10.0
10.9.0
Version 10.9.0 is headlined by changes in these areas:
RoutingChatClientbase class, withSemanticRoutingChatClientas a concrete semantic-routing implementation. Separately, the abstractFailoverChatClientspecialization and its concreteOrderedFailoverChatClientimplementation add failover routing.Experimental API Changes
New Experimental APIs
EXTEXP0013) #7602MEAI001) #7662What's Changed
AI (
Microsoft.Extensions.AI,Microsoft.Extensions.AI.Abstractions, andMicrosoft.Extensions.AI.OpenAI)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.ResilienceandMicrosoft.Extensions.Http.Diagnostics)ASP.NET Core Extensions (
Microsoft.AspNetCore.Diagnostics.Middleware)Logging Source Generator (
Microsoft.Gen.Logging)AI Evaluation (
Microsoft.Extensions.AI.Evaluation.Reporting)Project Templates (
Microsoft.McpServer.ProjectTemplates)... (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 PlatformPackages in this release
What's Changed
Project templates
--provideroption is now required with no default (#7667).Aspire.Hosting.AppHostto13.4.6andCommunityToolkit.VectorData.SqliteVecto1.0.0-preview.4(alignedSystem.Linq.AsyncEnumerableto10.0.9), replacing earlier workaround package pins (#7639).Full Changelog
10.8.3
Packages in this release
Experimental API Changes
Experimental API behavior updates
ToolApprovalRequestContent.RequiresConfirmationso it no longer leaks into consumer source-generatedAIContentJSON metadata unless approval APIs are intentionally used (#7659).What's Changed
AI abstractions and serialization
RequiresConfirmationin source-generatedAIContentcontexts by using an internal JSON-included backing member while keeping the public experimental member ignored for source-generation metadata (#7659).Test Improvements
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
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
Acknowledgements
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
What's Changed
AI
Acknowledgements
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
GlobalLogBufferingOptions.IncludeScopesandPerRequestLogBufferingOptions.IncludeScopes(EXTEXP0003) #7813Breaking Changes to Experimental APIs
AddHttpLatencyTelemetryis renamed toAddHttpServerLatencyTelemetryand moves fromHttpLatencyTelemetryServiceCollectionExtensionstoHttpLoggingServiceCollectionExtensions. It remains experimental underEXTEXP0013in this release. #7730What's Changed
AI
AI Evaluation
Telemetry and Observability
ASP.NET Core Extensions
AI Project Templates
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
10.10.110.10.1What's Changed
AI
Acknowledgements
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
GlobalLogBufferingOptions.IncludeScopesandPerRequestLogBufferingOptions.IncludeScopes(EXTEXP0003) #7813Breaking Changes to Experimental APIs
AddHttpLatencyTelemetryis renamed toAddHttpServerLatencyTelemetryand moves fromHttpLatencyTelemetryServiceCollectionExtensionstoHttpLoggingServiceCollectionExtensions. It remains experimental underEXTEXP0013in this release. #7730What's Changed
AI
AI Evaluation
Telemetry and Observability
ASP.NET Core Extensions
AI Project Templates
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
10.10.110.10.1What's Changed
AI
Acknowledgements
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
GlobalLogBufferingOptions.IncludeScopesandPerRequestLogBufferingOptions.IncludeScopes(EXTEXP0003) #7813Breaking Changes to Experimental APIs
AddHttpLatencyTelemetryis renamed toAddHttpServerLatencyTelemetryand moves fromHttpLatencyTelemetryServiceCollectionExtensionstoHttpLoggingServiceCollectionExtensions. It remains experimental underEXTEXP0013in this release. #7730What's Changed
AI
AI Evaluation
Telemetry and Observability
ASP.NET Core Extensions
AI Project Templates
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
10.10.110.10.1What's Changed
AI
Acknowledgements
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
GlobalLogBufferingOptions.IncludeScopesandPerRequestLogBufferingOptions.IncludeScopes(EXTEXP0003) #7813Breaking Changes to Experimental APIs
AddHttpLatencyTelemetryis renamed toAddHttpServerLatencyTelemetryand moves fromHttpLatencyTelemetryServiceCollectionExtensionstoHttpLoggingServiceCollectionExtensions. It remains experimental underEXTEXP0013in this release. #7730What's Changed
AI
AI Evaluation
Telemetry and Observability
ASP.NET Core Extensions
AI Project Templates
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
10.10.110.10.1What's Changed
AI
Acknowledgements
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
event-model --urlstamps the pushed Event Model with its checkout root, repository and branch (dded67e95)AgentAssignmentsChangedis 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
opts.Durability.NodeRole = NodeRole.Warmupand 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 isNodeRole.Serving, and no schema change is needed. Docs: Marten · PolecatDurabilityMode.ServerlessWithOutbox(#5016, #5044). The leanServerlessruntime, but with the transactional outbox kept:JsonOptionswithout needingMapWolverineEndpoints(). Two new properties,HttpChain.JsonSerializerOptionsandHttpHandler.JsonSerializerOptions, give a single endpoint its own JSON options.chain.FailureLogLevel,opts.Policies.MessageFailureLogLevel(...)or[WolverineLogging(FailureLogLevel = ...)]. The default is stillError.Durability fixes
InboxStaleTime(#5022, #5025, #5039):Serverlessmode no longer fails at startup with RavenDB persistence.AddMessageHandlerhandler committing an ancillary sessionServerlessWithOutbox, a failed inline send is retried by the destination's sending agent.Serverlesswarns about durable endpoints downgraded after startup.Dependencies
System.Security.Cryptography.Pkcsadvisory GHSA-846f-f764-76mx.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.SqlServerandWeasel.Oraclenow reference the patched Pkcs directly.Polecatnow references the patched Pkcs directly. This also brings in Polecat 5.39 and 5.40.Marten,Marten.AspNetCoreandMarten.Newtonsoft. Marten was never affected by the advisory.Wolverine 6.50.1 already pinned the patched Pkcs in
WolverineFx.SqlServer,WolverineFx.OracleandWolverineFx.ClaimCheck.SqlServer, so applications on 6.50.1 were already protected. Those pins stay, because Wolverine referencesMicrosoft.Data.SqlClientandOracle.ManagedDataAccess.Coredirectly. 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
WolverineRuntimenow disposes itsMeter(#5012, #5013). The runtime'sSystem.Diagnostics.Metrics.Meterused to stay in the process-wide staticMeterregistry 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 manyWebApplicationFactoryorHostinstances with durable persistence saw the heap grow without bound. Thanks to @AndriiKononenko3 for the detailed report and the retention path.Security dependency updates
System.Security.Cryptography.Pkcs, high-severity denial of service). The package arrived transitively at vulnerable versions throughMicrosoft.Data.SqlClient,Oracle.ManagedDataAccess.Coreand Polecat.WolverineFx.SqlServer,WolverineFx.OracleandWolverineFx.ClaimCheck.SqlServernow reference the patched version directly: 9.0.21 on net9.0 and 10.0.13 on net10.0. Every package built on them, includingWolverineFx.PolecatandWolverineFx.Http.Polecat, picks up the fix.Microsoft.AspNetCore.SignalR.Common, high-severity denial of service).WolverineFx.SignalRnow depends onMicrosoft.AspNetCore.SignalR.Client9.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.BobcatandWolverineFx.Bobcat.Http, ship as6.50.0-alpha.1and 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: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 routesPublishAsync()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. InSoloandServerlessdurability modes the message is delivered to this node only, andMediatorOnlyrefuses it just likePublishAsync(). It's an extension method onIMessageBus, so no otherIMessageBusimplementation breaks, andTestMessageContextrecords broadcasts in a newBroadcastToAllNodeslist 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:
LISTEN/NOTIFYwakeups for PostgreSQL queues (#4998, closes #3480). WithEnableQueueNotifications(), 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.EnableDeterministicQueueOrdering()now preserves their order, and it was followed up for SQL Server, MySQL, Oracle and SQLite in #4987.[FromBody], add[FromBody]to keep binding it from the request.ReassignAgentcommands a minute. A partition that fits nowhere now st...Description has been truncated