Skip to content

Commit 89e4b24

Browse files
committed
* 'master' of https://github.com/datastax/python-driver: (286 commits) Test 68 (datastax#1066) Add all() function to the ResultSet API Changes from test failures. ninja fix invalid syntax in test remove test code Moved some utils module to fix import errors in unit tests release 3.21: update docs Last fix for the registered char for Cassandra release 3.21: docs use ® for docs summary release 3.21: docs use TM for docs summary, not the registered char release 3.21: docs release 3.21: changelog A few other docs fixes Minor documentation improvements update 3.21 hash in docs.yaml docs.yaml should install deps from test-datastax-requirements.txt add 3.21 in docs.yaml release 3.21: bump version ...
2 parents a37223d + 3a5bd85 commit 89e4b24

File tree

203 files changed

+19919
-2464
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

203 files changed

+19919
-2464
lines changed

.travis.yml

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1+
dist: xenial
2+
sudo: false
3+
14
language: python
25
python:
36
- "2.7"
4-
- "3.4"
57
- "3.5"
68
- "3.6"
7-
- "pypy-5.4.1"
9+
- "3.7"
10+
- "pypy2.7-6.0"
11+
- "pypy3.5"
812

9-
sudo: false
1013
env:
1114
- CASS_DRIVER_NO_CYTHON=1
1215

@@ -24,14 +27,6 @@ install:
2427
- pip install tox-travis lz4
2528

2629
script:
27-
- |
28-
changed_code_filenames=`git diff --name-only $TRAVIS_COMMIT_RANGE`
29-
changed_driver_filenames=`echo "$changed_code_filenames" | grep '^cassandra'`
30-
changelog_changed=`echo "$changed_code_filenames" | grep '^CHANGELOG.rst'`
31-
if [ "$changed_driver_filenames" ] && [ "$changelog_changed" = "" ] ; then
32-
echo "This PR includes code changes, but no CHANGELOG changes. Please include a CHANGELOG entry."
33-
exit 1
34-
fi
3530
- tox
3631
- tox -e gevent_loop
3732
- tox -e eventlet_loop

