Skip to content

v3.26.0

Choose a tag to compare

@sfc-gh-jwilkowski sfc-gh-jwilkowski released this 31 Aug 10:44
· 136 commits to main since this release

New additions

  • snow connection test --enable-diag now appends SnowCD-style per-endpoint connectivity checks (health, latency, certificate info, and an effective network policy summary) to the existing SnowflakeConnectionTestReport.txt. Stdout is unchanged. Pass --print-diag with --enable-diag to 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 setup creates an app.yml for new projects. Existing snowflake.yml projects keep working as before.
  • Git metadata support for snow dbt deploy is now available. --git-commit and --git-branch record the source commit and branch in the project's last_deployed_from metadata. These values will also be auto-detected from GitHub Actions environments if no explicit flags are specified.

Fixes and improvements

  • snow app deploy for 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 deploy for 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-encoding now 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 65001 for 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 — run snow helpers detect-encoding for the full picture.
  • snow app deploy for 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 setup leaves code_stage/code_workspace out of app.yml, and snow app deploy provisions a temporary <app>_CODE stage (or a <app>_CODE workspace 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-only can still find and drop what --upload-only created. Set code_stage or code_workspace in app.yml to keep a persisted stage/workspace instead.
  • Fixed snow helpers check-version failing 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).