Skip to content

Releases: hazelcast/hazelcast-python-client

v5.5.0

06 Aug 10:37
d776810
Compare
Choose a tag to compare

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

Enhancements

  • None.

Fixes

  • Fixed Paging Predicate serialization for Hazelcast v5.4.0.

Breaking Changes

  • None.

Known Issues

  • None.

v5.4.0

20 May 07:43
7c8bc58
Compare
Choose a tag to compare

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

12 Jun 14:32
9c4cc92
Compare
Choose a tag to compare

This document includes the new features, enhancements, and fixed issues for the Hazelcast Python Client 5.3.0 release.

New Features

  • None.

Enhancements

  • The client is tested against Python 3.11 #631
  • Server version used in tests bumped to 5.3.0 #629

Fixes

  • None.

Breaking Changes

  • None.

Known Issues

  • None.

5.2.0

31 Mar 15:09
bf610dc
Compare
Choose a tag to compare

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 client now uses Hazelcast Viridian to fetch cluster members, instead of Hazelcast cloud. #594, #622

Known Issues

  • None.

5.1

29 Apr 12:46
6f380c4
Compare
Choose a tag to compare
5.1

This document includes the new features, enhancements, and fixed issues for the Hazelcast Python Client 5.1 release.

New Features

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

19 Oct 12:05
b012a97
Compare
Choose a tag to compare

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 and tcp.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

19 Oct 11:49
7541a50
Compare
Choose a tag to compare

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 and tcp.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 or BigDecimal (in the SQL system) is fixed. #498

Breaking Changes

  • None.

Known Issues

  • None.

5.0

30 Sep 09:48
ac57ce7
Compare
Choose a tag to compare
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, and datetime.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 to Map. #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 a Future and waits for the first response from the server.
    • SqlService#execute_statement and SqlStatement APIs are removed. You can now use the kwargs of SqlService#execute to control the properties of the query execution.
    • SqlResult#iterator, SqlResult#is_row_set, SqlResult#update_count, and SqlResult#get_row_metadata methods now return immediately, instead of returning a Future, as we wait for the first server response.
    • In case of an exception, now, SqlService#execute returns a Future with an exception set, instead of delaying raising the exception to methods of the SqlResult.
    • For some SqlColumnTypes, the Python representations are changed from str to the following classes:
      • DECIMAL -> decimal.Decimal
      • DATE -> datetime.date
      • TIME -> datetime.time
      • TIMESTAMP -> datetime.datetime
      • TIMESTAMP_WITH_TIME_ZONE -> datetime.datetime (with tzinfo)

Known Issues

  • None.

4.2.1

27 Aug 15:11
da647b8
Compare
Choose a tag to compare

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

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

18 Jun 13:05
978bc0e
Compare
Choose a tag to compare
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.