Skip to content

Bump WolverineFx and WolverineFx.FluentValidation - #12

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/multi-3715d203f9
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/multi-3715d203f9

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 6, 2026

Copy link
Copy Markdown
Contributor

Updated WolverineFx from 6.61.0 to 6.62.0.

Release notes

Sourced from WolverineFx's releases.

6.62.0

This is a minor release on JasperFx 2.100.1, Weasel 9.49.0, Marten 9.58.0, Polecat 5.49.0 and Fisher 1.28.0. Upgrading is a package bump: there is no schema change and no breaking API change. If your projects pin JasperFx.Events.SourceGenerator centrally, pin it to the same version as JasperFx.Events (see the note at the end).

New

  • Sagas: [SagaIsResponseOnly] for an endpoint that returns a saga as its response (GH-5069).
  • PostgreSQL: PublishOnlyToShardedPostgresqlQueues, for publishing to sharded queues with no listeners (GH-5088).
  • EF Core: the transactional middleware's isolation level is configurable (GH-5207).
  • Azure Service Bus: support for externally owned topics (GH-5342).
  • HTTP:
    • a ProblemDetails factory for the 409 conflict mapping (GH-5353);
    • an AggregateException of concurrency failures maps to 409 (GH-5355);
    • OpenAPI describes query, header and form parameters with their data annotations;
    • [DeduplicatedWithResponse] replays ASP.NET Core IResult responses, and reads a replayed Location without per-request reflection (GH-5381).
  • Kafka: the replay group id can be set, with a kafka-replay --group-id option (thanks to new contributor @​Mr444-dev).
  • Testing:
    • WhenTracked sees events an application commits through its own injected IDocumentSession, on Marten, Polecat and Fisher (GH-5385, GH-5390);
    • GenerationRules.ReuseCompiledAssemblies (JasperFx 2.100.0) is documented and tested for many hosts in one process, in Dynamic and Auto modes, the codegen command and HTTP chains (GH-5378, GH-5391).
  • Event Model: EventModelReport prints the decider line beside starts (GH-5379), and scaffold turns a multi-event automation into one handler class (GH-5361).

Fixes

  • Local queues: buffered and durable local queues whose receiving block faulted are rebuilt (GH-5358), and DurableLocalQueue.StartAsync skips an already accepting queue and is serialized (GH-5348).
  • Inbox recovery into an inline endpoint with ListenerCount > 1 no longer recurses forever (GH-5363).
  • Middleware: an OnException returning a tuple generates code that compiles (GH-5356), and OnException handlers for the same exception type merge into one catch clause.
  • CloudEvents: CloudEventsMapper keeps the envelope id on re-read, with a stable id for non-Guid CloudEvent ids (GH-5364).
  • PostgreSQL: the scheduled-message poll gets the index SQL Server already had (GH-5346).
  • Scaffold no longer plans every emitted event as an Apply on every stream (GH-5360, a partial fix; the rest stays open).
  • Build: NU1903 (GHSA-p3jp-9v83-76w9) on Microsoft.DotNet.ILCompiler is cleared (GH-5387).

Pinning JasperFx centrally

