CHANGELOG
2.8.0
February 19, 2019
Bug Fixes
- 
 Continuous paging sessions raise RuntimeError when results are not entirely consumed (PYTHON-1054) 
Merged from OSS master (3.17):
Features
- 
 Send driver name and version in startup message (PYTHON-1068) 
- 
 Add Cluster ssl_context option to enable SSL (PYTHON-995) 
- 
 Allow encrypted private keys for 2-way SSL cluster connections (PYTHON-995) 
- 
 Introduce new method ConsistencyLevel.is_serial (PYTHON-1067) 
- 
 Add Session.get_execution_profile (PYTHON-932) 
- 
 Add host kwarg to Session.execute/execute_async APIs to send a query to a specific node (PYTHON-993) 
Bug Fixes
- 
 NoHostAvailable when all hosts are up and connectable (PYTHON-891) 
- 
 Serial consistency level is not used (PYTHON-1007) 
Other
- 
 Fail faster on incorrect lz4 import (PYTHON-1042) 
- 
 Bump Cython dependency version to 0.29 (PYTHON-1036) 
- 
 Expand Driver SSL Documentation (PYTHON-740) 
Deprecations
- 
 Using Cluster.ssl_options to enable SSL is deprecated and will be removed in the next major release, use ssl_context. 
- 
 DowngradingConsistencyRetryPolicy is deprecated and will be removed in the next major release. (PYTHON-937) 
Merged from OSS master (3.16):
Bug Fixes
- 
 Cluster instantiation fails if any contact points’ hostname resolution fails (PYTHON-895) 
- 
 Log profile name on attempt to create existing profile (PYTHON-944) 
- 
 ResultSet.one() fails if the row_factory is using a generator (PYTHON-1026) 
Other
- 
 Fix wrong use of ResultSet indexing (PYTHON-1015) 
- 
 remove ‘setup.py nosetests’ from documentation (PYTHON-988) 
2.7.0
November 12, 2018
Features
- 
 Graph execution profiles should preserve their graph_source when graph_options is overridden (PYTHON-1021) 
Bug Fixes
- 
 GraphSON Property deserializer should return a dict instead of a set (PYTHON-1033) 
Merged from OSS master (3.16):
Bug Fixes
- 
 Improve and fix socket error-catching code in nonblocking-socket reactors (PYTHON-1024) 
- 
 Non-ASCII characters in schema break CQL string generation (PYTHON-1008) 
- 
 Fix OSS driver’s virtual table support against DSE 6.0.X and future server releases (PYTHON-1020) 
Other
- 
 Fix tests when RF is not maintained if we decomission a node (PYTHON-1017) 
2.6.0
August 30, 2018
Merged from OSS master (3.15.0):
Features
- 
 Parse Virtual Keyspace Metadata (PYTHON-992) 
Bug Fixes
- 
 Tokenmap.get_replicas returns the wrong value if token coincides with the end of the range (PYTHON-978) 
- 
 Python Driver fails with “more than 255 arguments” python exception when > 255 columns specified in query response (PYTHON-893) 
- 
 Hang in integration.standard.test_cluster.ClusterTests.test_set_keyspace_twice (PYTHON-998) 
- 
 Asyncore reactors should use a global variable instead of a class variable for the event loop (PYTHON-697) 
Other
- 
 Use global variable for libev loops so it can be subclassed (PYTHON-973) 
- 
 Update SchemaParser for V4 (PYTHON-1006) 
- 
 Bump Cython dependency version to 0.28 (PYTHON-1012) 
2.5.0
April 17, 2018
Features
- 
 Add NodeSync metadata (PYTHON-799) 
- 
 Add new NodeSync failure values (PYTHON-934) 
- 
 DETERMINISTIC and MONOTONIC Clauses for Functions and Aggregates (PYTHON-955) 
Bug Fixes
- 
 ResponseFuture.has_more_pages may hold the wrong value (PYTHON-946) 
- 
 Warn users when using the deprecated Session.default_consistency_level (PYTHON-953) 
- 
 DETERMINISTIC clause in AGGREGATE misplaced in CQL generation (PYTHON-963) 
Other
- 
 Disallow setting default_consistency_level (PYTHON-970) 
- 
 Add tests around cqlengine and continuous paging (PYTHON-872) 
- 
 Fix DSE docs for Session.default_consistency_level (PYTHON-965) 
Merged from OSS master (3.14.0):
Features
- 
 Add one() function to the ResultSet API (PYTHON-947) 
- 
 Create an utility function to fetch concurrently many keys from the same replica (PYTHON-647) 
- 
 Allow filter queries with fields that have an index managed outside of cqlengine (PYTHON-966) 
- 
 Twisted SSL Support (PYTHON-343) 
- 
 Support IS NOT NULL operator in cqlengine (PYTHON-968) 
Other
- 
 Fix Broken Links in Docs (PYTHON-916) 
- 
 Reevaluate MONKEY_PATCH_LOOP in test codebase (PYTHON-903) 
- 
 Remove CASS_SERVER_VERSION and replace it for CASSANDRA_VERSION in tests (PYTHON-910) 
