Releases: dotnetcore/CAP
Releases · dotnetcore/CAP
8.3.4
Improvements
- Thanks to @findersky for developing the Storage Provider for Dameng Database as a community contribution.
- Adjusted the timing of verifying whether CAP is started. When CAP is stopped, failed messages will be persisted to storage and retried automatically once CAP is restarted. (#1238)
Bug Fixes
- Changed RabbitMQ queue binding from asynchronous calls to synchronous blocking calls. (#1670)
- Fixed a potential deadlock issue when updating message statuses and deleting expired messages. Thanks to @haoyk (#1672)
New Contributors
- @maxwell60701 made their first contribution in #1641
- @findersky made their first contribution in #1664
- @diyst made their first contribution in #1669
- @haoyk made their first contribution in #1672
Full Changelog: v8.3.3...v8.3.4
8.3.3
Improvements
- Introduced a
FlushAsync
function, which is now called withinCommitAsync
using theawait
keyword (#1629). Thanks to @PoteRii. - Reworked the message scheduling mechanism to be thread-safe, along with adding relevant tests (#1638). Thanks to @amimelia.
- Eliminated the inclusion of password configuration information in RabbitMQ debug logs (#1647).
- Upgraded to support RabbitMQ.Client version 7.0 (#1645).
- Updated the MongoDB driver to version 3.1.0 (#1609). Thanks to @li-zheng-hao.
Bug Fixes
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