Skip to content

MP Core 0.9.3

Choose a tag to compare

@panahister panahister released this 28 Sep 12:48

MP Core 0.9.3

A patch version: an addition only. It follows 0.9.2.

Asked for by running the Tiffin sample: an order
whose restaurant never answered stayed paid for ever (finding T-08). ADR-015 has the decision.

Moving from 0.9.2

Nothing to do. The change is an addition; a message published without a delay is delivered as before.

New

Package What it adds
MPCore.Messaging.Abstractions MessageDeliveryContext.DeliverAfter: the message is delivered no sooner than this delay after the work that publishes it commits
MPCore.Messaging.Wolverine The delay, on every transport: the message waits in the host's durable store and is sent when it is due. A negative delay is refused

Changed

What Now
The guide's list of what MP Core deliberately does not do no longer names a delay set by the publisher
MP Core's own integration tests run against RabbitMQ and Kafka too: both are in eng/compose.test.yaml and in the continuous integration. CONTRIBUTING.md names the two new variables

Verified

What Result
DelayedDeliveryTests, against PostgreSQL, RabbitMQ and Kafka 7 tests. Before the change, a message with a delay of three seconds arrived at once on each of the three
Where a delayed message waits an experiment over RabbitMQ: a Scheduled envelope in the host's PostgreSQL, and no message in the queue
MP Core's tests, 15 assemblies, against PostgreSQL, TimescaleDB, Redis, RabbitMQ and Kafka 485 passed, none skipped, on this machine and on GitHub
The API baseline of 0.9.2, for every package accepted
Both template shapes, generated from the packed template and built against the packed packages service and modular monolith: 0 warnings, 0 errors
The Storefront sample's tests, against the packed packages 262 passed
The Tiffin sample against this source, sixteen scenarios on empty databases 286 checks passed; S15: an order a restaurant never answered is cancelled and paid back