Skip to content

Wolverine 6.64.0

Latest

Choose a tag to compare

@jeremydmiller jeremydmiller released this 09 Nov 18:57
ccdf325

A small release: three fixes, one of them a new observer signal, and a JasperFx and Weasel bump. JasperFx moves from 2.100.1 to 2.102.0 and Weasel from 9.49.0 to 9.50.0; Marten (9.58.0), Polecat (5.49.0) and Fisher (1.28.0) are unchanged. There is no schema change and no breaking API change.

Fixes

  • Native-ack listeners: on a group-partitioned NativeAck endpoint, an envelope settled before it reached a handler (an unknown message type, an unreadable payload) is released from the lease tracker and the in-memory idempotency guard. It used to stay tracked until the lease ceiling and then log a false "unsettled for 00:59:xx" warning, an hour after it was completed (GH-5443).
  • Circuit breakers: IWolverineObserver.CircuitBreakerReset is now raised, once per trip, when a listener the breaker paused accepts messages again. Nothing ever raised it before, so an alert opened on CircuitBreakerTripped could never be closed by Wolverine's own signal. A new overload, CircuitBreakerReset(Endpoint, CircuitBreakerResetReason), says whether the listener came back on its own after PauseTime or through an explicit start or restart. Its default forwards to the existing one-argument member, so existing observers keep working unchanged (GH-5446).
  • Rabbit MQ: ResetResourceState() no longer adds a new wolverine.response.* queue on every call. Each reset had been declaring and purging every reply queue built so far, so a test suite that resets before each test slowed down with every test, and a sender started after a reset could send its replies to a queue nobody listened to, so InvokeAsync<T>() timed out (GH-5452, thanks to @alesdvorakcz).

Docs

  • The command line runs from a Native AOT binary since JasperFx 2.101.0 (#5442).
  • The resource setup hosted service migrates message storage regardless of AutoCreate (#5445).

What's Changed

Full Changelog: V6.63.0...V6.64.0