Releases: snowflakedb/snowpark-python
Releases · snowflakedb/snowpark-python
Release
1.51.0 (2026-05-14)
Snowpark Python API Updates
Bug Fixes
- Fixed a bug where
AsyncJob.result("no_result")sometimes silently returned without raising error for failed queries. - Fixed a bug where
INTERVAL YEAR TO MONTHvalues with zero months were displayed incorrectly (e.g.INTERVAL '0-4' YEAR TO MONTHinstead ofINTERVAL '4-0' YEAR TO MONTH) when usingsnowflake-connector-python>=4.3.0.
Improvements
- When
Session.reduce_describe_query_enabledis enabled, fewer DESCRIBE queries are issued when the outer query only projects or renames columns from an inner subquery whose column types are already known.
Release
1.50.1 (2026-05-06)
Snowpark Python API Updates
Bug Fixes
- Fixed a bug where using parameter bindings for
CALLqueries issued throughsession.sqlwould raise an error. - Fixed a bug where
StringTypecolumns from Iceberg tables were not recognized as max-size strings. - Improved the
FileNotFoundErrormessage raised whenINFER_SCHEMAreturns zero rows so it also points to file format options (PARSE_HEADER,SKIP_HEADER,ON_ERROR=CONTINUE) that can silently filter everything out, instead of only suggesting a missing path.
Release
1.50.0 (2026-04-23)
Snowpark Python API Updates
New Features
- Added
artifact_repositorysupport toudtf_configsinsession.read.dbapi(), enabling users to specify a custom artifact repository (e.g. PyPI) for packages used by the internal UDTF during distributed ingestion.
Bug Fixes
- Fixed a bug where
TRY_CASTreader option is ignored when callingDataFrameReader.schema().csv(). - Fixed a bug where
event_table_telemetryis using incorrect resource attributes. - Fixed a bug where
value_contains_nullwas not propagated forMapTypein_as_nestedfunction. - Fixed a bug where CTE optimization incorrectly deduplicated subtrees containing non-deterministic data generation functions (e.g.
uuid_string()). - Fixed a bug where vectorized UDFs using non-anaconda package repositories did not specify the pandas package by default.
Snowpark pandas API Updates
Dependency Updates
- Updated the supported
pandasversions to <=2.4 (was previously <=2.3.1).
Release
1.49.0 (2026-04-13)
Snowpark Python API Updates
New Features
- Allow a user-specified schema when reading Parquet files from a stage.
Improvements
- Restored the following query improvements that were reverted in 1.47.0 due to bugs:
- Reduced the size of queries generated by certain
DataFrame.joinoperations. - Removed redundant aliases in generated queries (for example,
SELECT "A" AS "A"is now always simplified toSELECT "A").
- Reduced the size of queries generated by certain
- Removed warning that
DataFrameReader.dbapifeature was in private preview.
Bug Fixes
- Fixed a bug where
Session.create_dataframeraisedTypeErrorwhen aStringTypecolumn was given a non-string Python value (e.g.int,float,bool,Decimal) for a small local relation (below the array bind threshold);VALUESSQL generation now coerces these types to string literals, consistent with the large-data bind-parameter path. - Fixed a bug where
DataFrame.approxQuantiledid not accept aColumnfor thecolparameter.
Snowpark Local Testing Updates
Bug Fixes
- Fixed a bug where
concatproduced extra NaN rows and mismatched values after afilteroperation in local testing. - Fixed a bug where
dense_rank()would fail withValueErroron NULL partition values. - Fixed a bug where
collect()raisedKeyErroraftersave_as_table(column_order="name")when the source DataFrame omitted columns with typesVariantType,MapType, orArrayTypethat were present in the target table schema in local testing.
Release
1.48.1 (2026-03-31)
Snowpark Python API Updates
Bug Fixes
- Fixed a bug where chained
DataFrame.filter()calls with raw SQL text containingORproduced incorrect results. - Fixed a Snowflake platform compatibility issue where
concat(lit('"'), ...)could lose the leading quote through chained set-operation plans.
Release
1.48.0 (2026-03-23)
Snowpark Python API Updates
New Features
- Added support for DIRECTED JOIN.
- Added support for the
INCLUDE_METADATAcopy option inDataFrame.copy_into_table, allowing users to include file metadata columns in the target table.
Bug Fixes
- Fixed a bug in
Session.client_telemetrythat trace does not have snowflake style trace id. - Fixed a bug when saving a fdn table into an iceberg table in overwrite mode, error is raised because
StringTypeis saved in wrong length. - Fixed a bug in
ai_completewheremodel_parametersandresponse_formatvalues containing single quotes would generate malformed SQL. - Fixed a bug in
DataFrameReader.xml()where reading XML with a custom schema whose field names contain colons (e.g.,px:name) raised aSnowparkColumnException. - Fixed a bug in that caused SQL compilation errors in
Session.read.jsonwhenINFER_SCHEMAwas set to True, and theUSE_RELAXED_TYPESfield ofINFER_SCHEMA_OPTIONSwas also set to True. - Fixed a bug where passing a DataFrame created from a SQL
SETcommand to Streamlit'sst.writemethod would raise an exception. - Fixed a bug where the account-level default artifact repository setting was not reflected in creation of stored procedures/UDFs.
Improvements
- Use internal describe to get return type when executing a stored procedure.
Release
1.47.0 (2026-03-05)
Snowpark Python API Updates
New Features
- Added support for the
array_union_aggfunction in thesnowflake.snowpark.functionsmodule.
Bug Fixes
- Fixed a bug where
Session.udf.register_from_filedid not properly process thestrictandsecureparameters. - Fixed a bug when create dataframe with small data(< array binding threshold), and error is raised when have string value in a DecimalType column.
Release
1.46.0 (2026-02-23)
Snowpark Python API Updates
New Features
- Added support for the
DECFLOATdata type that allows users to represent decimal numbers exactly with 38 digits of precision and a dynamic base-10 exponent. - Added support for the
DEFAULT_PYTHON_ARTIFACT_REPOSITORYparameter that allows users to configure the default artifact repository at the account, database, and schema level.
Bug Fixes
- Fixed a bug where
cloudpicklewas not automatically added to the package list when usingartifact_repositorywith custom packages, causingModuleNotFoundErrorat runtime. - Fixed a bug when reading xml with custom schema, result include element attributes when column is not
StructTypetype. - Fixed a bug where
Session.udf.register_from_filedid not properly process thestrictandsecureparameters.
Improvements
- Reduced the size of queries generated by certain
DataFrame.joinoperations. - Removed redundant aliases in generated queries (for example,
SELECT "A" AS "A"is now always simplified toSELECT "A").
Snowpark pandas API Updates
New Features
Bug Fixes
Improvements
Release
1.45.0 (2026-02-02)
Snowpark Python API Updates
New Features
- Allow user input schema when reading XML file on stage.
- Added support for the following functions in
functions.py:- String and Binary functions:
hex_decode_stringjarowinkler_similarityparse_urlregexp_instrregexp_likeregexp_substrregexp_substr_allrtrimmed_lengthspacesplit_part
- String and Binary functions:
- Added
preserve_parameter_namesflag to sproc, UDF, UDTF, and UDAF creation
Bug Fixes
- Fixed a bug that opentelemetry is not correctly import when using
Session.client_telemetry.enable_event_table_telemetry_collection.
Improvements
snowflake.snowpark.context.configure_development_featuresis effective for multiple sessions including newly created sessions after the configuration. No duplicate experimental warning any more.- Removed experimental warning from
DataFrame.to_arrowandDataFrame.to_arrow_batches. - When both
Session.reduce_describe_query_enabledandSession.cte_optimization_enabledare enabled, fewer DESCRIBE queries are issued when resolving table attributes.
Release
1.44.0 (2025-12-15)
Snowpark Python API Updates
New Features
- Added support for targeted delete-insert via the
overwrite_conditionparameter inDataFrameWriter.save_as_table
Improvements
- Improved
DataFrameReaderto return columns in deterministic order when usingINFER_SCHEMA.
Dependency Updates
- Added a dependency on
protobuf<6.34(was<6.32).