Skip to content

Releases: snowflakedb/snowflake-cli

v2.5.0-rc0

13 Jun 13:15
Compare
Choose a tag to compare
v2.5.0-rc0 Pre-release
Pre-release

Backward incompatibility

Deprecations

New additions

  • Added snow app bundle command that prepares a local folder in the project directory with artifacts to be uploaded to a stage as part of creating a Snowflake Native App.
    • Snowflake Native App projects can now optionally generate CREATE FUNCTION or CREATE PROCEDURE declarations in setup scripts from Snowpark python code that includes decorators (e.g. @ sproc, @ udf).
  • Added snow app validate command that validates the setup script SQL used to create a Snowflake Native App for syntax validity, invalid object references, and best practices
    • Added new native_app.scratch_stage field to snowflake.yml schema to allow customizing the stage that the CLI uses to run the validation
  • Changed snow app deploy and snow app run to trigger validation of the uploaded setup script SQL and block uploads on validation failure, pass --no-validate to disable
  • Changed snow app version create --patch to require an integer patch number, aligning with what Snowflake expects
  • Added snow notebook commands:
    • snow notebook execute enabling head-less execution of a notebook.
    • snow notebook create proving an option to create a Snowflake Notebook from a file on stage.
  • Added templating support for project definition file.
    • Template variables can now be used anywhere in the project definition file.
  • Added --default flag to snow connection add commands allowing users to mark the new connection as default.

Fixes and improvements

  • Fixed error handling for malformatted config.toml
  • Fixed ZIP packaging of Snowpark project dependencies containing implicit namespace packages like snowflake.
  • Deploying function/procedure with --replace flag now copies all grants
  • Fixed MFA caching
  • Fixed DeprerationWarning/SyntaxWarning due to invalid escape sequences
  • Improved error message in snow spcs image-registry login when docker is not installed.
  • Improved detection of conflicts between artifact rules for native application projects
  • Fixed URL generation for applications, streamlits, and notebooks that use a quoted identifier with spaces.

v2.4.1

12 Jun 09:05
Compare
Choose a tag to compare

Backward incompatibility

Deprecations

New additions

Fixes and improvements

  • Fixed MFA caching

v2.4.0

31 May 14:17
Compare
Choose a tag to compare

v2.4.0

Backward incompatibility

Deprecations

New additions

  • Added the --cascade option to snow app teardown command that drops all application objects owned by the application.
  • Add external access integration to snow object commands
  • Add aliases for snow object list/describe/drop commands under:
    • snow stage for stages
    • snow git for git repository stages
    • snow streamlit for streamlit apps
    • snow snowpark for procedures and functions
    • snow spcs compute-pool for compute pools
    • snow spcs image-repository for image repositories
    • snow spcs service for services
  • snow sql works now with snowflake.yml file. The variables defined in the new env section
    of snowflake.yml will be used to expand templates.
  • snow sql support executing multiple files. Users can use -f/--file flag more than once to execute queries
    from many files.
  • snow git execute and snow stage execute support passing input variables for SQL execution.
  • Added snow cortex commands:
    • complete - Given a prompt, the command generates a response using your choice of language model.
      In the simplest use case, the prompt is a single string. You may also provide a JSON file with conversation history including multiple prompts and responses for interactive chat-style usage.
    • extract-answer - Extracts an answer to a given question from a text document.
      The document may be a plain-English document or a string representation of a semi-structured (JSON) data object.
    • sentiment - Returns sentiment as a score between -1 to 1 (with -1 being the most negative and 1 the most positive, with values around 0 neutral) for the given English-language input text.
    • summarize - Summarizes the given English-language input text.
    • translate - Translates text from the indicated or detected source language to a target language.
    • search - for integration with Cortex Search Service
  • When invoked without command help is displayed by default with list of available commands.
  • Add tab-completion for snow command.

