Skip to content

Releases: tinglesoftware/eventbus

0.6.0

25 Jan 07:06
d7396d0
Compare
Choose a tag to compare

New:

  • Support trimming common suffixes (Event, Consumer, EventConsumer) by default e.g. SimpleEvent becomes Simple, SimpleEventConsumer becomes Simple. This behaviour can be disabled by setting TrimTypeNames = false.
  • Support for Metadata in EventRegistration and EventConsumerRegistration.

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 to EventConsumerRegistration and canonly exist in the context of an EventRegistration

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

18 Jan 06:05
333482e
Compare
Choose a tag to compare

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

18 Jan 06:00
Compare
Choose a tag to compare

New:

  • Allow overriding creation of ServiceBusProcessorOptions for Azure Service Bus transport.
  • Allow overriding creation of EventHubProducerClientOptions and EventProcessorClientOptions for Azure Event Hubs transport.
  • Replace EventHubOptions.UseApplicationNameInsteadOfConsumerName and EventHubOptions.ForceConsumerName options into one ConsumerNameSource enum.
  • Added async versions for InMemoryTestHarness: of FailedAsync, ConsumedAsync and PublishedAsync.

Breaking:

  • AzureEventHubsPostConfigureOptions moved to Microsoft.Extensions.DependencyInjection namespace.
  • InMemoryTransportOptions moved to Microsoft.Extensions.DependencyInjection namespace.
  • EventBusBuilder.Unsubscribe(...) renamed to RemoveConsumer(...).
  • EventBusBuilder.Subscribe(...) renamed to AddConsumer(...).
  • EventBusBuilder.UnregisterTransport(...) renamed to RemoveTransport(...).
  • EventBusBuilder.RegisterTransport(...) renamed to AddTransport(...).
  • IEventBusConsumer and IEventBusConsumer<T> renamed to IEventConsumer and IEventConsumer<T> respectively.

0.4.0

04 Jan 06:45
Compare
Choose a tag to compare

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

29 Dec 13:49
Compare
Choose a tag to compare

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

21 Dec 01:58
Compare
Choose a tag to compare
  • Move from Newtonsoft.Json library to System.Text.Json.
  • Detailed Logs for QueueStorage based transport.
  • Fixed health check for Queue Storage based transport.
  • Rename IEventBusPublisher to IEventPublisher (related names changed too).
  • SerializeAsync(...) in IEventSerializer now returns Task<ContentType>.