Messaging
news

14stories

Stories

Messaging
Messaging
DVDEV Community: #aspnetcore Anas Amin 2 d ago

Sending leads to Odoo without losing one: a transactional outbox in ASP.NET Core

Saving a lead and then calling Odoo means two writes that can each fail on their own. Anas Amin describes a transactional outbox where the lead and a message describing it commit together, and a Hangfire job delivers the message later. Leased claims, error classification, dead-lettering and idempotent Odoo writes carry the rest of the design.

Wolverine 6.58
Message loss closed
JXJasperFx (Critter Stack) Blog Jeremy Miller 3 d ago

Critter Stack in Review: message loss fixes, clean shutdown and multi-tenancy

JasperFx shipped 72 tagged releases across Wolverine, Marten and shared libraries between October 12 and 30. The headline theme is a durable inbox and outbox hardening pass that closed about a dozen ways messages could go missing or run twice, much of it driven by community bug reports. For .NET developers running durable messaging, the review also covers performance fixes, cleaner shutdown and multi-tenant Marten changes.

CritterWatch 1.1
Dead letters by cause
JXJasperFx (Critter Stack) Blog Jeremy Miller 4 d ago

CritterWatch 1.1 groups dead letters by failure cause and acts on each group at once

CritterWatch 1.1 groups dead letters by the failure that produced them, merging matches across every monitored service and database into one row. An operator can replay, archive, restore or discard a whole group as a single tracked operation with a required reason. The release also exposes the same loop through MCP, so teams running Wolverine can handle incidents faster and check whether replayed messages failed again.

Stripe webhooks
Stop double payments
DVDEV Community: #csharp Martin Pisacreta 5 d ago

Making Stripe webhooks idempotent in ASP.NET Core

The author explains an inbox pattern that stops a Stripe webhook from applying a payment twice when deliveries repeat or overlap. The sample verifies the raw body, claims events with a unique-key insert, and commits the claim together with the local payment change. Its 38-test suite exercises duplicates, rollback and retries, making it a concrete reference for payment flows in ASP.NET Core.

Wolverine
Handlers as pure logic
JXJasperFx (Critter Stack) Blog Jeremy Miller 5 d ago

Wolverine Best Practices Revisited: A-Frame and Handler Design

JasperFx rewrote the Wolverine best practices guide from scratch, replacing the 2023 version. The new guide centers on the A-Frame Architecture and gives concrete advice on splitting handlers, error handling, and at-least-once messaging rules. It is a practical reference for .NET teams building messaging systems with Wolverine.

CritterWatch 1.1
Monitor Critter Stack
JXJasperFx (Critter Stack) Blog Jeremy Miller 6 d ago

CritterWatch 1.1, Bobcat 1.0 and AI Skills 1.17 ship; Stoat preview arrives

JasperFx shipped a coordinated Critter Stack release wave: CritterWatch 1.1, Bobcat 1.0, AI Skills 1.17 and a Stoat 0.5.0 preview. CritterWatch's MCP server now exposes 83 tools, and Bobcat 1.0 turns existing test methods into executable specifications. Worth a look if you run Wolverine or Marten in production or write integration tests on the .NET stack.

Wolverine 6.52.0
Named connections
WOWolverine releases jeremydmiller Oct 24

Wolverine 6.52.0 adds named connections and timer agents

Wolverine 6.52.0 is a feature release adding connection-string-name registration for every transport and message store, timer agents for recurring schedules under 15 minutes, and groundwork for Wolverine 7.0. It also changes behavior: frequent schedules now run on timer agents, and unmappable outgoing envelopes are dead-lettered. Developers running Wolverine messaging should review these changes before upgrading.

Wolverine 6.51.3
Safer durable messaging
WOWolverine releases jeremydmiller Oct 23

Wolverine 6.51.3: durable inbox and outbox hardening

Wolverine 6.51.3 is a durability release that fixes a run of problems in the durable inbox and outbox. A new receiver compliance suite exercised PostgreSQL, SQL Server, Marten, EF Core, RabbitMQ and SQS, and the fixes cover transactions, deduplication, retries and dead lettering. There are no breaking API changes, and the one schema addition is optional.

Transmitly Part 5
Track delivery events
DVDEV Community: #csharp Jeremy Oct 23

Transmitly Part 5: Recording .NET message delivery events

Part 5 of the Transmitly eShop series shows how delivery updates that arrive after dispatch are captured and stored. Provider webhooks, such as Twilio status callbacks, are normalized into one DeliveryReport model and saved in a Communications database. It is a practical reference for building message history and delivery tracking in ASP.NET Core.

Kafka .NET
Resume after a crash
CCC# Corner Niharika Gupta Oct 22

Kafka Consumer Recovery: Resuming Processing After a Crash

Kafka consumers must pick up where they left off after a restart, crash or network failure. This article explains how committed offsets, consumer groups and manual commits govern recovery, using a C# example built on Confluent.Kafka. It also covers duplicate deliveries, poison messages and the monitoring signals that reveal a consumer quietly falling behind.

Zusammen alpha
Data and messages together

A weekend Node.js library with transactional outbox and NServiceBus compatibility

Mauro Servienti released Zusammen, an alpha Node.js library that brings the NServiceBus transactional session idea to Node.js. Business data and outgoing messages are committed together in one MongoDB transaction, with a control message and tombstone guarding dispatch to RabbitMQ. It is also a useful case study in AI-assisted development, and a concrete look at the outbox pattern for .NET developers.

Feedback

Found a bug or have an idea? Your message lands straight in my inbox.

Type of message