|
1 | 1 | # Release History |
2 | 2 |
|
3 | | -# 3.3.0 (2024-07-18) |
| 3 | +# 1.0.1 |
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 | +- This is databricks-sqlalchemy plugin based on sqlalchemy v1 and has all the databricks-sql-python v2.9.6 needed sqlalchemy features |
0 commit comments