Polecat 5.49.0 needs JasperFx 2.100.1. If JasperFx.Events is lifted to 2.100.1 while JasperFx.Events.SourceGenerator stays pinned at 2.100.0, the generator emits nothing and projections fail at run time with "No source-generated dispatcher found". Keep the two on one version (jasperfx#​1138).

What's Changed

Commits viewable in compare view.

Updated WolverineFx.FluentValidation from 6.60.0 to 6.62.0.

Release notes

Sourced from WolverineFx.FluentValidation's releases.

6.62.0

This is a minor release on JasperFx 2.100.1, Weasel 9.49.0, Marten 9.58.0, Polecat 5.49.0 and Fisher 1.28.0. Upgrading is a package bump: there is no schema change and no breaking API change. If your projects pin JasperFx.Events.SourceGenerator centrally, pin it to the same version as JasperFx.Events (see the note at the end).

New

  • Sagas: [SagaIsResponseOnly] for an endpoint that returns a saga as its response (GH-5069).
  • PostgreSQL: PublishOnlyToShardedPostgresqlQueues, for publishing to sharded queues with no listeners (GH-5088).
  • EF Core: the transactional middleware's isolation level is configurable (GH-5207).
  • Azure Service Bus: support for externally owned topics (GH-5342).
  • HTTP:
    • a ProblemDetails factory for the 409 conflict mapping (GH-5353);
    • an AggregateException of concurrency failures maps to 409 (GH-5355);
    • OpenAPI describes query, header and form parameters with their data annotations;
    • [DeduplicatedWithResponse] replays ASP.NET Core IResult responses, and reads a replayed Location without per-request reflection (GH-5381).
  • Kafka: the replay group id can be set, with a kafka-replay --group-id option (thanks to new contributor @​Mr444-dev).
  • Testing:
    • WhenTracked sees events an application commits through its own injected IDocumentSession, on Marten, Polecat and Fisher (GH-5385, GH-5390);
    • GenerationRules.ReuseCompiledAssemblies (JasperFx 2.100.0) is documented and tested for many hosts in one process, in Dynamic and Auto modes, the codegen command and HTTP chains (GH-5378, GH-5391).
  • Event Model: EventModelReport prints the decider line beside starts (GH-5379), and scaffold turns a multi-event automation into one handler class (GH-5361).

Fixes

  • Local queues: buffered and durable local queues whose receiving block faulted are rebuilt (GH-5358), and DurableLocalQueue.StartAsync skips an already accepting queue and is serialized (GH-5348).
  • Inbox recovery into an inline endpoint with ListenerCount > 1 no longer recurses forever (GH-5363).
  • Middleware: an OnException returning a tuple generates code that compiles (GH-5356), and OnException handlers for the same exception type merge into one catch clause.
  • CloudEvents: CloudEventsMapper keeps the envelope id on re-read, with a stable id for non-Guid CloudEvent ids (GH-5364).
  • PostgreSQL: the scheduled-message poll gets the index SQL Server already had (GH-5346).
  • Scaffold no longer plans every emitted event as an Apply on every stream (GH-5360, a partial fix; the rest stays open).
  • Build: NU1903 (GHSA-p3jp-9v83-76w9) on Microsoft.DotNet.ILCompiler is cleared (GH-5387).

Pinning JasperFx centrally

Polecat 5.49.0 needs JasperFx 2.100.1. If JasperFx.Events is lifted to 2.100.1 while JasperFx.Events.SourceGenerator stays pinned at 2.100.0, the generator emits nothing and projections fail at run time with "No source-generated dispatcher found". Keep the two on one version (jasperfx#​1138).

What's Changed

6.61.0

This is a minor release. Upgrading is a package bump only: there is no schema change and no breaking API change.

New

  • GH-5320 (#​5326): Recurring schedules can now run as often as every second, and a schedule can skip an occurrence while the previous one is still running.
    • CronSchedule.MinimumCadence is now one second, for six-field cron expressions such as * * * * * *. Anything faster than five seconds always runs on a timer agent, and UseScheduledMessages() refuses it.
    • The new SkipWhileRunning() on a recurring schedule invokes each occurrence instead of publishing it. An occurrence that comes due while the previous one is still running is skipped, and skipped occurrences are not made up later. Skips are logged and counted in the new wolverine-recurring-occurrences-skipped metric.
    • With a local handler, the occurrence runs on the node that owns the schedule's timer agent, so overlap is prevented across the cluster. Because the occurrence is invoked, other subscribers don't receive it, and it has no inbox row, queue error policy or dead letter queue. A failed occurrence is logged and the next one runs on schedule. With a handler on another node, the wait is capped at 5 seconds.
    • A one-second schedule writes about 86,400 deduplication rows a day.
  • GH-5317 (#​5323): PauseThenCatchUpOnAllMartenDaemonActivityAsync() and the tracked-session option PauseThenCatchUpOnAllMartenDaemonActivity() catch up the main Marten store and every ancillary store registered with IntegrateWithWolverine() in one call. A store with no events is skipped.
  • GH-5311 (#​5324): A failed handler attempt now records the OpenTelemetry exception event (exception.type, exception.message, exception.stacktrace) on its span, instead of only the exception's type name. Exception messages can carry application data, so you can turn this off with opts.Tracking.RecordExceptionsOnSpans = false.
  • GH-5339 (#​5341): EntityDescriptor.Ddl now carries each EF Core entity's CREATE TABLE script, with its keys, foreign keys and indexes, the same way DocumentMappingDescriptor.Ddl does for documents. It's generated from the model, so no connection is opened, and it's the model's script rather than the database's. Non-relational providers and view-mapped entities leave it empty. Needs JasperFx 2.99.0.
  • GH-5332 (#​5338): Wolverine HTTP endpoints now tag the request span with http.route and http.request.method, the OpenTelemetry semantic convention names, alongside handler.type. Both are constants in the generated code. Pre-generated code should be regenerated.
  • Dead letter queries can filter their time range on the failure time with the new DeadLetterEnvelopeQuery.RangeOn (DeadLetterTimeField.SentAt or FailedAt) (#​5330). FailedAt falls back to sent_at when failed_at is null, and applies to query, replay, discard and archive. The default stays SentAt. Supported by the PostgreSQL, SQL Server, MySQL, SQLite, Oracle, CosmosDb and RavenDb stores.

Fixes

  • GH-5310 (#​5328): With Marten's TrackConnections turned on, the handler, saga and stream tags (handler.type, message.handler, wolverine.saga.*, wolverine.stream.*) landed on the marten.connection span instead of the message's own span. They now stay on the message span, and on the request span for HTTP endpoints. Pre-generated code should be regenerated.
  • GH-5312 (#​5327): A durable ScheduleRetry(...) lost the link to the attempt that failed, because the stored envelope body wasn't rewritten when the retry was scheduled. Every message store now rewrites the body when it reschedules an envelope.
  • GH-5313 (#​5321): Azure Service Bus queues and subscriptions and Amazon SQS queues now report DeadLetterStorageMode.NativeWithRecovery when EnableDeadLetterQueueRecovery() drains them, so CritterWatch's startup check no longer warns about them.
  • GH-5314 (#​5325): With RabbitMQ's EnableDeadLetterQueueRecovery(), stopping the host could throw AlreadyClosedException when two stops ran at once, as they do under WebApplicationFactory. Stopping the dead letter queue listener is now idempotent and never throws.
  • GH-5315 (#​5322): FindSingleTrackedMessageOfType<T>() now counts envelopes rather than distinct message values, so publishing two equal records fails the check. A message sent to several destinations still counts once. Use tracked.Sent.SingleMessage<T>() for a check per destination.
  • GH-5318 (#​5319): The testing docs now explain that the pause in PauseThenCatchUpOnMartenDaemonActivity waits out the high water agent's current poll tick. The fix is JasperFx/jasperfx#​1100.
  • GH-5331 (#​5336): With runtime code generation, each saga message disappeared from ServiceCapabilities.Sagas once it had been handled, and the saga disappeared once every message had been. The saga report, including each store's GetRegisteredSagasAsync, now reads the same before and after the chains compile.
  • GH-5334 (#​5337): In Balanced mode, lifting a pause on a URI that no agent owns, such as a listening endpoint, waited out AgentRestrictionConfirmationTimeout and then threw AgentRestrictionsNotConfirmedException. It now returns at once. Agent URIs are still confirmed as before.
  • Sessions the application opens itself and enrolls with IPolecatOutbox.Enroll or IFisherOutbox.Enroll never flushed their outgoing messages on commit (#​5309). Durable messages waited until a restart and buffered messages were lost. They now flush on commit, the same as handler sessions, and the incoming envelope is marked handled once instead of twice.

Dependencies

  • JasperFx 2.99.0 (#​5333 took 2.98.0, #​5341 2.99.0).
  • Weasel 9.48.0 and MySqlConnector 2.6.1 (#​5335). MySqlConnector 2.6.1 closes GHSA-473q-m89c-ghf8 for WolverineFx.MySql. On SQL Server, a DateTime parameter in a message store command now goes out as datetime2 instead of datetime. Every envelope time column is datetimeoffset, so no column is converted either way.

Thanks to @​uniquelau for #​5313, #​5314, #​5315, #​5317 and #​5318, and to @​lahma for #​5330.

Full Changelog: JasperFx/wolverine@V6.60.0...V6.61.0

Commits viewable in compare view.

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps WolverineFx from 6.61.0 to 6.62.0
Bumps WolverineFx.FluentValidation from 6.60.0 to 6.62.0

---
updated-dependencies:
- dependency-name: WolverineFx
  dependency-version: 6.62.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: WolverineFx.FluentValidation
  dependency-version: 6.62.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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 Nov 6, 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