Skip to content

Releases: dotnetcore/CAP

8.3.2

05 Dec 11:37
09f2a05
Compare
Choose a tag to compare

Improvements

  • Graceful Handling of CAP Message Headers: The CAP message group header will now be overwritten instead of throwing an exception if it already exists. (#1623) Thanks to @PoteRii.
  • Custom Exception Handling for Redis Streams: Introduced support for invoking user-defined actions when exceptions occur during the consumption of Redis streams. (#1618) Thanks to @MahmoudSamir101.

Bug Fixes

  • Azure Service Bus AutoCompleteMessages Lock Issue: Resolved an issue where the AutoCompleteMessages feature in Azure Service Bus caused an invalid lock error. (#1598)

8.3.1

05 Nov 04:11
Compare
Choose a tag to compare

Features

  • Add default indexes to the database tables during creation and adjust the query SQL to utilize the optimized indexes. (#1599)
  • Improve restarting the consumer process to re-register when a Rabbit MQ queue is deleted. (#1592)

Bug Fixes

  • Fixed RabbitMQ rejct function call error. (#1608)
  • Fixed bug that when set GroupConcurrent does not work in Azure ServiceBus. (#1597)

8.3.0

09 Oct 06:49
Compare
Choose a tag to compare

Features

  • Upgraded all dependent NuGet packages to the latest versions.
  • Added a NATS option to disable dynamic subject creation for consumers (#1556). Thanks @davidterins.
  • Consumers now support the IAsyncDisposable interface (#1582).
  • Added QueueOptions for RabbitMQ transport (#1585). Thanks @apatozi.
  • Added the ShowOnlyExplicitVisibleNodes option to the dashboard for supporting Kubernetes node discovery with filtering (#1577). Thanks @apatozi.
  • Refactored to use file-scoped namespaces (#1586). Thanks @samanazadi1996.
  • Added more default retryable error codes for Kafka consumption exceptions (#1587).

Bug Fixes

  • Fixed an issue that could cause multiple retries when both UseStorageLock and EnableParallelExecute are enabled (#1560). Thanks @sampsonye.
  • Fixed a bug related to the BrokerAddress property in the Azure Service Bus transport (#1576). Thanks @mviegas.
  • Fixed a bug where AbandonMessageAsync was not called on Azure Service Bus messages when persistence fails, preventing potential message loss (#1584). Thanks @oussama-smida.
  • Fixed DateTime parsing using InvariantCulture (#1590). Thanks @NikolozGob.

8.2.0

23 Jun 11:33
Compare
Choose a tag to compare

Features

  • Add support CustomHeadersBuilder option for NATS. (#1519)
  • Add GroupConcurrent option for [CapSubscribe] to support subscriber concurrent execution. (#1537)
  • Add option for controlling reponse from CapHeader. (#1541)
  • Improvements to the "EnablePublishParallelSend" option to "true" will put tasks into the .NET thread pool in batches. (#1540)

Bug Fixed

  • Fixed issue where CapTransaction was not disposed when the transaction failed for Sql Server. (#1521)
  • Fixed NATS reconnection publish issue after restarting server. (#1542)

What's Changed

  • Upgrade dashboard npm package to vue2 latest minor version.
  • Upgrade Ngpsql to 8.0.3 to fix "Npgsql vulnerable to SQL Injection via Protocol Message Size Overflow".
  • Simplify code using deconstruction. by @xiangxiren in #1533

Full Changelog: v8.1.2...v8.2.0

8.1.2

07 May 03:08
Compare
Choose a tag to compare

Bug Fixed

  • Fixed publish exception when event outside of transaction finishing scope. (#1521) Thanks @NikolozGob
  • Fixed PublishDelay synchronization method did not wait internally.

8.1.1

21 Apr 07:50
Compare
Choose a tag to compare

Features

  • Add more granular option for AzureServiceBus. (#1514)
  • Add new options SubscriberParallelExecuteThreadCount,SubscriberParallelExecuteBufferFactor to better support parallel execte subscriber. (#1513)
  • Delete obsolete option CustomerHeader.

8.1.0

19 Mar 11:52
Compare
Choose a tag to compare

Breaking Changes

Since version 7.2, in an effort to improve the performance on the publishing side, we have tasked the .NET thread pool with handling message publishing. However, because tasks in the thread pool are not guaranteed to be executed in order, and because ensuring linear publishing makes sense in certain use cases, we will revert to linear publishing starting with this version. At the same time, we are introducing a new option, EnablePublishParallelSend, to allow users to enable parallel message sending.

Features

  • Upgrade reference nuget packages.
  • Add new option EnablePublishParallelSend to support enable parallel message sending. (#1480) Thanks @yang-xiaodong
  • Dashboard k8s discovery respect the node port while configuring downstream request. (#1478) Thanks @3ldar
  • Allow mongo start transaction custom session handle. (#1485) Thanks @shkarface
  • SubscribeFilter Include MediumMessage in ConsumerContext. (#1464) Thanks @bschwehn
  • Add publishing async support for start transaction. (#1493) Thanks @yang-xiaodong
  • Azure Service Bus support configure additional message correlation header. (#1497) Thanks @demorgi
  • Allow configuring PostgreSQL using an Npgsql data source. (#1496) Thanks @jonekdahl
  • Allow configuring NATS using consumer options. (#1500) Thanks @yang-xiaodong

New Contributors

Full Changelog: v8.0.1...v8.1.0

8.0.1

25 Jan 01:36
e787869
Compare
Choose a tag to compare

Bug Fixed

  • Fixes publisher callback context propagation for OpenTelemetry. (#1454)
  • Fixes dashboard auth to make /ping and /health endpoints to allow anonymous requests. (#1475) Thanks @3ldar

8.0.0

14 Dec 14:00
Compare
Choose a tag to compare

Breaking Changes

DotNetCore.CAP.Dashboard removed DefaultAuthenticationScheme, UseChallengeOnAuth, DefaultChallengeScheme and AuthorizationPolicy options .

Now CAP dashboard auth/authz mechanism to leverage the "ASP.NET Core" way of doing it, see #1428.

  • Streamlined auth via asp.net middlewares. (#1434) Thanks @mviegas

Features

  • Fully Support .NET 8.
  • Add FallbackWindowLookbackSeconds option to configure the retry processor to pick up the backtrack time window for Scheduled or Failed status messages. (#1455) Thanks @apatozi
  • Update IConsumerRegister.Default.cs to make dispose thread safe. (#1438) Thanks @blashbul
  • Compatible with .NET 8's dependency injection KeyedService. (#1436) Thanks @EashShow
  • Add virtual method to custom delay backtrack time window during delayed publishing large messges. (#1429) Thanks @PoteRii

Bug Fixed

  • Fixed message infinite retry of messages after subscriber is removed. (#1456) Thanks @bschwehn
  • Fixed open telemetry context lost on consumer retry and Baggage Propagation. (#1452) Thanks @bschwehn
  • Fixed NATS do not handle reconnect if the nats server is forcibly shutdown and then restarted. (#1449) Thanks @davidterins
  • Fixed outbox pattern messages does not recovery when using DotNetCore.CAP.InMemoryStorage. (#1439) Thanks @davidterins
  • Fixed open telemetry subscriber thows null reference when using azure service bus without connection string. (#1432) Thanks @demorgi
  • Fixed double registration of event handler for azure service bus. (#1427) Thanks @demorgi
  • Fixed publish delay message not working in sql server transaction. (#1422) Thanks @xiangxiren

7.2.2

01 Nov 14:56
Compare
Choose a tag to compare

Features

  • NATS support consumer config DeliverPolicy, default to New. (#1404)
  • Be able to configure if to subscribe to custom producer topic. (#1409) @demorgi

Bug Fixed

  • Try to fixes RabbitMQ basicConsume TimeOutException. (#1405) @yang-xiaodong
  • Change MongoDb index from descending to ascending. (#1415) Thanks @ustaserdar
  • Fixed parent span for "Event Persistence" activity trace. (#1407) Thanks @blashbul
  • Fixed OpenTelemetry Dynatrace IsRemote flag. (#1402) Thanks @phmonte
  • Mark Mongo time serialized to local instance time by default. (#1400)
  • Fixed k8s dashboard meta query error in standalone mode. @yang-xiaodong
  • Azure Service Bus, consumer fails if subscription has session enabled. (#1396, #1397) Thanks @demorgi