CHANGELOG
2.11.1
January 21, 2020
Merged from OSS master (3.21):
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)
-
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)
2.11.0
October 28, 2019
Merged from OSS master (3.20):
Features
-
DataStax Apollo Support (PYTHON-1074)
-
Use 4.0 schema parser in 4 alpha and snapshot builds (PYTHON-1158)
Bug Fixes
-
Connection setup methods prevent using ExecutionProfile in cqlengine (PYTHON-1009)
-
Driver deadlock if all connections dropped by heartbeat whilst request in flight and request times out (PYTHON-1044)
-
Exception when use pk__token__gt filter In python 3.7 (PYTHON-1121)
2.10.0
August 26, 2019
Merged from OSS master (3.19):
Features
-
Add Python 3.7 support (PYTHON-1016)
-
Future-proof Mapping imports (PYTHON-1023)
-
Include param values in cqlengine logging (PYTHON-1105)
-
NTS Token Replica Map Generation is slow (PYTHON-622)
Bug Fixes
-
as_cql_query UDF/UDA parameters incorrectly includes “frozen” if arguments are collections (PYTHON-1031)
-
cqlengine does not currently support combining TTL and TIMESTAMP on INSERT (PYTHON-1093)
-
Fix incorrect metadata for compact counter tables (PYTHON-1100)
-
Call ConnectionException with correct kwargs (PYTHON-1117)
-
Can’t connect to clusters built from source because version parsing doesn’t handle ‘x.y-SNAPSHOT’ (PYTHON-1118)
-
Discovered node doesn´t honor the configured Cluster port on connection (PYTHON-1127)
Other
-
Remove invalid warning in set_session when we initialize a default connection (PYTHON-1104)
-
Set the proper default ExecutionProfile.row_factory value (PYTHON-1119)
2.9.0
May 27, 2019
Features
-
Insights integration (PYTHON-1047)
Merged from OSS master (3.18):
Features
-
Abstract Host Connection information (PYTHON-1079)
-
Improve version parsing to support a non-integer 4th component (PYTHON-1091)
-
Expose on_request_error method in the RetryPolicy (PYTHON-1064)
-
Add jitter to ExponentialReconnectionPolicy (PYTHON-1065)
Bug Fixes
-
Fix error when preparing queries with beta protocol v5 (PYTHON-1081)
-
Accept legacy empty strings as column names (PYTHON-1082)
-
Let util.SortedSet handle uncomparable elements (PYTHON-1087)
2.8.1
May 2, 2019
Merged from OSS 3.17.1:
Bug Fixes
-
Socket errors EAGAIN/EWOULDBLOCK are not handled properly and cause timeouts (PYTHON-1089)
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