v3.26.0
·
136 commits
to main
since this release
New additions
snow connection test --enable-diagnow appends SnowCD-style per-endpoint connectivity checks (health, latency, certificate info, and an effective network policy summary) to the existingSnowflakeConnectionTestReport.txt. Stdout is unchanged. Pass--print-diagwith--enable-diagto print that same report to stdout. Replaces the end-of-life SnowCD tool.app.yml(version 2) for Snowflake App Runtime projects is now generally available, and no longer needs a feature flag.snow app setupcreates anapp.ymlfor new projects. Existingsnowflake.ymlprojects keep working as before.- Git metadata support for
snow dbt deployis now available.--git-commitand--git-branchrecord the source commit and branch in the project'slast_deployed_frommetadata. These values will also be auto-detected from GitHub Actions environments if no explicit flags are specified.
Fixes and improvements
snow app deployfor Snowflake App Runtime projects now explains a failure while preparing code storage in terms of the statement that actually failed. A missing database or schema is reported as such instead of as a missing privilege, a privilege error names only the grant that statement needs, and a rejected stage encryption type is named explicitly.snow app deployfor Snowflake App Runtime projects no longer surfaces a raw connector traceback when uploading code fails. The error now names the stage or workspace being written to, how many files had already uploaded, and what to do next. Failed file transfers, which were previously not caught at all, are reported the same way.snow helpers detect-encodingnow detects when the Windows console isn't configured for UTF-8 output (independent of the CLI's own encoding settings) and points the user at the fix —chcp.com 65001for cmd.exe/Git Bash, or the docs for PowerShell 5.x. The CLI's startup encoding warning surfaces the same note, but only when it isn't already warning about a Python encoding mismatch — runsnow helpers detect-encodingfor the full picture.snow app deployfor Snowflake App Runtime projects no longer needs OWNERSHIP on the code stage and CREATE STAGE on the schema to redeploy. The upload used to start by dropping the stage and creating it again, so a role holding only WRITE could deploy once and then never again — and a role allowed to drop the stage but not create one lost the stage entirely. The stage is now only dropped when the deploying role can also recreate it; otherwise its contents are cleared, with a warning that files deleted from the project since the last deploy may survive on the stage.- Snowflake App Runtime projects now use temporary code storage by default.
snow app setupleavescode_stage/code_workspaceout ofapp.yml, andsnow app deployprovisions a temporary<app>_CODEstage (or a<app>_CODEworkspace for personal databases, which don't support stages) just for the build and drops it once the build finishes. Because the name is derived from the app,--build-onlycan still find and drop what--upload-onlycreated. Setcode_stageorcode_workspaceinapp.ymlto keep a persisted stage/workspace instead. - Fixed
snow helpers check-versionfailing with "Could not determine the latest Snowflake CLI version" when the local version cache file was corrupted. A corrupted or unreadable cache now falls back to a live network fetch instead of silently returning nothing. - The passive new-version banner no longer blocks CLI startup. The version cache is refreshed in a background thread while the command runs, and the banner is shown after the command completes (including on
--help,--version, and--info).