Releases: hazelcast/hazelcast-python-client
v5.5.0
This document includes the new features, enhancements, and fixed issues since version 5.4.0.
Hazelcast Python Client v5.5.0 requires Python 3.7 or higher.
New Features
- VectorCollection data structure that enables vector search.
Enhancements
- None.
Fixes
- Fixed Paging Predicate serialization for Hazelcast v5.4.0.
Breaking Changes
- None.
Known Issues
- None.
v5.4.0
This document includes the new features, enhancements, and fixed issues for the Hazelcast Python Client 5.4.0 release.
New Features
- None.
Enhancements
- The client works with Python 3.12
- Hazelcast Cloud branding
Fixes
- None.
Breaking Changes
- None.
Known Issues
- None.
5.3.0
This document includes the new features, enhancements, and fixed issues for the Hazelcast Python Client 5.3.0 release.
New Features
- None.
Enhancements
Fixes
- None.
Breaking Changes
- None.
Known Issues
- None.
5.2.0
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 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 ids of the field kinds are changed. Also, the FieldKind API has moved to the
- The client now uses Hazelcast Viridian to fetch cluster members, instead of Hazelcast cloud. #594, #622
Known Issues
- None.
5.1
This document includes the new features, enhancements, and fixed issues for the Hazelcast Python Client 5.1 release.
New Features
- SQL 5.1 (JSON) support
- Compact serialization (BETA)
- A new configuration item was added to enable hostname verification. Documentation
Enhancements
- All public API classses and methods use type hints for improved intellisense and enables catching type related bugs earlier.
Fixes
- None
Breaking Changes
- We removed support for Python 2.x and older 3.x versions in this release. Python 3.6 and better are supported.
Known Issues
- Compact serialization (BETA) does not work with lazy deserialization. We will lift that restriction in a future version.
5.0.1
This document includes the new features, enhancements, and fixed issues for the Hazelcast Python Client 5.0.1 release.
New Features
- None
Enhancements
- Client now sends metrics for
tcp.bytesReceived
andtcp.bytesSend
that represent the total amount of bytes received/sent for the lifetime of the client across all member connections, which can be tracked with Prometheus Exporter using the Management Center. #500
Fixes
- Client no longer sends an extra 6 bytes in the initial frames of the client messages due to a miscalculation. #499
Breaking Changes
- None.
Known Issues
- None.
4.2.2
This document includes the new features, enhancements, and fixed issues for the Hazelcast Python Client 4.2.2 release.
New Features
- None
Enhancements
- Client now sends metrics for
tcp.bytesReceived
andtcp.bytesSend
that represent the total amount of bytes received/sent for the lifetime of the client across all member connections, which can be tracked with Prometheus Exporter using the Management Center. #497
Fixes
- Client no longer sends an extra 6 bytes in the initial frames of the client messages due to a miscalculation. #494
- Broken links in the documentation are fixed. #498
- A bug that can cause a serialization exception to be thrown while reading a value of type
BigInteger
orBigDecimal
(in the SQL system) is fixed. #498
Breaking Changes
- None.
Known Issues
- None.
5.0
This document includes the new features, enhancements, and fixed issues for the Hazelcast Python Client 5.0 release.
New Features
- External Smart Client Discovery: The smart client is now able to connect to cluster members using their public IP addresses, even if the client is in a different network than the members in cloud-like or Kubernetes environments. #468
Enhancements
- The SQL feature is promoted to stable status. #456, #457, #458
- New default serializers for
datetime.date
,datetime.time
, anddatetime.datetime
classes are added. #459 - The
HazelcastSqlError
now provides a suggestion to remediate experienced error. #473 - SQL rows are now deserialized lazily. #472
SqlRow
now supports the[]
operator to access columns. #478- SQL documentation is improved. #461, #479, #482
- SQL API made more intuitive by waiting for the first response from the server and removing the
execute_statement
method. #480, #484 - Missing
remove_interceptor
API is added toMap
. #481
Fixes
- Client now waits for the listener deregistration request to deal with the possible problems on services that expect sync listener removal. #475
- Client now applies membership events only if the memberlist version is greater than the current version. #486
- Client now checks for its status before trying to re-register the cluster view listener to deal with possible stack overflow errors during the shutdown. #476
Breaking Changes
- While promoting the SQL feature to stable status, the following APIs and behaviors are changed.
SqlService#execute
method now returns aFuture
and waits for the first response from the server.SqlService#execute_statement
andSqlStatement
APIs are removed. You can now use thekwargs
ofSqlService#execute
to control the properties of the query execution.SqlResult#iterator
,SqlResult#is_row_set
,SqlResult#update_count
, andSqlResult#get_row_metadata
methods now return immediately, instead of returning aFuture
, as we wait for the first server response.- In case of an exception, now,
SqlService#execute
returns aFuture
with an exception set, instead of delaying raising the exception to methods of theSqlResult
. - For some
SqlColumnType
s, the Python representations are changed fromstr
to the following classes:DECIMAL
->decimal.Decimal
DATE
->datetime.date
TIME
->datetime.time
TIMESTAMP
->datetime.datetime
TIMESTAMP_WITH_TIME_ZONE
->datetime.datetime
(withtzinfo
)
Known Issues
- None.
4.2.1
This document includes the new features, enhancements, and fixed issues for the Hazelcast Python Client 4.2.1 release.
New Features
- Security Configuration: It is now possible to use security configuration elements to provide username/password credentials or token-based authentication. Also, an external package called
hazelcast-kerberos
is developed to be used with the client for Kerberos authentication. #446, #452, #453, #455 - Binary Metrics: The support for the new binary metrics format is implemented. Now, the statistics sent from the Python client are displayed on the new versions of the Management Center. #441
- Aggregations: Aggregations allow you to perform aggregate operations over map entries quickly. It is implemented by the community user https://github.com/RobHam99. #442, #445
- Projections: Projections allow you to project (strip down) query results in order to minimize data being received from the server. It is implemented by the community user https://github.com/RobHam99. #451 , #454
Enhancements
- A typo in the HazelcastClient documentation is corrected by the community user https://github.com/treedavies. #430
Fixes
HazelcastInstanceNotActiveError
is made non-retryable. #431- Now, the client is able to read large payloads without additional latency. #436
- Now, the client is able to receive ReliableTopic messages published by the server. #449
Breaking Changes
- None.
Known Issues
- None.
4.2
This document includes the new features, enhancements, and fixed issues for the Hazelcast Python Client 4.2 release.
New Features
- SQL Support: It is now possible to query Map data with the state-of-the-art SQL engine using the standard SQL syntax. #390, #406, #409, #414, #416
Enhancements
- Cluster connect timeout logs are simplified for the default value. #405
- Ability to use context managers with the transactions are documented. #410
- Public attributes of the client object are documented. #411
Fixes
- Client now fires membership events when the Hot Restart Persistence is enabled. #412
- Invocation retry logic is improved to handle some corner cases. #413
Breaking Changes
- None.
Known Issues
- None.