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.