Releases: tinglesoftware/eventbus
Releases · tinglesoftware/eventbus
0.6.0
New:
- Support trimming common suffixes (Event, Consumer, EventConsumer) by default e.g.
SimpleEvent
becomesSimple
,SimpleEventConsumer
becomesSimple
. This behaviour can be disabled by settingTrimTypeNames = false
. - Support for
Metadata
inEventRegistration
andEventConsumerRegistration
.
Fixes:
- Support for multiple consumers for the same event in one application domain so long as the transport allows it.
Breaking:
- RabbitMQ requires use of full types names e.g.
services.AddEventBus(builder => builder.Configure(o => o.UseFullTypeNames = true))
- Use of short names is allowed for consumer names.
- Kafka transport does not support more than one consumer per event in the same application.
- Azure Storage Queues transport does not support more than one consumer per event in the same application.
ConsumerRegistration
renamed toEventConsumerRegistration
and canonly exist in the context of anEventRegistration
Dependencies:
- Bump AWSSDK.Core from 3.5.1.59 to 3.5.2.0
- Bump AWSSDK.Kinesis from 3.5.0.59 to 3.5.0.61
- Bump AWSSDK.SQS from 3.5.1.8 to 3.5.1.10
- Bump AWSSDK.SimpleNotificationService from 3.5.1.31 to 3.5.1.33
- Bump System.Text.Json from 5.0.0 to 5.0.1
0.5.1
New:
- Added
ConsumerNameSource.ApplicationAndTypeName
.
Fixes:
- Log QueueName for message received logs in Azure Queue Storage transport.
- Fixed
EnableEntityCreation
check for Azure Queue Storage transport that resulted in a deadlock when deadlettering.
Dependencies:
- Bump AWSSDK.Core from 3.5.1.57 to 3.5.1.59
- Bump AWSSDK.Kinesis from 3.5.0.57 to 3.5.0.59
- Bump AWSSDK.SQS from 3.5.1.6 to 3.5.1.8
- Bump AWSSDK.SimpleNotificationService from 3.5.1.28 to 3.5.1.31
- Bump Azure.Storage.Queues from 12.5.0 to 12.6.0
- Bump Azure.Messaging.ServiceBus from 7.0.0 to 7.0.1
- Bump Microsoft.Extensions.Diagnostics.HealthChecks from 5.0.1 to 5.0.2
- Bump System.Diagnostics.DiagnosticSource from 5.0.0 to 5.0.1
0.5.0
New:
- Allow overriding creation of
ServiceBusProcessorOptions
for Azure Service Bus transport. - Allow overriding creation of
EventHubProducerClientOptions
andEventProcessorClientOptions
for Azure Event Hubs transport. - Replace
EventHubOptions.UseApplicationNameInsteadOfConsumerName
andEventHubOptions.ForceConsumerName
options into oneConsumerNameSource
enum. - Added async versions for
InMemoryTestHarness
: ofFailedAsync
,ConsumedAsync
andPublishedAsync
.
Breaking:
AzureEventHubsPostConfigureOptions
moved to Microsoft.Extensions.DependencyInjection namespace.InMemoryTransportOptions
moved to Microsoft.Extensions.DependencyInjection namespace.EventBusBuilder.Unsubscribe(...)
renamed toRemoveConsumer(...)
.EventBusBuilder.Subscribe(...)
renamed toAddConsumer(...)
.EventBusBuilder.UnregisterTransport(...)
renamed toRemoveTransport(...)
.EventBusBuilder.RegisterTransport(...)
renamed toAddTransport(...)
.IEventBusConsumer
andIEventBusConsumer<T>
renamed toIEventConsumer
andIEventConsumer<T>
respectively.
0.4.0
New:
- Multiple kinds of transport in one bus. [Major]
- Instrumentation using Activity Source (#43). Can be listened to using the
Tingle.EventBus
source name. [Major] - InMemory transport mirrors Azure Queue Storage but with in-memory queues, hence better placed for testing. [Major]
- Support basic tier for Azure Service Bus using queues only.
- Support basic tier for Azure Event Hubs using default consumer group (
$Default
) only. - Logs during publishing and consume in each transport
- Health and InMemory transport merged into the main project (Tingle.EventBus.Health and Tingle.EventBus.Transports.InMemory packages are no longer produced, referencing
Tingle.EventBus
or any transport library:Tingle.EventBus.Transport.*
is enough). - Standardized logging categories (
Tingle.EventBus
for the bus,Tingle.EventBus.Transports.*
for transports,Tingle.EventBus.Serializers.*
for serializers - Entity creation is optional for Azure Service Bus, Azure Queue Storage, and Amazon SQS transport.
- Default bus startup delay to 5 seconds.
- Allow overriding
PartitionKey
for events in Amazon Kinesis transport.
Fixes:
- Azure Service Bus transport connection string wrong reconstruction. Only the string version is supported.
- Azure Service Bus
CorrelationId
only set when provided. - Azure Event Hubs bug when working under net5.0 (See Azure/azure-sdk-for-net#13899, Azure/azure-sdk-for-net#14068, Azure/azure-sdk-for-net#15019).
- Azure Event Hubs transport only requires a connection string for blob storage if there are consumers.
- Azure Event Hubs transport uses the blob container name instead of a blob container prefix.
Dependencies:
- Bump AWSSDK.Core from 3.5.1.56 to 3.5.1.57
- Bump AWSSDK.Kinesis from 3.5.0.56 to 3.5.0.57
- Bump AWSSDK.SQS from 3.5.1.5 to 3.5.1.6
- Bump AWSSDK.SimpleNotificationService from 3.5.1.27 to 3.5.1.28
- Bump Microsoft.Azure.Amqp from 2.4.8 to 2.4.9
Other:
- Amazon packages are temporarily not being packaged (
Tingle.EventBus.Amazon.*
) as they are still much in development.
0.3.0
New features:
- Kafka Transport.
- Amazon Kinesis transport (still in dev).
- Configurable bus startup delay (useful for scenarios where other components need to be ready before the bus starts e.g. debugging scenarios).
- Extras for health checks to allow for more information.
- Expose
System.Text.Json.SerializerOptions
directly instead of bridging class.
Fixes:
- Reuse of
IServiceScope
for dependency resolution to reduce memory usage. - Package Tags and Package Descriptions are now available.
- Rename
EventBusNamingConvention
to NaminConvention`
Dependencies:
- Bump AWSSDK.SQS from 3.5.1.1 to 3.5.1.5
- Bump AWSSDK.SimpleNotificationService from 3.5.1.23 to 3.5.1.27
Other:
- More logging
- Adding current activity Id to event headers
- Custom serializer example
0.2.1
- Move from
Newtonsoft.Json
library toSystem.Text.Json
. - Detailed Logs for QueueStorage based transport.
- Fixed health check for Queue Storage based transport.
- Rename
IEventBusPublisher
toIEventPublisher
(related names changed too). SerializeAsync(...)
in IEventSerializer now returnsTask<ContentType>
.