Snowflake CLI release notes for 2024

This article contains the release notes for the Snowflake CLI, including the following when applicable:

  • Behavior changes

  • New features

  • Customer-facing bug fixes

Note

For release note information for versions released prior to January 2022, see the Client Release History.

Version 2.3.0 (May 15, 2024)

New features and updates

  • Added the --info option for the snow command to display the configured feature flags.

  • Added the -D/--variable option to the snow sql command to support variable substitutions in SQL input (client-side query templating).

  • Added support for full-qualified stage names in snow stage and snow git execute commands.

  • Added the ability to specify files and directories as arguments for the snow app deploy <some-file> <some-dir> command.

  • Added new options to the snow app deploy command:

    • --recursive to sync all files and subdirectories recursively.

    • --prune to delete specified files from the stage if they don’t exist locally.

  • Optimized the Snowpark dependency search to reduce the size of .zip artifacts and the number of Anaconda dependencies for Snowpark projects.

  • Improved error messages for a corrupted config.toml file.

Bug fixes

  • Fixed an issue with the snow app commands that cause files to be re-uploaded unnecessarily.

  • Fixed an issue where the snow app run command did not upgrade an application when the local state and remote stage are identical.

  • Fixed an issue with handling the stage pat separators on Windows.

Version 2.2.0 (April 25, 2024)

Deprecated features

Note

The following features are deprecated in this version and will be removed when Snowflake releases Snowflake CLI 3.0.0. Please consider updating any existing scripts that use these deprecated features.

  • The snow snowpark package lookup command no longer performs a check against PyPi. Using --pypi-download or --yes has no effect and causes a warning. The command now only checks whether a package is available in the Snowflake Anaconda channel.

  • snow snowpark package create changes:

    • The --pypi-download or --yes options are deprecated, have no effect, and cause a warning. The command now always checks against PyPi.

    • The --allow-native-libraries option is deprecated in favor of the Boolean --allow-shared-libraries option. Using the deprecated option causes a warning.

  • snow snowpark build changes:

    • The --pypi-download option is deprecated, has no effect, and causes a warning. The command now always checks against PyPi.

    • The --check-anaconda-for-pypi-depts option is deprecated and causes a warning. Use the --ignore-anaconda option instead.

    • The --package-native-libraries option is deprecated and causes a warning. Use the --allow-shared-libraries option instead.

  • The snow object stage commands are deprecated and causes a warning. These commands are replaced with snow stage commands. Please consider migrating any existing scripts that use the snow object stage commands.

New features and updates

  • Added support for fully qualified names (database.schema.name) in the Streamlit project definition name parameter.

  • Added support for fully qualified image repository names in spcs image-repository commands.

  • Added the --if-not-exists option option to the snow spcs service create and snow spcs compute-pool create commands.

  • Added the --replace and --if-not-exists options for the snow spcs image-repository create command.

  • Added support for Snowflake Connector for Python diagnostic reports.

  • Added the snow app deploy command that creates an application package and syncs the local changes to the stage without creating or updating the application.

  • Added the is_default column to the snow connection list output to highlight the default connection.

  • Updated the snow snowpark package create command:

    • Added the --ignore-anaconda option to disable package lookup in the Snowflake Anaconda channel, so dependencies are downloaded from PyPi.

    • Added the --skip-version-check option to skip comparing versions of dependencies between requirements and Anaconda.

    • Added the --index-url option to set the base URL of the Python Package Index to use for package lookup.

  • Updated the snow snowpark build command:

    • Added the --skip-version-check option to skip comparing versions of dependencies between requirements and Anaconda.

    • Added the --index-url option set up the base URL of the Python Package Index to use for package lookup.

  • Added the --recursive option to the snow stage copy command to reproduce the directory structure locally when copying from a stage.

  • Added the following snow git commands to support for Git repositories in Snowflake:

    • snow git setup: Sets up a Git repository stage and creates all necessary objects.

    • snow git fetch: Fetches latest changes from the origin repository into a Snowflake repository.

    • snow git list-branches: Lists all branches in a repository.

    • snow git list-tags: Lists all tags in a repository.

    • snow git list-files: Lists all files on a specified branch, tag, or commit.

    • snow git copy: Copies files from a specified branch, tag, or commit into a stage or local directory.

    • snow git execute: Runs the SQL EXECUTE IMMEDIATE command for files in a repository.

  • Added the snow stage execute command to run the SQL EXECUTE IMMEDIATE command from a stage path.

  • Added the --pattern option to the snow stage list-files command to support filtering results with regex.

  • Added support for any source supported by pip in snow snowpark commands.

  • Added the ability to fetch available packages list from Snowflake instead of directly from Anaconda with fallback to the old method (for backward compatibility). As the new approach requires a connection to Snowflake, it adds connection options to the following commands:

    • snow snowpark build

    • snow snowpark package lookup

    • snow snowpark package create

Bug fixes

  • Added the --image-name option for the image name argument in the spcs image-repository list-tags command for consistency with other commands.

  • Fixed an issue where spcs image-registry login errors were not formatted correctly.

  • Project definitions no longer accept extra fields. Any extra fields cause an error.

  • Fixed an issue with empty zip files for Snowpark build paths for builds that used the --project option.

  • Improved error messages for the snow snowpark build command.

  • Fixed version parsing for packages lookup on the Snowflake Anaconda channel.

  • Fixed an issue with handling database, schema, and role identifiers containing dashes.

  • Fixed a schema override bug in th snow connection test command.

  • Due to a problem with Windows OSes, Snowflake CLI doesn’t show warnings when config file permissions are too wide for Windows systems.

  • Improved snow connection test error messages when a role, warehouse, or database does not exist.

Version 2.1.2 (March 27, 2024)

New features and updates

  • Added pip as a Snowflake CLI dependency.

  • Optimized the snow connection test command.

Bug fixes

  • Fixed an issue with creating virtual environments in the snow snowpark package create and snow snowpark build commands.

Version 2.1.1 (March 20, 2024)

New features and updates

  • Initial public release

Bug fixes

  • None.