CHANGELOG.rst

Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,222 @@
1+
3.22.0
2+
======
3+
UNRELEASED
4+
5+
Features
6+
--------
7+
* Add all() function to the ResultSet API (PYTHON-1203)
8+
9+
3.21.0
10+
======
11+
January 15, 2020
12+
13+
Features
14+
--------
15+
* Unified driver: merge core and DSE drivers into a single package (PYTHON-1130)
16+
* Add Python 3.8 support (PYTHON-1189)
17+
* Allow passing ssl context for Twisted (PYTHON-1161)
18+
* Ssl context and cloud support for Eventlet (PYTHON-1162)
19+
* Cloud Twisted support (PYTHON-1163)
20+
* Add additional_write_policy and read_repair to system schema parsing (PYTHON-1048)
21+
* Flexible version parsing (PYTHON-1174)
22+
* Support NULL in collection deserializer (PYTHON-1123)
23+
* [GRAPH] Ability to execute Fluent Graph queries asynchronously (PYTHON-1129)
24+
25+
Bug Fixes
26+
---------
27+
* Handle prepared id mismatch when repreparing on the fly (PYTHON-1124)
28+
* re-raising the CQLEngineException will fail on Python 3 (PYTHON-1166)
29+
* asyncio message chunks can be processed discontinuously (PYTHON-1185)
30+
* Reconnect attempts persist after downed node removed from peers (PYTHON-1181)
31+
* Connection fails to validate ssl certificate hostname when SSLContext.check_hostname is set (PYTHON-1186)
32+
* ResponseFuture._set_result crashes on connection error when used with PrepareMessage (PYTHON-1187)
33+
* Insights fail to serialize the startup message when the SSL Context is from PyOpenSSL (PYTHON-1192)
34+
35+
Others
36+
------
37+
* The driver has a new dependency: geomet. It comes from the dse-driver unification and
38+
is used to support DSE geo types.
39+
* Remove *read_repair_chance table options (PYTHON-1140)
40+
* Avoid warnings about unspecified load balancing policy when connecting to a cloud cluster (PYTHON-1177)
41+
* Add new DSE CQL keywords (PYTHON-1122)
42+
* Publish binary wheel distributions (PYTHON-1013)
43+
44+
Deprecations
45+
------------
46+
47+
* DSELoadBalancingPolicy will be removed in the next major, consider using
48+
the DefaultLoadBalancingPolicy.
49+
50+
Merged from dse-driver:
51+
52+
Features
53+
--------
54+
55+
* Insights integration (PYTHON-1047)
56+
* Graph execution profiles should preserve their graph_source when graph_options is overridden (PYTHON-1021)
57+
* Add NodeSync metadata (PYTHON-799)
58+
* Add new NodeSync failure values (PYTHON-934)
59+
* DETERMINISTIC and MONOTONIC Clauses for Functions and Aggregates (PYTHON-955)
60+
* GraphOptions should show a warning for unknown parameters (PYTHON-819)
61+
* DSE protocol version 2 and continous paging backpressure (PYTHON-798)
62+
* GraphSON2 Serialization/Deserialization Support (PYTHON-775)
63+
* Add graph-results payload option for GraphSON format (PYTHON-773)
64+
* Create an AuthProvider for the DSE transitional mode (PYTHON-831)
65+
* Implement serializers for the Graph String API (PYTHON-778)
66+
* Provide deserializers for GraphSON types (PYTHON-782)
67+
* Add Graph DurationType support (PYTHON-607)
68+
* Support DSE DateRange type (PYTHON-668)
69+
* RLAC CQL output for materialized views (PYTHON-682)
70+
* Add Geom Types wkt deserializer
71+
* DSE Graph Client timeouts in custom payload (PYTHON-589)
72+
* Make DSEGSSAPIAuthProvider accept principal name (PYTHON-574)
73+
* Add config profiles to DSE graph execution (PYTHON-570)
74+
* DSE Driver version checking (PYTHON-568)
75+
* Distinct default timeout for graph queries (PYTHON-477)
76+
* Graph result parsing for known types (PYTHON-479,487)
77+
* Distinct read/write CL for graph execution (PYTHON-509)
78+
* Target graph analytics query to spark master when available (PYTHON-510)
79+
80+
Bug Fixes
81+
---------
82+
83+
* Continuous paging sessions raise RuntimeError when results are not entirely consumed (PYTHON-1054)
84+
* GraphSON Property deserializer should return a dict instead of a set (PYTHON-1033)
85+
* ResponseFuture.has_more_pages may hold the wrong value (PYTHON-946)
86+
* DETERMINISTIC clause in AGGREGATE misplaced in CQL generation (PYTHON-963)
87+
* graph module import cause a DLL issue on Windows due to its cythonizing failure (PYTHON-900)
88+
* Update date serialization to isoformat in graph (PYTHON-805)
89+
* DateRange Parse Error (PYTHON-729)
90+
* MontonicTimestampGenerator.__init__ ignores class defaults (PYTHON-728)
91+
* metadata.get_host returning None unexpectedly (PYTHON-709)
92+
* Sockets associated with sessions not getting cleaned up on session.shutdown() (PYTHON-673)
93+
* Resolve FQDN from ip address and use that as host passed to SASLClient (PYTHON-566)
94+
* Geospatial type implementations don't handle 'EMPTY' values. (PYTHON-481)
95+
* Correctly handle other types in geo type equality (PYTHON-508)
96+
97+
Other
98+
-----
99+
* Add tests around cqlengine and continuous paging (PYTHON-872)
100+
* Add an abstract GraphStatement to handle different graph statements (PYTHON-789)
101+
* Write documentation examples for DSE 2.0 features (PYTHON-732)
102+
* DSE_V1 protocol should not include all of protocol v5 (PYTHON-694)
103+
104+
3.20.2
105+
======
106+
November 19, 2019
107+
108+
Bug Fixes
109+
---------
110+
* Fix import error for old python installation without SSLContext (PYTHON-1183)
111+
112+
3.20.1
113+
======
114+
November 6, 2019
115+
116+
Bug Fixes
117+
---------
118+
* ValueError: too many values to unpack (expected 2)" when there are two dashes in server version number (PYTHON-1172)
119+
120+
3.20.0
121+
======
122+
October 28, 2019
123+
124+
Features
125+
--------
126+
* DataStax Apollo Support (PYTHON-1074)
127+
* Use 4.0 schema parser in 4 alpha and snapshot builds (PYTHON-1158)
128+
129+
Bug Fixes
130+
---------
131+
* Connection setup methods prevent using ExecutionProfile in cqlengine (PYTHON-1009)
132+
* Driver deadlock if all connections dropped by heartbeat whilst request in flight and request times out (PYTHON-1044)
133+
* Exception when use pk__token__gt filter In python 3.7 (PYTHON-1121)
134+
135+
3.19.0
136+
======
137+
August 26, 2019
138+
139+
Features
140+
--------
141+
* Add Python 3.7 support (PYTHON-1016)
142+
* Future-proof Mapping imports (PYTHON-1023)
143+
* Include param values in cqlengine logging (PYTHON-1105)
144+
* NTS Token Replica Map Generation is slow (PYTHON-622)
145+
146+
Bug Fixes
147+
---------
148+
* as_cql_query UDF/UDA parameters incorrectly includes "frozen" if arguments are collections (PYTHON-1031)
149+
* cqlengine does not currently support combining TTL and TIMESTAMP on INSERT (PYTHON-1093)
150+
* Fix incorrect metadata for compact counter tables (PYTHON-1100)
151+
* Call ConnectionException with correct kwargs (PYTHON-1117)
152+
* Can't connect to clusters built from source because version parsing doesn't handle 'x.y-SNAPSHOT' (PYTHON-1118)
153+
* Discovered node doesn´t honor the configured Cluster port on connection (PYTHON-1127)
154+
* Exception when use pk__token__gt filter In python 3.7 (PYTHON-1121)
155+
156+
Other
157+
-----
158+
* Remove invalid warning in set_session when we initialize a default connection (PYTHON-1104)
159+
* Set the proper default ExecutionProfile.row_factory value (PYTHON-1119)
160+
161+
3.18.0
162+
======
163+
May 27, 2019
164+
165+
Features
166+
--------
167+
168+
* Abstract Host Connection information (PYTHON-1079)
169+
* Improve version parsing to support a non-integer 4th component (PYTHON-1091)
170+
* Expose on_request_error method in the RetryPolicy (PYTHON-1064)
171+
* Add jitter to ExponentialReconnectionPolicy (PYTHON-1065)
172+
173+
Bug Fixes
174+
---------
175+
176+
* Fix error when preparing queries with beta protocol v5 (PYTHON-1081)
177+
* Accept legacy empty strings as column names (PYTHON-1082)
178+
* Let util.SortedSet handle uncomparable elements (PYTHON-1087)
179+
180+
3.17.1
181+
======
182+
May 2, 2019
183+
184+
Bug Fixes
185+
---------
186+
* Socket errors EAGAIN/EWOULDBLOCK are not handled properly and cause timeouts (PYTHON-1089)
187+
188+
3.17.0
189+
======
190+
February 19, 2019
191+
192+
Features
193+
--------
194+
* Send driver name and version in startup message (PYTHON-1068)
195+
* Add Cluster ssl_context option to enable SSL (PYTHON-995)
196+
* Allow encrypted private keys for 2-way SSL cluster connections (PYTHON-995)
197+
* Introduce new method ConsistencyLevel.is_serial (PYTHON-1067)
198+
* Add Session.get_execution_profile (PYTHON-932)
199+
* Add host kwarg to Session.execute/execute_async APIs to send a query to a specific node (PYTHON-993)
200+
201+
Bug Fixes
202+
---------
203+
* NoHostAvailable when all hosts are up and connectable (PYTHON-891)
204+
* Serial consistency level is not used (PYTHON-1007)
205+
206+
Other
207+
-----
208+
* Fail faster on incorrect lz4 import (PYTHON-1042)
209+
* Bump Cython dependency version to 0.29 (PYTHON-1036)
210+
* Expand Driver SSL Documentation (PYTHON-740)
211+
212+
Deprecations
213+
------------
214+
215+
* Using Cluster.ssl_options to enable SSL is deprecated and will be removed in
216+
the next major release, use ssl_context.
217+
* DowngradingConsistencyRetryPolicy is deprecated and will be
218+
removed in the next major release. (PYTHON-937)
219+
1220
3.16.0
2221
======
3222
November 12, 2018

CONTRIBUTING.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ To protect the community, all contributors are required to `sign the DataStax Co
2626

2727
Design and Implementation Guidelines
2828
------------------------------------
29-
- We support Python 2.6+, so any changes must work in any of these runtimes (we use ``six``, ``futures``, and some internal backports for compatability)
29+
- We support Python 2.7+, so any changes must work in any of these runtimes (we use ``six``, ``futures``, and some internal backports for compatability)
3030
- We have integrations (notably Cassandra cqlsh) that require pure Python and minimal external dependencies. We try to avoid new external dependencies. Where compiled extensions are concerned, there should always be a pure Python fallback implementation.
3131
- This project follows `semantic versioning <http://semver.org/>`_, so breaking API changes will only be introduced in major versions.
3232
- Legacy ``cqlengine`` has varying degrees of overreaching client-side validation. Going forward, we will avoid client validation where server feedback is adequate and not overly expensive.

0 commit comments

Comments
 (0)