Releases: dotnetcore/CAP
8.3.2
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
8.3.0
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
andEnableParallelExecute
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 usingInvariantCulture
(#1590). Thanks @NikolozGob.
8.2.0
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
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
8.1.0
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
- @shkarface made their first contribution in #1485
Full Changelog: v8.0.1...v8.1.0
8.0.1
8.0.0
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.
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
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