|
1 | 1 | # Release History
|
2 | 2 |
|
3 |
| -# 3.3.0 (2024-07-18) |
| 3 | +# 2.0.0 ( 2021-10-23 ) |
4 | 4 |
|
5 |
| -- Don't retry requests that fail with HTTP code 401 (databricks/databricks-sql-python#408 by @Hodnebo) |
6 |
| -- Remove username/password (aka "basic") auth option (databricks/databricks-sql-python#409 by @jackyhu-db) |
7 |
| -- Refactor CloudFetch handler to fix numerous issues with it (databricks/databricks-sql-python#405 by @kravets-levko) |
8 |
| -- Add option to disable SSL verification for CloudFetch links (databricks/databricks-sql-python#414 by @kravets-levko) |
9 |
| - |
10 |
| -Databricks-managed passwords reached end of life on July 10, 2024. Therefore, Basic auth support was removed from |
11 |
| -the library. See https://docs.databricks.com/en/security/auth-authz/password-deprecation.html |
12 |
| - |
13 |
| -The existing option `_tls_no_verify=True` of `sql.connect(...)` will now also disable SSL cert verification |
14 |
| -(but not the SSL itself) for CloudFetch links. This option should be used as a workaround only, when other ways |
15 |
| -to fix SSL certificate errors didn't work. |
16 |
| - |
17 |
| -# 3.2.0 (2024-06-06) |
18 |
| - |
19 |
| -- Update proxy authentication (databricks/databricks-sql-python#354 by @amir-haroun) |
20 |
| -- Relax `pyarrow` pin (databricks/databricks-sql-python#389 by @dhirschfeld) |
21 |
| -- Fix error logging in OAuth manager (databricks/databricks-sql-python#269 by @susodapop) |
22 |
| -- SQLAlchemy: enable delta.feature.allowColumnDefaults for all tables (databricks/databricks-sql-python#343 by @dhirschfeld) |
23 |
| -- Update `thrift` dependency (databricks/databricks-sql-python#397 by @m1n0) |
24 |
| - |
25 |
| -# 3.1.2 (2024-04-18) |
26 |
| - |
27 |
| -- Remove broken cookie code (#379) |
28 |
| -- Small typing fixes (#382, #384 thanks @wyattscarpenter) |
29 |
| - |
30 |
| -# 3.1.1 (2024-03-19) |
31 |
| - |
32 |
| -- Don't retry requests that fail with code 403 (#373) |
33 |
| -- Assume a default retry-after for 429/503 (#371) |
34 |
| -- Fix boolean literals (#357) |
35 |
| - |
36 |
| -# 3.1.0 (2024-02-16) |
37 |
| - |
38 |
| -- Revert retry-after behavior to be exponential backoff (#349) |
39 |
| -- Support Databricks OAuth on Azure (#351) |
40 |
| -- Support Databricks OAuth on GCP (#338) |
41 |
| - |
42 |
| -# 3.0.3 (2024-02-02) |
43 |
| - |
44 |
| -- Revised docstrings and examples for OAuth (#339) |
45 |
| -- Redact the URL query parameters from the urllib3.connectionpool logs (#341) |
46 |
| - |
47 |
| -# 3.0.2 (2024-01-25) |
48 |
| - |
49 |
| -- SQLAlchemy dialect now supports table and column comments (thanks @cbornet!) |
50 |
| -- Fix: SQLAlchemy dialect now correctly reflects TINYINT types (thanks @TimTheinAtTabs!) |
51 |
| -- Fix: `server_hostname` URIs that included `https://` would raise an exception |
52 |
| -- Other: pinned to `pandas<=2.1` and `urllib3>=1.26` to avoid runtime errors in dbt-databricks (#330) |
53 |
| - |
54 |
| -## 3.0.1 (2023-12-01) |
55 |
| - |
56 |
| -- Other: updated docstring comment about default parameterization approach (#287) |
57 |
| -- Other: added tests for reading complex types and revised docstrings and type hints (#293) |
58 |
| -- Fix: SQLAlchemy dialect raised DeprecationWarning due to `dbapi` classmethod (#294) |
59 |
| -- Fix: SQLAlchemy dialect could not reflect TIMESTAMP_NTZ columns (#296) |
60 |
| - |
61 |
| -## 3.0.0 (2023-11-17) |
62 |
| - |
63 |
| -- Remove support for Python 3.7 |
64 |
| -- Add support for native parameterized SQL queries. Requires DBR 14.2 and above. See docs/parameters.md for more info. |
65 |
| -- Completely rewritten SQLAlchemy dialect |
66 |
| - - Adds support for SQLAlchemy >= 2.0 and drops support for SQLAlchemy 1.x |
67 |
| - - Full e2e test coverage of all supported features |
68 |
| - - Detailed usage notes in `README.sqlalchemy.md` |
69 |
| - - Adds support for: |
70 |
| - - New types: `TIME`, `TIMESTAMP`, `TIMESTAMP_NTZ`, `TINYINT` |
71 |
| - - `Numeric` type scale and precision, like `Numeric(10,2)` |
72 |
| - - Reading and writing `PrimaryKeyConstraint` and `ForeignKeyConstraint` |
73 |
| - - Reading and writing composite keys |
74 |
| - - Reading and writing from views |
75 |
| - - Writing `Identity` to tables (i.e. autoincrementing primary keys) |
76 |
| - - `LIMIT` and `OFFSET` for paging through results |
77 |
| - - Caching metadata calls |
78 |
| -- Enable cloud fetch by default. To disable, set `use_cloud_fetch=False` when building `databricks.sql.client`. |
79 |
| -- Add integration tests for Databricks UC Volumes ingestion queries |
80 |
| -- Retries: |
81 |
| - - Add `_retry_max_redirects` config |
82 |
| - - Set `_enable_v3_retries=True` and warn if users override it |
83 |
| -- Security: bump minimum pyarrow version to 14.0.1 (CVE-2023-47248) |
84 |
| - |
85 |
| -## 2.9.3 (2023-08-24) |
86 |
| - |
87 |
| -- Fix: Connections failed when urllib3~=1.0.0 is installed (#206) |
88 |
| - |
89 |
| -## 2.9.2 (2023-08-17) |
90 |
| - |
91 |
| -**Note: this release was yanked from Pypi on 13 September 2023 due to compatibility issues with environments where `urllib3<=2.0.0` were installed. The log changes are incorporated into version 2.9.3 and greater.** |
92 |
| - |
93 |
| -- Other: Add `examples/v3_retries_query_execute.py` (#199) |
94 |
| -- Other: suppress log message when `_enable_v3_retries` is not `True` (#199) |
95 |
| -- Other: make this connector backwards compatible with `urllib3>=1.0.0` (#197) |
96 |
| - |
97 |
| -## 2.9.1 (2023-08-11) |
98 |
| - |
99 |
| -**Note: this release was yanked from Pypi on 13 September 2023 due to compatibility issues with environments where `urllib3<=2.0.0` were installed.** |
100 |
| - |
101 |
| -- Other: Explicitly pin urllib3 to ^2.0.0 (#191) |
102 |
| - |
103 |
| -## 2.9.0 (2023-08-10) |
104 |
| - |
105 |
| -- Replace retry handling with DatabricksRetryPolicy. This is disabled by default. To enable, set `_enable_v3_retries=True` when creating `databricks.sql.client` (#182) |
106 |
| -- Other: Fix typo in README quick start example (#186) |
107 |
| -- Other: Add autospec to Client mocks and tidy up `make_request` (#188) |
108 |
| - |
109 |
| -## 2.8.0 (2023-07-21) |
110 |
| - |
111 |
| -- Add support for Cloud Fetch. Disabled by default. Set `use_cloud_fetch=True` when building `databricks.sql.client` to enable it (#146, #151, #154) |
112 |
| -- SQLAlchemy has_table function now honours schema= argument and adds catalog= argument (#174) |
113 |
| -- SQLAlchemy set non_native_boolean_check_constraint False as it's not supported by Databricks (#120) |
114 |
| -- Fix: Revised SQLAlchemy dialect and examples for compatibility with SQLAlchemy==1.3.x (#173) |
115 |
| -- Fix: oauth would fail if expired credentials appeared in ~/.netrc (#122) |
116 |
| -- Fix: Python HTTP proxies were broken after switch to urllib3 (#158) |
117 |
| -- Other: remove unused import in SQLAlchemy dialect |
118 |
| -- Other: Relax pandas dependency constraint to allow ^2.0.0 (#164) |
119 |
| -- Other: Connector now logs operation handle guids as hexadecimal instead of bytes (#170) |
120 |
| -- Other: test_socket_timeout_user_defined e2e test was broken (#144) |
121 |
| - |
122 |
| -## 2.7.0 (2023-06-26) |
123 |
| - |
124 |
| -- Fix: connector raised exception when calling close() on a closed Thrift session |
125 |
| -- Improve e2e test development ergonomics |
126 |
| -- Redact logged thrift responses by default |
127 |
| -- Add support for OAuth on Databricks Azure |
128 |
| - |
129 |
| -## 2.6.2 (2023-06-14) |
130 |
| - |
131 |
| -- Fix: Retry GetOperationStatus requests for http errors |
132 |
| - |
133 |
| -## 2.6.1 (2023-06-08) |
134 |
| - |
135 |
| -- Fix: http.client would raise a BadStatusLine exception in some cases |
136 |
| - |
137 |
| -## 2.6.0 (2023-06-07) |
138 |
| - |
139 |
| -- Add support for HTTP 1.1 connections (connection pools) |
140 |
| -- Add a default socket timeout for thrift RPCs |
141 |
| - |
142 |
| -## 2.5.2 (2023-05-08) |
143 |
| - |
144 |
| -- Fix: SQLAlchemy adapter could not reflect TIMESTAMP or DATETIME columns |
145 |
| -- Other: Relax pandas and alembic dependency specifications |
146 |
| - |
147 |
| -## 2.5.1 (2023-04-28) |
148 |
| - |
149 |
| -- Other: Relax sqlalchemy required version as it was unecessarily strict. |
150 |
| - |
151 |
| -## 2.5.0 (2023-04-14) |
152 |
| - |
153 |
| -- Add support for External Auth providers |
154 |
| -- Fix: Python HTTP proxies were broken |
155 |
| -- Other: All Thrift requests that timeout during connection will be automatically retried |
156 |
| - |
157 |
| -## 2.4.1 (2023-03-21) |
158 |
| - |
159 |
| -- Less strict numpy and pyarrow dependencies |
160 |
| -- Update examples in README to use security best practices |
161 |
| -- Update docstring for client.execute() for clarity |
162 |
| - |
163 |
| -## 2.4.0 (2023-02-21) |
164 |
| - |
165 |
| -- Improve compatibility when installed alongside other Databricks namespace Python packages |
166 |
| -- Add SQLAlchemy dialect |
167 |
| - |
168 |
| -## 2.3.0 (2023-01-10) |
169 |
| - |
170 |
| -- Support staging ingestion commands for DBR 12+ |
171 |
| - |
172 |
| -## 2.2.2 (2023-01-03) |
173 |
| - |
174 |
| -- Support custom oauth client id and redirect port |
175 |
| -- Fix: Add none check on \_oauth_persistence in DatabricksOAuthProvider |
176 |
| - |
177 |
| -## 2.2.1 (2022-11-29) |
178 |
| - |
179 |
| -- Add support for Python 3.11 |
180 |
| - |
181 |
| -## 2.2.0 (2022-11-15) |
182 |
| - |
183 |
| -- Bump thrift version to address https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13949 |
184 |
| -- Add support for lz4 compression |
185 |
| - |
186 |
| -## 2.1.0 (2022-09-30) |
187 |
| - |
188 |
| -- Introduce experimental OAuth support while Bring Your Own IDP is in Public Preview on AWS |
189 |
| -- Add functional examples |
190 |
| - |
191 |
| -## 2.0.5 (2022-08-23) |
192 |
| - |
193 |
| -- Fix: closing a connection now closes any open cursors from that connection at the server |
194 |
| -- Other: Add project links to pyproject.toml (helpful for visitors from PyPi) |
195 |
| - |
196 |
| -## 2.0.4 (2022-08-17) |
197 |
| - |
198 |
| -- Add support for Python 3.10 |
199 |
| -- Add unit test matrix for supported Python versions |
200 |
| - |
201 |
| -Huge thanks to @dbaxa for contributing this change! |
202 |
| - |
203 |
| -## 2.0.3 (2022-08-05) |
204 |
| - |
205 |
| -- Add retry logic for `GetOperationStatus` requests that fail with an `OSError` |
206 |
| -- Reorganised code to use Poetry for dependency management. |
207 |
| - |
208 |
| -## 2.0.2 (2022-05-04) |
209 |
| - |
210 |
| -- Better exception handling in automatic connection close |
211 |
| - |
212 |
| -## 2.0.1 (2022-04-21) |
213 |
| - |
214 |
| -- Fixed Pandas dependency in setup.cfg to be >= 1.2.0 |
215 |
| - |
216 |
| -## 2.0.0 (2022-04-19) |
217 |
| - |
218 |
| -- Initial stable release of V2 |
219 |
| -- Added better support for complex types, so that in Databricks runtime 10.3+, Arrays, Maps and Structs will get |
220 |
| - deserialized as lists, lists of tuples and dicts, respectively. |
221 |
| -- Changed the name of the metadata arg to http_headers |
222 |
| - |
223 |
| -## 2.0.b2 (2022-04-04) |
224 |
| - |
225 |
| -- Change import of collections.Iterable to collections.abc.Iterable to make the library compatible with Python 3.10 |
226 |
| -- Fixed bug with .tables method so that .tables works as expected with Unity-Catalog enabled endpoints |
227 |
| - |
228 |
| -## 2.0.0b1 (2022-03-04) |
229 |
| - |
230 |
| -- Fix packaging issue (dependencies were not being installed properly) |
231 |
| -- Fetching timestamp results will now return aware instead of naive timestamps |
232 |
| -- The client will now default to using simplified error messages |
233 |
| - |
234 |
| -## 2.0.0b (2022-02-08) |
235 |
| - |
236 |
| -- Initial beta release of V2. V2 is an internal re-write of large parts of the connector to use Databricks edge features. All public APIs from V1 remain. |
237 |
| -- Added Unity Catalog support (pass catalog and / or schema key word args to the .connect method to select initial schema and catalog) |
238 |
| - |
239 |
| ---- |
240 |
| - |
241 |
| -**Note**: The code for versions prior to `v2.0.0b` is not contained in this repository. The below entries are included for reference only. |
242 |
| - |
243 |
| ---- |
244 |
| - |
245 |
| -## 1.0.0 (2022-01-20) |
246 |
| - |
247 |
| -- Add operations for retrieving metadata |
248 |
| -- Add the ability to access columns by name on result rows |
249 |
| -- Add the ability to provide configuration settings on connect |
250 |
| - |
251 |
| -## 0.9.4 (2022-01-10) |
252 |
| - |
253 |
| -- Improved logging and error messages. |
254 |
| - |
255 |
| -## 0.9.3 (2021-12-08) |
256 |
| - |
257 |
| -- Add retries for 429 and 503 HTTP responses. |
258 |
| - |
259 |
| -## 0.9.2 (2021-12-02) |
260 |
| - |
261 |
| -- (Bug fix) Increased Thrift requirement from 0.10.0 to 0.13.0 as 0.10.0 was in fact incompatible |
262 |
| -- (Bug fix) Fixed error message after query execution failed -SQLSTATE and Error message were misplaced |
263 |
| - |
264 |
| -## 0.9.1 (2021-09-01) |
265 |
| - |
266 |
| -- Public Preview release, Experimental tag removed |
267 |
| -- minor updates in internal build/packaging |
268 |
| -- no functional changes |
269 |
| - |
270 |
| -## 0.9.0 (2021-08-04) |
271 |
| - |
272 |
| -- initial (Experimental) release of pyhive-forked connector |
273 |
| -- Python DBAPI 2.0 (PEP-0249), thrift based |
274 |
| -- see docs for more info: https://docs.databricks.com/dev-tools/python-sql-connector.html |
| 5 | +- databricks-sqlalchemy plugin for databricks-sql-python built on sqlalchemy v2 and has all the features of sqlalchemy compatible with the connector till databricks-sql-python v3.3.0 |
0 commit comments