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