cassandra-python-driver v3.21.0 Release Notes
Release Date: 2020-01-15 // over 4 years ago-
January 15, 2020
๐ Features
- ๐ฆ Unified driver: merge core and DSE drivers into a single package (PYTHON-1130)
- โ Add Python 3.8 support (PYTHON-1189)
- ๐ Allow passing ssl context for Twisted (PYTHON-1161)
- ๐ Ssl context and cloud support for Eventlet (PYTHON-1162)
- ๐ Cloud Twisted support (PYTHON-1163)
- Add additional_write_policy and read_repair to system schema parsing (PYTHON-1048)
- ๐ Flexible version parsing (PYTHON-1174)
- ๐ Support NULL in collection deserializer (PYTHON-1123)
- [GRAPH] Ability to execute Fluent Graph queries asynchronously (PYTHON-1129)
๐ Bug Fixes
- ๐ Handle prepared id mismatch when repreparing on the fly (PYTHON-1124)
- re-raising the CQLEngineException will fail on Python 3 (PYTHON-1166)
- asyncio message chunks can be processed discontinuously (PYTHON-1185)
- ๐ Reconnect attempts persist after downed node removed from peers (PYTHON-1181)
- Connection fails to validate ssl certificate hostname when SSLContext.check_hostname is set (PYTHON-1186)
- ResponseFuture._set_result crashes on connection error when used with PrepareMessage (PYTHON-1187)
- Insights fail to serialize the startup message when the SSL Context is from PyOpenSSL (PYTHON-1192)
Others
- The driver has a new dependency: geomet. It comes from the dse-driver unification and is used to support DSE geo types.
- Remove *read_repair_chance table options (PYTHON-1140)
- โ Avoid warnings about unspecified load balancing policy when connecting to a cloud cluster (PYTHON-1177)
- โ Add new DSE CQL keywords (PYTHON-1122)
- Publish binary wheel distributions (PYTHON-1013)
๐ Deprecations
- ๐ DSELoadBalancingPolicy will be removed in the next major, consider using the DefaultLoadBalancingPolicy.
๐ Merged from dse-driver:
๐ Features
- Insights integration (PYTHON-1047)
- Graph execution profiles should preserve their graph_source when graph_options is overridden (PYTHON-1021)
- โ Add NodeSync metadata (PYTHON-799)
- โ Add new NodeSync failure values (PYTHON-934)
- DETERMINISTIC and MONOTONIC Clauses for Functions and Aggregates (PYTHON-955)
- โ GraphOptions should show a warning for unknown parameters (PYTHON-819)
- DSE protocol version 2 and continous paging backpressure (PYTHON-798)
- ๐ GraphSON2 Serialization/Deserialization Support (PYTHON-775)
- โ Add graph-results payload option for GraphSON format (PYTHON-773)
- Create an AuthProvider for the DSE transitional mode (PYTHON-831)
- Implement serializers for the Graph String API (PYTHON-778)
- Provide deserializers for GraphSON types (PYTHON-782)
- โ Add Graph DurationType support (PYTHON-607)
- ๐ Support DSE DateRange type (PYTHON-668)
- RLAC CQL output for materialized views (PYTHON-682)
- โ Add Geom Types wkt deserializer
- ๐ฐ DSE Graph Client timeouts in custom payload (PYTHON-589)
- ๐ Make DSEGSSAPIAuthProvider accept principal name (PYTHON-574)
- โ Add config profiles to DSE graph execution (PYTHON-570)
- DSE Driver version checking (PYTHON-568)
- 0๏ธโฃ Distinct default timeout for graph queries (PYTHON-477)
- ๐ Graph result parsing for known types (PYTHON-479,487)
- Distinct read/write CL for graph execution (PYTHON-509)
- ๐ Target graph analytics query to spark master when available (PYTHON-510)
๐ Bug Fixes
- Continuous paging sessions raise RuntimeError when results are not entirely consumed (PYTHON-1054)
- GraphSON Property deserializer should return a dict instead of a set (PYTHON-1033)
- ResponseFuture.has_more_pages may hold the wrong value (PYTHON-946)
- DETERMINISTIC clause in AGGREGATE misplaced in CQL generation (PYTHON-963)
- ๐ graph module import cause a DLL issue on Windows due to its cythonizing failure (PYTHON-900)
- โก๏ธ Update date serialization to isoformat in graph (PYTHON-805)
- ๐ DateRange Parse Error (PYTHON-729)
- MontonicTimestampGenerator.init ignores class defaults (PYTHON-728)
- ๐ metadata.get_host returning None unexpectedly (PYTHON-709)
- Sockets associated with sessions not getting cleaned up on session.shutdown() (PYTHON-673)
- Resolve FQDN from ip address and use that as host passed to SASLClient (PYTHON-566)
- Geospatial type implementations don't handle 'EMPTY' values. (PYTHON-481)
- Correctly handle other types in geo type equality (PYTHON-508)
Other
- โ Add tests around cqlengine and continuous paging (PYTHON-872)
- โ Add an abstract GraphStatement to handle different graph statements (PYTHON-789)
- ๐ Write documentation examples for DSE 2.0 features (PYTHON-732)
- DSE_V1 protocol should not include all of protocol v5 (PYTHON-694)