Repository navigation
Conversation
Bumps Marten from 9.54.2 to 9.55.0 Bumps WolverineFx from 6.56.0 to 6.59.0 Bumps WolverineFx.RuntimeCompilation from 6.56.0 to 6.59.0 --- updated-dependencies: - dependency-name: Marten dependency-version: 9.55.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: backend-dependencies - dependency-name: WolverineFx dependency-version: 6.59.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: backend-dependencies - dependency-name: WolverineFx.RuntimeCompilation dependency-version: 6.59.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: backend-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
|
Backend coverage
Full report: the coverage artifact of this run. |
kimipsen
approved these changes
Oct 30, 2026
kimipsen
deleted the
dependabot/nuget/src/backend/backend-dependencies-e68a01125f
branch
October 30, 2026 07:21
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.



Updated Marten from 9.54.2 to 9.55.0.
Release notes
Sourced from Marten's releases.
9.55.0
Read before upgrading
Apps running under a Turkish or Azerbaijani culture (
tr-TR,az-AZ) with document types whose names contain an uppercaseI. Document aliases (#5778),DdlTemplatelookups and flat-table upsert function names (#5783) are now lowered with the invariant culture. Before this release, those cultures turnedIinto a dotlessı, so a document typeInvoicewas stored inmt_doc_ınvoice. From 9.55.0 it maps tomt_doc_invoice, and Marten will create that table empty. Rename the existing tables (and their upsert functions) to the invariant name before upgrading, or the existing documents will appear to be missing. Apps on any other culture are unaffected: the names they generate are unchanged.Behaviour change:
StoredDocument.Versionfor projection documents (#5773). For a mapping that usesUseVersionFromMatchingStreamwith revisions, the diagnostics version token is now<mt_version>:<mt_last_modified as epoch microseconds>(or an md5 of the document body when last-modified tracking is disabled). It used to bemt_versionalone, which did not change when the daemon rewrote the document at the same stream version. Anything that parsed the token as an integer must be updated. Undeleting a projection document through the diagnostics writer also no longer bumpsmt_versionpast the stream's version.Fixes worth calling out
x.Inner.Value, instead of falling back to the JSONB path.TrackConnections = TrackLevel.Verbose, amarten.append.eventactivity event is now emitted on every append route, including the Quick routes that are the V9 default. Expect more events per append than before.DatabaseSchemaNamethat is a reserved word or contains uppercase. Before, every schema apply after the first failed with42P07(weasel#750, contributed by @marc-RocketRez).StreamPagedByCursorwrites each page's bytes directly and disposes its pooled stream (#5776, @chrisbbe).What's Changed
New Contributors
Full Changelog: JasperFx/marten@v9.54.2...V9.55.0
Commits viewable in compare view.
Updated WolverineFx from 6.56.0 to 6.59.0.
Release notes
Sourced from WolverineFx's releases.
6.59.0
New
ScheduledMessageSummary.SagaIdreports the saga id carried by each scheduled envelope. The newScheduledMessageQuery.SagaIdlimitsQueryAsyncandCancelAsyncto one saga's scheduled messages, such as its pending timeouts.PageSizeandTotalCountstay exact. On a large scheduled backlog, narrow the query withMessageTypeor an execution-time window as well.CancelAsyncwith aSagaIdthat matches nothing cancels nothing.PageSize <= 0as "read every match", as the RDBMS stores already did.WolverineFx.AI'sAddLlmCallouts()now works underTypeLoadMode.Staticwhen the application's pre-generated code was written without it. A library can ship its own static codegen and a host can add LLM callouts on top. In Static mode, callouts run on a pre-built handler that needs no generated code. Every other mode is unchanged.LlmCalloutOptions.ConfigureChain(Action<HandlerChain>)customizes the callout chain in any mode.IHandlerPolicydoesn't reach the pre-built handler.DeduplicateCalloutsis refused at startup in Static mode, because deduplication is woven into generated code.Fixes
IHost.StopAsync()cancels mid-flight is no longer logged as a send failure. Azure Service Bus hands the runtime's cancellation token to the SDK, so an orderly shutdown used to produce two Error lines for a batch that was never lost. A durable agent now logs it at Information, because the envelopes stay in the outbox and are recovered on restart. A non-durable agent logs it at Warning, because those messages were not sent. A shutdown cancellation no longer counts toward the circuit breaker or the sending failure policies. A cancellation while the application is still running, or any other exception during shutdown, is still logged at Error.6.58.0
New
GH-5279 (#5280, #5282): New opt-in
Durability.UseTransactionScopedDurabilityPassLockfor PostgreSQL. The serverless durability pass takes a transaction-scoped advisory lock (pg_try_advisory_xact_lock) instead of a session lock. This makes the pass lock safe behind a transaction-mode pooler such as PgBouncer or Supabase's pooler, where a session lock can leak onto a pooled connection or be held by two passes at once. #5282 hardens it:TransactionScopeidle_in_transaction_session_timeoutcan no longer drop the lock in the middle of a passWolverine also logs a one-time warning when the store doesn't support the setting, or when extension steps such as Marten's projection catch-up run under the open lock transaction. That open transaction can stall Marten's gap detection, which is tracked in JasperFx/marten#5791. See the serverless guide.
Fixes
ProcessingFailureinstead ofReceivedwhen its inbox could not store a batch. The sender keeps the batch and retries it, and a late duplicate is deduplicated by id. gRPC listeners can't be durable, so they aren't affected. A guard test now pins that.Durability.EnableInboxPartitioning, PostgreSQL's durable inbox now refuses a redelivery whose identity was already handled. Before, the kept Handled row sat in a different partition and didn't collide, so the redelivery was handled a second time. This completes the stable-id deduplication from 6.57.0 for partitioned inboxes.6.57.0
New
XmlSerializer, and they no longer have to switch to JSON before a migration to Wolverine can start. Every NServiceBus interop endpoint (Rabbit MQ, Azure Service Bus, Amazon SQS and SNS, and the SQL Server and PostgreSQL NServiceBus transports) now reads both JSON and XML, choosing per message from theNServiceBus.ContentTypeheader. To send XML, use the newNServiceBusXmlSerializer:.UseNServiceBusInterop().DefaultSerializer(new NServiceBusXmlSerializer()). Because one endpoint reads both formats, NServiceBus endpoints can also move from XML to JSON gradually. See XML Serialization with NServiceBus.Informationinstead of as an error.WolverineHttpOptions.RejectUnparseableHeaderValuesanswers 400 with ProblemDetails when a[FromHeader]value can't be parsed.Fixes
UseForReplies(). Wolverine used to give NServiceBus its ownwolverine.response.{guid}system queue as the reply address, which NServiceBus can't reach, so every reply ended up in NServiceBus's error queue.DurabilityAgent.StopAsync()now cancels its in-flight durability command and waits for it to finish. Before, a command still running at shutdown could outlive the host and fail against a disposed data source.WithDbContextAbstractionnow reuses the tenant DbContext, so repository writes, the save and outbox enrollment all use one context. This could previously fail code generation.[FromHeader]header binds the comma-joined values instead of answering 500.AndPauseProcessing()chained afterScheduleRetryIndefinitely()/RequeueIndefinitely()now apply, including to the open-ended attempts after the listed delays.Dependencies
Docs and build
./build.sh LocalGateruns every CI suite on one machine (GH-5125, #5246). The CI suites are rebalanced to stay under the 20 minute job limit (#5267), and the scaffold tests now pass on Windows (GH-5255, #5264).Commits viewable in compare view.
Updated WolverineFx.RuntimeCompilation from 6.56.0 to 6.59.0.
Release notes
Sourced from WolverineFx.RuntimeCompilation's releases.
6.59.0
New
ScheduledMessageSummary.SagaIdreports the saga id carried by each scheduled envelope. The newScheduledMessageQuery.SagaIdlimitsQueryAsyncandCancelAsyncto one saga's scheduled messages, such as its pending timeouts.PageSizeandTotalCountstay exact. On a large scheduled backlog, narrow the query withMessageTypeor an execution-time window as well.CancelAsyncwith aSagaIdthat matches nothing cancels nothing.PageSize <= 0as "read every match", as the RDBMS stores already did.WolverineFx.AI'sAddLlmCallouts()now works underTypeLoadMode.Staticwhen the application's pre-generated code was written without it. A library can ship its own static codegen and a host can add LLM callouts on top. In Static mode, callouts run on a pre-built handler that needs no generated code. Every other mode is unchanged.LlmCalloutOptions.ConfigureChain(Action<HandlerChain>)customizes the callout chain in any mode.IHandlerPolicydoesn't reach the pre-built handler.DeduplicateCalloutsis refused at startup in Static mode, because deduplication is woven into generated code.Fixes
IHost.StopAsync()cancels mid-flight is no longer logged as a send failure. Azure Service Bus hands the runtime's cancellation token to the SDK, so an orderly shutdown used to produce two Error lines for a batch that was never lost. A durable agent now logs it at Information, because the envelopes stay in the outbox and are recovered on restart. A non-durable agent logs it at Warning, because those messages were not sent. A shutdown cancellation no longer counts toward the circuit breaker or the sending failure policies. A cancellation while the application is still running, or any other exception during shutdown, is still logged at Error.6.58.0
New
GH-5279 (#5280, #5282): New opt-in
Durability.UseTransactionScopedDurabilityPassLockfor PostgreSQL. The serverless durability pass takes a transaction-scoped advisory lock (pg_try_advisory_xact_lock) instead of a session lock. This makes the pass lock safe behind a transaction-mode pooler such as PgBouncer or Supabase's pooler, where a session lock can leak onto a pooled connection or be held by two passes at once. #5282 hardens it:TransactionScopeidle_in_transaction_session_timeoutcan no longer drop the lock in the middle of a passWolverine also logs a one-time warning when the store doesn't support the setting, or when extension steps such as Marten's projection catch-up run under the open lock transaction. That open transaction can stall Marten's gap detection, which is tracked in JasperFx/marten#5791. See the serverless guide.
Fixes
ProcessingFailureinstead ofReceivedwhen its inbox could not store a batch. The sender keeps the batch and retries it, and a late duplicate is deduplicated by id. gRPC listeners can't be durable, so they aren't affected. A guard test now pins that.Durability.EnableInboxPartitioning, PostgreSQL's durable inbox now refuses a redelivery whose identity was already handled. Before, the kept Handled row sat in a different partition and didn't collide, so the redelivery was handled a second time. This completes the stable-id deduplication from 6.57.0 for partitioned inboxes.6.57.0
New
XmlSerializer, and they no longer have to switch to JSON before a migration to Wolverine can start. Every NServiceBus interop endpoint (Rabbit MQ, Azure Service Bus, Amazon SQS and SNS, and the SQL Server and PostgreSQL NServiceBus transports) now reads both JSON and XML, choosing per message from theNServiceBus.ContentTypeheader. To send XML, use the newNServiceBusXmlSerializer:.UseNServiceBusInterop().DefaultSerializer(new NServiceBusXmlSerializer()). Because one endpoint reads both formats, NServiceBus endpoints can also move from XML to JSON gradually. See XML Serialization with NServiceBus.Informationinstead of as an error.WolverineHttpOptions.RejectUnparseableHeaderValuesanswers 400 with ProblemDetails when a[FromHeader]value can't be parsed.Fixes
UseForReplies(). Wolverine used to give NServiceBus its ownwolverine.response.{guid}system queue as the reply address, which NServiceBus can't reach, so every reply ended up in NServiceBus's error queue.DurabilityAgent.StopAsync()now cancels its in-flight durability command and waits for it to finish. Before, a command still running at shutdown could outlive the host and fail against a disposed data source.WithDbContextAbstractionnow reuses the tenant DbContext, so repository writes, the save and outbox enrollment all use one context. This could previously fail code generation.[FromHeader]header binds the comma-joined values instead of answering 500.AndPauseProcessing()chained afterScheduleRetryIndefinitely()/RequeueIndefinitely()now apply, including to the open-ended attempts after the listed delays.Dependencies
Docs and build
./build.sh LocalGateruns every CI suite on one machine (GH-5125, #5246). The CI suites are rebalanced to stay under the 20 minute job limit (#5267), and the scaffold tests now pass on Windows (GH-5255, #5264).Commits viewable in compare view.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions