CAP Versions Save

Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern

v8.1.0

1 month ago

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: https://github.com/dotnetcore/CAP/compare/v8.0.1...v8.1.0

v8.0.1

3 months ago

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

v8.0.0

4 months ago

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

v7.2.2

6 months ago

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

v7.2.1

7 months ago

Features

  • The options EnableConsumerPrefetch and UseDispatchingPerGroup will work together without interference. (#1399)

Bug Fixed

  • Fixed SqlServer sql case sensitive in dashboard query. (#1389)
  • Fixed Redis endpoint is null in DotNetCore.CAP.OpenTelemetry. (#1384)

v7.2.0

9 months ago

Breaking Changes

  • Remove ProducerThreadCount configuration option. Now automatically send task managed by the .NET thread pool. (#1380)
  • Change the SnowflakeId from static singleton to dependency injection singleton. (#1322)

Features:

  • Add support for kubernetes discovery in dashboard. (#1362)
  • Message send task and consumer execute task managed by .net thread pool. (#1380)
  • Upgrade dependencies of NuGet packages.

Bug Fixed:

  • Fixed BasicQosOptions not working as expected for RabbitMQ transport. (#1318)
  • Revert BeginTransactionAsync support. (#1376)
  • Fixed SqlServer transaction rollback message still sent out. (#1378)

v7.1.4

10 months ago

Features:

  • Add suppport AutoDeleteOnIdle option for Azure Service Bus. (#1350) Thanks @StevenDevooght

Bug Fixed:

  • Keep the originall stack when consumer exception occurs. (#1341) Thanks @tomyangOK
  • Fixed multiple invocations caused when the retry processor exceeded the FailedRetryInterval. (#1359) Thanks @li-zheng-hao
  • Fixed thread blocking when enable UseDispatchingPerGroup option. (#1356) Thanks @sampsonye @li-zheng-hao

v7.1.3

11 months ago

Features

  • Allow Explicit to set AllowAnonymous for the dashboard API. (#1335)
  • Update dashboard UI style
  • Add Cancellation token for BeginTransactionAsync. (#1317) Thanks @denis-tsv

Bug Fixed

  • Fixed postgresql AcquireLockAsync sql error. (#1320) Thanks @guochen2
  • Fixed redis transport order pool connections non-lazy created connections. (#1332) Thanks @MahmoudSamir101
  • Fixed mysql 8.0 storage skip locked not available bug. (#1330) Thanks @yang-xiaodong

v7.1.2

1 year ago

Bug Fixed

  • Optimizing consumer duplicate detection warning logs. (#1314)
  • Fixes NATS consumption repeat when multiple consumer threads.
  • Fixes NATS transport infinity reconnect race condition. (#1311)

Full Changelog: https://github.com/dotnetcore/CAP/compare/v7.1.1...v7.1.2

v7.1.1

1 year ago

Features

  • Add support topic config for kafka. (#1303)
  • Log in to dashboard with JWT authentication. (#1306)

Bug Fixed

  • Fixed sqlserver character string convert to datetime2 exception. (#1302)
  • Fixed dashboard consul node proxy switch bug. (#1307)