dependabot[bot] opened a new pull request, #42418: URL: https://github.com/apache/superset/pull/42418
Updates the requirements on [snowflake-sqlalchemy](https://github.com/snowflakedb/snowflake-sqlalchemy) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/snowflakedb/snowflake-sqlalchemy/releases">snowflake-sqlalchemy's releases</a>.</em></p> <blockquote> <h2>Release</h2> <ul> <li> <p>v1.11.0 (July 7, 2026)</p> </li> <li> <p><strong><a href="https://github.com/snowflakedb/snowflake-sqlalchemy#sensitive-connection-parameters">Sensitive connection parameters</a>:</strong> We curated a set of connector kwargs (<code>host</code>, <code>protocol</code>, <code>token_file_path</code>, <code>private_key_file</code>, <code>ocsp_response_cache_filename</code>, <code>connection_diag_log_path</code>, <code>crl_cache_dir</code>, <code>unsafe_file_write</code>, <code>unsafe_skip_file_permissions_check</code>) that can no longer be supplied via the URL query string — pass them via <code>connect_args=</code> in <code>create_engine()</code> instead (applications already doing so are unaffected). If you encounter a possible behavioral change, set <code>SNOWFLAKE_SQLALCHEMY_LEGACY_URL_PARAMS=1</code> and follow the instructions at <a href="https://github.com/snowflakedb/snowflake-sqlalchemy#sensitive-connection-parameters">Sensitive connection parameters</a>.</p> </li> <li> <p>Improve <code>_url()</code> helper and <code>create_connect_args</code> connection-parameter handling:</p> <ul> <li><code>account</code> and <code>region</code> values are now validated against an allowlist of DNS-safe characters (alphanumeric, <code>-</code>, <code>.</code>, <code>_</code>) before being interpolated into the connection URL, preventing URL-authority corruption from unexpected characters.</li> <li><code>user</code> values are percent-encoded before being placed in the URL userinfo component, preserving the original value delivered to the connector while preventing <code>@</code>, <code>?</code>, and <code>#</code> from being misinterpreted as URL delimiters.</li> </ul> </li> <li> <p><code>ClusterByOption</code> now raises <code>TypeError</code> at DDL compile time when an expression element is neither a <code>str</code> nor a <code>sqlalchemy.sql.expression.TextClause</code>. Previously, such values were silently coerced via <code>str()</code>, which produced malformed DDL (e.g. bind-parameter placeholders like <code>:id_1</code>) for any expression beyond a bare column name. The accepted types match the documented constructor signature; code using only <code>str</code> or <code>text(...)</code> is unaffected.</p> </li> <li> <p>Improve identifier quoting and string-literal escaping for caller-supplied values across the DDL compiler so they are rendered consistently with the rest of the dialect. Column keys in <code>MERGE INTO</code> (both the <code>WHEN NOT MATCHED … INSERT</code> list and <code>WHEN MATCHED … SET</code> targets), stage namespaces/names, <code>format_name</code>, and <code>file_format</code> are now routed through the identifier preparer, and a <code>quote=False</code> schema or column label is quoted when it contains characters that would otherwise require quoting instead of being emitted verbatim. Cloud-storage URIs, <code>CREDENTIALS</code>, and <code>ENCRYPTION</code> clauses (shared by <code>COPY INTO</code> and <code>CREATE STAGE</code>) and <code>FILES=(…)</code> entries now apply the dialect's standard literal escaping (<code>'</code>→<code>''</code>, <code>\</code>→<code>\\</code>); <code>CREATE STAGE</code> builds its SQL from the container's fields rather than <co de>repr(container)</code>. Legal identifiers — including upper-case names that Snowflake folds — still render bare, so existing DDL is unchanged.</p> </li> <li> <p>Improve escaping in <code>CopyIntoStorage</code> / <code>CreateStage</code> / <code>CreateFileFormat</code> and add secret redaction (SNOW-3656048):</p> <ul> <li><code>FILE_FORMAT</code> option string values (e.g. <code>CSVFormatter().date_format(...)</code>, <code>file_extension</code>, <code>timestamp_format</code>) are now escaped before being embedded in the compiled SQL, improving single-quote escaping (SNOW-3649888).</li> <li><code>repr()</code> of <code>AWSBucket</code>, <code>AzureContainer</code>, <code>GCSBucket</code> (and, transitively, <code>CopyIntoStorage</code>) now masks cloud secrets — <code>AWS_SECRET_KEY</code>, <code>AWS_KEY_ID</code>, <code>AWS_TOKEN</code>, <code>AZURE_SAS_TOKEN</code>, <code>MASTER_KEY</code> are rendered as <code>'***'</code> (SNOW-3649782). Compiled SQL is unchanged.</li> <li>Added an opt-in logging redactor for engine logs that contain inline credentials: <code>SnowflakeSecretRedactionFilter</code>, <code>add_secret_redaction_filter()</code>, and <code>redact_secrets()</code>. Prefer <code>STORAGE_INTEGRATION</code> to avoid putting secrets in SQL at all (SNOW-3649850).</li> </ul> </li> <li> <p>Fix <code>get_view_definition</code> silently truncating or failing for view names that contain a single quote or backslash (e.g. <code>o'brien</code>). The name is now SQL-escaped (<code>'</code> → <code>''</code>, <code>\</code> → <code>\\</code>) before being embedded in the <code>SHOW VIEWS LIKE '...'</code> literal, so such views are found correctly and no query manipulation is possible via a crafted view name.</p> </li> <li> <p>Optimise single-table reflection (SNOW-3720548): reflecting one table no longer scans the entire schema, reducing latency and Snowflake credit usage for targeted <code>Inspector</code> calls.</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/snowflakedb/snowflake-sqlalchemy/commit/5a6f87f5486bbc4646262688af22cf057be10710"><code>5a6f87f</code></a> chore/release-1.11.0: release notes and version bump (<a href="https://redirect.github.com/snowflakedb/snowflake-sqlalchemy/issues/715">#715</a>)</li> <li><a href="https://github.com/snowflakedb/snowflake-sqlalchemy/commit/d014de79931828b7eea8415df9ea5a2bd0e85cb6"><code>d014de7</code></a> Snow 3720548 optimize reflection cache (<a href="https://redirect.github.com/snowflakedb/snowflake-sqlalchemy/issues/703">#703</a>)</li> <li><a href="https://github.com/snowflakedb/snowflake-sqlalchemy/commit/41f8696218efc5424ebcabec6906b413abf290f0"><code>41f8696</code></a> Post-refactor cleanup: name utilities, quoting internals, and identifier tests</li> <li><a href="https://github.com/snowflakedb/snowflake-sqlalchemy/commit/ed16ec5035dc4811133c9777d287f300761bb22a"><code>ed16ec5</code></a> Fix object type handling and repr object representation</li> <li><a href="https://github.com/snowflakedb/snowflake-sqlalchemy/commit/fe741713681394df560b14819093c2b50bcd7dfb"><code>fe74171</code></a> Fix view show like single quote escaping</li> <li><a href="https://github.com/snowflakedb/snowflake-sqlalchemy/commit/e07ea74134584373fcb7de5ab4fbbad1b2e2d869"><code>e07ea74</code></a> Reflection name handling improvements</li> <li><a href="https://github.com/snowflakedb/snowflake-sqlalchemy/commit/2c33792c91449e746a2c7ef24c25f0ede0a4a875"><code>2c33792</code></a> SNOW-3656098: enhance connection param handling</li> <li><a href="https://github.com/snowflakedb/snowflake-sqlalchemy/commit/bf7d250afe6791872b1adaed10261abfaa80b13f"><code>bf7d250</code></a> Snow 3656048 copy stage improvements</li> <li><a href="https://github.com/snowflakedb/snowflake-sqlalchemy/commit/a198ed2197bb3e0be57268032ed6e8b7fdeb8129"><code>a198ed2</code></a> SNOW-3656026 identifiers and literal quoting</li> <li><a href="https://github.com/snowflakedb/snowflake-sqlalchemy/commit/35edf4dc5e76b9a9fdfa74c8e4f6fd14642110f1"><code>35edf4d</code></a> SNOW-3655930: improve escaping and rendering</li> <li>Additional commits viewable in <a href="https://github.com/snowflakedb/snowflake-sqlalchemy/compare/v1.10.2...v1.11.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
