This document includes the new features, enhancements, and fixed issues for the Hazelcast Python Client 5.2.0 release.
New Features
- **General Availability of Compact Serialization**: The Compact serialization reached GA status after introducing the necessary API and safety changes. Starting from this release, it will have the same compatibility and stability guarantees as any other Hazelcast API. It will also be possible to use Compact serialized objects with APIs offered by Hazelcast without any limitations. 609, 610, 611, 612, 613, 615, 617, 618, 619
- **DBAPI Support**: The client now implements the [DBAPI](https://peps.python.org/pep-0249/) interface on top of the SQL service to be compatible with various libraries and tools. #586, 626
- **Programmatic Configuration API**: It is now possible to use programmatic API with type hints to configure the client as an alternative method of keyword arguments to the client constructor. 521
Enhancements
- Missing `multi_map.put_all` API is implemented. 600
- Missing `topic.publish_all` API is implemented. 570
- Missing APIs to read and write `decimal`, `time`, `date`, `datetime`, `timestamp`, and their arrays are added to the Portable reader and writer classes. 569
- Missing `map.remove_all` API is implemented. 566
Fixes
- The client now correctly accounts for the super-class serializers of the types used with a custom serializer. 603
- A more descriptive error is thrown when there is no Compact serializer registered for the nested Compact classes. 574
Breaking Changes
- The Compact serialization reached the GA status, and it doesn't have compatibility with the BETA implementation in the 5.1 version of the client. Specifically:
- The ids of the field kinds are changed. Also, the FieldKind API has moved to the `hazelcast.serialization.api` module. 609
- It is not allowed to override default serializers with Compact serializers anymore. 610
- It is not allowed to have duplicate field names in the Compact serializers anymore. 610
- It is not allowed to have different types of classes in Compact array fields anymore. 612
- The generic type variable for Compact serializers is renamed to `CompactSerializableType`. 620
- The client now uses Hazelcast Viridian to fetch cluster members, instead of Hazelcast cloud. 594, 622
Known Issues
- None.