Skip to content

Wolverine 6.62.0

Latest

Choose a tag to compare

@jeremydmiller jeremydmiller released this 06 Nov 04:05
3653e7a

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 (#1138).

What's Changed

New Contributors

Full Changelog: V6.61.0...V6.62.0