Skip to content

Releases: snowflakedb/snowflake-ml-python

1.42.0

11 Jun 11:46
d0365dc

Choose a tag to compare

1.42.0

New Features

  • Registry: Support truncate_dim for SentenceTransformers models. Truncation set at
    construction (SentenceTransformer(..., truncate_dim=N)) is captured when the model is logged
    and restored on reload. On clients with sentence-transformers 5.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 from sample_input_data and 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<5 for 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

27 May 13:50
810d0ac

Choose a tag to compare

1.41.0

New Features

  • Registry: Extended ParamSpec support 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

20 May 00:37
aa2c5b9

Choose a tag to compare

1.40.0

New Features

Bug Fixes

  • Feature Store: get_feature_view() now correctly preserves online_config for feature views whose
    names require SQL quoting (mixed case or special characters such as a space). Previously the returned
    FeatureView reported online=False even 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

12 May 21:43
9ea4794

Choose a tag to compare

1.39.0

New Features

Bug Fixes

  • Feature Store: update_feature_view now correctly handles every transition between duration-based
    and CRON-based refresh_freq. Previously a CRON expression was forwarded to the Dynamic Table's
    TARGET_LAG (which Snowflake rejects), duration → cron failed because the companion Task did not
    yet exist, and cron → duration left 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 as refresh_freq instead of
    "DOWNSTREAM". The underlying Dynamic Table still uses TARGET_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_platforms includes WAREHOUSE and pip installs are needed without a user-supplied
    pip artifact repository, log_model injects snowflake.snowpark.pypi_shared_repository after
    verifying access. This applies to explicit pip_requirements and to pip-only packaging when there are
    no user conda dependencies. If pypi_shared_repository is 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

11 May 09:04
04df496

Choose a tag to compare

1.38.0

New Features

Bug Fixes

Behavior Changes

  • Registry: For HuggingFace text-generation pipelines 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 single messages column and inference
    controls (temperature, max_completion_tokens, stop, n, stream, top_p, frequency_penalty,
    presence_penalty) move from inputs to params with default values. Predictions return the OpenAI
    response shape (id, object, created, model, choices, usage); the generated text is at
    choices[0].message.content instead of outputs[0].generated_text.

  • Registry: For HuggingFace image-text-to-text, video-text-to-text, and audio-text-to-text
    pipelines, the auto-inferred signature now uses _OPENAI_CHAT_SIGNATURE_WITH_PARAMS_SPEC instead of
    _OPENAI_CHAT_SIGNATURE_SPEC. The input column set narrows to just messages, and the inference
    controls move to params with default values; the output schema is unchanged.

Deprecations

1.37.0

29 Apr 18:57
916452c

Choose a tag to compare

1.37.0

New Features

  • Experiment Tracking: end_run now accepts an optional status argument ("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 ML Pipeline models 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 clear ValueError when a partitioned model's output signature
    includes the partition column. Previously this produced duplicate columns in the output, causing
    cryptic Ray/Arrow errors (AttributeError or KeyError) deep in the batch inference pipeline.

Behavior Changes

Deprecations

1.36.0

21 Apr 22:09
b3ec271

Choose a tag to compare

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<5 when 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_requirements and no artifact_repository_map now raises a ValueError
    when target_platforms explicitly includes "WAREHOUSE". Previously this combination would silently proceed,
    resulting in the warehouse deployment being silently dropped.

Deprecations

1.35.0

16 Apr 18:43
7179ad1

Choose a tag to compare

1.35.0

New Features

Bug Fixes

  • Registry: Fixed ParamSpec.from_mlflow_spec dropping shape, which caused shaped scalar params
    (e.g., array of ints) from MLflow to fail validation during model import.

Behavior Changes

  • ML Jobs: spec_overrides now validates container keys and warns when keys other than name and secrets
    are provided. Additional keys are not officially supported and may not behave as expected.

Deprecations

1.34.0

08 Apr 18:24
d4c2b2f

Choose a tag to compare

1.34.0

New Features

  • Experiment Tracking: Added list_params and list_metrics methods to retrieve parameters and metrics
    for runs within an experiment. Both methods return a Dataframe and accept an optional run_name argument
    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 as unexpected '<column_name>'.

Behavior Changes

  • Registry: enable_explainability=True is now allowed for SPCS-only and non-warehouse-runnable models. Previously
    this raised a ValueError.

Deprecations

1.33.0

01 Apr 00:57
6c892e2

Choose a tag to compare

1.33.0

New Features

  • Registry: Extended ParamSpec support 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_once model save option to log_model. When set to True, the
    model is loaded once per worker process at startup, eliminating model-loading overhead. Defaults to False.
  • Experiment Tracking live logging is out of private preview
    and will become generally available over the next few weeks.
  • Registry: Bumped transformers upper 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 a with 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.

Behavior Changes

Deprecations