Skip to content

5.0

Compare
Choose a tag to compare
@mdumandag mdumandag released this 30 Sep 09:48
· 125 commits to master since this release
ac57ce7

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.