Hazelcast-python-client

Latest version: v5.3.0

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

Scan your dependencies

Page 2 of 4

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`](https://github.com/hazelcast/hazelcast-python-client-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.

4.1

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

New Features

- **Reliable Topic**: A distribution mechanism for publishing messages that are delivered to multiple subscribers. It offers a similar interface to Topic, with added benefits of reliability such as no-event loss guarantees and isolation. 395, 396

Enhancements

- Public APIs that contain the `UTF` are replaced by `String` to make them more user-friendly. 345
- `cluster_connect_timeout` is set to infinite by default. 346
- Ringbufferread_many now returns a `ResultSet` that contains more information than a plain list. Also, the same function now takes a filter parameter to select what items to read. 393

Fixes

- When a connection attempt fails immediately, its resources are now cleaned up immediately. 343
- Client now fails fast when the `METADATA` group name is used in the CP data structures. 380
- Client does not use the deprecated classes from the `collections` package anymore. 385
- Client does not allow duplicate field names in `ClassDefinitionBuilder` anymore. 387
- Client now behaves correctly while connecting to members behind a private network. 388

Breaking Changes

- None.

Known Issues

- None.

4.0

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

New Features

- **Hazelcast IMDG 4.0 Changes**: Client protocol enhancements, architectural changes. 217
- **Ownerless Client**: Simpler design to track member leaves and joins to the cluster. 217
- **CP Subsystem Support**: New concurrency APIs including `AtomicLong`, `AtomicReference`, `FencedLock`, `Semaphore`, and `CountDownLatch`. Hazelcast IMDG 4.0 introduces CP Subsystem powered by Raft consensus protocol. It provides CP concurrency primitives with respect to the CAP principle, i.e., they always maintain linearizability and prefer consistency to availability during network partitions and client or server failures. 223, 224, 225, 226, 227
- **Backup Acknowledgment**: Python client now supports backup acks (aka boomerang backups). So far the client was waiting for the sync backups to complete on the member. Boomerang backups decrease the number of network hops, thus improving the performance. 222
- **Paging Predicates**: Support for Paging Predicates which allows you to fetch keys, values, or entries of a map page by page is implemented. 232

Enhancements

- **Configuration Redesign**: Programmatic configuration was simplified. The configuration is now represented with keyword arguments. 219
- **Google Style Docstrings**: Docstrings now follow the Google Python Style Guide to improve the readability. Also, with this change, IDEs are better at showing the type-hints from the docstrings. 221
- **Logging**: Hazelcast Python client was adding custom handlers to the loggers, which is not recommended by the standard library documentation. Custom handlers are now removed and other logging practices recommended by the standard library documentation is followed. 229
- **Performance**: The performance of the client for the non-blocking mode is improved significantly. 242, 264
- **Documentation**: API and detailed client documentation is moved to [hazelcast.readthedocs.io](https://hazelcast.readthedocs.io) and README is simplified. #266
- **Predicates**: Predicates are now properly documented, have shorter names, and moved from the serialization module. 239
- Some private APIs were exposed to users mistakenly. They are removed from the public API and API documentation. 217, 221
- Serialization of strings is now significantly faster. 217
- Default serialization now supports the native `bytearray` type. 218
- Default serialization now supports Java `UUID` type. 218
- It is now possible to add or remove listeners in a non-blocking way. 248
- Hot path of the client is optimized. 218, 241, 243, 244
- Missing `set_ttl` method is added to the Map. 215
- Missing `ObjectDataInputskip_bytes` method is implemented. 254
- Client now uses seconds as the time resolution for all APIs. 260
- Hazelcast Cloud discovery documentation is improved. 263
- Improved the responsiveness of the client in case of the reconnection scenarios. 274
- Enum-like configurations now can be customized using string literals. 273
- Source code of the client is now formatted using `black`. 284, 285, 286, 287, 288, 289

Fixes

- The member list could be broken after Hot Restart enabled member restart. Now the client handles the restart correctly. 231
- Client now handles class definition registrations with the same class id but with different factory ids. 235
- Anchor links were not working on the PyPI. README is converted to reStructuredText format to make them work. 237
- The possible race on handling timers is fixed. 240
- Client was not able to set the results of retried invocations in some cases. Now the client sets the results of the retried invocations correctly 268 269
- Client now handles the memberlist correctly in split-brain scenarios. 272


Breaking Changes

- AP-based concurrency primitives (`Lock`, `Semaphore`, `AtomicLong`, `AtomicReference`, `CountDownLatch`) were removed from the client. Instead, CP-based versions are implemented. 223, 224, 225, 226, 227
- Programmatic configuration API was changed to work with keyword arguments. Certain configuration options were renamed. Also, the configuration options are now flat. 219
- Logging configuration API was changed according to recommended practices by the standard library. Hazelcast Python client does not add any handlers now. Also, one has to enable logging to see client logs. 229
- Certain predicates are renamed. Also, they are now at the `hazelcast.predicate` module, instead of the `hazelcast.serialization.predicate`. 239
- Some private APIs were exposed to users mistakenly. They are removed from the public API and API documentation. 217, 221, 293
- Adding or removing listeners can be done in a non-blocking way now. Therefore, these APIs are returning `Future[str]` and `Future[bool]` instead of `str` and `bool`. 248
- `hazelcast.exception` module is renamed as `hazelcast.errors`. 217


Known Issues

- Client statistics format in Python client v4.0.0b1 is compatible with Management Center v4.0. Support for format compatible with Management Center v4.2020.08 and newer will be added in one of the upcoming minor releases of the client.

4.0.0b1

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

New Features

- **Hazelcast IMDG 4.0 Changes**: Client protocol enhancements, architectural changes. 217
- **Ownerless Client**: Simpler design to track member leaves and joins to the cluster. 217
- **CP Subsystem Support**: New concurrency APIs including `AtomicLong`, `AtomicReference`, `FencedLock`, `Semaphore`, and `CountDownLatch`. Hazelcast IMDG 4.0 introduces CP Subsystem powered by Raft consensus protocol. It provides CP concurrency primitives with respect to the CAP principle, i.e., they always maintain linearizability and prefer consistency to availability during network partitions and client or server failures. 223, 224, 225, 226, 227
- **Backup Acknowledgment**: Python client now supports backup acks (aka boomerang backups). So far the client was waiting for the sync backups to complete on the member. Boomerang backups decrease the number of network hops, thus improving the performance. 222
- **Paging Predicates**: Support for Paging Predicates which allows you to fetch keys, values, or entries of a map page by page is implemented. 232

Enhancements

- **Configuration Redesign**: Programmatic configuration was simplified. The configuration is now represented with keyword arguments. 219
- **Google Style Docstrings**: Docstrings now follow the Google Python Style Guide to improve the readability. Also, with this change, IDEs are better at showing the type-hints from the docstrings. 221
- **Logging**: Hazelcast Python client was adding custom handlers to the loggers, which is not recommended by the standard library documentation. Custom handlers are now removed and other logging practices recommended by the standard library documentation is followed. 229
- **Performance**: The performance of the client for the non-blocking mode is improved significantly. 242
- **Predicates**: Predicates are now properly documented, have shorter names, and moved from the serialization module. 239
- Some private APIs were exposed to users mistakenly. They are removed from the public API and API documentation. 217, 221
- Serialization of strings is now significantly faster. 217
- Default serialization now supports the native `bytearray` type. 218
- Default serialization now supports Java `UUID` type. 218
- It is now possible to add or remove listeners in a non-blocking way. 248
- Hot path of the client is optimized. 218, 241, 243, 244
- Missing `set_ttl` method is added to the Map. 215

Fixes

- The member list could be broken after Hot Restart enabled member restart. Now the client handles the restart correctly. 231
- Client now handles class definition registrations with the same class id but with different factory ids. 235
- Anchor links were not working on the PyPI. README is converted to reStructuredText format to make them work. 237
- The possible race on handling timers is fixed. 240

Breaking Changes

- AP-based concurrency primitives (`Lock`, `Semaphore`, `AtomicLong`, `AtomicReference`, `CountDownLatch`) were removed from the client. Instead, CP-based versions are implemented. 223, 224, 225, 226, 227
- Programmatic configuration API was changed to work with keyword arguments. Certain configuration options were renamed. Also, the configuration options are now flat. 219
- Logging configuration API was changed according to recommended practices by the standard library. Hazelcast Python client does not add any handlers now. Also, one has to enable logging to see client logs. 229
- Certain predicates are renamed. Also, they are now at the `hazelcast.predicate` module, instead of the `hazelcast.serialization.predicate`. 239
- Some private APIs were exposed to users mistakenly. They are removed from the public API and API documentation. 217, 221
- Adding or removing listeners can be done in a non-blocking way now. Therefore, these APIs are returning `Future[str]` and `Future[bool]` instead of `str` and `bool`. 248
- `hazelcast.exception` module is renamed as `hazelcast.errors`. 217


Known Issues

- Client statistics format in Python client v4.0.0b1 is compatible with Management Center v4.0. Support for format compatible with Management Center v4.2020.08 and newer will be added in one of the upcoming minor releases of the client.

3.12.3

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

- None

Enhancements

- **Distibuted Objects Listener:** An API to register/deregister distributed object listener to the client is added. With that, users can be notified about the cluster-wide distributed object creation/destruction events. Also, an API to get the list of the distributed objects is added. 197

- **Entry Loaded Event:** When an entry is loaded from the MapLoader, the client now fires an EntryLoaded event. 194

Fixes

- A typo was causing the wrong error to be thrown in the invocation service. 192

Known Issues

- None.

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.