3.0.6

3.0.6.1

New Features

  • Added support for Python 3.14 (with-GIL).

  • Added the timeout and netTimeout/net_timeout parameters (supporting datetime.timedelta) to Session.connect and DBConnection.connect to configure the timeout for waiting for server responses, as well as network timeouts for TCP connection establishment, data writing, and keep-alive checks, respectively. The legacy readTimeout and writeTimeout parameters are retained for backward compatibility.

  • Added the usePublicName parameter to Session.connect to support connecting via the node's publicName in cluster environments.

Improvements

  • Added sequence numbers to script and function requests in high availability mode or when auto-reconnect is enabled, enabling the server to distinguish between initial and retry requests.

  • Optimized the failover process: removed the redundant 1-second delay after successfully connecting to a candidate node.

Bug Fixes

  • Fixed an issue where disconnection duringrun and upload could cause failover to an incorrect node, and reconnection logs were missing after a successful reconnect.

  • Fixed an issue where high-availability connections failed to continue attempting node failover when the cluster returned<UnknownLeader>.

  • Fixed the node matching and <NotLeader> redirection issues when usePublicName was enabled in high availability connections.

Compatibility Notes

  • The default value of keepAliveTime in Session is changed from 30 seconds to unspecified. When unspecified, the global default network timeout (currently 3 seconds) is applied.

  • Session.setTimeout now sets the global default network timeout (net_timeout), rather than mapping to the Linux TCP_USER_TIMEOUT.

3.0.6.0

New Features

  • Added support for uploading pyarrow.Table objects via the PROTOCOL_ARROW protocol.

  • Added support for pandas 3.0.

Improvements

  • Adjusted the log level for initialization-related messages (e.g., isNodeInitialized) from WARN to INFO.