Releases: snowflakedb/snowflake-ml-python
1.42.0
1.42.0
New Features
-
Registry: Support
truncate_dimforSentenceTransformersmodels. Truncation set at
construction (SentenceTransformer(..., truncate_dim=N)) is captured when the model is logged
and restored on reload. On clients withsentence-transformers5.0.0 or later,truncate_dim
is also exposed as a runtime parameter in the model signature. -
Registry:
log_model()now captures a representative row fromsample_input_dataand stores it alongside the model
so inference code snippets shown in the model registry UI can be pre-filled with realistic values. Pass
options={"capture_sample_input_data": False}to opt out (e.g., for sensitive data); generic placeholder values
will be used in the snippets instead.
Bug Fixes
- Registry: Pin
transformers<5for additional HuggingFace pipeline tasks removed in
transformers 5.x(summarization,text2text-generation,question-answering, and
translation_*), preventing deployment failures from missing pipeline classes.
Behavior Changes
Deprecations
1.41.0
1.41.0
New Features
- Registry: Extended
ParamSpecsupport to MLflow PyFunc, LightGBM, XGBoost, and CatBoost models.
Parameters declared in the model signature can now be passed at inference time.
Bug Fixes
Behavior Changes
Deprecations
1.40.0
1.40.0
New Features
Bug Fixes
- Feature Store:
get_feature_view()now correctly preservesonline_configfor feature views whose
names require SQL quoting (mixed case or special characters such as a space). Previously the returned
FeatureView reportedonline=Falseeven when online was enabled at registration, causing
read_feature_view(store_type=ONLINE)to fail with "Online store is not enabled".
Behavior Changes
Deprecations
1.39.0
1.39.0
New Features
Bug Fixes
- Feature Store:
update_feature_viewnow correctly handles every transition between duration-based
and CRON-basedrefresh_freq. Previously a CRON expression was forwarded to the Dynamic Table's
TARGET_LAG(which Snowflake rejects),duration → cronfailed because the companion Task did not
yet exist, andcron → durationleft the Task orphaned and continuing to fire on its old schedule.
All four(old, new)transitions now correctly create, alter, or drop the Task as needed, with
symmetric rollback on failure.
Behavior Changes
-
Feature Store: For CRON-based feature views,
get_feature_view(),list_feature_views(), and
register_feature_view()now return the original cron expression asrefresh_freqinstead of
"DOWNSTREAM". The underlying Dynamic Table still usesTARGET_LAG = 'DOWNSTREAM'with a companion
Task — this is purely a display change so the round-trip preserves what the user passed in. -
Registry: When
target_platformsincludes WAREHOUSE and pip installs are needed without a user-supplied
pipartifact repository,log_modelinjectssnowflake.snowpark.pypi_shared_repositoryafter
verifying access. This applies to explicitpip_requirementsand to pip-only packaging when there are
no user conda dependencies. Ifpypi_shared_repositoryis inaccessible in the pip-only case, automatic packaging
dependencies fall back to conda instead of forcing pip-only without an index.
Deprecations
1.38.0
1.38.0
New Features
Bug Fixes
Behavior Changes
-
Registry: For HuggingFace
text-generationpipelines whose tokenizer defines a chat template, the
auto-inferred signature now matches the OpenAI Chat Completions API
(_OPENAI_CHAT_SIGNATURE_WITH_PARAMS_SPEC). Inputs are a singlemessagescolumn and inference
controls (temperature,max_completion_tokens,stop,n,stream,top_p,frequency_penalty,
presence_penalty) move frominputstoparamswith default values. Predictions return the OpenAI
response shape (id,object,created,model,choices,usage); the generated text is at
choices[0].message.contentinstead ofoutputs[0].generated_text. -
Registry: For HuggingFace
image-text-to-text,video-text-to-text, andaudio-text-to-text
pipelines, the auto-inferred signature now uses_OPENAI_CHAT_SIGNATURE_WITH_PARAMS_SPECinstead of
_OPENAI_CHAT_SIGNATURE_SPEC. The input column set narrows to justmessages, and the inference
controls move toparamswith default values; the output schema is unchanged.
Deprecations
1.37.0
1.37.0
New Features
- Experiment Tracking:
end_runnow accepts an optionalstatusargument ("FINISHED"or"FAILED") to explicitly
set the final run status. When a run's context manager exits with an exception, the status is automatically set to
"FAILED".
Bug Fixes
-
Registry: Fixed
log_model()failing for some Snowpark MLPipelinemodels with explainability when the
full pipeline could not be converted to a native object; task inference now uses the final estimator instead. -
Registry:
run_batch()now raises a clearValueErrorwhen a partitioned model's output signature
includes the partition column. Previously this produced duplicate columns in the output, causing
cryptic Ray/Arrow errors (AttributeErrororKeyError) deep in the batch inference pipeline.
Behavior Changes
Deprecations
1.36.0
1.36.0
New Features
- Feature Store: for latency-sensitive online feature view reads, set use_session_warehouse=True to
re-use the warehouse from the current session and achieve the best latency.
Bug Fixes
- Registry: Pin
transformers<5when saving HuggingFace pipeline models that use tasks removed in
transformers 5.x(image-to-text,visual-question-answering,conversational), preventing
deployment failures from missing pipeline classes.
Behavior Changes
- Registry: Logging a model with
pip_requirementsand noartifact_repository_mapnow raises aValueError
whentarget_platformsexplicitly includes"WAREHOUSE". Previously this combination would silently proceed,
resulting in the warehouse deployment being silently dropped.
Deprecations
1.35.0
1.35.0
New Features
Bug Fixes
- Registry: Fixed
ParamSpec.from_mlflow_specdroppingshape, which caused shaped scalar params
(e.g., array of ints) from MLflow to fail validation during model import.
Behavior Changes
- ML Jobs:
spec_overridesnow validates container keys and warns when keys other thannameandsecrets
are provided. Additional keys are not officially supported and may not behave as expected.
Deprecations
1.34.0
1.34.0
New Features
- Experiment Tracking: Added
list_paramsandlist_metricsmethods to retrieve parameters and metrics
for runs within an experiment. Both methods return a Dataframe and accept an optionalrun_nameargument
to filter to a specific run.
Bug Fixes
- Feature Store: Fixed
generate_dataset()/generate_training_set()SQL generation for Unicode and case-sensitive
identifiers (for example Japanese column names), ensuring columns are quoted exactly once and preventing SQL
compilation errors such asunexpected '<column_name>'.
Behavior Changes
- Registry:
enable_explainability=Trueis now allowed for SPCS-only and non-warehouse-runnable models. Previously
this raised aValueError.
Deprecations
1.33.0
1.33.0
New Features
- Registry: Extended
ParamSpecsupport to PyTorch models. Parameters declared in the model signature
can now be passed at inference time, matching the existing support for custom models. - Registry (PrPr): Added
model_init_oncemodel save option tolog_model. When set toTrue, the
model is loaded once per worker process at startup, eliminating model-loading overhead. Defaults toFalse. - Experiment Tracking live logging is out of private preview
and will become generally available over the next few weeks. - Registry: Bumped
transformersupper bound to<6, adding compatibility with Hugging Face Transformers v5.
Bug Fixes
- Experiment Tracking live logging: Fixed a bug where the tracebacks for uncaught exceptions were not logged when
the code was running in awith exp.start_run()block. - Registry: Fixed a thread leak in
create_service(block=True)where the log-streaming thread could outlive the
error handler when service deployment fails.