Fixes and improvements

  • Improved support for quoted identifiers.
  • Fixed creating patches with snow app version create when there are 2 or more existing patches on a version
  • Using --format=json adds trailing new line to avoid % being added by some terminals to signal no new line at the end of output.
  • Fixed --interactive flag to be enabled by default in interactive environments and added the --no-interactive flag to be able to turn off prompting.

v2.4.0-rc1

28 May 14:49
Compare
Choose a tag to compare
v2.4.0-rc1 Pre-release
Pre-release

Backward incompatibility

Deprecations

New additions

  • Added the --cascade option to snow app teardown command that drops all application objects owned by the application.
  • Add external access integration to snow object commands
  • Add aliases for snow object list/describe/drop commands under:
    • snow stage for stages
    • snow git for git repository stages
    • snow streamlit for streamlit apps
    • snow snowpark for procedures and functions
    • snow spcs compute-pool for compute pools
    • snow spcs image-repository for image repositories
    • snow spcs service for services
  • snow sql works now with snowflake.yml file. The variables defined in the new env section
    of snowflake.yml will be used to expand templates.
  • snow sql support executing multiple files. Users can use -f/--file flag more than once to execute queries
    from many files.
  • snow git execute and snow stage execute support passing input variables for SQL execution.
  • Added snow cortex commands:
    • complete - Given a prompt, the command generates a response using your choice of language model.
      In the simplest use case, the prompt is a single string. You may also provide a JSON file with conversation history including multiple prompts and responses for interactive chat-style usage.
    • extract-answer - Extracts an answer to a given question from a text document.
      The document may be a plain-English document or a string representation of a semi-structured (JSON) data object.
    • sentiment - Returns sentiment as a score between -1 to 1 (with -1 being the most negative and 1 the most positive, with values around 0 neutral) for the given English-language input text.
    • summarize - Summarizes the given English-language input text.
    • translate - Translates text from the indicated or detected source language to a target language.
    • search - for integration with Cortex Search Service
  • When invoked without command help is displayed by default with list of available commands.
  • Add tab-completion for snow command.

Fixes and improvements

  • Improved support for quoted identifiers.
  • Fixed creating patches with snow app version create when there are 2 or more existing patches on a version
  • Using --format=json adds trailing new line to avoid % being added by some terminals to signal no new line at the end of output.
  • Fixed --interactive flag to be enabled by default in interactive environments and added the --no-interactive flag to be able to turn off prompting.

v2.4.0-rc0

28 May 09:48
Compare
Choose a tag to compare
v2.4.0-rc0 Pre-release
Pre-release

Backward incompatibility

Deprecations

New additions

  • Added the --cascade option to snow app teardown command that drops all application objects owned by the application.
  • Add external access integration to snow object commands
  • Add aliases for snow object list/describe/drop commands under:
    • snow stage for stages
    • snow git for git repository stages
    • snow streamlit for streamlit apps
    • snow snowpark for procedures and functions
    • snow spcs compute-pool for compute pools
    • snow spcs image-repository for image repositories
    • snow spcs service for services
  • snow sql works now with snowflake.yml file. The variables defined in the new env section
    of snowflake.yml will be used to expand templates.
  • snow sql support executing multiple files. Users can use -f/--file flag more than once to execute queries
    from many files.
  • snow git execute and snow stage execute support passing input variables for SQL execution.
  • Added snow cortex commands:
    • complete - Given a prompt, the command generates a response using your choice of language model.
      In the simplest use case, the prompt is a single string. You may also provide a JSON file with conversation history including multiple prompts and responses for interactive chat-style usage.
    • extract-answer - Extracts an answer to a given question from a text document.
      The document may be a plain-English document or a string representation of a semi-structured (JSON) data object.
    • sentiment - Returns sentiment as a score between -1 to 1 (with -1 being the most negative and 1 the most positive, with values around 0 neutral) for the given English-language input text.
    • summarize - Summarizes the given English-language input text.
    • translate - Translates text from the indicated or detected source language to a target language.
    • search - for integration with Cortex Search Service
  • When invoked without command help is displayed by default with list of available commands.
  • Add tab-completion for snow command.

