Releases: hazelcast/hazelcast-csharp-client
Release list
Hazelcast .NET Client 5.7.0
This document describes the new features, enhancements, and fixed issues for the Hazelcast .NET Client v5.7.0 release.
This version is fully backward-compatible with all 5.x versions.
Refer to the 5.7.0 milestone for details on all issues and PRs that were involved in this release. This document describes the new features, enhancements, and fixed issues for the Hazelcast .NET Client v5.7.0 release.
Enhancements
-
This cilent release delivers significant performance gains across all operations through three pipeline improvements. Benchmark results against a 3-node cluster show PUT throughput up 2.5–3.4× and p99 PUT latency down 30–65%; GET throughput up 27–56% and p99 GET latency down 30–38%.
- Improved serialization performance through byte buffer pooling: Byte buffers are now pooled via
ArrayPool<byte>rather than allocated per operation, reducing hot-path heap allocations to near zero. #1032 - Improved network write performance through buffer consolidation: Frame header and body are now consolidated into a single
WriteAsynccall, eliminating a redundant memory copy and halving send semaphore hold time per message. #1037 - Improved receive performance through inline pipe scheduling: The pipe reader now runs inline on the IO thread rather than being posted to the thread pool, removing a scheduling hop on every inbound message. For workloads with large payloads or expensive deserialization, the new
PipeReaderSchedulerproperty onSocketOptionscan be set toPipeScheduler.ThreadPoolto offload receive processing off the IO thread. #1041
- Improved serialization performance through byte buffer pooling: Byte buffers are now pooled via
-
Added support for
Map.UpdateTimeToLive#997
Hazelcast .NET Client v5.6.0
This document describes the new features, enhancements, and fixed issues for the Hazelcast .NET Client v5.6.0 release.
This version is fully backward-compatible with all 5.x versions.
The Hazelcast .NET Client v5.6.0 requires any of the following runtimes: .NET 4.6.2, 4.8, 8, or 9, and is fully compatible with .NET 10.
Refer to the 5.6.0 milestone for details on all issues and PRs that were involved in this release.
New Features
- Added support for the VectorCollection (Beta) data structure which enables similarity (nearest-neighbor) search over vector embeddings. You can find an example here.
Breaking Changes
- We have ended support for .NET 6, following Microsoft’s official end of support on November 12, 2024.
- If you run the netstandard2.0 target on .NET 10, you may encounter conflicts with the transient Microsoft.Bcl.Memory dependency. Override it in your project or upgrade to netstandard2.1 or later. For more information see #1007
Thanks
To community user @thompson-tomo for helping to optimize dependencies.
Hazelcast .NET Client v5.5.1
This document describes the new features, enhancements, and fixed issues for the Hazelcast .NET Client v5.5.1 release.
This version is a patch release and therefore is fully backward-compatible with all 5.x and 4.x versions.
Refer to the 5.5.1 milestone for details on all issues and PRs that were involved in this release.
Enhancements
- Cosmetic fix on
RoutingModesenum values for Management Center. - Fix missing patch version of the client in Management Center.
Hazelcast .NET Client v5.5.0
This document describes the new features, enhancements, and fixed issues for the Hazelcast .NET Client v5.5.0 release.
This version is a minor release and therefore is fully backward-compatible with all 5.x and 4.x versions.
Refer to the 5.5 milestone for details on all issues and PRs that were involved in this release.
New Features & Enhancements
- New Routing Mode -
MultiMember(#902) also see Multi-Member Routing in Hazelcast Platform Note: New Routing modeMultiMemberhas also refactored usage of existing ones.SmartRoutingis still there. However, we strongly suggest you to use new ones. (#902) see for more details - Try to redirect CP requests to CP leaders (#907)
- Get Cluster Version (#899)
Breaking Changes
- Drop .NET7 Support (#911) Please also see Microsoft Dev Blog: Upgrading to .NET 8
Known Issues
- NA
Hazelcast .NET Client v5.4.0
This document describes the new features, enhancements, and fixed issues for the Hazelcast .NET Client v5.4.0 release.
This version is a minor release and therefore is fully backward-compatible with all 5.x and 4.x versions.
Refer to the 5.4.0 milestone for details on all issues and PRs that were involved in this release.
New Features & Enhancements
- CPMap Support #866
- Dynamic Configuration for Map and Ring Buffer #865
- CP Count Down Latch Support #870
- CP Semaphore Support #867
- .NET 8 Support
Breaking Changes
- Drop Serialization Support for
BinaryFormatter#886
Fixes
- Don't try old members after failover happened #891
- Compact Serialization: UnknownSchemaException when using Paging Predicates on getEntriesAsync, etc. #868
Known Issues
- NA
Hazelcast .NET Client v5.3.1
This document describes the new features, enhancements, and fixed issues for the Hazelcast .NET Client v5.3.1 release.
This version is a minor release and therefore is fully backward-compatible with all 5.x and 4.x versions.
Refer to the 5.3.1 milestone for details on all issues and PRs that were involved in this release.
This Release
There are no features, enhancements nor fixes in this release. In fact, this release is absolutely identical to v5.3.0, but for one change: it removes the dependency on the DotNetZip package.
The client used DotNetZip for a special corner-case, where it needed to compress metrics in a Java-supported way, in order to send them back to the cluster for Management Center to display them. A plain "zlib" compression was indeed necessary, but not available in stock .NET. However, DotNetZip makes use of Random in some places, in a way that triggers some threat-detection tools, as Random is not safe to use for anything related to security and cryptography. As a consequence, DotNetZip has been flagged with MEDIUM security issues that can be blocking for some high-security users of the .NET client.
We have therefore removed the DotNetZip dependency as follows:
- As of .NET 6, the plain "zlib" compression is available as part of the .NET stock libraries. For .NET 6+ versions of the client, we now rely on stock .NET code.
- For anything pre-.NET 6, including .NET Framework, we have embedded into the .NET client the very minimal parts of DotNetZip that the client requires. This excludes any usage of
Randomor any security- and cryptography-related code. The embedded code has been carefully reviewed by ourselves.
Hazelcast .NET Client v5.3.0
This document describes the new features, enhancements, and fixed issues for the Hazelcast .NET Client v5.3.0 release.
This version is a minor release and therefore is fully backward-compatible with all 5.x and 4.x versions.
Refer to the 5.3.0 milestone for details on all issues and PRs that were involved in this release.
New Features & Enhancements
- Reliable Topic #825
- TPC Beta Support - a new performant way to connect Hazelcast #830
- Session State Provider for
ISessioninterface inHazelcast.Net.Cache#786 - Partition Awareness for SQL Queries #798
- Support for TLS 1.3 #811
- Drop support for .NET Core 3.1 and .NET 5
- Added LINQ Provider
Hazelcast.Net.Linq.Async#837 - Added
asyncandsyncReconnect Modes
Please, visit the documentation for new features from here.
Fixes
- Fix Invalid Server Name Information (SNI) in SSL/TLS Client Hello payload #800
Known Issues
- Serialization Error on Nested Compact Generic Record #816
Hazelcast .NET Client v5.2.2
This document describes the new features, enhancements, and fixed issues for the Hazelcast .NET Client v5.2.2 release.
This version is a patch release and is fully backward-compatible with all 5.x and 4.x versions.
Refer to the 5.2.2 milestone for details on all issues and PRs that were involved in this release.
Enhancements
- Add missing
HazelcastClient.GetDistributedObjectsAsyncAPI. - Update documentation in various places, especially the "migrating from v3" page
- Add a page to document common pitfalls when migrating from synchronous to asynchronous code
- Make our code more tolerant to synchronous + asynchronous mixed code patterns
Fixes
- Client can hang in mixed sync/async code patterns ( #818 )
GetDistributedObjectsis missing ( #799 )Hazelcast.Net.DependencyInjectionpackage has issues ( #823 )
Known Issues
none
Hazelcast .NET Client v5.2.1
This document describes the new features, enhancements, and fixed issues for the Hazelcast .NET Client v5.2.1 release.
This version is a minor release and therefore is fully backward-compatible with all 5.x and 4.x versions.
When version 5.2.0 was released, the various NuGet packages were built in two different batches, ending with different signatures, and some packages being incompatible with others.
This release is a re-release of version 5.2.0 which simply rebuilds the NuGet packages so they happily all work together.
The codebase has not change in any way.
Hazelcast .NET Client v5.2.0
This document describes the new features, enhancements, and fixed issues for the Hazelcast .NET Client v5.2.0 release.
This version is a minor release and therefore is fully backward-compatible with all 5.x and 4.x versions.
Refer to the 5.2.0 milestone for details on all issues and PRs that were involved in this release.
New Features & Enhancements
- Added support for Compact Serialization (see documentation)
- Added BETA support for Linq (see documentation)
- Added an Hazelcast-based IDistributedCache implementation (see documentation)
- Added support for .NET 7.0
NOTE: Linq is added as a BETA feature. We believe our implementation to be stable and robust, but it is a newly introduced, rather important feature. We cannot totally rule out issues. Users are recommended to try and experiment with Linq now, but wait for version 5.3 for a production usage.
Fixes
- Unisocket (non-smart-routing) mode is known to be unreliable ( #595 )
- Client hangs with infinite memory leak when misconfigured ( #530 )
- Cloud connection issue with SSL ( #544 )
- Management Center stats and metrics issues ( #539 )
- Minor issues (see milestone)
Thanks
To community user @ph33rtehgd for testing the Compact Serialization and reporting issues.
Known Issues
none