- 
 Refactor CASSANDRA_VERSION to a some kind of version object (PYTHON-915) 
- 
 Log warning when driver configures an authenticator, but server does not request authentication (PYTHON-940) 
- 
 Warn users when using the deprecated Session.default_consistency_level (PYTHON-953) 
- 
 Add DSE smoke test to OSS driver tests (PYTHON-894) 
- 
 Improve error for batch WriteTimeouts (PYTHON-941) 
- 
 Deprecate ResultSet indexing (PYTHON-945) 
2.4.1
February 6, 2018
Other
- 
 add CHANGELOG to docs (PYTHON-904) 
- 
 Fix Broken Links in Docs (PYTHON-916) 
2.4.0
January 30, 2018
Features
- 
 GraphOptions should show a warning for unknown parameters (PYTHON-819) 
Bug Fixes
- 
 dse.graph module import cause a DLL issue on Windows due to its cythonizing failure (PYTHON-900) 
Merged from OSS master (3.13.0):
Features
- 
 cqlengine: LIKE filter operator (PYTHON-512) 
- 
 Support cassandra.query.BatchType with cqlengine BatchQuery (PYTHON-888) 
Bug Fixes
- 
 AttributeError: ‘NoneType’ object has no attribute ‘add_timer’ (PYTHON-862) 
- 
 Support retry_policy in PreparedStatement (PYTHON-861) 
- 
 __del__ method in Session is throwing an exception (PYTHON-813) 
- 
 LZ4 import issue with recent versions (PYTHON-897) 
- 
 ResponseFuture._connection can be None when returning request_id (PYTHON-853) 
- 
 ResultSet.was_applied doesn’t support batch with LWT statements (PYTHON-848) 
Other
- 
 cqlengine: avoid warning when unregistering connection on shutdown (PYTHON-865) 
- 
 Fix DeprecationWarning of log.warn (PYTHON-846) 
- 
 Fix example_mapper.py for python3 (PYTHON-860) 
- 
 Possible deadlock on cassandra.concurrent.execute_concurrent (PYTHON-768) 
- 
 Add some known deprecated warnings for 4.x (PYTHON-877) 
- 
 Remove copyright dates from copyright notices (PYTHON-863) 
- 
 Remove “Experimental” tag from execution profiles documentation (PYTHON-840) 
- 
 request_timer metrics descriptions are slightly incorrect (PYTHON-885) 
- 
 Remove “Experimental” tag from cqlengine connections documentation (PYTHON-892) 
- 
 Set in documentation default consistency for operations is LOCAL_ONE (PYTHON-901) 
2.3.0
November 6, 2017
Features
- 
 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) 
- 
 Send keyspace in QUERY, PREPARE, and BATCH messages (PYTHON-678) 
- 
 Add support of Python3 IPv4Address and IPv6Address for inet types (PYTHON-751) 
- 
 Create an AuthProvider for the DSE transitional mode (PYTHON-831) 
- 
 WriteType.CDC and VIEW missing (PYTHON-794) 
- 
 Warn on Cluster init if contact points are specified but LBP isn’t (legacy mode) (PYTHON-812) 
- 
 Warn on Cluster init if contact points are specified but LBP isn’t (exection profile mode) (PYTHON-838) 
- 
 Include hash of result set metadata in prepared stmt id (PYTHON-808) 
- 
 Add NO_COMPACT startup option (PYTHON-839) 
- 
 Add new exception type for CDC (PYTHON-837) 
- 
 Allow 0ms in ConstantSpeculativeExecutionPolicy (PYTHON-836) 
- 
 Add asyncio reactor (PYTHON-507) 
Bug Fixes
- 
 Both _set_final_exception/result called for the same ResponseFuture (PYTHON-630) 
- 
 Use of DCAwareRoundRobinPolicy raises NoHostAvailable exception (PYTHON-781) 
- 
 Update date serialization to isoformat in graph (PYTHON-805) 
Others
- 
 Add an abstract GraphStatement to handle different graph statements (PYTHON-789) 
- 
 Not create two sessions by default in CQLEngine (PYTHON-814) 
- 
 Bug when subclassing AyncoreConnection (PYTHON-827) 
- 
 Error at cleanup when closing the asyncore connections (PYTHON-829) 
- 
 Fix sites where sessions can change during iteration (PYTHON-793) 
- 
 cqlengine: allow min_length=0 for Ascii and Text column types (PYTHON-735) 
- 
 Rare exception when “sys.exit(0)” after query timeouts (PYTHON-752) 
- 
 Dont set the session keyspace when preparing statements (PYTHON-843) 
- 
 Use of DCAwareRoundRobinPolicy raises NoHostAvailable exception (PYTHON-781) 
- 
 Remove DeprecationWarning when using WhiteListRoundRobinPolicy (PYTHON-810) 
- 
 Bump Cython dependency version to 0.27 (PYTHON-833) 
- 
 Rename rpc_address to native_transport_address (PYTHON-830) 
2.2.0
July 24, 2017
Features
- 
 Implement serializers for the Graph String API (PYTHON-778) 
