Hazelcast-python-client

Latest version: v5.3.0

Safety actively analyzes 621521 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

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

- 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

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.

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](https://hazelcast.readthedocs.io/en/latest/using_python_client_with_hazelcast.html#querying-json-objects)
- [Compact serialization (BETA)](https://hazelcast.readthedocs.io/en/latest/serialization.html?#compact-serialization)
- A new configuration item was added to enable hostname verification. [Documentation](https://hazelcast.readthedocs.io/en/latest/securing_client_connection.html#checking-hostname)

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` 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.

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.
- `SqlServiceexecute` method now returns a `Future` and waits for the first response from the server.
- `SqlServiceexecute_statement` and `SqlStatement` APIs are removed. You can now use the `kwargs` of `SqlServiceexecute` to control the properties of the query execution.
- `SqlResultiterator`, `SqlResultis_row_set`, `SqlResultupdate_count`, and `SqlResultget_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, `SqlServiceexecute` returns a `Future` with an exception set, instead of delaying raising the exception to methods of the `SqlResult`.
- For some `SqlColumnType`s, 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.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` 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.

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.