Fixes and improvements

  • Improved support for quoted identifiers.
  • Fixed creating patches with snow app version create when there are 2 or more existing patches on a version
  • Using --format=json adds trailing new line to avoid % being added by some terminals to signal no new line at the end of output.
  • Fixed --interactive flag to be enabled by default in interactive environments and added the --no-interactive flag to be able to turn off prompting.

v2.3.1

20 May 11:11
Compare
Choose a tag to compare

Backward incompatibility

Deprecations

New additions

Fixes and improvements

  • Fixed bugs in source artifact mapping logic for native applications

v2.3.0

15 May 13:17
36d1a98
Compare
Choose a tag to compare

Backward incompatibility

Deprecations

New additions

  • New snow sql functionality:
    • -D/--variable allows variable substitutions in a SQL input (client-side query templating)
  • New snow app deploy functionality:
    • Passing files and directories as arguments syncs these only: snow app deploy some-file some-dir.
    • --recursive syncs all files and subdirectories recursively.
    • --prune deletes specified files from the stage if they don't exist locally.

Fixes and improvements

  • More human-friendly errors in case of corrupted config.toml file.
  • Fixed a bug in snow app that caused files to be re-uploaded unnecessarily.
  • Optimize snowpark dependency search to lower the size of .zip artifacts and
    the number of anaconda dependencies for snowpark projects.
  • Added support for fully qualified stage names in stage and git execute commands.
  • Fixed a bug where snow app run was not upgrading the application when the local state and remote stage are identical (for example immediately after snow app deploy).
  • Fixed handling of stage path separators on Windows
  • The --info callback returns info about configured feature flags.

v2.3.0-rc1

14 May 14:55
Compare
Choose a tag to compare
v2.3.0-rc1 Pre-release
Pre-release

Backward incompatibility

Deprecations

New additions

  • New snow sql functionality:
    • -D/--variable allows variable substitutions in a SQL input (client-side query templating)
  • New snow app deploy functionality:
    • Passing files and directories as arguments syncs these only: snow app deploy some-file some-dir.
    • --recursive syncs all files and subdirectories recursively.
    • --prune deletes specified files from the stage if they don't exist locally.

Fixes and improvements

  • More human-friendly errors in case of corrupted config.toml file.
  • Fixed a bug in snow app that caused files to be re-uploaded unnecessarily.
  • Optimize snowpark dependency search to lower the size of .zip artifacts and
    the number of anaconda dependencies for snowpark projects.
  • Added support for fully qualified stage names in stage and git execute commands.
  • Fixed a bug where snow app run was not upgrading the application when the local state and remote stage are identical (for example immediately after snow app deploy).
  • Fixed handling of stage path separators on Windows
  • The --info callback returns info about configured feature flags.

v2.3.0-rc0

09 May 15:15
908cf13
Compare
Choose a tag to compare
v2.3.0-rc0 Pre-release
Pre-release

Backward incompatibility

Deprecations

New additions

  • New snow sql functionality:
    • -D/--data allows variable substitutions in a SQL input (client-side query templating)
  • New snow app deploy functionality:
    • Passing files and directories as arguments syncs these only: snow app deploy some-file some-dir.
    • --recursive syncs all files and subdirectories recursively.
    • --prune deletes specified files from the stage if they don't exist locally.

Fixes and improvements

  • More human-friendly errors in case of corrupted config.toml file.
  • Fixed a bug in snow app that caused files to be re-uploaded unnecessarily.
  • Optimize snowpark dependency search to lower the size of .zip artifacts and
    the number of anaconda dependencies for snowpark projects.
  • Added support for fully qualified stage names in stage and git execute commands.
  • Fixed a bug where snow app run was not upgrading the application when the local state and remote stage are identical (for example immediately after snow app deploy).
  • Fixed handling of stage path separators on Windows
  • The --info callback returns info about configured feature flags.

