Skip to main content
Version: v1.2.4

Renamed: This project was formerly called Deveel Events. As of 23 May 2026, the NuGet packages have been renamed from Deveel.Events.* to Hermodr.*. The old packages remain published and will be deprecated.

Packages

The framework is split into focused NuGet packages so you only take what you need.

Core packages​

PackageDescription
Hermodr.AnnotationsAttributes for describing event metadata on your data classes
Hermodr.PublisherCore publisher infrastructure (EventPublisher, EventPublisherBuilder, DI helpers)

Channel packages​

PackageDescription
Hermodr.Publisher.AzureServiceBusPublish events to an Azure Service Bus queue or topic
Hermodr.Publisher.RabbitMqPublish events to a RabbitMQ exchange
Hermodr.Publisher.MassTransitPublish events through a MassTransit bus
Hermodr.Publisher.WebhookDeliver events to HTTP webhook endpoints
Hermodr.Publisher.OutboxPersist events to a transactional outbox for later relay
Hermodr.Publisher.Outbox.EntityFrameworkEntity Framework Core repository and helpers for the outbox channel
Hermodr.Amqp.AnnotationsAMQP-specific attributes (exchange name, routing key)

Subscriptions package​

PackageDescription
Hermodr.SubscriptionsIn-process event subscription registry and dispatcher

Observability package​

PackageDescription
Hermodr.Publisher.OpenTelemetryDistributed tracing with W3C trace context propagation via CloudEvents extensions

Schema packages​

PackageDescription
Hermodr.SchemaCore schema model, fluent builder, JSON writer, and schema validation
Hermodr.Schema.YamlExport an event schema as a YAML document
Hermodr.Schema.AsyncApiExport schemas as an AsyncAPI 2.x document (JSON or YAML)

Test package​

PackageDescription
Hermodr.TestPublisherIn-memory test channel and helpers for unit tests

Package Details​

Hermodr.Annotations​

NuGet GitHub pre-release

Contains the [Event] and [EventProperty] attributes used to annotate data-transfer classes with event type metadata. No dependencies except the .NET BCL.

dotnet add package Hermodr.Annotations

Hermodr.Publisher​

NuGet GitHub pre-release

The heart of the framework. Provides:

  • EventPublisher
  • IEventPublishChannel and IBatchEventPublishChannel
  • EventPublisherBuilder for fluent DI registration
  • IEventFactory, IEventIdGenerator, and IEventSystemTime extensibility points
  • EventPublisherOptions for global defaults
  • named publisher pipelines resolved through keyed DI
dotnet add package Hermodr.Publisher

Hermodr.Publisher.AzureServiceBus​

NuGet GitHub pre-release

Azure Service Bus channel implementation. Serialises CloudEvent objects as ServiceBusMessage instances and sends them to a configured queue or topic.

dotnet add package Hermodr.Publisher.AzureServiceBus

Hermodr.Publisher.RabbitMq​

NuGet GitHub pre-release

RabbitMQ channel implementation using the official RabbitMQ.Client library. Supports AMQP exchange/routing-key annotations, publisher confirms, and persistent messages.

dotnet add package Hermodr.Publisher.RabbitMq

Hermodr.Publisher.MassTransit​

NuGet GitHub pre-release

Wraps MassTransit's IPublishEndpoint / ISendEndpointProvider so events can be routed through any MassTransit-supported transport.

dotnet add package Hermodr.Publisher.MassTransit

Hermodr.Publisher.Webhook​

NuGet GitHub pre-release

Delivers events over HTTP to a webhook endpoint. Features HMAC signing (SHA-256/384/512), exponential-backoff retries, configurable headers, and pluggable serialisers.

dotnet add package Hermodr.Publisher.Webhook

Hermodr.Publisher.Outbox​

NuGet GitHub pre-release

Implements the transactional outbox pattern for event publishing. It adds the AddOutbox<TMessage>() builder entry point, outbox relay services, repository abstractions, and message-factory hooks for persisting events before relaying them to a transport-specific publisher pipeline.

dotnet add package Hermodr.Publisher.Outbox

Hermodr.Publisher.Outbox.EntityFramework​

NuGet GitHub pre-release

Adds Entity Framework Core integration for the outbox channel, including DbOutboxMessage, OutboxDbContext, and the WithEntityFramework() registration helper that wires an IOutboxMessageRepository<TMessage> backed by EF Core.

dotnet add package Hermodr.Publisher.Outbox.EntityFramework

Hermodr.Amqp.Annotations​

NuGet GitHub pre-release

Adds [AmqpExchange] and [AmqpRoutingKey] attributes to let you declare per-event-type AMQP routing metadata directly on your data classes. See RabbitMQ — AMQP Annotations for usage details.

dotnet add package Hermodr.Amqp.Annotations

Hermodr.Subscriptions​

NuGet GitHub pre-release

Adds an in-process event subscription registry and dispatcher middleware to the EventPublisher pipeline. Includes:

  • IEventSubscription and EventSubscription — the subscription model
  • IEventSubscriptionRegistry — default in-memory registry
  • IEventSubscriptionResolver — extensibility point for database- or remote-backed resolvers
  • EventDispatcher — middleware that queries resolvers and invokes matched handlers
  • EventFilter / EventFilterBuilder — composable FilterExpression factory for envelope and data-payload filtering
dotnet add package Hermodr.Subscriptions

Hermodr.Publisher.OpenTelemetry​

NuGet

Adds OpenTelemetry instrumentation to the event publishing pipeline. Creates producer and consumer Activity spans, injects W3C traceparent/tracestate as CloudEvents extension attributes on publish, and extracts them on the subscription side to enable end-to-end distributed tracing across service boundaries.

dotnet add package Hermodr.Publisher.OpenTelemetry

See OpenTelemetry Instrumentation for the full guide.


Hermodr.Schema​

NuGet GitHub pre-release

Core schema model. Includes EventSchema, EventSchemaBuilder (fluent API), EventSchemaCreator (reflection-based), IEventSchemaFactory, IEventSchemaWriter, and IEventSchemaValidator.

dotnet add package Hermodr.Schema

Hermodr.Schema.Yaml​

NuGet GitHub pre-release

Adds EventSchemaYamlWriter, which serialises an IEventSchema to a YAML stream using YamlDotNet.

dotnet add package Hermodr.Schema.Yaml

Hermodr.Schema.AsyncApi​

NuGet GitHub pre-release

Exports single or multiple event schemas as a complete AsyncAPI 2.x document (JSON or YAML).

dotnet add package Hermodr.Schema.AsyncApi

Hermodr.TestPublisher​

NuGet

An in-memory publish channel for use in unit and integration tests. Invokes a user-supplied callback whenever an event is published, so you can assert on published events without a real transport.

dotnet add package Hermodr.TestPublisher