Backward incompatibility
Deprecations
* Added deprecation warning in the description of `snow spcs service status` and `snow spcs image-repository list-tags`.
* Completely removed the `snow app init` as it was replaced with `snow init` in Snowflake CLI 3.0
New additions
* Added `snow connection generate-jwt` command to generate JWT token for Snowflake connection.
* Added `snow spcs service list-instances`, `snow spcs service list-containers` and `snow spcs service list-roles` commands, which support fetching information about all instances/containers/service roles in a service.
* `snow spcs service set` now supports `--eai-name` to update external access integrations for a service.
Fixes and improvements
* Fixed a bug that would cause the `deploy_root`, `bundle_root`, and `generated_root` directories to be created in the current working directory instead of the project root when invoking commands with the `--project` flag from a different directory.
* Align variables for `snow stage|git execute`. For Python files variables are stripped of leading and trailing quotes.
* `snow spcs image-repository list-images` now displays image tag and digest.
* Fix `snow stage list-files` for paths with directories.
* `snow --info` callback returns information about `SNOWFLAKE_HOME` variable.
* Removed requirement of existence of any `requirements.txt` file for Python code execution via `snow git execute` command.
Before the fix the file (even empty) was required to make the execution working.
* Fix for list fields in mixins applied twice
What's Changed
* Defer fetching role and warehouse until they're needed by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1631
* SNOW-1694005: fix executable path by sfc-gh-mraba in https://github.com/snowflakedb/snowflake-cli/pull/1634
* Disable snowflake.local.yml migration by default, add flag to enable it by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1636
* Removed double grave accent in docs by sfc-gh-astus in https://github.com/snowflakedb/snowflake-cli/pull/1641
* Find deeply-nested manifest.yml when converting v1 to v2 by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1637
* Release notes cleanup by sfc-gh-jsikorski in https://github.com/snowflakedb/snowflake-cli/pull/1643
* version bump by sfc-gh-jsikorski in https://github.com/snowflakedb/snowflake-cli/pull/1653
* mraba/help-version-info: add version to tool description on help screen by sfc-gh-mraba in https://github.com/snowflakedb/snowflake-cli/pull/1655
* Update repo_meta.yaml by sfc-gh-turbaszek in https://github.com/snowflakedb/snowflake-cli/pull/1656
* Factories for test data by sfc-gh-pjafari in https://github.com/snowflakedb/snowflake-cli/pull/1592
* Add simple ws dump command to show final PDF model by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1648
* SNOW-1706990 Rename v2_to_v1_decorator.py to compat.py by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1658
* Don't let an invalid project definition file break telemetry by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1660
* SNOW-1694005: MacOS binary signing by sfc-gh-mraba in https://github.com/snowflakedb/snowflake-cli/pull/1640
* SNOW-1706990 Extract non action-related fields in ActionContext to new WorkspaceContext by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1652
* SNOW-1706990 Extract fields in compat module by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1663
* Run int and e2e test after push to main by sfc-gh-astus in https://github.com/snowflakedb/snowflake-cli/pull/1664
* Allow converting PDFv1 to PDFv2 in-memory only by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1670
* SNOW-1706990 Add decorator to extract a single app and package from a PDFv2 by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1667
* SNOW-1706990 Convert `snow app diff` to v2-native by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1671
* add Windows tests for connections.toml permissions by sfc-gh-pczajka in https://github.com/snowflakedb/snowflake-cli/pull/1677
* Enforce that paths used for BundleMap and NativeAppCompiler are always absolute by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1678
* Fix Snowpark type casting by sfc-gh-turbaszek in https://github.com/snowflakedb/snowflake-cli/pull/1657
* Add NADE ownership to tests_common/deflake.py by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1691
* SNOW-1727801 changes from 3.0.1 release by sfc-gh-mraba in https://github.com/snowflakedb/snowflake-cli/pull/1690
* SNOW-1706990 Convert `snow app deploy` to v2-native by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1672
* SNOW-1706990 Convert `snow app run` to v2-native by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1684
* SNOW-1706990 Convert `snow app open` to v2-native by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1685
* SNOW-1706990 Convert `snow app validate` to v2-native by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1686
* Snow 1711304 fix empty default handling in snowpark by sfc-gh-pczajka in https://github.com/snowflakedb/snowflake-cli/pull/1697
* Bump syrupy from 4.7.1 to 4.7.2 by dependabot in https://github.com/snowflakedb/snowflake-cli/pull/1683
* SNOW-1706990 Convert `snow app events` to v2-native by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1698
* Fixed error message in artifact logic by sfc-gh-bdufour in https://github.com/snowflakedb/snowflake-cli/pull/1700
* Make deflake plugin handle other types of reports by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1692
* Snow 1703629 log pip error message by sfc-gh-pczajka in https://github.com/snowflakedb/snowflake-cli/pull/1701
* Bump codecov/codecov-action from 4.5.0 to 4.6.0 by dependabot in https://github.com/snowflakedb/snowflake-cli/pull/1679
* Bump rich from 13.8.1 to 13.9.2 by dependabot in https://github.com/snowflakedb/snowflake-cli/pull/1680
* Bump factory-boy from 3.3.0 to 3.3.1 by dependabot in https://github.com/snowflakedb/snowflake-cli/pull/1682
* Build and sign Windows installer by sfc-gh-pjob in https://github.com/snowflakedb/snowflake-cli/pull/1702
* Bump faker from 26.0.0 to 30.3.0 by dependabot in https://github.com/snowflakedb/snowflake-cli/pull/1696
* Fix `snow ws version drop` using the wrong action by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1703
* SNOW-1706990 Convert `snow app version` commands to v2-native by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1708
* Add connection generate-jwt command by sfc-gh-turbaszek in https://github.com/snowflakedb/snowflake-cli/pull/1712
* mraba/changes-from-v3.0.2: update release notes by sfc-gh-mraba in https://github.com/snowflakedb/snowflake-cli/pull/1719
* SNOW-1706990 Make `snow app teardown` only operate on v2 entities by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1709
* Stop running some nativeapp tests on v1 projects and ws command by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1699
* SNOW-1706990 Convert test_manager.py to use v2 entities by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1722
* Update more tests to get rid of NativeAppManager by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1724
* Bump coverage from 7.6.1 to 7.6.3 by dependabot in https://github.com/snowflakedb/snowflake-cli/pull/1718
* Add CI usage to telemetry by sfc-gh-turbaszek in https://github.com/snowflakedb/snowflake-cli/pull/1717
* Fix snow git execute for Python files by sfc-gh-turbaszek in https://github.com/snowflakedb/snowflake-cli/pull/1666
* run package post deploy with package role by sfc-gh-pjafari in https://github.com/snowflakedb/snowflake-cli/pull/1720
* Split special cases of test_nativeapp_post_deploy into separate v2-only by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1728
* SNOW-1706990 Remove NativeAppTeardownProcessor by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1733
* SNOW-1706990 Remove NativeAppVersionCreateProcessor by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1731
* SNOW-1734018 SPCS command fixes by sfc-gh-sichen in https://github.com/snowflakedb/snowflake-cli/pull/1710
* Introduce StagePath for working with files on stages by sfc-gh-turbaszek in https://github.com/snowflakedb/snowflake-cli/pull/1674
* SNOW-1706990 Update/remove tests that use NativeAppRunProcessor by sfc-gh-fcampbell in https://github.com/snowflakedb/snowflake-cli/pull/1726
* Fix stage list-files for directory paths by sfc-gh-turbaszek in https://github.com/snowflakedb/snowflake-cli/pull/1737
* introduce subclasses and add more telemetry for ProgrammingErrors by sfc-gh-mchok in https://github.com/snowflakedb/snowflake-cli/pull/1651
* Add python to git execute help by sfc-gh-turbaszek in https://github.com/snowflakedb/snowflake-cli/pull/1741
* mraba/generate-jwt-help-updated: update help message by sfc-gh-mraba in https://github.com/snowflakedb/snowflake-cli/pull/1750
* Cherry-picks to 3.1.0rc1 by sfc-gh-turbaszek in https://github.com/snowflakedb/snowflake-cli/pull/1752
* Bump rc version by sfc-gh-turbaszek in https://github.com/snowflakedb/snowflake-cli/pull/1754
* Cherry-picks for 3.1.0-rc2 by sfc-gh-turbaszek in https://github.com/snowflakedb/snowflake-cli/pull/1763
* Bump rc version by sfc-gh-turbaszek in https://github.com/snowflakedb/snowflake-cli/pull/1765
* Cherry-picks for 3.1.0 rc3 by sfc-gh-turbaszek in https://github.com/snowflakedb/snowflake-cli/pull/1780
* Add package scripts warning back (1764) by sfc-gh-melnacouzi in https://github.com/snowflakedb/snowflake-cli/pull/1784
**Full Changelog**: https://github.com/snowflakedb/snowflake-cli/compare/v3.0.2...v3.1.0-rc4