v2.2.0

25 Apr 12:17
Compare
Choose a tag to compare

Deprecations

  • snow snowpark package lookup no longer performs check against PyPi. Using --pypi-download or --yes
    has no effect and will cause a warning. In this way the command has single responsibility - check if package is
    available in Snowflake Anaconda channel.
  • snow snowpark package create:
    • --pypi-download or --yes flags are deprecated, have no effect and will cause a warning.
      create command always checks against PyPi.
    • --allow-native-libraries is deprecated in favour of boolean flag --allow-shared-libraries.
      Using old flag will cause a warning.
  • snow snowpark build:
    • --pypi-download flag is deprecated, have no effect and will cause a warning. Build command always check against PyPi.
    • --check-anaconda-for-pypi-depts is deprecated and using it will cause warning, the functionality is replaced by --ignore-anaconda
    • --package-native-libraries is deprecated and using it will cause warning, the functionality is replaced by --allow-shared-libraries
  • snow object stage commands are deprecated and using them will cause a warning.
    Functionality is replaced by snow stage commands.

New additions

  • Added support for fully qualified name (database.schema.name) in name parameter in streamlit project definition
  • Added support for fully qualified image repository names in spcs image-repository commands.
  • Added --if-not-exists option to create commands for service, and compute-pool. Added --replace and --if-not-exists options for image-repository create.
  • Added support for python connector diagnostic report.
  • Added snow app deploy command that creates an application package and syncs the local changes to the stage without creating or updating the application.
  • Added is_default column to snow connection list output to highlight default connection.
  • snow snowpark package create:
    • new --ignore-anaconda flag disables package lookup in Snowflake Anaconda channel.
      All dependencies will be downloaded from PyPi.
    • new --skip-version-check skips comparing versions of dependencies between requirements and Anaconda.
    • new --index-url flag sets up Base URL of the Python Package Index to use for package lookup.
  • snow snowpark build:
    • new --skip-version-check skips comparing versions of dependencies between requirements and Anaconda.
    • new --index-url flag sets up Base URL of the Python Package Index to use for package lookup.
  • Added --recursive flag for copy from stage, it will reproduce the directory structure locally.
  • Added support for snowgit. New commands:
    • snow git setup - wizard setting up a git repository stage and creating all necessary objects
    • snow git fetch - fetches latest changes from the origin repository into Snowflake repository
    • snow git list-branches - lists all branches in the repository
    • snow git list-tags - lists all tags in the repository
    • snow git list-files - lists all files on provided branch/tag/commit
    • snow git copy - copies files from provided branch/tag/commit into stage or local directory
    • snow git execute - execute immediate files from repository
  • Added command for execute immediate snow stage execute
  • Fetching available packages list from Snowflake instead of directly from Anaconda with fallback to the old method (for backward compatibility).
    As the new method requires a connection to Snowflake, it adds connection options to the following commands:
    • snow snowpark build
    • snow snowpark package lookup
    • snow snowpark package create

Fixes and improvements

  • Adding --image-name option for image name argument in spcs image-repository list-tags for consistency with other commands.
  • Fixed errors during spcs image-registry login not being formatted correctly.
  • Project definition no longer accept extra fields. Any extra field will cause an error.
  • Changing imports in function/procedure section in snowflake.yml will cause the definition update on replace
  • Adding --pattern flag to stage list-files command for filtering out results with regex.
  • Fixed snowpark build paths for builds with --project option (fixed empty zip issue).
  • More clear error messages in snow snowpark build command
  • Adding support for any source supported by pip in snow snowpark.
  • Fixed version parsing for packages lookup on Snowflake Anaconda Channel
  • Fix handling database/schema/role identifiers containing dashes
  • Fix schema override bug in snow connection test
  • Hidden incorrectly working config permissions warning on Windows
  • Make errors from snow connection test more meaningful when role, warehouse or database does not exist.