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.