- Workspace update no longer broken for older workspaces due to deprecated tags.
- Support credential-less fileshare datastore
- Expose
public_ip_address
inAmlComputeNodeInfo
, to get the public ip address with the ssh port when callingml_client.compute.list_nodes
- Uploads to account key access datastores will be authorized via a SAS token retrieved from a call to
DatastoreOperations._list_secrets
. Key-based authentication for uploads for such datastores is no longer used. Identity-based datastores will use user identity authentication retrieved from the MLClient. - Support
update_sso_settings
inComputeOperations
, to enable or disable single sign-on settings of a compute instance.
- InputTypes exported in constants module
- WorkspaceConnection tags are now listed as deprecated, and the erroneously-deprecated metadata field has been un-deprecated and added as a initialization field. These two fields still point to the same underlying object property, and actual API usage of this value is unchanged.
- Workspace Create operation works without an application insights being provided, and creates a default appIn resource for normal workspaces in that case.
- Project create operations works in general.
- WorkspaceConnections are officially GA'd and no longer experimental. But its much newer subclasses remain experimental.
- Workspace Create operation works without an application insights being provided, and creates a default appIn resource for normal workspaces in that case.
- Project create operations works in general.
- Add experimental support for working with Promptflow evaluators:
ml_client.evaluators
. - Many changes to the Connection entity class and its associated operations.
- Workspace Connection
list
,get
, andcreate_or_update
operations now include an optionalpopulate_secrets
input, which causes the operations to try making a secondary call to fill in the returned connections' credential info if possible. Only works with api key-based credentials for now. - Many workspace connection subtypes added. The full list of subclasses is now:
AzureBlobStoreConnection
AzureBlobStoreConnection
MicrosoftOneLakeConnection
AzureOpenAIConnection
AzureAIServicesConnection
AzureAISearchConnection
AzureContentSafetyConnection
AzureSpeechServicesConnection
APIKeyConnection
OpenAIConnection
SerpConnection
ServerlessConnection
- Many workspace connections only accept api keys or entra ids for credentials. Since Entra IDs require not inputs, these have been refactored to not required a full credential object. Instead they only accept an api_key as a top-level input, and default to an entra credential otherwise. Their YAML schemas have been similarly altered.
- Client-side credential-type validation added for some workspace connection types.
- Added new credential type:
AadCredentialConfiguration
- Renamed WorkspaceHub class as Hub.
- Added Project entity class and YAML support.
- Project and Hub operations supported by workspace operations.
- workspace list operation supports type filtering.
- Add support for Microsoft Entra token (
aad_token
) auth ininvoke
andget-credentials
operations. - Add experimental support for working with indexes:
ml_client.indexes
- Removed WorkspaceHubConfig entity, and renamed WorkspaceHub to Hub.
- workspace_hub input of Workspace class hidden, renamed to hub_id, and re-surfaced in child class Project.
- Removed Workspace Hub Operations from ML Client.
- The following classes will still be able to be imported from
azure.ai.ml
, but the import is deprecated and emits a warning. Instead, please import them fromazure.ai.ml.entities
.AmlTokenConfiguration
ManagedIdentityConfiguration
UserIdentityConfiguration
- The following classes will still be able to be imported from
azure.ai.ml.entities
, but the import is deprecated and emits a warning. Instead, please import them fromazure.ai.ml.sweep
.Choice
Uniform
LogUniform
QLogUniform
QUniform
QLogNormal
QNormal
LogNormal
Normal
Randint
- Remove
experimental
tag forml_client.jobs.validate
. - Workspace Connection has new read-only subclass: AzureBlobStoreWorkspaceConnectionSchema.
- Workspace Connection supports 2 new types under main class: gen 2 and azure_one_lake.
- Workspace Connection LIST operation can return data connections via new optional flag: include_data_connections.
- Support
ml_client.schedules.trigger(name='my_schedule')
function to trigger a schedule once.
- Fix pipeline job
outputs
not load correctly whencomponent: <local-file>
exists in pipeline job yaml. - Workspace ListKey operation serialization issue fixed.
- Workspace Diagnose result now can be print in to Json format.
- Support for Python 3.12
- Workspace Connections had 3 child classes added for open AI, cog search, and cog service connections.
- Workspace Connections replaced metadata with tags, and surfaced api_version, api_type, and kind for certain connection types.
- Workspace Hubs now properly create various endpoints, and surface a variable to select the resource they connect to via the 'endpoint_resource_id' kwarg.
- pydash dependency version was upgraded to >=6.0.0 to patch security vulnerability in versions below 6.0.0
- Workspace hub deletion no longer fails if delete_dependent_resources is true.
- Now, when you specify
delete_dependent_resources
as True when deleting a workspace, the log analytics resource associated with the workspace application insights resource will also be deleted. - Now, when creating or updating a workspace, you can provide a
serverless_compute
configuration object. This allows configuring a custom subnet in which all Serverless computes will be created. You can also specify whether or not these Serverless computes will have public IP addresses or not.
- Python 3.7 reached end-of-life on June 27th 2023. Consequently, 3.7 will be deprecated in azure-ai-ml starting in October 2023 and azure-ai-ml will end support for 3.7 in February 2024.
- Feature sets can now be registers after being dumped and reloaded.
- SDK feature store create/update can now assign materialization identities to cross RG offline stores and online stores.
- Added support of features that are known into the future/at forecast time for dnn in AutoML Forecasting jobs.
- Added support for new workspace connection types: azure_open_ai, cognitive_search, and cognitive_service.
- Added support for new credential type: ApiKeyConfiguration.
- Added support of
download
for component operations.
- Local job runs will no longer fail if Docker registry has no username/password
- Fixed an issue that code asset doesn't work with relative symbol links.
- Fixed Issue 31319: can't accept
PathLike
forCommandComponent.code
.
azure-ai-ml
now performs all file i/o onutf-8
encoded files per Azure SDK guidance. (instead of the default behavior for python < 3.15, which uses locale specific encodings)- Removed references to deprecated "feature_store" workspace connection type.
- Added support to enable gpu access (local_enable_gpu) for local deployment.
- Improved the output when printing a workspace object to be more clean and readable.
- Log level of unknown field notifications for pipeline nodes raised from INFO to WARNING.
- Added support to enable set workspace connection secret expiry time.
- Added support for
stage
on model version
- Fixed an issue affecting authentication to registry-related services in sovereign regions.
- Made job_tier and priority values case insensitive
- Public preview support for new schedule type
MonitorSchedule
- Fixed an issue where
OnlineDeployment.provisioning_state
was incorrectly deserialized and set asNone
- Added data import schedule. The class added is
ImportDataSchedule
. - Added support to enable data isolation feature at workspace creation stage.
- Added auto_delete_setting support for asset version in data import job.
- Switched code snapshot upload from directory-based to container-based design in order to allow finer RBAC within workspaces. A container will be created for each new snapshot. This change does not affect storage costs or snapshot functionality.
- Added experimental scatter gather node to DSL package. This node has a unique mldesigner dependency.
- Added support to make JobService and ServiceInstance objects serializable when printed
- Support Singularity compute in pipeline job
- Added purge operation support for workspace resource
- Added Feature Store, its dedicated classes and updated the docstrings, now available in public interface. The classes added are
FeatureStoreOperations, FeatureSetOperations, FeatureStoreEntityOperations
with properties classes specific to the new features. - Support additional_includes in command component
- Added experimental
distribution: ray
support in command job.
- Fixed issue where show_progress=False was not being respected for uploads when set via MLClient
- Fixed issue of spark input/output mode validation doesn't take effect because of wrong type assertion
- Fixed the bug when setting
node.limits.timeout
to a pipeline input. - Removed Experimental Tag from Idle Shutdown, Custom Applications, Setup Scripts, and Image Metadata on Compute Instances.
- Removed Experimental Tag from JobService classes
- Renamed
JobServiceBase.job_service_type
totype
- Remove the default placeholder for CommandComponent.code
- Added support for
tags
on Compute Resources. - Added support for promoting data asset from a workspace to a registry
- Added support for registering named asset from job output or node output by specifying name and version settings.
- Added support for data binding on outputs inside dynamic arguments for dsl pipeline
- Added support for serverless compute in pipeline, command, automl and sweep job
- Added support for
job_tier
andpriority
in standalone job - Added support for passing
locations
via command function and set it toJobResourceConfiguration.locations
- Added support for modifying SSH key values after creation on Compute Resources.
- Added WorkspaceConnection types
s3
,snowflake
,azure_sql_db
,azure_synapse_analytics
,azure_my_sql_db
,azure_postgres_db
- Added WorkspaceConnection auth type
access_key
fors3
- Added DataImport class and DataOperations.import_data.
- Added DataOperations.list_materialization_status - list status of data import jobs that create asset versions via asset name.
- Fix experiment name wrongly set to 'Default' when schedule existing job.
- Error message improvement when a local path fails to match with data asset type.
- Error message improvement when an asset does not exist in a registry
- Fix an issue when submit spark pipeline job with referring a registered component
- Fix an issue that prevented Job.download from downloading the output of a BatchJob
- Added dependency on
azure-mgmt-resource
- Added dependency on
azure-mgmt-resourcegraph
- Added dependency on
opencensus-ext-azure<2.0.0
- Update job types to use MFE Dec preview rest objects.
- Added classifiers for Python version 3.11.
- Added warning for reserved keywords in IO names in pipeline job nodes.
- Added telemetry logging for SDK Jupyter Notebook scenarios with opt-out option (see README.md)
- Added dedicated classes for each type of job service and updated the docstrings. The classes added are
JupyterLabJobService, SshJobService, TensorBoardJobService, VsCodeJobService
with a few properties specific to the type. - Added Custom Applications Support to Compute Instances.
- Update data asset list, show and create operations to support data assets in registry.
- Added Managed Network features to workspace to include
ManagedNetwork
,FqdnDestination
,PrivateEndpointDestination
,ServiceTagDestination
as well as relevant schema.
- Fixed an issue where the ordering of
.amlignore
and.gitignore
files are not respected. - Fixed an issue that attributes with a value of
False
inPipelineJobSettings
are not respected. - Fixed an issue where ignore files weren't considered during upload directory size calculations.
- Fixed an issue where symlinks crashed upload directory size calculations.
- Fixes a bug where enable_node_public_ip returned an improper value when fetching a Compute.
- Update workspace creation to use Log Analytics-Based Application Insights when the user does not specify/bring their own App Insights.
- Upgraded minimum azure-core version to 1.23.0.
- Change print behavior of entity classes to show object yaml in notebooks, can be configured on in other contexts.
- Added property to enable/disable public ip addresses to Compute Instances and AML Computes.
Deployment
andScheduleOperations
added to public interface.
- Fixed issue with date-time format for utc_time_created field when creating models.
- Added stricter behavior for ArmStr schemas when parsing 'azureml:' prefix.
- Fixed issue where AmlComputes could only be created in a workspace's default region.
- Improved intellisense with VS Code for fields supporting local paths and datastores.
- Added validation for token generation with aml scope when user_identity is used in job definition aka OBO flow.
- Fixed duplicate node name error in pipeline when two node names assigned to the same node and get renamed by node.name='xx'.
- Resolve the cross references for MLClient, Resource and OnlineDeployment.
- Explicit use of Optional (or a Union with None), as per PEP 484.
- Fixed print on Command objects when job id is empty
- Fixed issue where
SasTokenConfiguration
cannot be used as credential forWorkspaceConnection
- Removed dependency on API version 2021-10-01 and 2022-06-01-preview to reduce side of azure-ai-ml package.
- Removed description from Registry.
- Disable sdk telemetry logging
- Enable updating the CMK encryption key (workspace.encryption.keyVaultProperties.keyIdentifier) for a workspace.
- Mark JobService class and services param to command() as experimental.
- Added a replication_count value to the schema of SystemCreatedStorageAccount in Registry.
- Added support for Fairfax and MoonCake cloud for the registry discovery baseurl.
- Added support for variable args as pipeline input in DSL Pipeline.
- Added OS Patching Parameters to Compute Instance.
- Update the upper bound dependencies version for tqdm, strictyaml, colorama and opencensus-ext-azure.
- Added missing "properties" to batch deployment.
- Retain the cases for the names of system job services (Tracking and Studio).
- Update registry begin_delete method return type.
- Fixed sweep job optional input cannot be empty.
- Fixed bool test for output in download operation.
- Fixed Compute Instance schedule not being created
- Removed erroneous experimental warning from Compute Schedules
- Restored idle_time_before_shutdown property for Compute Instances.
- Deprecated idle_time_before_shutdown property in favor of idle_time_before_shutdown_minutes.
- Fixed idle_time_before_shutdown appearing as None for Compute Instances returned by
show
orlist
. - Fixed idle_time_before_shutdown_minutes preventing creation of Compute Instances when set to None.
- Renamed idle_time_before_shutdown to idle_time_before_shutdown_minutes and changed input type to int.
- Fixed idle_time_before_shutdown_minutes not appearing in GET calls for Compute Instances.
- Registry list operation now accepts scope value to allow subscription-only based requests.
- Most configuration classes from the entity package now implement the standard mapping protocol.
- Add registry delete operation.
- The values of JobService.job_service_type are now using the snake case. e.g jupyter_lab, ssh, tensor_board, vs_code.
- Command function now accepts services param of type Dict[str, JobService] instead of dict.
- MLClient.from_config can now find the default config.json on Compute Instance when running sample notebooks.
- Fixed job inputs not accepting datastores or job inputs.
- Registries now assign managed tags to match registry's tags.
- Adjust registry experimental tags and imports to avoid warning printouts for unrelated operations.
- Make registry delete operation return an LROPoller, and change name to begin_delete.
- Prevent registering an already existing environment that references conda file.
- Fix ARM ID logic for registry environments (ex: Creating a registry component that references a registry environment).
- Fix ARM ID logic for passing models and environments with ID (ex: Creating endpoint deployment for a registry model should return said model's ID immediately)
- Switched compute operations to go through 2022-10-01-preview API version.
- GA release
- Dropped support for Python 3.6. The Python versions supported for this release are 3.7-3.10.
- OnlineDeploymentOperations.delete has been renamed to begin_delete.
- Datastore credentials are switched to use unified credential configuration classes.
- UserAssignedIdentity is replaced by ManagedIdentityConfiguration
- Endpoint and Job use unified identity classes.
- Workspace ManagedServiceIdentity has been replaced by IdentityConfiguration.
- Switched Compute operations to use Oct preview API version.
- Updated batch deployment/endpoint invoke and list-jobs function signatures with curated BatchJob class.
- Support passing JobService as argument to Command()
- Added support for custom setup scripts on compute instances.
- Added a
show_progress
parameter to MLClient for enable/disable progress bars of long running operations. - Support
month_days
inRecurrencePattern
when usingRecurrenceSchedule
. - Support
ml_client.schedules.list
withlist_view_type
, default toENABLED_ONLY
. - Add support for model sweeping and hyperparameter tuning in AutoML NLP jobs.
- Added
ml_client.jobs.show_services()
operation.
- ComputeOperations.attach has been renamed to begin_attach.
- Deprecated parameter path has been removed from load and dump methods.
- JobOperations.cancel() is renamed to JobOperations.begin_cancel() and it returns LROPoller
- Workspace.list_keys renamed to Workspace.get_keys.
- Fix identity passthrough job with single file code
- MLClient.from_config can now find the default config.json on Compute Instance when running sample notebooks.
- Removed declaration on Python 3.6 support
- Added support for custom setup scripts on compute instances.
- Updated dependencies upper bounds to be major versions.
- Spark job submission.
- Command and sweep job docker config (shmSize and dockerArgs) spec support.
- Entity load and dump now also accept a file pointer as input.
- Load and dump input names changed from path to 'source' and 'dest', respectively.
- Load and dump 'path' input still works, but is deprecated and emits a warning.
- Managed Identity Support for Compute Instance (experimental).
- Enable using @dsl.pipeline without brackets when no additional parameters.
- Expose Azure subscription Id and resource group name from MLClient objects.
- Added Idle Shutdown support for Compute Instances, allowing instances to shutdown after a set period of inactivity.
- Online Deployment Data Collection for eventhub and data storage will be supported.
- Syntax validation on scoring scripts of Batch Deployment and Online Deployment will prevent the user from submitting bad deployments.
- Change (begin_)create_or_update typehints to use generics.
- Remove invalid option from create_or_update typehints.
- Change error returned by (begin_)create_or_update invalid input to TypeError.
- Rename set_image_model APIs for all vision tasks to set_training_parameters
- JobOperations.download defaults to "." instead of Path.cwd()
- Show 'properties' on data assets
- Support for AutoML Component
- Added skip_validation for Job/Component create_or_update
- Dataset removed from public interface.
- Fixed mismatch errors when updating scale_settings for KubernetesOnlineDeployment.
- Removed az CLI command that was printed when deleting OnlineEndpoint
- Allow Input/Output objects to be used by CommandComponent.
- Added MoonCake cloud support.
- Unified inputs/outputs building and validation logic in BaseNode.
- Allow Git repo URLs to be used as code for jobs and components.
- Updated AutoML YAML schema to use InputSchema.
- Added end_time to job schedule.
- MIR and pipeline job now support registry assets.
- Have mldesigner use argparser to parse incoming args.
- Bumped pyjwt version to <3.0.0.
- Reverted "upload support for symlinks".
- Error message improvement when a YAML UnionField fails to match.
- Reintroduced support for symlinks when uploading.
- Hard coded registry base URL to eastus region to support preview.
- First preview.