Releases: rabbitmq/rabbitmq-stream-dotnet-client
v1.9.0-rc.1
The version focuses on improving the consumer parser chunk and providing the user with more control to handle credits.
Major changes:
- The CRC control is enabled by default.
It is possible to define the policy in case the CRC32 fails:Crc32 = new StreamCrc32() { FailAction = sourceConsumer => .....
System.IO.Hashing
is shipped with the client due to #423- Configure the flow control:
public enum ConsumerFlowStrategy
{
CreditsBeforeParseChunk,
CreditsAfterParseChunk,
ConsumerCredits
}
var consumerConfig = new RawConsumerConfig(stream)
{
FlowControl = new FlowControl() {
Strategy = ConsumerFlowStrategy.CreditsBeforeParseChunk
},
Enhancements
- Improve parse chunk consumer side by @Gsantomaggio in #423
- Improve CRC control @Gsantomaggio in #423
- Add consumer flow control by @Gsantomaggio in #424
Breaking changes
- The
ICrc32
requiresFunc<IConsumer, ChunkAction> FailAction
, see: #423. Valid only if theICrc32
was implemented.
Full Changelog: v1.8.14...v1.9.0-rc.1
v1.8.14
Please read the Release notes 1.8.10 before upgrading
https://github.com/rabbitmq/rabbitmq-stream-dotnet-client/releases/tag/v1.8.10
Enhancements
- #415 switch to license expression by @thompson-tomo in #416
Bug Fixes
- Lock Message dispatch during the promotion by @Gsantomaggio in #417
New Contributors
- @thompson-tomo made their first contribution in #416
Full Changelog: v1.8.13...v1.8.14
v1.8.13
Please read the Release notes 1.8.10 before upgrading
https://github.com/rabbitmq/rabbitmq-stream-dotnet-client/releases/tag/v1.8.10
Enhancements
- Add TryQueryOffset API by @Gsantomaggio in #413
- Improve socket handling by @Gsantomaggio in #414
Socket handling in #414
-
Change the way to detect if the socket is connected with the primitive API
socket.Connected
instead of a local variable. With this change, the client reacts faster in case of disconnections. -
Use
StreamPipe*Options
to better adapt the socket configuration to the environment.
Full Changelog: v1.8.12...v1.8.13
v1.8.12
Please read the Release notes 1.8.11 before upgrading
https://github.com/rabbitmq/rabbitmq-stream-dotnet-client/releases/tag/v1.8.11
Bug Fixes
- Fix autorecconetion in query metadata by @Gsantomaggio in #411
Full Changelog: v1.8.11...v1.8.12
v1.8.11
Please read the Release notes before upgrading
Deprecation
1.8.10 Introduces a deprecretation on ReliableConsumer and ReliableProducer StatusChanged
event. See #406
The struct now contains:
public record StatusInfo(
ReliableEntityStatus From, // init
ReliableEntityStatus To, // open
string Stream,
string Identifier,
// deprecated since more partitions can be affected
// and the partition is not enough. For example super-stream startup or super-stream close
[property: Obsolete("Partition is deprecated. Use Partitions instead", false)]
string Partition, // <<-- Deprecated filed
List<string> Partitions, //// <<<----- New filed should be used
ChangeStatusReason Reason = ChangeStatusReason.None
);
Partition
is left for compatibility and takes the first item from Partitions
.
We highly suggest using Partitions
Bug Fixes
- Fix for
ToString
function in case partitions is null. by @Gsantomaggio in #410
Full Changelog: v1.8.10...v1.8.11
v1.8.10
Please read the Release notes before upgrading
Deprecation
1.8.10 Introduces a deprecretation on ReliableConsumer and ReliableProducer StatusChanged
event. See #406
The struct now contains:
public record StatusInfo(
ReliableEntityStatus From, // init
ReliableEntityStatus To, // open
string Stream,
string Identifier,
// deprecated since more partitions can be affected
// and the partition is not enough. For example super-stream startup or super-stream close
[property: Obsolete("Partition is deprecated. Use Partitions instead", false)]
string Partition, // <<-- Deprecated filed
List<string> Partitions, //// <<<----- New filed should be used
ChangeStatusReason Reason = ChangeStatusReason.None
);
Partition
is left for compatibility and takes the first item from Partitions
.
We highly suggest using Partitions
Enhancements
- Update target frameworks ( 8.x, 9.x) to supported versions by @lukebakken in #398
- Improve the AMQP 1.0 parser adding map parse by @Gsantomaggio in #405
- Last offset fix by @jonnepmyra in #407
- Add
partitions
field to the StatusInfo by @Gsantomaggio in #406 - Expose Store offset to
StreamSystem
by @jonnepmyra in #408
Bug Fixes
- Fix stream perf test by @lukebakken in #400
Thanks to @jonnepmyra for the PR(s) and for testing this version.
Full Changelog: v1.8.9...v1.8.10
v1.8.9
Bug Fixes
- Handle too many hearts missing with reconnection by @Gsantomaggio in #394
AddDisconnectedByTooManyHeartbeatMissing
enum for theReliable
Producer and Consumer.
It maps theTCP connection closed by too many heartbeats missing
string
Thanks to @bastl98 for testing it
Full Changelog: v1.8.8...v1.8.9
v1.8.8
Enhancements
- Add Connection Pool Close configuration by @Gsantomaggio in #389
- Follow-up to #385 by @lukebakken in #386
- Update RabbitMQ version and the test by @Gsantomaggio in #390
Bug Fixes
- Fix Client memory leak caused by not detaching UnhandledException event handler by @Jordan-Osborn in #391
New Contributors
- @Jordan-Osborn made their first contribution in #391
Full Changelog: v1.8.7...v1.8.8
v1.8.7
Enhancements
- Add RPCtimeout by @Gsantomaggio in #385
It is possible to configure the RPC Timeout:var config = new StreamSystemConfig() { RpcTimeOut = TimeSpan.Seconds(5) };
Bug Fixes
- Fix
Unhandled exception (Operation is not valid due to the current state
@Gsantomaggio in #385 - Thanks to @mbaillargeon-ubi for the debug
Full Changelog: v1.8.6...v1.8.7
v1.8.6
Bug Fixes
- Fix filter for deduplication producer by @Gsantomaggio in #383
Full Changelog: v1.8.5...v1.8.6