Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
329 commits
Select commit Hold shift + click to select a range
d444413
Optimize import time: Directly lookup target distributions instead of…
sfc-gh-rebeling Feb 10, 2025
3289c34
Update snyk-issue.yml (#2179)
sfc-gh-fochnik Feb 20, 2025
17fddad
SNOW-1922893: Remove Windows permissions check (#2173)
sfc-gh-pbulawa Feb 24, 2025
5a7abb6
SNOW-1934035 add support for file (#2177)
sfc-gh-zli Feb 24, 2025
a9dc922
Add test_file to async code (from #2177)
sfc-gh-pczajka Jul 16, 2025
d9fea36
3.14-Update Requirements (#2190)
sfc-gh-yixie Mar 3, 2025
0a83f11
Update version 3.14.0 in requirements (#2191)
sfc-gh-yixie Mar 3, 2025
9b7954b
SNOW-1940996 no-op auth for Stored Proc (#2182)
sfc-gh-zyao Mar 3, 2025
b2c73f8
Apply #2182 to async code
sfc-gh-pczajka Jul 17, 2025
8ab954c
SNOW-1817982 iobound tpe limiting (#2115)
sfc-gh-mkeller Dec 5, 2024
b29daf1
SNOW-1944208 add unsafe write flag (#2184)
sfc-gh-mkubik Feb 27, 2025
8c8cd1e
Add more tests for #2184
sfc-gh-pczajka Jul 22, 2025
7e791ac
Move unsafe_file_write parameter to DEFAULT_CONFIGURATION (#2413)
sfc-gh-pczajka Jul 22, 2025
a16f77d
Add async tests for #2184
sfc-gh-pczajka Jul 22, 2025
9ab4bba
Apply #2184+#2413 to async code
sfc-gh-pczajka Jul 22, 2025
c75714d
SNOW-1915469 Basic support for DECFLOAT type (#2167)
sfc-gh-tkissinger Mar 5, 2025
e337792
NO-SNOW skip decfloat test in olddriver tests (#2201)
sfc-gh-mkubik Mar 6, 2025
86773ab
[ASYNC] #2167 Add test_decfloat
sfc-gh-pczajka Jul 22, 2025
9b5c983
SNOW-1993520 Patch python connector version bump (#2286)
sfc-gh-mmishchenko Apr 21, 2025
bd29ab3
SNOW-1825624: Refactor token cache before applying security changes (…
sfc-gh-jszczerbinski Mar 14, 2025
4167234
[Async] apply #2210 to async code
sfc-gh-pczajka Jul 28, 2025
dd80071
fix async sso test
sfc-gh-pczajka Jul 31, 2025
94d3c22
Add all extras to aio env
sfc-gh-pczajka Aug 1, 2025
dcb27f4
SNOW-1944162 Add tests for programmatic access token (#2183)
sfc-gh-mkubik Mar 17, 2025
62fdf45
[Async] #2183 add async version of the test
sfc-gh-pczajka Jul 28, 2025
0ff8a60
Cancel older builds on GH Actions (#2215)
sfc-gh-jszczerbinski Mar 17, 2025
7d41275
fetch wiremock for async tests
sfc-gh-pczajka Aug 6, 2025
a4c6b9d
[Async] #2183 Tests async migrated to synch wiremock mappings
sfc-gh-fpawlowski Aug 7, 2025
b8f333c
Add support for workload identity federation (#2203)
sfc-gh-pmansour Mar 17, 2025
ca903c1
[Async] Apply #2203 to async code
sfc-gh-pczajka Jul 29, 2025
ecfa609
use aiohttp in wif_util
sfc-gh-pczajka Jul 29, 2025
59ab6d4
Remove duplication in wif_util
sfc-gh-pczajka Jul 29, 2025
5e5fb5e
remove duplication in workflow identity
sfc-gh-pczajka Jul 29, 2025
30685d5
properly mock tests
sfc-gh-pczajka Jul 29, 2025
845c8e3
use aioboto3
sfc-gh-pczajka Jul 30, 2025
902569d
Replace return with raise in WIF error check (#2231)
sfc-gh-pmansour Mar 24, 2025
55c75e2
Fix inheritance order; add tests
sfc-gh-pczajka Aug 6, 2025
2f5a5f0
Fix async get_aws_region
sfc-gh-pczajka Aug 7, 2025
102a8a9
remove silent exception catching; fix async get_aws_region
sfc-gh-pczajka Aug 7, 2025
96a6cf5
review fix: add test cases
sfc-gh-pczajka Aug 7, 2025
01da493
split csp_helpers into sync and async
sfc-gh-pczajka Aug 7, 2025
7b7570c
Remove autodetect tests
sfc-gh-pczajka Aug 11, 2025
d4712f5
NO-SNOW: Run test when targeting branches other than main (#2221)
sfc-gh-jszczerbinski Mar 19, 2025
57c7802
SNOW-2007887: improve error message handling related to timeout (#2236)
sfc-gh-aling Mar 26, 2025
c53c827
[ASYNC] Apply #2236 to async code
sfc-gh-pczajka Aug 5, 2025
f19127c
SNOW-1789751: Add GCP regional and virtual endpoints support (#2233)
sfc-gh-pbulawa Mar 27, 2025
e0a46ea
[ASYNC] Apply #2233 to async code
sfc-gh-pczajka Aug 5, 2025
41c99b6
SNOW-2021009: test optimisation (#2388)
sfc-gh-pcyrek Jul 9, 2025
23df743
SNOW-2226057: GH Actions moved to key-pair, old driver bump to 3.1.0 …
sfc-gh-pcyrek Aug 6, 2025
d9704e3
Apply changes to async tests and workflows
sfc-gh-pczajka Aug 13, 2025
a28725f
review fixes
sfc-gh-pczajka Aug 27, 2025
75646bb
Freeze pytest-rerunfailures
sfc-gh-pczajka Sep 1, 2025
42d09d9
cherry-pick #2515
sfc-gh-pczajka Sep 1, 2025
66722cd
Apply #2515 to async code
sfc-gh-pczajka Sep 1, 2025
6477ab8
SNOW-2027116 Allow for UUID encoding in SnowflakeRestful interface (#…
sfc-gh-lspiegelberg Apr 9, 2025
4766048
[ASYNC] apply #2254 to async code
sfc-gh-pczajka Aug 7, 2025
4c4f4f8
SNOW-1955965: Fix expired S3 credentials update (#2258)
sfc-gh-pbulawa Apr 10, 2025
63f101e
[ASYNC] apply #2258 to async code
sfc-gh-pczajka Aug 7, 2025
01d9042
NO-SNOW Add PAT to authenticators allowing empty username, remove han…
sfc-gh-mkubik Apr 10, 2025
a673238
[ASYNC] Apply #2264 to async code
sfc-gh-pczajka Aug 7, 2025
7ee9187
NO-SNOW Fix flaky query timeout test (#2266)
sfc-gh-mkubik Apr 11, 2025
9e5e77f
SNOW-2040000 change tag to bptp-stable (#2268)
sfc-gh-akolodziejczyk Apr 14, 2025
ce7a5c2
SNOW-2028051 introduce a new client_fetch_threads connection paramete…
sfc-gh-mmishchenko Apr 14, 2025
02e9dce
Add default entra app ID for Snowflake (#2267)
sfc-gh-pmansour Apr 15, 2025
faf60a3
[ASYNC] update test after #2267
sfc-gh-pczajka Aug 7, 2025
7a2c121
SNOW-2011595 Masking filter introduced on library levels (#2253)
sfc-gh-fpawlowski Apr 15, 2025
14b1457
[ASYNC] remove azure filter after #2253
sfc-gh-pczajka Aug 7, 2025
344a768
NO-SNOW acquiring a lock on local OCSP cache will use a timeout (#2280)
sfc-gh-mmishchenko Apr 17, 2025
30f0116
Accept both v1 and v2 Entra ID issuer formats for WIF (#2281)
sfc-gh-pmansour Apr 17, 2025
5b3c6ee
[ASYNC] apply #2281 to async code
sfc-gh-pczajka Aug 7, 2025
9ef4e65
SNOW-2048239 revert zero timeout for oscp cache lock (#2283)
sfc-gh-mmishchenko Apr 18, 2025
c1c4176
[ASYNC] remove flaky marker from OCSP tests after #2283
sfc-gh-pczajka Aug 7, 2025
2d58c20
SNOW-1993520 update tested_reqs for 3.14.1 release (#2287)
sfc-gh-mmishchenko Apr 21, 2025
3b893fb
Review fixes - add secret filter to external libraries + tests
sfc-gh-pczajka Aug 12, 2025
8b64a41
Skip test removed later
sfc-gh-pczajka Aug 27, 2025
694b77a
skip failing additional check for further investigation
sfc-gh-pczajka Sep 2, 2025
968aa0f
Temporarily reduce number of jobs: SNOW-2311643
sfc-gh-pczajka Sep 2, 2025
aa56a05
SNOW-1963078 Port _upload / _download / _upload_stream / _download_st…
sfc-gh-zyao Mar 21, 2025
1ae0628
[Async] Apply #2198 to async code
sfc-gh-fpawlowski Aug 7, 2025
e7a4b59
SNOW-1989239 - prevent silent failures on nano-arrow conversion (#2227)
sfc-gh-mkubik Mar 28, 2025
4498aa2
[Async] Apply #2227 to async code
sfc-gh-fpawlowski Aug 7, 2025
45748ca
NO-SNOW skip out of range year test on old driver (#2243)
sfc-gh-mkubik Mar 31, 2025
6fb42bd
[Async] Apply #2243 to async code
sfc-gh-fpawlowski Aug 9, 2025
1e28b6b
SNOW-191538 remove copyright headers (#2238)
sfc-gh-mkubik Apr 1, 2025
2314960
[Async] Apply #2238 to async code
sfc-gh-fpawlowski Aug 7, 2025
172dfb7
SNOW-1789751: Pass GCS regional and virtual params (#2241)
sfc-gh-pbulawa Apr 1, 2025
91585ab
[Async] Apply 2241 to async code
sfc-gh-fpawlowski Aug 7, 2025
6d5d13d
SNOW-2019505 fix inconsistent force_put_overwrite value for _upload a…
sfc-gh-zyao Apr 2, 2025
6336909
[Async] Apply #2247 to async code
sfc-gh-fpawlowski Aug 7, 2025
e8732ea
SNOW-1896089: Lower log level (#2251)
sfc-gh-pbulawa Apr 3, 2025
26f2381
[Async] Apply #2251 to async code
sfc-gh-fpawlowski Aug 7, 2025
6897237
SNOW-2026002: Invalid url became valid (#2252)
sfc-gh-jszczerbinski Apr 4, 2025
c535e8f
SNOW-2011670 Allow url parameter requestId to be set with statement p…
sfc-gh-lspiegelberg Apr 4, 2025
4d3f07f
[Async] Apply #2240 to async code
sfc-gh-fpawlowski Aug 9, 2025
92cfbc0
NO-SNOW skip tests of custom requestId on olddriver (#2256)
sfc-gh-mkubik Apr 8, 2025
647a517
[Async] Apply #2256 to async code
sfc-gh-fpawlowski Aug 9, 2025
deecc56
Fix #2227 async implementation
sfc-gh-pczajka Sep 3, 2025
b704b0e
SNOW-2026002: Change invalid TLD to be RFC compliant (#2288)
sfc-gh-jszczerbinski Apr 22, 2025
c4e99d9
SNOW-2055494 fix proper boto min versions (#2295)
sfc-gh-mmishchenko Apr 24, 2025
989750c
SNOW-2057797 Minor python connector version bump (#2302)
sfc-gh-mmishchenko Apr 28, 2025
2a8a146
SNOW-2057797 Update requirements files (#2305)
sfc-gh-mmishchenko Apr 28, 2025
24da50c
SNOW-2052629: Add basic arrow support for Interval data types (#2296)
sfc-gh-nkumar May 5, 2025
b61cd0c
[Async] Apply #2296 to async code
sfc-gh-fpawlowski Aug 9, 2025
8dd8c0c
NO-SNOW Enable structured types in fdn tables to unblock the CI (#2313)
sfc-gh-mkubik May 6, 2025
3291ffb
[Async] Apply #2313 to async code
sfc-gh-fpawlowski Aug 9, 2025
69765b5
SNOW-1959514: Pandas single quote character fix (#2307)
sfc-gh-pbulawa May 12, 2025
f18e51d
[Async] Apply #2307 to async code
sfc-gh-fpawlowski Aug 9, 2025
da8553e
SNOW-2057867 refactor BindUploadAgent to make it work for Python spro…
sfc-gh-zyao May 12, 2025
083d741
[Async] Apply #2303 to async code
sfc-gh-fpawlowski Aug 9, 2025
59f476d
Review fixes - made _ret iterable for aio
sfc-gh-fpawlowski Sep 3, 2025
847bb8c
Review fixes - async mock method
sfc-gh-fpawlowski Sep 3, 2025
f1b81f0
SNOW-2111939: Bind cryptography to latest known working version (#2325)
sfc-gh-pbulawa May 20, 2025
d0d8cf6
SNOW-2057867 refactor and fixes to make pandas write work for Python …
sfc-gh-zyao May 13, 2025
c4d2876
Filter out Deprecation warnings from test_incalid_conection_parameter…
sfc-gh-mkubik May 21, 2025
be7faa4
fix error message when SF_AUTH_SOCKET_ADDR was set (#2332)
rcleveng Jun 3, 2025
76e7917
[Async] Apply #2332 to async code
sfc-gh-fpawlowski Aug 9, 2025
fc2e513
SNOW-1947479 Add bulk_upload_chunks parameter to write_pandas (#2322)
sfc-gh-mkubik Jun 6, 2025
0ace1a5
SNOW-1762538 add detecting running inside a Jupyter notebook for coll…
sfc-gh-mmishchenko Jun 12, 2025
92802e6
[Async] Apply #2290 to async code
sfc-gh-fpawlowski Aug 9, 2025
b22fb9a
NO-SNOW fix olddriver test by pinning version of pytest-cov (#2357)
sfc-gh-mmishchenko Jun 12, 2025
7dfde67
Fix #2290 async implementation
sfc-gh-pczajka Sep 3, 2025
13cef8d
NO-SNOW rename integration tests subfolders to avoid module import am…
sfc-gh-mmishchenko Jun 20, 2025
9a9c61c
[Async] Apply #2364 to async code
sfc-gh-fpawlowski Sep 2, 2025
0f128c0
NO-SNOW: comments fixes to be reverted in final merge
sfc-gh-fpawlowski Sep 7, 2025
4a4c4f3
Aioconnector fix pip builds (#2523)
sfc-gh-pczajka Sep 8, 2025
7cd1945
SNOW-1825495 OAuth flows implementation (#2135)
sfc-gh-mkeller Apr 14, 2025
27a2594
Link sync implementation of Oauth to async code
sfc-gh-pczajka Aug 11, 2025
a5ce1ef
Add Content-type header to Wiremock scenarios
sfc-gh-pczajka Aug 11, 2025
70e68a1
Add async tests; add fixed
sfc-gh-pczajka Aug 12, 2025
25fceb8
oauth review fixes
sfc-gh-pczajka Sep 8, 2025
e57f07d
SNOW-2111644 Support sovereign clouds for WIF (#2367)
sfc-gh-xizhao Jun 24, 2025
105ad77
[Async] Apply #2367 to async code
sfc-gh-fpawlowski Aug 9, 2025
92dc662
SNOW-2161990 introduce a tiny abstraction to allow sproc to override …
sfc-gh-zyao Jun 30, 2025
4274b3c
[Async] Apply #2370 to async code
sfc-gh-fpawlowski Aug 9, 2025
94f5fde
Minor python connector version bump (#2384)
sfc-gh-mmishchenko Jul 1, 2025
ea402ed
SNOW-2021009 adding-codecov-integration (#2386)
sfc-gh-pcyrek Jul 4, 2025
58f1b60
SNOW-2173685 respect existing param control of using SCOPED keyword f…
sfc-gh-zyao Jul 13, 2025
2c06a90
SNOW-2129434: Add in-band ocsp exception telemetry (#2406)
sfc-gh-pbulawa Jul 16, 2025
ecb7987
[Async] Apply #2406 to async code
sfc-gh-fpawlowski Sep 9, 2025
a722c73
SNOW-2205633: Migrating to new okta (#2407)
sfc-gh-pcyrek Jul 16, 2025
44c1ae8
SNOW-2129434: Add in-band http exception telemetry (#2414)
sfc-gh-pbulawa Jul 21, 2025
a74b10e
[Async] Apply #2414 to async code
sfc-gh-fpawlowski Sep 9, 2025
64bacf7
Snow 2117128 Fix arrow timestamp conversion (#2415)
sfc-gh-pczajka Jul 22, 2025
583f912
[Async] Apply #2415 to async code
sfc-gh-fpawlowski Sep 10, 2025
a975413
SNOW-2032699: Use GCS virtual url based on the stage response (#2274)
sfc-gh-pbulawa Apr 16, 2025
0d728f2
Apply #2274 to async code
sfc-gh-pczajka Sep 8, 2025
d133027
Support client-side opt-in of Refresh Token Rotation in Snowflake OAu…
sfc-gh-pmansour Apr 23, 2025
b6283fd
Apply #2294 to async code
sfc-gh-pczajka Sep 8, 2025
f26e0fd
SNOW-2061664 flatten OAuth refresh_token and pkce parameters (#2298)
sfc-gh-mmishchenko Apr 25, 2025
19477fc
Apply #2298 to async code
sfc-gh-pczajka Sep 8, 2025
b2bdaa8
SNOW-2057503 allow only whitelisted schemes for OAuth url parameters …
sfc-gh-mmishchenko Apr 28, 2025
0f56249
Apply #2292 to async code + refactor
sfc-gh-pczajka Sep 8, 2025
a145d00
SNOW-2068668 Move OAuth out of PrPr flag (#2301)
sfc-gh-mmishchenko Apr 28, 2025
805bfe4
Apply #2301 to async code
sfc-gh-pczajka Sep 10, 2025
db6342b
SNOW-2100781: Fix use_virtual_url in GCS (#2320)
sfc-gh-pbulawa May 13, 2025
14e40df
Update async tests after #2320
sfc-gh-pczajka Sep 10, 2025
47fd0e4
SNOW-2114085 adding json matrix folder for prober (#2333)
sfc-gh-pcyrek May 23, 2025
143daac
SNOW-2114093 Probing script (#2335)
sfc-gh-pcyrek May 27, 2025
4f4c419
SNOW-2114096: Implementing prober script image builder (#2340)
sfc-gh-pcyrek Jun 2, 2025
d915ae5
SNOW-2114098 add Jenkins script to build/push a prober image to cloud…
sfc-gh-mmishchenko Jun 2, 2025
1f54d40
SNOW-2114096-extending-probing-capabilities (#2348)
sfc-gh-pcyrek Jun 11, 2025
457da5a
[SNOW-2114104] Config generator and update dockerfile (#2350)
sfc-gh-pcyrek Jun 12, 2025
6afa6b5
SNOW-2114104-adapating put fetch get for prober (#2358)
sfc-gh-pcyrek Jun 16, 2025
33f39c5
NO-SNOW: Fix naming metrics in python prober image (#2361)
sfc-gh-pcyrek Jun 17, 2025
327d2f8
[NO-SNOW] Updating prober matrix (#2372)
sfc-gh-pcyrek Jun 24, 2025
898bb71
[NO-SNOW] updating prober matrix (#2373)
sfc-gh-pcyrek Jun 24, 2025
e093b32
[Async] Apply minimal dependencies versions
sfc-gh-fpawlowski Aug 12, 2025
429a581
SNOW-2110470: Support for local application OAuth by default (#2329)
sfc-gh-fpawlowski Jun 22, 2025
d5b8a8c
[async] apply #2329
sfc-gh-pczajka Sep 17, 2025
e8e3184
Add support for new authentication type - PAT with external session I…
sfc-gh-saroskar Jun 24, 2025
a4dc210
fix: removing trailing slash from oauth_redirect_uri
sfc-gh-mborins May 27, 2025
98f9245
SNOW-2062305 process pool batch fetcher (#2365)
sfc-gh-mmishchenko Jun 30, 2025
07d8a93
NO-SNOW temporarily disable some OAuth integration tests using defaul…
sfc-gh-mmishchenko Jun 30, 2025
e1acc53
NO-SNOW:new-wildcard-oauth-integration-matching-no-slash (#2382)
sfc-gh-pcyrek Jul 1, 2025
a813cd3
SNOW-2112179 token caching is disabled for Client Credentials OAuth f…
sfc-gh-mmishchenko Jul 22, 2025
58c8644
[async] apply #2417
sfc-gh-pczajka Sep 17, 2025
e773c49
[async] Fix _cursor after #2365
sfc-gh-pczajka Sep 17, 2025
c4d6602
SNOW-2173966 introduce server DoP cap (#2375)
sfc-gh-zyao Jul 13, 2025
5ae9669
SNOW-2171791: Add platform telemetry (#2387)
sfc-gh-sshetkar Aug 4, 2025
26b435c
[#2387] fix test_platform_detection_timeout
sfc-gh-pczajka Sep 24, 2025
fac54a4
[async] disable endpoint-based platform autodetection + add fixture
sfc-gh-pczajka Sep 19, 2025
c7cefc8
SNOW-2250223: add support for use_vectorized_scanner in write_pandas …
sfc-gh-yuwang Aug 7, 2025
cf49e97
Remove WIF autodetect and all its problems (error messages, issuer ch…
sfc-gh-pmansour Aug 7, 2025
c9675e6
[async] apply #2457 to async code + adjust wif_util behavior to match…
sfc-gh-pczajka Sep 24, 2025
90839f7
revert removing test_wif script
sfc-gh-pczajka Sep 24, 2025
054476e
Add async version of WIF test script
sfc-gh-pczajka Sep 24, 2025
77e3dbb
Prepare for Workload Identity Federation (WIF) GA (#2368)
sfc-gh-pmansour Aug 12, 2025
2310a2f
[async] Apply #2368 to async code
sfc-gh-pczajka Sep 24, 2025
4ce4d02
merge tox.ini with main
sfc-gh-pczajka Sep 25, 2025
61248fd
SNOW-2039989 include app path within client environment (#2412)
sfc-gh-skarve Jul 22, 2025
708325a
SNOW-2222046: Fix oauth values (#2423)
sfc-gh-pbulawa Jul 23, 2025
769ec83
[async] Applied #2423 to async code
sfc-gh-fpawlowski Oct 1, 2025
32a43b3
SNOW-2160717 add WIF e2e tests (#2433)
sfc-gh-akolodziejczyk Jul 25, 2025
51c70db
SNOW-2127911 Add unsafe_ignore_permission_check flag which turns off …
sfc-gh-pczajka Jul 28, 2025
c88c563
[async] Applied #2430 to async code
sfc-gh-fpawlowski Oct 1, 2025
ec17efc
SNOW-2217228 introduce snowflake_version property to connection (#2440)
sfc-gh-zyao Jul 31, 2025
6505338
[async] Applied #2440 to async code
sfc-gh-fpawlowski Oct 1, 2025
d9f4b0d
SNOW-2119489: Add support for interval types in json format (#2336)
sfc-gh-nkumar Aug 4, 2025
64a489c
[async] Applied #2336 to async code
sfc-gh-fpawlowski Oct 2, 2025
3bbe9d5
SNOW-2229745: Move oauth_type into client_environment (#2453)
sfc-gh-pbulawa Aug 5, 2025
54198e2
[async] Applied #2453 to async code
sfc-gh-fpawlowski Oct 2, 2025
158ba6e
Fix SnowflakeRestful wrongly using PATWithExternalSessionAuth (#2454)
sfc-gh-pczajka Aug 5, 2025
1d1965d
[async] Fix - add workaround for snowflake_version since cached_prope…
sfc-gh-fpawlowski Oct 2, 2025
523e325
SNOW-2216803 allow re-raising error in file transfer work function in…
sfc-gh-zyao Aug 11, 2025
76c2f73
[async] Applied #2443 to async code - part 1
sfc-gh-fpawlowski Oct 2, 2025
77ddd4c
[async] Applied #2443 to async code - part 2
sfc-gh-fpawlowski Oct 2, 2025
d51cfb7
Fix bug in AWS sovereign partition support (#2459)
sfc-gh-pmansour Aug 11, 2025
cfed0ff
[async] Applied #2459 to async code
sfc-gh-fpawlowski Oct 2, 2025
cbd4cf0
SNOW-2255664: Populate type_code for interval types in ResultMetadata…
sfc-gh-nkumar Aug 12, 2025
63544db
[async] Applied #2467 to async code
sfc-gh-fpawlowski Oct 2, 2025
0d16845
[async] Fixed #2443 and #2459 in async code
sfc-gh-fpawlowski Oct 3, 2025
9eab863
Snow-2203079 http traffic through session manager (#2429)
sfc-gh-fpawlowski Aug 13, 2025
f429577
[async] Applied #2429 to async code - part. 1 - implemented session m…
sfc-gh-fpawlowski Oct 5, 2025
17fbc24
SNOW-2395236: renamed to use_requests_session to use_session and impr…
sfc-gh-fpawlowski Oct 6, 2025
01ada93
[async] Applied #2568 session manager implementation - definitions, u…
sfc-gh-fpawlowski Oct 7, 2025
cf2a731
[async] Applied #2429 to async code - part 2:
sfc-gh-fpawlowski Oct 7, 2025
9ca88cc
[async] Fixed #2429 and #2568:
sfc-gh-fpawlowski Oct 12, 2025
fafa6b6
[async] Review fixes - Fixed not renamed urls
sfc-gh-fpawlowski Oct 13, 2025
de2f08c
SNOW-2047992 Include VCRedist library into Windows wheels and get rid…
sfc-gh-mmishchenko Aug 13, 2025
601e2c6
Clarify error messages detected during WIF training (#2469)
sfc-gh-pczajka Aug 13, 2025
e2cdea3
[async] apply test fix
sfc-gh-pczajka Oct 9, 2025
8404bbf
[async] Apply #2469; enhance OAUTH async tests
sfc-gh-pczajka Oct 15, 2025
ab5902f
SNOW-1763096: Add async telemetry support (#2585)
sfc-gh-turbaszek Oct 22, 2025
b962d8c
SNOW-2187831 bump version to 3.17 and rearrange the release notes
sfc-gh-mmishchenko Aug 13, 2025
3bbf18d
NO-SNOW fix integration tests on Jenkins (#2479)
sfc-gh-mmishchenko Aug 13, 2025
1378eeb
SNOW-2019088: Extend write_pandas by a parameter for schema inference…
Argon- Aug 14, 2025
133de43
[BUILD] Add win_arm64 platform support (#2478)
khmyznikov Aug 14, 2025
92a2f53
SNOW-2267257 move delvewheel patch to snowflake.connector (#2481)
sfc-gh-mmishchenko Aug 14, 2025
6844de5
SNOW-2267461 Bumped up PythonConnector PATCH version from 3.17.0 to 3…
sfc-gh-mmishchenko Aug 14, 2025
5942240
SNOW-2235955: adding MFA test in Python (#2465)
sfc-gh-pcyrek Aug 18, 2025
0243fed
Adjust binging security test to server behavioral change (#2588)
sfc-gh-pczajka Oct 22, 2025
f0882b4
[async] Adjust binding security test
sfc-gh-pczajka Oct 23, 2025
e0d56ea
NO-SNOW disable yet failing Win-ARM64 tests (#2491)
sfc-gh-mmishchenko Aug 19, 2025
1e9d52f
SNOW-2268606 zero timeout disables endpoint-based cloud platform dete…
sfc-gh-mmishchenko Aug 20, 2025
996a2fd
[async] apply #2490 - platform_detection_timeout
sfc-gh-pczajka Oct 23, 2025
2c40a61
NO-SNOW: Fix pandas type test (#2600)
sfc-gh-turbaszek Oct 27, 2025
6cef5bb
SNOW-2277561: update prober image (#2493)
sfc-gh-pcyrek Aug 20, 2025
a019ab2
SNOW-2161716: Fix config file permissions check and skip warning usin…
sfc-gh-gmerticariu Aug 21, 2025
60f6186
SNOW-2160718 adjust ec2 IP in WIF tests, limit docker resources (#2503)
sfc-gh-akolodziejczyk Aug 25, 2025
612f8a8
Fix Jenkins build (#2543)
sfc-gh-pczajka Sep 19, 2025
dcd562f
Fix failing Jenkins jobs (#2558)
sfc-gh-pczajka Sep 30, 2025
8e4b382
Fix complilation issue for libc++ (#2579)
sfc-gh-pczajka Oct 20, 2025
040682d
Snow-2226057: remove password from unload tests - migrate to key-pair…
sfc-gh-fpawlowski Aug 25, 2025
9fc9b76
Fix get_results_from_sfqid with DictCursor + multi statements (#2531)
sfc-gh-bchinn Sep 16, 2025
ade1ccc
fixup! Fix get_results_from_sfqid with DictCursor + multi statements …
sfc-gh-turbaszek Oct 23, 2025
012eed6
Code review
sfc-gh-turbaszek Oct 28, 2025
eba57c1
SNOW-694457: env-vars-proxy-leaking (#2451)
sfc-gh-fpawlowski Aug 13, 2025
aa9526b
[async] Applied #2451 to async code - test passing, ProxySessionManag…
sfc-gh-fpawlowski Oct 23, 2025
1a20b32
NO-SNOW: Remove test_client_failover_connection_url
sfc-gh-turbaszek Oct 29, 2025
fc4e772
Snow 1747564 econnreset error should be retried (#2547)
sfc-gh-pczajka Sep 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
289 changes: 266 additions & 23 deletions .github/workflows/build_test.yml

Large diffs are not rendered by default.

12 changes: 7 additions & 5 deletions .github/workflows/create_req_files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v3
- name: Set up Python
Expand Down Expand Up @@ -37,9 +37,10 @@ jobs:
- name: Show created req file
shell: bash
run: cat ${{ env.requirements_file }}
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
path: temp_requirement
name: tested_requirement-py${{ matrix.python-version }}
path: ${{ env.requirements_file }}

push-files:
needs: create-req-files
Expand All @@ -50,10 +51,11 @@ jobs:
with:
token: ${{ secrets.PAT }}
- name: Download requirement files
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: artifact
pattern: tested_requirement-py*
path: tested_requirements
merge-multiple: true
- name: Commit and push new requirements files
run: |
git config user.name github-actions
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified .github/workflows/parameters/public/parameters_aws.py.gpg
Binary file not shown.
Binary file modified .github/workflows/parameters/public/parameters_azure.py.gpg
Binary file not shown.
Binary file modified .github/workflows/parameters/public/parameters_gcp.py.gpg
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
18 changes: 9 additions & 9 deletions .github/workflows/snyk-issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,19 @@ jobs:
snyk:
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v3
- name: checkout action
uses: actions/checkout@v4
with:
repository: snowflakedb/whitesource-actions
token: ${{ secrets.whitesource_action_token }}
token: ${{ secrets.WHITESOURCE_ACTION_TOKEN }}
path: whitesource-actions
- name: Set Env
run: echo "repo=$(basename $GITHUB_REPOSITORY)" >> $GITHUB_ENV
- name: set-env
run: echo "REPO=$(basename $GITHUB_REPOSITORY)" >> $GITHUB_ENV
- name: Jira Creation
uses: ./whitesource-actions/snyk-issue
with:
snyk_org: ${{ secrets.snyk_org_id_public_repo }}
snyk_token: ${{ secrets.snyk_github_integration_token_public_repo }}
jira_token: ${{ secrets.jira_token_public_repo }}
snyk_org: ${{ secrets.SNYK_ORG_ID_PUBLIC_REPO }}
snyk_token: ${{ secrets.SNYK_GITHUB_INTEGRATION_TOKEN_PUBLIC_REPO }}
jira_token: ${{ secrets.JIRA_TOKEN_PUBLIC_REPO }}
env:
gh_token: ${{ secrets.github_token }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -125,3 +125,12 @@ core.*
# Compiled Cython
src/snowflake/connector/arrow_iterator.cpp
src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow_arrow_iterator.cpp

# Prober files
prober/parameters.json
prober/snowflake_prober.egg-info/

# SSH private key for WIF tests
ci/wif/parameters/rsa_wif_aws_azure
ci/wif/parameters/rsa_wif_gcp
ci/wif/parameters/parameters_wif.json
61 changes: 21 additions & 40 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ repos:
- id: check-hooks-apply
- id: check-useless-excludes
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v4.4.0
hooks:
- id: trailing-whitespace
exclude: >
Expand All @@ -23,45 +23,12 @@ repos:
exclude: .github/repo_meta.yaml
- id: debug-statements
- id: check-ast
- repo: https://github.com/Lucas-C/pre-commit-hooks.git
rev: v1.5.1
hooks:
- id: insert-license
name: insert-py-license
files: >
(?x)^(
src/snowflake/connector/.*\.pyx?|
test/.*\.py|
)$
exclude: >
(?x)^(
src/snowflake/connector/version.py|
src/snowflake/connector/nanoarrow_cpp|
)$
args:
- --license-filepath
- license_header.txt
- id: insert-license
name: insert-cpp-license
files: >
(?x)^(
src/snowflake/connector/nanoarrow_cpp/.*\.(cpp|hpp)|
)$
args:
- --comment-style
- //
- --license-filepath
- license_header.txt
exclude: >
(?x)^(
src/snowflake/connector/nanoarrow_cpp/ArrowIterator/nanoarrow.hpp|
)$
- repo: https://github.com/asottile/yesqa
rev: v1.5.0
hooks:
- id: yesqa
- repo: https://github.com/mgedmin/check-manifest
rev: "0.49"
rev: "0.50"
hooks:
- id: check-manifest
- repo: https://github.com/PyCQA/isort
Expand All @@ -76,18 +43,32 @@ repos:
- --append-only
files: ^src/snowflake/connector/.*\.py$
- repo: https://github.com/asottile/pyupgrade
rev: v3.15.2
rev: v3.19.0
hooks:
- id: pyupgrade
args: [--py38-plus]
- repo: local
hooks:
- id: check-no-native-http
name: Check for native HTTP calls
entry: python ci/pre-commit/check_no_native_http.py
language: system
files: ^src/snowflake/connector/.*\.py$
exclude: |
(?x)^(
src/snowflake/connector/session_manager\.py|
src/snowflake/connector/aio/_session_manager\.py|
src/snowflake/connector/vendored/.*
)$
args: [--show-fixes]
- repo: https://github.com/PyCQA/flake8
rev: 7.0.0
rev: 7.1.1
hooks:
- id: flake8
additional_dependencies:
- flake8-bugbear
- repo: https://github.com/pre-commit/mirrors-mypy
rev: 'v1.10.0'
rev: 'v1.13.0'
hooks:
- id: mypy
files: |
Expand Down Expand Up @@ -120,14 +101,14 @@ repos:
- types-pyOpenSSL
- types-setuptools
- repo: https://github.com/psf/black
rev: 24.4.2
rev: 24.10.0
hooks:
- id: black
args:
- --safe
language_version: python3
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v17.0.6
rev: v19.1.3
hooks:
- id: clang-format
types_or: [c++, c]
Expand Down
Binary file added .wiremock/ca-cert.jks
Binary file not shown.
121 changes: 121 additions & 0 deletions DESCRIPTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,127 @@ https://docs.snowflake.com/
Source code is also available at: https://github.com/snowflakedb/snowflake-connector-python

# Release Notes
- v3.18.0(TBD)
- Added the `workload_identity_impersonation_path` parameter to support service account impersonation for Workload Identity Federation on GCP and AWS workloads only
- Fixed `get_results_from_sfqid` when using `DictCursor` and executing multiple statements at once
- Added the `oauth_credentials_in_body` parameter supporting an option to send the oauth client credentials in the request body
- Fix retry behavior for `ECONNRESET` error

- v3.17.4(September 22,2025)
- Added support for intermediate certificates as roots when they are stored in the trust store
- Bumped up vendored `urllib3` to `2.5.0` and `requests` to `v2.32.5`
- Dropped support for OpenSSL versions older than 1.1.1

- v3.17.3(September 02,2025)
- Enhanced configuration file permission warning messages.
- Improved warning messages for readable permission issues to include clear instructions on how to skip warnings using the `SF_SKIP_WARNING_FOR_READ_PERMISSIONS_ON_CONFIG_FILE` environment variable.
- Fixed the bug with staging pandas dataframes on AWS - the regional endpoint is used when required
- This addresses the issue with `create_dataframe` call on Snowpark

- v3.17.2(August 23,2025)
- Fixed a bug where platform_detection was retrying failed requests with warnings to non-existent endpoints.
- Added disabling endpoint-based platform detection by setting `platform_detection_timeout_seconds` to zero.

- v3.17.1(August 17,2025)
- Added `infer_schema` parameter to `write_pandas` to perform schema inference on the passed data.
- Namespace `snowlake` reverted back to non-module.

- v3.17.0(August 16,2025)
- Added in-band HTTP exception telemetry.
- Added an `unsafe_skip_file_permissions_check` flag to skip file permission checks on the cache and configuration.
- Added `APPLICATION_PATH` within `CLIENT_ENVIRONMENT` to distinguish between multiple scripts using the Python Connector in the same environment.
- Added basic JSON support for Interval types.
- Added in-band OCSP exception telemetry.
- Added support for new authentication methods with Workload Identity Federation (WIF).
- Added the `WORKLOAD_IDENTITY` value for the authenticator type.
- Added the `workload_identity_provider` and `workload_identity_entra_resource` parameters.
- Added support for the `use_vectorized_scanner` parameter in the write_pandas function.
- Added support of proxy setup using connection parameters without emitting environment variables.
- Added populating of `type_code` in `ResultMetadata` for interval types.
- Introduced the `snowflake_version` property to the connection.
- Moved `OAUTH_TYPE` to `CLIENT_ENVIROMENT`.
- Relaxed the `pyarrow` version constrain; versions >= 19 can now be used.
- Disabled token caching for OAuth Client Credentials authentication.
- Fixed OAuth authenticator values.
- Fixed a bug where a PAT with an external session authenticator was used while `external_session_id` was not provided in `SnowflakeRestful.fetch`.
- Fixed the case-sensitivity of `Oauth` and `programmatic_access_token` authenticator values.
- Fixed unclear error messages for incorrect `authenticator` values.
- Fixed GCS staging by ensuring the endpoint has a scheme.
- Fixed a bug where time-zoned timestamps fetched as a `pandas.DataFrame` or `pyarrow.Table` would overflow due to unnecessary precision. A clear error will now be raised if an overflow cannot be prevented.

- v3.16.0(July 04,2025)
- Bumped numpy dependency from <2.1.0 to <=2.2.4.
- Added Windows support for Python 3.13.
- Added `bulk_upload_chunks` parameter to `write_pandas` function. Setting this parameter to True changes the behaviour of write_pandas function to first write all the data chunks to the local disk and then perform the wildcard upload of the chunks folder to the stage. In default behaviour the chunks are being saved, uploaded and deleted one by one.
- Added support for new authentication mechanism PAT with external session ID.
- Added `client_fetch_use_mp` parameter that enables multiprocessed fetching of result batches.
- Added basic arrow support for Interval types.
- Fixed `write_pandas` special characters usage in the location name.
- Fixed usage of `use_virtual_url` when building the location for gcs storage client.
- Added support for Snowflake OAuth for local applications.

- v3.15.0(Apr 29,2025)
- Bumped up min boto and botocore version to 1.24.
- OCSP: terminate certificates chain traversal if a trusted certificate already reached.
- Added new authentication methods support for programmatic access tokens (PATs), OAuth 2.0 Authorization Code Flow, OAuth 2.0 Client Credentials Flow, and OAuth Token caching.
- For OAuth 2.0 Authorization Code Flow:
- Added the `oauth_client_id`, `oauth_client_secret`, `oauth_authorization_url`, `oauth_token_request_url`, `oauth_redirect_uri`, `oauth_scope`, `oauth_disable_pkce`, `oauth_enable_refresh_tokens` and `oauth_enable_single_use_refresh_tokens` parameters.
- Added the `OAUTH_AUTHORIZATION_CODE` value for the parameter authenticator.
- For OAuth 2.0 Client Credentials Flow:
- Added the `oauth_client_id`, `oauth_client_secret`, `oauth_token_request_url`, and `oauth_scope` parameters.
- Added the `OAUTH_CLIENT_CREDENTIALS` value for the parameter authenticator.
- For OAuth Token caching: Passing a username to driver configuration is required, and the `client_store_temporary_credential property` is to be set to `true`.

- v3.14.1(April 21, 2025)
- Added support for Python 3.13.
- NOTE: Windows 64 support is still experimental and should not yet be used for production environments.
- Dropped support for Python 3.8.
- Added basic decimal floating-point type support.
- Added experimental authentication methods.
- Added support of GCS regional endpoints.
- Added support of GCS virtual urls. See more: https://cloud.google.com/storage/docs/request-endpoints#xml-api
- Added `client_fetch_threads` experimental parameter to better utilize threads for fetching query results.
- Added `check_arrow_conversion_error_on_every_column` connection property that can be set to `False` to restore previous behaviour in which driver will ignore errors until it occurs in the last column. This flag's purpose is to unblock workflows that may be impacted by the bugfix and will be removed in later releases.
- Lowered log levels from info to debug for some of the messages to make the output easier to follow.
- Allowed the connector to inherit a UUID4 generated upstream, provided in statement parameters (field: `requestId`), rather than automatically generate a UUID4 to use for the HTTP Request ID.
- Improved logging in urllib3, boto3, botocore - assured data masking even after migration to the external owned library in the future.
- Improved error message for client-side query cancellations due to timeouts.
- Improved security and robustness for the temporary credentials cache storage.
- Fixed a bug that caused driver to fail silently on `TO_DATE` arrow to python conversion when invalid date was followed by the correct one.
- Fixed expired S3 credentials update and increment retry when expired credentials are found.
- Deprecated `insecure_mode` connection property and replaced it with `disable_ocsp_checks` with the same behavior as the former property.

- v3.14.0(March 03, 2025)
- Bumped pyOpenSSL dependency upper boundary from <25.0.0 to <26.0.0.
- Added a <19.0.0 pin to pyarrow as a workaround to a bug affecting Azure Batch.
- Optimized distribution package lookup to speed up import.
- Fixed a bug where privatelink OCSP Cache url could not be determined if privatelink account name was specified in uppercase.
- Added support for iceberg tables to `write_pandas`.
- Fixed base64 encoded private key tests.
- Fixed a bug where file permission check happened on Windows.
- Added support for File types.
- Added `unsafe_file_write` connection parameter that restores the previous behaviour of saving files downloaded with GET with 644 permissions.

- v3.13.2(January 29, 2025)
- Changed not to use scoped temporary objects.

- v3.13.1(January 29, 2025)
- Remedied SQL injection vulnerability in snowflake.connector.pandas_tools.write_pandas. See more https://github.com/snowflakedb/snowflake-connector-python/security/advisories/GHSA-2vpq-fh52-j3wv
- Remedied vulnerability in deserialization of the OCSP response cache. See more: https://github.com/snowflakedb/snowflake-connector-python/security/advisories/GHSA-m4f6-vcj4-w5mx
- Remedied vulnerability connected to cache files permissions. See more: https://github.com/snowflakedb/snowflake-connector-python/security/advisories/GHSA-r2x6-cjg7-8r43

- v3.13.0(January 23,2025)
- Added a feature to limit the sizes of IO-bound ThreadPoolExecutors during PUT and GET commands.
- Updated README.md to include instructions on how to verify package signatures using `cosign`.
- Updated the log level for cursor's chunk rowcount from INFO to DEBUG.
- Added a feature to verify if the connection is still good enough to send queries over.
- Added support for base64-encoded DER private key strings in the `private_key` authentication type.

- v3.12.4(December 3,2024)
- Fixed a bug where multipart uploads to Azure would be missing their MD5 hashes.
- Fixed a bug where OpenTelemetry header injection would sometimes cause Exceptions to be thrown.
- Fixed a bug where OCSP checks would throw TypeError and make mainly GCP blob storage unreachable.
- Bumped pyOpenSSL dependency from >=16.2.0,<25.0.0 to >=22.0.0,<25.0.0.

- v3.12.3(October 25,2024)
- Improved the error message for SSL-related issues to provide clearer guidance when an SSL error occurs.
Expand Down
67 changes: 49 additions & 18 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -35,27 +35,58 @@ timestamps {
string(name: 'parent_job', value: env.JOB_NAME),
string(name: 'parent_build_number', value: env.BUILD_NUMBER)
]
stage('Test') {
try {
def commit_hash = "main" // default which we want to override
def bptp_tag = "bptp-built"
def response = authenticatedGithubCall("https://api.github.com/repos/snowflakedb/snowflake/git/ref/tags/${bptp_tag}")
commit_hash = response.object.sha
// Append the bptp-built commit sha to params
params += [string(name: 'svn_revision', value: commit_hash)]
} catch(Exception e) {
println("Exception computing commit hash from: ${response}")
parallel(
'Test': {
stage('Test') {
try {
def commit_hash = "main" // default which we want to override
def bptp_tag = "bptp-stable"
def response = authenticatedGithubCall("https://api.github.com/repos/snowflakedb/snowflake/git/ref/tags/${bptp_tag}")
commit_hash = response.object.sha
// Append the bptp-stable commit sha to params
params += [string(name: 'svn_revision', value: commit_hash)]
} catch(Exception e) {
println("Exception computing commit hash from: ${response}")
}
parallel (
'Test Python 39': { build job: 'RT-PyConnector39-PC',parameters: params},
'Test Python 310': { build job: 'RT-PyConnector310-PC',parameters: params},
'Test Python 311': { build job: 'RT-PyConnector311-PC',parameters: params},
'Test Python 312': { build job: 'RT-PyConnector312-PC',parameters: params},
'Test Python 313': { build job: 'RT-PyConnector313-PC',parameters: params},
'Test Python 39 OldDriver': { build job: 'RT-PyConnector39-OldDriver-PC',parameters: params},
'Test Python 39 FIPS': { build job: 'RT-FIPS-PyConnector39',parameters: params},
)
}
},
'Test Authentication': {
stage('Test Authentication') {
withCredentials([
string(credentialsId: 'a791118f-a1ea-46cd-b876-56da1b9bc71c', variable: 'NEXUS_PASSWORD'),
string(credentialsId: 'sfctest0-parameters-secret', variable: 'PARAMETERS_SECRET')
]) {
sh '''\
|#!/bin/bash -e
|$WORKSPACE/ci/test_authentication.sh
'''.stripMargin()
}
}
},
'Test WIF': {
stage('Test WIF') {
withCredentials([
string(credentialsId: 'sfctest0-parameters-secret', variable: 'PARAMETERS_SECRET')
]) {
sh '''\
|#!/bin/bash -e
|$WORKSPACE/ci/test_wif.sh
'''.stripMargin()
}
parallel (
'Test Python 38': { build job: 'RT-PyConnector38-PC',parameters: params},
'Test Python 39': { build job: 'RT-PyConnector39-PC',parameters: params},
'Test Python 310': { build job: 'RT-PyConnector310-PC',parameters: params},
'Test Python 311': { build job: 'RT-PyConnector311-PC',parameters: params},
'Test Python 312': { build job: 'RT-PyConnector312-PC',parameters: params},
)
}
}
}
)
}
}


pipeline {
Expand Down
Loading
Loading