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.