Skip to content

Bump WolverineFx from 5.37.0 to 6.13.1#2200

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/nuget/WolverineFx-6.13.1
Open

Bump WolverineFx from 5.37.0 to 6.13.1#2200
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/nuget/WolverineFx-6.13.1

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Updated WolverineFx from 5.37.0 to 6.13.1.

Release notes

Sourced from WolverineFx's releases.

6.13.1

Patch release on the 6.x line — a Critter Stack dependency refresh plus one targeted fix. No breaking changes.

🐛 Fixes

  • DLQ admin readers tolerate a NULL received_at (#​3165) — the dead-letter explorer could report 0 messages even when dead letters existed; the RDBMS DLQ readers now handle a null received_at column.

⬆️ Dependencies

  • Weasel 9.1.5 → 9.2.3 (#​3166) — refreshes all seven Weasel packages (Core, EntityFrameworkCore, MySql, Oracle, Postgresql, SqlServer, Sqlite). Clean restore + Release build against the current Marten/JasperFx pins.

Full Changelog: JasperFx/wolverine@V6.13.0...V6.13.1

6.13.0

Wolverine 6.13.0 on the 6.0 line (JasperFx 2.x, net9.0/net10.0). The headline is a top-to-bottom Kafka integration re-evaluation (epic #​3134) that makes the transport idiomatic and high-throughput, plus [AsParameters] HTTP fidelity fixes and event-subscription/projection-distribution hardening. No breaking changes.

🚀 Kafka integration re-evaluation (#​3134)

  • Commit-strategy overhaul with CommitMode (#​3152) — StoreThenAutoFlush (default, non-blocking idiomatic throughput), PerMessage, and CommitOffsetsAfterCount/AfterInterval batch modes.
  • In-flight-safe offset watermark across all commit strategies (#​3162) — under concurrent out-of-order completion the committed/stored position never advances past a still-in-flight message; tolerates compacted/read_committed offset gaps.
  • Scale-out & concurrency — cooperative-sticky rebalancing + static membership (#​3154), and opt-in intra-partition concurrency by key with ordered-per-key guarantees via the durable inbox (#​3158).
  • Cold start vs. live tail — first-class AutoOffsetReset and ephemeral hot-tail / broadcast consume (#​3155).
  • Bounded one-shot topic replay by offset/timestamp via Assign (#​3156).
  • Idempotency & exactly-once — idempotent producer + read_committed isolation, with EOS guidance (#​3157).
  • Non-blocking tiered retry topics via the OnException<T>().MoveToKafkaRetryTopic(...) DSL (#​3160).
  • Fix: ExtendConsumerConfiguration now preserves parent/global consumer settings (#​3151).

🌐 HTTP — [AsParameters] (#​3135)

  • OpenAPI route-type fidelity + multiple-body guard (#​3141)
  • Optional [FromBody] in [AsParameters]: binds null with required:false (#​3142)
  • Fix [AsParameters] + [FromBody] + [WriteAggregate] codegen 500 (#​3143/#​3144)
  • Docs: [AsParameters] as the idiomatic route/body split (#​3145)

🗄️ Event subscriptions, projections & distribution

  • Lift event-subscription distribution into core; fix Polecat managed distribution (#​3136, closes #​3133)
  • Rebuild a registered projection with no live agent — Inline/Live/undistributed (#​3163)
  • Fix: SQL Server node-capabilities delimiter must be newline, not comma — Polecat managed-distribution startup crash (#​3164)

🐛 Other fixes

  • Fix circuit breaker (#​3132) and RabbitMQ post-#​3132 cleanup (#​3138)

Full Changelog: JasperFx/wolverine@V6.12.0...V6.13.0

6.12.0

What's Changed

Full Changelog: JasperFx/wolverine@V6.11.0...V6.12.0

6.11.0

The Polecat change was necessary for CritterWatch persistence with SQL Server. The inbox cleanup should help with very busy Wolverine systems be a bit easier on databases.

What's Changed

Full Changelog: JasperFx/wolverine@V6.10.0...V6.11.0

6.10.0

New Polecat integration for ancillary store support within Wolverine that folks doing modular monoliths will want -- and we needed in CritterWatch post haste. Also new options for configuring Redis.

What's Changed

Full Changelog: JasperFx/wolverine@V6.9.0...V6.10.0

6.9.0

This release was mostly about CritterWatch, but does have some new DLQ functionality, which was meant to complement CritterWatch. Couple bug fixes too though.

What's Changed

Full Changelog: JasperFx/wolverine@V6.8.0...V6.9.0

6.8.0

What's Changed

New Contributors

Full Changelog: JasperFx/wolverine@V6.7.0...V6.8.0

6.7.0

What's Changed

Full Changelog: JasperFx/wolverine@V6.6.0...V6.7.0

6.6.0

What's Changed

Full Changelog: JasperFx/wolverine@V6.5.1...V6.6.0

6.5.1

This is a super small change for CritterWatch testing.

What's Changed

Full Changelog: JasperFx/wolverine@V6.5.0...V6.5.1

6.5.0

One new API in the Kafka support, but mostly just some bug fixes and extra test coverage for the Marten integration

What's Changed

New Contributors

Full Changelog: JasperFx/wolverine@V6.4.1...V6.5.0

6.4.1

Just hardening Wolverine against a condition that only happens (we think) in CritterWatch

What's Changed

Full Changelog: JasperFx/wolverine@V6.4.0...V6.4.1

6.4.0

This release was 100% about CritterWatch and does not impact any other functionality

What's Changed

Full Changelog: JasperFx/wolverine@V6.3.2...V6.4.0

6.3.2

What's Changed

Full Changelog: JasperFx/wolverine@V6.3.0...V6.3.2

6.3.0

The top line change here was a lot of work to make Wolverine able to pre-generate code as F# in addition to the existing C# model.

What's Changed

Full Changelog: JasperFx/wolverine@V6.2.2...V6.3.0

6.2.2

Patch release on top of 6.2.1.

🐛 Bug Fixes / Codegen

#​2963 (closes #​2958): EF Core transaction middleware + post-save cascade flush

The HTTP-handler codegen path under the EF Core transaction middleware + outbox cascade (GH-536) no longer fails handler compilation. Two related codegen issues addressed in this PR:

  • CS0128 duplicate var messageContext declaration in the generated handler. Cherry-picked from #​2959, originally authored by @​kentcooper — credit preserved on commit 9df45bfde. Root cause: MessageBusSource was returning a fresh CreateMessageContextWithMaybeTenantFrame per call; once cached + always returning the concrete MessageContext, the duplicate goes away.
  • CS1061 'IMessageContext' does not contain a definition for EnqueueCascadingAsync — surfaced after the cache fix because once the source produced a concrete MessageContext Variable, the downstream CaptureCascadingMessages frame still declared its MethodCall target as typeof(IMessageContext) and emitted a bad ((IMessageContext)messageContext).EnqueueCascadingAsync(…) cast. Fixed by re-targeting CaptureCascadingMessages to the concrete MessageContext type — mirrors the existing FlushOutgoingMessages pattern. Latent in src/Wolverine/Runtime/Handlers/CaptureCascadingMessages.cs since 020e79013e (2022-09-16); the variable-cache fix is what flipped it from masked to visible.

📦 Dependency bumps

  • JasperFx + JasperFx.Events + JasperFx.Events.SourceGenerator + JasperFx.SourceGenerator 2.2.1 → 2.2.3
  • JasperFx.RuntimeCompiler unchanged (own 5.x line, stays at 5.0.0)
  • Marten / Polecat unchanged (9.2.0 / 4.2.1)

Upstream JasperFx 2.2.2 release: https://github.com/JasperFx/jasperfx/releases/tag/V2.2.2 (Fix source-created codegen variable reuse, #​392). 2.2.3 was a same-day version-bump-only re-roll.

📖 Documentation

  • #​2960 (@​outofrange-consulting): clarify the JasperFx command-line integration link in the diagnostics docs.
  • #​2964 (closes #​2962): re-align the dead-letter REST API reference with the current DeadLetterEnvelopeGetRequest / DeadLetterEnvelopeResults / DeadLetterEnvelopeIdsRequest signatures — the docs still described the pre-5 cursor-based pagination (StartId/NextId) and the legacy DeadLetterEnvelopesFoundResponse wrapper. Updated for offset-based PageNumber pagination, the multi-store IReadOnlyList<DeadLetterEnvelopeResults> response shape, and tenant-aware Ids request bodies.

🧪 Known issues

  • #​2965: SharedMemory transport does not serialize envelopes on cross-host send. Surfaces as a MartenTests.Distribution.with_ancillary_stores.spread_out_over_multiple_hosts failure where AssignAgent system commands arrive at the destination node with empty Data/MessageType and the receive pipeline can't deserialize them. Long-standing — the marten CI workflow has been red on this test through V6.2.0 and V6.2.1, predates this release line entirely. Unblocked the V6.2.2 cycle by adding [Fact(Skip = "…")] referencing #​2965; the underlying serialization bug is tracked separately and is out of scope for a JasperFx pin-bump patch release.

Full changelog: JasperFx/wolverine@V6.2.1...V6.2.2

6.2.1

Patch release picking up upstream JasperFx 2.2.1 fixes. No Wolverine code changes — pure dependency bump.

Bumped pins

Package From To
JasperFx 2.2.0 2.2.1
JasperFx.Events 2.2.0 2.2.1
JasperFx.Events.SourceGenerator 2.2.0 2.2.1
JasperFx.SourceGenerator 2.2.0 2.2.1

Unchanged

Package Version Reason
JasperFx.RuntimeCompiler 5.0.0 Own 5.x line — the Roslyn runtime-compiler package was decoupled from the JasperFx 2.x family in #​2876.
Marten family 9.2.0 Latest.
Polecat 4.2.1 Latest (bumped in 6.2.0 via #​2947).

Related links

6.2.0

Bug-fix + feature release on top of 6.1.0 — 13 PRs.

✨ New features

Custom Result<T> Support — #​2952 (refs #​2221)

First three phases of native Result<T>-style handler return-value support: ResultPolicy registry, handler-side unwrapping seams, and caller-side InvokeAsync<T> unwrap. Lays the groundwork for integrating with libraries like ErrorOr, OneOf, FluentResults, etc.

DbContext Abstractions for EF Core Transaction Middleware — #​2919, #​2954

The EF Core transaction middleware now binds correctly when handler parameters are declared as interface or abstract base abstractions over a concrete DbContext. Multiple abstractions to the same DbContext are supported in a single handler — the runtime resolves them all to the same scoped instance, and the transaction still auto-applies.

📖 DbContext Abstractions docs

🚀 Performance

Outgoing Envelope Pooling — #​2956 (closes #​2955)

MessageRouter.RouteForPublish now acquires from the runtime envelope pool (originally introduced in #​2741 for the Executor sites in 6.1.0) when the route's sender is an InlineSendingAgent or BufferedSendingAgent. Measured −504 B/op (−90 %) on the transport-bound publish/send paths in the CritterStackScalability harness, with ~10× fewer Gen0 collections per 1k ops. DurableSendingAgent, local-queue agents, and ISenderRequiresCallback senders are explicitly excluded — different lifecycle plumbing required, tracked as follow-ups.

🐛 Bug fixes

Marten / Polecat

  • #​2943 Fix scheduled-cascade loss from [ReadAggregate] / [DocumentExists] handlers (closes #​2941).
  • #​2948 Pre-populate chain.AncillaryStoreType in Phase A so the inbox-routing map sees [MartenStore] (closes #​2944).
  • #​2947 Bump Polecat 4.1.1 → 4.2.1 and unskip the three Polecat scheduled-cascade tests.

Persistence (Postgres / MySQL)

  • #​2945 Route PostgresqlQueue identifiers through Weasel's PostgresqlIdentifier.Shorten() so long queue names don't overflow Postgres's 63-byte identifier limit (closes #​2942).
  • #​2946 Emit PersistNodeRecord SQL with unquoted schema (MySQL, closes #​2940).

Pulsar

  • #​2950 Fix KeyNotFoundException acking batch messages on partitioned topics (supersedes #​2883).

Distributed agents

  • #​2951 Bump remote-node agent InvokeAsync<T> reply timeout 10 s → 30 s (closes #​2949).

Quality

  • #​2894 Dispose more resources (@​dmytro-pryvedeniuk).

📖 Documentation

  • #​2953 AOT callout for FluentValidation in the HTTP validation guide (addresses #​2910). 📖 HTTP validation docs
  • #​2954 Extended docs + scenario tests for the new EF Core DbContext abstractions (above).

📦 Dependency bumps

  • Polecat 4.1.1 → 4.2.1 (#​2947).

Full changelog: JasperFx/wolverine@V6.1.0...V6.2.0
... (truncated)

6.1.0

Wolverine 6.1.0

Minor release. Critter Stack dependency refresh, plus the rollup of the entire post-6.0.0 6.0.x line — most significantly the AOT runtime-scanning-elimination work and a new command-line handler-discovery diagnostic.

ℹ️ There was no standalone 6.0.1 tag/GitHub release (it shipped as a NuGet version only), so the changelog below covers every PR merged since 6.0.0 — which includes everything released as 6.0.1 through 6.0.3.

Dependencies

  • Marten / Marten.AspNetCore / Marten.Newtonsoft: 9.0.19.2.0
  • JasperFx.* (non-RuntimeCompiler): 2.1.32.2.0 (#​2938)
  • Polecat: 4.1.1 (unchanged — already latest)
  • JasperFx.RuntimeCompiler: 5.0.0 (unchanged — own 5.x line)

Marten 9.2.0 now bundles JasperFx.Events.SourceGenerator as an analyzer, so projects referencing Wolverine.Marten receive it transitively. The previously-explicit analyzer references were dropped from the 8 Marten-referencing projects to avoid running the generator twice, which produced duplicate Evolve/*Evolver build errors (#​2939). PolecatTests retains its explicit reference because Polecat does not bundle the generator.

New & Noteworthy

AOT: eliminate runtime assembly scanningAOT Publishing. Static-mode apps no longer scan assemblies at startup; discovery now flows through source-generated manifests:

  • Handlers + message types — #​2906 / #​2928
  • HTTP endpoints — #​2925 / #​2929
  • gRPC services (incl. the direct-mapped mode) — #​2926 / #​2930 / #​2934
  • [WolverineHandlerModule] assemblies, with no filesystem probe — #​2905 / #​2935
  • Extension discovery manifest — #​2902 / #​2918
  • Remaining ad-hoc discovery scans routed through JasperFx TypeQuery — #​2909 / #​2932
  • Generated HTTP/gRPC types attached by full name instead of a GetTypes() scan — #​2908 / #​2936

Command-line handler-discovery diagnosticCommand Line Integration · Command Line Diagnostics tutorial. New dotnet run -- wolverine-diagnostics describe-handlers <Type> runs DescribeHandlerMatch from the CLI so you can troubleshoot handler discovery without editing your bootstrapping code — #​2921 / #​2923

Build-time OpenAPI generationCommand Line Integration. dotnet run -- openapi generates the OpenAPI document without starting the host (no database/broker required) — #​2903 / #​2911

SQS fair queues on standard queues — support MessageGroupId on standard Amazon SQS queues — #​2886 / #​2889

SignalR ClaimsPrincipal — the connection's ClaimsPrincipal is now exposed on SignalREnvelope — #​2927 / #​2937

EF Core transactional outbox timing fix — the EF Core transaction and outbox flush now complete before the HTTP response is written — #​2917 / #​2920

Mixed-lifetime IEnumerable<T> support; Lamar removed — handlers depending on a mixed singleton/scoped IEnumerable<T> now resolve every element correctly; Lamar is no longer used or supported, and the built-in ServiceProvider is the container — #​2896 / #​2914

Aggregate handler naming clarity — clarified and guarded the *AggregateHandler naming convention vs. [ReadAggregate] — #​2924

Production code-generation guidanceCode Generation. How to drop Roslyn from production images, with a linked CqrsMinimalApi sample — #​2900 / #​2912

Bug fixes

  • Ancillary store outbox schema for projection side effects — #​2887 / #​2888
  • NRE from null-Sender routes built during description mode — #​2897 / #​2899

What's Changed

6.0.0

Wolverine 6.0.0 — Critter Stack 2026

The messaging/orchestration release completing the Critter Stack 2026 wave, on the final foundation (JasperFx 2.0 / Weasel 9.0 / Marten 9.0 / Polecat 4.0).

Highlights

  • Foundation (final): JasperFx 2.0.0 / JasperFx.RuntimeCompiler 5.0.0 / Marten 9.0.0 / Polecat 4.0.0 / Weasel 9.0.0. Targets net9.0;net10.0.
  • Runtime codegen decoupled from core (BREAKING): WolverineFx no longer ships Roslyn. Apps in the default TypeLoadMode.Dynamic must add WolverineFx.RuntimeCompilation, or pre-generate via codegen write + TypeLoadMode.Static (the trimmer then drops Roslyn). See the migration guide.
  • ServiceLocationPolicy.NotAllowed is the default (BREAKING) — restructure registrations, allow-list per type, or call opts.RestoreV5Defaults() to revert.
  • AOT-clean (pillar #​213): every packaged library carries IsAotCompatible=true (except the intentional WolverineFx.RuntimeCompilation); Static-mode publish drops Roslyn.
  • Cold-start (pillar #​212): Tier-1 pre-generated static handler registry skips handler-discovery scanning in Static mode.
  • Newtonsoft extracted to WolverineFx.Newtonsoft / WolverineFx.Http.Newtonsoft; IForwardsTo<T> discovery now explicit; removed [Obsolete] APIs (EventForwardingToWolverine, RedisTransport.BuildRedisStreamUri, PulsarEndpoint.UriFor).

Migration guide: https://wolverinefx.net/guide/migration.html (or docs/guide/migration.md). Master plan: wolverine#​2715. Remaining release-cut comms items tracked in #​2745.

5.39.1

Fixed a regression problem reported here JasperFx/wolverine#2739

Full Changelog: JasperFx/wolverine@V5.39.0...V5.39.1

5.39.0

What's Changed

New Contributors

Full Changelog: JasperFx/wolverine@V5.38.0...V5.39.0

5.38.0

What's Changed

Full Changelog: JasperFx/wolverine@V5.37.2...V5.38.0

5.37.2

What's Changed

Full Changelog: JasperFx/wolverine@V5.37.0...V5.37.2

Commits viewable in compare view.

Dependabot compatibility score

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)

---
updated-dependencies:
- dependency-name: WolverineFx
  dependency-version: 6.13.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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 Jun 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