Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SNOW-1325652: release snowpark 1.15.0 #1415

Merged
merged 6 commits into from
Apr 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 43 additions & 35 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,45 @@
# Release History

## 1.15.0 (TBD)
## 1.15.0 (2024-04-24)

### New Features

sfc-gh-aling marked this conversation as resolved.
Show resolved Hide resolved
- Added support for registering udfs and stored procedure to local testing.
- Added support for the following local testing APIs:
- Added `truncate` save mode in `DataFrameWrite` to overwrite existing tables by truncating the underlying table instead of dropping it.
- Added telemetry to calculate query plan height and number of duplicate nodes during collect operations.
- Added the functions below to unload data from a `DataFrame` into one or more files in a stage:
- `DataFrame.write.json`
- `DataFrame.write.csv`
- `DataFrame.write.parquet`
- Added distributed tracing using open telemetry APIs for action functions in `DataFrame` and `DataFrameWriter`:
- snowflake.snowpark.DataFrame:
- collect
- collect_nowait
- to_pandas
- count
- show
- snowflake.snowpark.DataFrameWriter:
- save_as_table
- Added support for snow:// URLs to `snowflake.snowpark.Session.file.get` and `snowflake.snowpark.Session.file.get_stream`
- Added support to register stored procedures and UDxFs with a `comment`.
- UDAF client support is ready for public preview. Please stay tuned for the Snowflake announcement of UDAF public preview.
- Added support for dynamic pivot. This feature is currently in private preview.

### Improvements

- Improved the generated query performance for both compilation and execution by converting duplicate subqueries to Common Table Expressions (CTEs). It is still an experimental feature not enabled by default, and can be enabled by setting `session.cte_optimization_enabled` to `True`.

### Bug Fixes

- Fixed a bug where `statement_params` was not passed to query executions that register stored procedures and user defined functions.
- Fixed a bug causing `snowflake.snowpark.Session.file.get_stream` to fail for quoted stage locations.
- Fixed a bug that an internal type hint in `utils.py` might raise AttributeError in case the underlying module can not be found.

### Local Testing Updates

#### New Features

- Added support for registering UDFs and stored procedures.
- Added support for the following APIs:
- snowflake.snowpark.Session:
- file.put
- file.put_stream
Expand Down Expand Up @@ -34,40 +68,14 @@
- sqrt
- udf
- sproc
- Added `truncate` save mode in `DataFrameWrite` to overwrite existing tables by truncating the underlying table instead of dropping it.
- Added support for StringType, TimestampType and VariantType data conversion in the local testing mocked function `to_time`.
- Added telemetry to calculate query plan height and number of duplicate nodes during collect operations.
- Added the functions below to unload data from a `DataFrame` into one or more files in a stage:
- `DataFrame.write.json`
- `DataFrame.write.csv`
- `DataFrame.write.parquet`
- Added distributed tracing using open telemetry apis for action functions in `DataFrame` and `DataFrameWriter`:
- snowflake.snowpark.DataFrame:
- collect
- collect_nowait
- to_pandas
- count
- show
- snowflake.snowpark.DataFrameWriter:
- save_as_table
- Added support for snow:// URLs to `snowflake.snowpark.Session.file.get` and `snowflake.snowpark.Session.file.get_stream`
- Added support to register stored procedures and UDxFs with a `comment`.
- UDAF client support is ready for public preview. Please stay tuned for the Snowflake announcement of UDAF public preview.
- Added support for dynamic pivot. This feature is currently in private preview.
- Added support for StringType, TimestampType and VariantType data conversion in the mocked function `to_time`.

### Improvements

- Improved the generated query performance for both compilation and execution by converting duplicate subqueries to Common Table Expressions (CTEs). It is still an experimental feature, and can be enabled by setting `session.cte_optimization_enabled` to `True`.

### Bug Fixes
#### Bug Fixes

- Fixed a bug in local testing that null filled columns for constant functions.
- Fixed a bug where `statement_params` was not passed to query executions that register stored procedures and user defined functions.
- Fixed a bug causing `snowflake.snowpark.Session.file.get_stream` to fail for quoted stage locations
- Fixed a bug in local testing implementation of to_object, to_array and to_binary to better handle null inputs.
- Fixed a bug in local testing implementation that timestamp data comparison can not handle year beyond 2262.
- Fixed a bug in local testing that `Session.builder.getOrCreate` should return the created mock session.
- Fixed a bug that an internal type hint in `utils.py` might raise AttributeError in case the underlying module can not be found.
- Fixed a bug that null filled columns for constant functions.
- Fixed a bug that implementation of to_object, to_array and to_binary to better handle null inputs.
- Fixed a bug that timestamp data comparison can not handle year beyond 2262.
- Fixed a bug that `Session.builder.getOrCreate` should return the created mock session.

## 1.14.0 (2024-03-20)

Expand Down
2 changes: 1 addition & 1 deletion recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% set name = "snowflake-snowpark-python" %}
{% set version = "1.14.0" %}
{% set version = "1.15.0" %}

package:
name: {{ name|lower }}
Expand Down
2 changes: 1 addition & 1 deletion src/snowflake/snowpark/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
#

# Update this for the versions
VERSION = (1, 14, 0)
VERSION = (1, 15, 0)
6 changes: 5 additions & 1 deletion tests/unit/test_stored_procedure.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
from snowflake.snowpark.functions import sproc
from snowflake.snowpark.stored_procedure import StoredProcedureRegistration
from snowflake.snowpark.types import IntegerType
from snowflake.snowpark.version import VERSION


@pytest.mark.parametrize(
Expand Down Expand Up @@ -134,7 +135,10 @@ def mock_callback(extension_function_properties):
== f"{sys.version_info[0]}.{sys.version_info[1]}"
)
assert callableProperties.all_imports == ""
assert callableProperties.all_packages == "'snowflake-snowpark-python==1.14.0'"
assert (
callableProperties.all_packages
== f"'snowflake-snowpark-python=={'.'.join(map(str, VERSION))}'"
)
assert callableProperties.external_access_integrations is None
assert callableProperties.secrets is None
assert callableProperties.handler is None
Expand Down
Loading