Releases: dotnetcore/CAP
3.0.3
3.0.2
3.0.1
3.0.0
Breaking Changes
In this version, we have made major improvements to the code structure, which have introduced some destructive changes.
-
Publisher and Consumer are not compatible with older versions
This version is not compatible with older versions of the message protocol because we have improved the format in which messages are published and stored. -
Interface changes
We have done a lot of refactoring of the code, and some of the interfaces may be incompatible with older versions -
Detach the dashboard project
Features:
- Supports .NET Core 3.1.
- Upgrade dependent packages.
- New serialization interface
ISerializer
to support serialization of message body sent to MQ. - Add new api for
ICapPublisher
to publish message with headers. - Diagnostics event structure and names improved. #378
- Support consumer method to read the message headers. #472
- Support rename message storage tables. #435
- Support for Kafka to write such as Offset and Partition to the header. #374
- Improved the processor retry interval time. #444
Bug Fixed:
2.6.0
Features:
- Improvement Diagnostic support. Thanks @gfx687
- Improvement documention. https://cap.dotnetcore.xyz
- Improvement
ConsumerInvoker
implementation. Thanks @hetaoos - Support multiple consumer threads. (#295)
- Change DashboardMiddleware to async. (#390) Thanks @liuzhenyulive
Bug Fixed:
2.5.1
Features:
- Improved logs record.
- Upgrade dependent nuget packages version. (MySqlConnector, confluent-kafka-dotnet-1.0 )
- NodeId type change to string of DiscoveryOptions for Consul. (#314)
- Change the IConsumerServiceSelector interface access modifier to public. (#333)
- Improved RabbitMQOptions to provide extensions option to configure the client original configuration. (#350)
- Add index for MongoDB CAP collections. (#353)
Bugs Fixed:
2.5.0
2.4.2
2.4.1
2.4.0
Features :
- Supported version options. (#220)
- Upgrade nuget package to .net core 2.2.
Breaking Changes
In order to support the "version isolation" feature, we introduced a new version field in version 2.4.0 to isolate different versions of the message, so this requires some adjustments to the database table structure. You can use the following SQL to add a version field to your database CAP related table.
MySQL
ALTER TABLE `cap.published` ADD Version VARCHAR(20) NULL;
ALTER TABLE `cap.received` ADD Version VARCHAR(20) NULL;
SQL Server
ALTER TABLE Cap.[Published] ADD Version VARCHAR(20) NULL;
ALTER TABLE Cap.[Received] ADD Version VARCHAR(20) NULL;
PostgreSQL
ALTER TABLE cap.published ADD "Version" VARCHAR(20) NULL;
ALTER TABLE cap.received ADD "Version" VARCHAR(20) NULL;
MongoDb
db.CapPublishedMessage.update({},{"$set" : {"Version" : "1"}});
db.CapReceivedMessage.update({},{"$set" : {"Version" : "1"}});