- 
 Provide deserializers for GraphSON types (PYTHON-782) 
- 
 Add Graph DurationType support (PYTHON-607) 
Merged from OSS master (3.11.0):
Features
- 
 Add idle_heartbeat_timeout cluster option to tune how long to wait for heartbeat responses. (PYTHON-762) 
- 
 Add HostFilterPolicy (PYTHON-761) 
Bug Fixes
- 
 is_idempotent flag is not propagated from PreparedStatement to BoundStatement (PYTHON-736) 
- 
 Fix asyncore hang on exit (PYTHON-767) 
- 
 Driver takes several minutes to remove a bad host from session (PYTHON-762) 
- 
 Installation doesn’t always fall back to no cython in Windows (PYTHON-763) 
- 
 Avoid to replace a connection that is supposed to shutdown (PYTHON-772) 
- 
 request_ids may not be returned to the pool (PYTHON-739) 
- 
 Fix murmur3 on big-endian systems (PYTHON-653) 
- 
 Ensure unused connections are closed if a Session is deleted by the GC (PYTHON-774) 
- 
 Fix .values_list by using db names internally (cqlengine) (PYTHON-785) 
Other
- 
 Bump Cython dependency version to 0.25.2 (PYTHON-754) 
- 
 Fix DeprecationWarning when using lz4 (PYTHON-769) 
- 
 Deprecate WhiteListRoundRobinPolicy (PYTHON-759) 
- 
 Improve upgrade guide for materializing pages (PYTHON-464) 
- 
 Documentation for time/date specifies timestamp inupt as microseconds (PYTHON-717) 
- 
 Point to DSA Slack, not IRC, in docs index 
2.1.0
May 24, 2017
Other
- 
 Correct licence in DSE Driver (PYTHON-748) 
Merged from OSS 3.10.0:
Features
- 
 Add Duration type to cqlengine (PYTHON-750) 
- 
 Community PR review: Raise error on primary key update only if its value changed (PYTHON-705) 
- 
 get_query_trace() contract is ambiguous (PYTHON-196) 
Bug Fixes
- 
 Queries using speculative execution policy timeout prematurely (PYTHON-755) 
- 
 Fix map where results are not consumed (PYTHON-749) 
- 
 Driver fails to encode Duration’s with large values (PYTHON-747) 
- 
 UDT values are not updated correctly in CQLEngine (PYTHON-743) 
- 
 UDT types are not validated in CQLEngine (PYTHON-742) 
- 
 to_python is not implemented for types columns.Type and columns.Date in CQLEngine (PYTHON-741) 
- 
 Clients spin infinitely trying to connect to a host that is drained (PYTHON-734) 
- 
 Resulset.get_query_trace returns empty trace sometimes (PYTHON-730) 
- 
 Memory grows and doesn’t get removed (PYTHON-720) 
- 
 Fix RuntimeError caused by change dict size during iteration (PYTHON-708) 
- 
 fix ExponentialReconnectionPolicy may throw OverflowError problem (PYTHON-707) 
- 
 Avoid using nonexistent prepared statement in ResponseFuture (PYTHON-706) 
Other
- 
 Update README (PYTHON-746) 
- 
 Test python versions 3.5 and 3.6 (PYTHON-737) 
- 
 Docs Warning About Prepare “select *” (PYTHON-626) 
- 
 Increase Coverage in CqlEngine Test Suite (PYTHON-505) 
- 
 Example SSL connection code does not verify server certificates (PYTHON-469) 
2.0.0
April 18, 2017
Release merged in changes from cassandra-driver 3.9.0
Bug Fixes
- 
 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) 
Other
- 
 Write documentation examples for DSE 2.0 features (PYTHON-732) 
2.0.0rc1
March 15, 2017
Release merged in changes from cassandra-driver 3.8.1 (PYTHON-712)
Bug Fixes
- 
 Migrate DateRange and DateRangeBound off namedtuple implementations (PYTHON-701) 
- 
 Add missing rich comparisons for some custom types (PYTHON-714) 
- 
 Fix Comparisons for DateRange util types (PYTHON-718) 
Other
- 
 Remove support for Cassandra 2.0 and below (PYTHON-681) 
2.0.0b3
February 13, 2017
Features
- 
 Support DSE DateRange type (PYTHON-668) 
- 
 RLAC CQL output for materialized views (PYTHON-682) 
Bug Fixes
- 
 DSE_V1 protocol should not include all of protocol v5 (PYTHON-694) 
1.1.0
November 2, 2016
Features
- 
 Add Geom Types wkt deserializer 
1.0.4
September 13, 2016
Release upgrading to cassandra-driver 3.7.0
1.0.3
August 5, 2016
Release upgrading to cassandra-driver 3.6.0
1.0.0
June 28, 2016
Features
- 
 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) 
Bug Fixes
- 
 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) 
1.0.0a2
March 30, 2016
Features
- 
 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
- 
 Correctly handle other types in geo type equality (PYTHON-508) 
1.0.0a1
February 4, 2016
Initial release
