Alpha — Emit is under active development. APIs will change between releases. Pin your package versions and do not use in production yet. A stable
1.0.0release is the goal, but we are not there yet.
A .NET transactional outbox library that actually cares about message ordering.
Emit sits between your application and your message broker, making sure every message gets delivered exactly once and in the right order. If your app crashes mid-write, Emit picks up where you left off. No lost messages, no duplicates, no existential dread.
It supports MongoDB and PostgreSQL (via EF Core) for persistence, Kafka for message delivery, and comes with distributed locking, dead letter queues, and OpenTelemetry baked in. Basically, the boring infrastructure stuff you'd rather not build yourself.
The full documentation lives at emitdotnet.github.io/Emit.
Want to see it in action? The samples/ directory has working examples you can run locally. Check out the samples README for the full list and instructions.
Licensed under Apache 2.0.
