NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2493 most downloaded on PyPI
Microsoft Azure Machine Learning Client Library for Python
Last release 4 days ago
30 Sep 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 54 of 59 stable releases
1 version withdrawn
withdrawn after publishing
4 years old
69 releases · first in 2022
One column per quarter.
Fixed artifact cache path validation, wildcard version handling across supported Python versions, and concurrent downloads for component additional_in
additional_includes.MLClient.jobs.download(..., output_name=...) returning without downloading named data outputs (#48941).MLClient.jobs.stream() failing for jobs using identity-based or SAS-authenticated datastores.Fixed slow iteration over MLClient.jobs.list() (issue #48415) caused by _append_tid_to_studio_url calling credential.get_token() on every job to extra
MLClient.jobs.list() (issue #48415) caused by _append_tid_to_studio_url calling credential.get_token() on every job to extract the tenant id from a JWT. The tenant id is now decoded once per JobOperations instance and reused for subsequent jobs.Command node dropping node-level interactive services (SSH, JupyterLab, TensorBoard, VS Code, etc.) during serialization, which prevented interactive endpoints from being created for Singularity jobs. The services are now serialized into the pipeline REST request and round-tripped on deserialization, matching the public Command node behavior.MLClient.jobs.create_or_update, archive, and restore failing for previously-fetched jobs across all job types by routing metadata-only edits through the RunHistory PATCH endpoint.DeploymentTemplate.creation_context always being None when retrieved via get() or list(). The created/modified timestamps and identity returned by the service (as createdTime / modifiedTime / createdBy) are now populated on creation_context, making DeploymentTemplate consistent with Model and Environment.DeploymentTemplate.creation_context.last_modified_by always being None even after the service began returning the modifying identity. The service sends it as a flattened modifiedBy field (top-level for get(), nested under properties for list()) alongside a present-but-null lastModifiedBy; last_modified_by is now populated from modifiedBy, matching how created_by is read.deployment_templates.list(name=...) raising AttributeError: 'str' object has no attribute 'request_timeout'. In the list response, requestSettings / livenessProbe / readinessProbe arrive as stringified dicts nested under properties; these are now parsed before conversion, giving list() parity with models.list() / environments.list().deployment_templates.get(name) failing with a 404 (DeploymentTemplate {name}:latest not found) when no version was supplied, because the literal string "latest" was sent as the version. The latest version is now resolved client-side (the service exposes no latest label and no server-side ordering), and get() accepts a label keyword (label="latest" resolves to the latest version) mirroring models.get(). delete(name) resolves the latest version the same way.models.get(name, label="latest") returning a Model whose default_deployment_template / allowed_deployment_templates references had asset_id=None. Label resolution goes through the version list endpoint (top=1), whose items omit the deployment-template references; for registry models the resolved version is now re-fetched through the get endpoint, so the label path hydrates these references identically to the explicit version= path.MLClient.jobs.begin_delete(name) to delete a job.mltable.load("azureml://.../data/<name>/versions/<version>") failing with AttributeError: 'DataVersionEntity' object has no attribute 'additional_properties'. When the dataset_dataplane client was migrated to the TypeSpec (hybrid) model, DataVersionEntity stopped exposing the msrest additional_properties attribute that the mltable package reads (isV2 / legacyDataflow) on the local resolution path. The attribute is now restored as a compatibility shim returning the un-modeled wire keys, so the on-the-wire contract is unchanged.arm_ml_service hybrid client. This is an internal change; the on-the-wire request/response contract is unchanged.Code | Docs Q3-2026
Machine Learning - Feature Store
azureml-featurestore
Fixed datastore create failing with TypeError: Object of type Datastore is not JSON serializable. The datastore operation was migrated to the TypeSpec
datastore create failing with TypeError: Object of type Datastore is not JSON serializable. The datastore operation was migrated to the TypeSpec client while the datastore entity still produced a legacy msrest model; the request body is now serialized to its wire form before being sent, keeping the on-the-wire request unchanged.BatchEndpoint defaults serialization regression where deployment_name was sent to the service as snake_case instead of camelCase (deploymentName), causing begin_create_or_update to fail with "Could not find member 'deployment_name' on object of type 'BatchEndpointDefaults'". Serialization now emits the correct camelCase wire format, while BatchEndpoint.defaults returned from get() continues to expose an object that supports attribute access (e.g. endpoint.defaults.deployment_name), preserving backward compatibility with existing code and samples.Fixed cross-tenant registry endpoint resolution for deployment template operations by using the registry discovery API instead of ARM calls.
allowedInstanceType and allowedEnvironmentVariableOverrides are properly round-tripped during serialization.Removing deployment templates experimental warning while initializing.
Fixed default deployment template check to verify asset_id is not None before logging template information.
asset_id is not None before logging template information.allowed_instance_types now accepts a list instead of string.Added support for default_deployment_template property in Model entity, allowing models to specify a default deployment template for online deployment
default_deployment_template property in Model entity, allowing models to specify a default deployment template for online deployments.allowed_instance_type -> allowed_instance_typesRemoved the dependencies - msrest and six
Deployment Templates along with the following operations:
ml_client.deployment_templates.create_or_update()ml_client.deployment_templates.list()ml_client.deployment_templates.get()ml_client.deployment_templates.archive()ml_client.deployment_templates.restore()Removed the dependencies - msrest and six
Deployment Templates along with the following operations:
ml_client.deployment_templates.create_or_update()ml_client.deployment_templates.list()ml_client.deployment_templates.get()ml_client.deployment_templates.archive()ml_client.deployment_templates.restore()Added a workflow to create GitHub issues in case a major version of a dependency is released
Nothing published for this version
Handle key error for missing props in PAT url case.
Added Target storage connection for capability host.
Nothing published for this version
Restrict major version auto updates for external dependencies to ensure stability and prevent build failures for breaking changes.
Updated marshmallow dependency to restrict versions to >=3.5,<4.0.0 in install_requires to ensure compatibility.
marshmallow dependency to restrict versions to >=3.5,<4.0.0
in install_requires to ensure compatibility.Made AI Search connections property optional while creating capability host.
Handle missing duration value in deployment poller result
Adding parent job support for command job.
Adding support for Python 3.13. Ensuring that azureml-dataprep-rslex is only installed for Python versions below 3.13. This change may break if Annota
Annotated used directly without parameters.Fixed disableLocalAuthentication handling while creating amlCompute
Removed marshmallow _T reference
Added support for IP-based access control to default and hub workspaces.
Nothing published for this version
Fix error message while resolving mlflow url in get workspace details
### Bugs Fixed - #3620407 - Fix Datastore credentials show up as NoneCredentials
### Bugs Fixed - #38493 - Fix error NoneType object is not subscriptable
Added support to select firewall sku to used for provisioning azure firewall when FQDN rules are added in AllowOnlyApprovedOutbound mode. FirewallSku
Standard or Basic, defaults to Standarddisillation from azure.ai.ml.model_customizationProvisionNetworkNow to trigger the provisioning of the managed VNet with the default
Options when creating a Workspace with the managed VNet enabled, or else it does nothing### Bugs Fixed - #37857 - Fix online deployment registry issue
Cross subscription storage account support for workspace and feature store. Developer can provide a storage account from another subscription while cr
When a workspace is created with managed_network enabled or has public_network_access set to disabled, the resources created with the workspace (Key V
managed_network enabled or has public_network_access set to disabled, the resources created with the workspace (Key Vault, Storage Account) will be set to have restricted network access settings. This is only applicable when the user does not specify existing resources.fqdns property for managed network PrivateEndpointDestination outbound rule objects. Enabling the support of Application Gateway as a Private Endpoint target in the workspace managed network.address_prefixes property for managed network ServiceTagDestination outbound rule objects.managed_network which is a GA feature.Workspace update no longer broken for older workspaces due to deprecated tags.
WorkspaceConnection tags are now listed as deprecated, and the erroneously-deprecated metadata field has been un-deprecated and added as a initializat…
public_ip_address in AmlComputeNodeInfo, to get the public ip address with the ssh port when calling ml_client.compute.list_nodesDatastoreOperations._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.update_sso_settings in ComputeOperations, to enable or disable single sign-on settings of a compute instance.Workspace Create operation works without an application insights being provided, and creates a default appIn resource for normal workspaces in that ca
Nothing published for this version
Nothing published for this version
Add experimental support for working with Promptflow evaluators: ml_client.evaluators.
ml_client.evaluators.list, get, and create_or_update operations now include an optional populate_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.AzureBlobStoreConnectionAzureBlobStoreConnectionMicrosoftOneLakeConnectionAzureOpenAIConnectionAzureAIServicesConnectionAzureAISearchConnectionAzureContentSafetyConnectionAzureSpeechServicesConnectionAPIKeyConnectionOpenAIConnectionSerpConnectionServerlessConnectionAadCredentialConfigurationaad_token) auth in invoke and get-credentials operations.ml_client.indexesNothing published for this version
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 the…
azure.ai.ml, but the import is deprecated and emits a warning. Instead, please import them from azure.ai.ml.entities.
AmlTokenConfigurationManagedIdentityConfigurationUserIdentityConfigurationazure.ai.ml.entities, but the import is deprecated and emits a warning. Instead, please import them from azure.ai.ml.sweep.
ChoiceUniformLogUniformQLogUniformQUniformQLogNormalQNormalLogNormalNormalRandintRemove experimental tag for ml_client.jobs.validate.
experimental tag for ml_client.jobs.validate.ml_client.schedules.trigger(name='my_schedule') function to trigger a schedule once.outputs not load correctly when component: <local-file> exists in pipeline job yaml.### Features Added ### Bugs Fixed ### Breaking Changes ### Other Changes
Nothing published for this version
Workspace Connections had 3 child classes added for open AI, cog search, and cog service connections.
pydash dependency version was upgraded to >=6.0.0 to patch security vulnerability in versions below 6.0.0
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 en…
delete_dependent_resources as True when deleting a workspace, the log analytics resource
associated with the workspace application insights resource will also be deleted.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.Feature sets can now be registers after being dumped and reloaded.
Removed references to deprecated "feature_store" workspace connection type.
download for component operations.PathLike for CommandComponent.code.azure-ai-ml now performs all file i/o on utf-8 encoded files per Azure SDK guidance.
(instead of the default behavior for python < 3.15, which uses locale specific encodings)Added support to enable gpu access (local_enable_gpu) for local deployment.
Added support to enable set workspace connection secret expiry time.
stage on model versionPublic preview support for new schedule type MonitorSchedule
MonitorScheduleFixed an issue where OnlineDeployment.provisioning_state was incorrectly deserialized and set as None
OnlineDeployment.provisioning_state was incorrectly deserialized and set as NoneAdded data import schedule. The class added is ImportDataSchedule.
ImportDataSchedule.Added experimental scatter gather node to DSL package. This node has a unique mldesigner dependency.
FeatureStoreOperations, FeatureSetOperations, FeatureStoreEntityOperations with properties classes specific to the new features.distribution: ray support in command job.node.limits.timeout to a pipeline input.JobServiceBase.job_service_type to typeAdded support for tags on Compute Resources.
tags on Compute Resources.job_tier and priority in standalone joblocations via command function and set it to JobResourceConfiguration.locationss3, snowflake, azure_sql_db, azure_synapse_analytics, azure_my_sql_db, azure_postgres_dbaccess_key for s3azure-mgmt-resourceazure-mgmt-resourcegraphopencensus-ext-azure<2.0.0Added dedicated classes for each type of job service and updated the docstrings. The classes added are JupyterLabJobService, SshJobService, TensorBoar
JupyterLabJobService, SshJobService, TensorBoardJobService, VsCodeJobService with a few properties specific to the type.ManagedNetwork, FqdnDestination, PrivateEndpointDestination, ServiceTagDestination as well as relevant schema..amlignore and .gitignore files are not respected.False in PipelineJobSettings are not respected.Change print behavior of entity classes to show object yaml in notebooks, can be configured on in other contexts.
Deployment and ScheduleOperations added to public interface.SasTokenConfiguration cannot be used as credential for WorkspaceConnectionRemoved description from Registry.
Code | Docs
Support: Active
Azure Blob Storage Checkpoint Store AIO
azure-eventhub-checkpointstoreblob-aio
Deprecated idle_time_before_shutdown property in favor of idle_time_before_shutdown_minutes.
show or list.Renamed idle_time_before_shutdown to idle_time_before_shutdown_minutes and changed input type to int.
Registry list operation now accepts scope value to allow subscription-only based requests.
Your coding agent can read these notes before it upgrades. Set up the MCP server →