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)