Azure SDK for Python (April 2025)
The Azure SDK team is pleased to announce our April 2025 client library releases.
40 packages released this month.
Stable Packages (10)
-
AI Evaluation
-
Communication Rooms
-
Core - Client - Core
-
Resource Management - Compute
-
Resource Management - Container Service
-
Resource Management - Data Box
-
Resource Management - Event Grid
-
Resource Management - IoT Hub
-
Resource Management - Postgresqlflexibleservers
-
Storage - Files Data Lake
Patch Updates (5)
-
Azure Monitor OpenTelemetry
-
Document Intelligence
-
Machine Learning
-
Service Bus
-
Storage - Blobs
Beta Packages (20)
-
AI Projects
-
App Configuration Provider
-
Azure AI Search
-
Core - Client - Core HTTP
-
Core - Client - Tracing Opentelemetry
-
Cosmos DB
-
Key Vault - Administration
-
Key Vault - Certificates
-
Key Vault - Keys
-
Key Vault - Secrets
-
OpenTelemetry Exporter
-
Resource Management - Arizeaiobservabilityeval
-
Resource Management - Azure AI Search
-
Resource Management - Durabletask
-
Resource Management - Edge Zones
-
Resource Management - Hybrid Connectivity
-
Resource Management - Hybrid Kubernetes
-
Resource Management - Pineconevectordb
-
Resource Management - SQL
-
Resource Management - Weightsandbiases
Release highlights
AI Evaluation 1.4.0 Changelog
Features Added
- Enhanced binary evaluation results with customizable thresholds
- Added threshold support for QA and ContentSafety evaluators
- Evaluation results now include both the score and threshold values
- Configurable threshold parameter allows custom binary classification boundaries
- Default thresholds provided for backward compatibility
- Quality evaluators use “higher is better” scoring (score ≥ threshold is positive)
- Content safety evaluators use “lower is better” scoring (score ≤ threshold is positive)
- New Built-in evaluator called CodeVulnerabilityEvaluator is added.
- It provides capabilities to identify the following code vulnerabilities.
- path-injection
- sql-injection
- code-injection
- stack-trace-exposure
- incomplete-url-substring-sanitization
- flask-debug
- clear-text-logging-sensitive-data
- incomplete-hostname-regexp
- server-side-unvalidated-url-redirection
- weak-cryptographic-algorithm
- full-ssrf
- bind-socket-all-network-interfaces
- client-side-unvalidated-url-redirection
- likely-bugs
- reflected-xss
- clear-text-storage-sensitive-data
- tarslip
- hardcoded-credentials
- insecure-randomness
-
It also supports multiple coding languages such as (Python, Java, C++, C#, Go, Javascript, SQL)
- New Built-in evaluator called UngroundedAttributesEvaluator is added.
- It evaluates ungrounded inference of human attributes for a given query, response, and context for a single-turn evaluation only,
-
where query represents the user query and response represents the AI system response given the provided context.
- Ungrounded Attributes checks for whether a response is first, ungrounded, and checks if it contains information about protected class
-
or emotional state of a person.
-
It identifies the following attributes:
- emotional_state
- protected_class
- groundedness
- New Built-in evaluators for Agent Evaluation (Preview)
- IntentResolutionEvaluator - Evaluates the intent resolution of an agent’s response to a user query.
- ResponseCompletenessEvaluator - Evaluates the response completeness of an agent’s response to a user query.
- TaskAdherenceEvaluator - Evaluates the task adherence of an agent’s response to a user query.
- ToolCallAccuracyEvaluator - Evaluates the accuracy of tool calls made by an agent in response to a user query.
Bugs Fixed
- Fixed error in
GroundednessProEvaluatorwhen handling non-numeric values like “n/a” returned from the service. - Uploading local evaluation results from
evaluatewith the same run name will no longer result in each online run sharing (and bashing) result files.
AI Evaluation 1.5.0 Changelog
Features Added
- New
RedTeamagent functionality to assess the safety and resilience of AI systems against adversarial prompt attacks
AI Projects 1.0.0b8 Changelog
Features added
- New parameters added for Azure AI Search tool, with corresponding sample update.
- Fabric tool REST name updated, along with convenience code.
Bugs Fixed
- Fix for a bug in Agent tracing causing event handler return values to not be returned when tracing is enabled.
- Fix for a bug in Agent tracing causing tool calls not to be recorded in traces.
- Fix for a bug in Agent tracing causing function tool calls to not work properly when tracing is enabled.
- Fix for a bug in Agent streaming, where
agent_idwas not included in the response. This caused the SDK not to make function calls when the thread run status isrequires_action.
App Configuration Provider 2.1.0b1 Changelog
Bugs Fixed
- Updates the feature flag telemetry to use the provided endpoint instead of the endpoint of the store the feature flag was loaded from.
- Removes Feature Id from feature flag telemetry.
Azure AI Search 11.6.0b11 Changelog
Bugs Fixed
- Fixed the issue that could not deserialize
document_debug_info. #40138
Azure Monitor OpenTelemetry 1.6.6 Changelog
Features Added
- Add
logging_formatas configuration option in api (#40057) - Enable Azure AI Agents instrumentation (#40043)
Azure Monitor OpenTelemetry 1.6.7 Changelog
Bugs Fixed
- Adapt to OpenTelemetry dependency resolver change. (#40463)
Communication Rooms 1.2.0 Changelog
Features Added
- General Availability version of participant Collaborator role.
Core - Client - Core 1.33.0 Changelog
Bugs Fixed
- Fixed an issue where the
traceparentheader was not being set correctly in theDistributedTracingPolicy. Thetraceparentheader will now set based on the context of the HTTP client span. #40074
Features Added
- Added native OpenTelemetry tracing to Azure Core which enables users to use OpenTelemetry to trace Azure SDK operations without needing to install a plugin. #39563
- To enable native OpenTelemetry tracing, users need to:
- Have
opentelemetry-apiinstalled. - Ensure that
settings.tracing_implementationis not set. - Ensure that
settings.tracing_enabledis set toTrue.
- Have
- If
setting.tracing_implementationis set, the tracing plugin will be used instead of the native tracing. - If
settings.tracing_enabledis set toFalse, tracing will be disabled. - The
OpenTelemetryTracerclass was added to theazure.core.tracing.opentelemetrymodule. This is a wrapper around the OpenTelemetry tracer that is used to create spans for Azure SDK operations. - Added a
get_tracermethod to the newazure.core.instrumentationmodule. This method returns an instance of theOpenTelemetryTracerclass if OpenTelemetry is available. - A
TracingOptionsTypedDict class was added to define the options that SDK users can use to configure tracing per-operation. These options include the ability to enable or disable tracing and set additional attributes on spans. - Example usage:
client.method(tracing_options={"enabled": True, "attributes": {"foo": "bar"}}) - The
DistributedTracingPolicyanddistributed_trace/distributed_trace_asyncdecorators now uses the OpenTelemetry tracer if it is available and native tracing is enabled. - SDK clients can define an
_instrumentation_configclass variable to configure the OpenTelemetry tracer used in method span creation. Possible configuration options arelibrary_name,library_version,schema_url, andattributes. DistributedTracingPolicynow accepts ainstrumentation_configkeyword argument to configure the OpenTelemetry tracer used in HTTP span creation.
Breaking Changes
- Removed automatic tracing enablement for the OpenTelemetry plugin if
opentelemetrywas imported. To enable tracing with the plugin, please importazure.core.settings.settingsand setsettings.tracing_implementationto"opentelemetry". #39563 - In
DistributedTracingPolicy, the default span name is now just the HTTP method (e.g., “GET”, “POST”) and no longer includes the URL path. This change was made to converge with the OpenTelemetry HTTP semantic conventions. The full URL is still included in the span attributes. - Renamed span attributes in
DistributedTracingPolicy: - “x-ms-client-request-id” is now “az.client_request_id”
- “x-ms-request-id” is now “az.service_request_id”
Core - Client - Core HTTP 1.0.0b6 Changelog
Breaking Changes
- The
get_tokenmethod has been removed from theTokenCredentialandAsyncTokenCredentialprotocols. Implementations should now use the newget_token_infomethod to acquire tokens. #38346 - The
AccessTokenclass has been removed and replaced with a newAccessTokenInfoclass. #38346 BearerTokenCredentialPolicyandAsyncBearerTokenCredentialPolicynow rely on credentials having theget_token_infomethod defined. #38346
Features Added
- The
TokenCredentialandAsyncTokenCredentialprotocols have been updated to include a newget_token_infomethod. This method should be used to acquire tokens and return anAccessTokenInfoobject. #38346 - Added a new
TokenRequestOptionsclass, which is aTypedDictwith optional parameters, that can be used to define options for token requests through theget_token_infomethod. #38346 - Added a new
AccessTokenInfoclass, which is returned byget_token_infoimplementations. This class contains the token, its expiration time, and optional additional information like when a token should be refreshed. #38346 BearerTokenCredentialPolicyandAsyncBearerTokenCredentialPolicynow check if a credential has theget_token_infomethod defined. If so, theget_token_infomethod is used to acquire a token. #38346- These policies now also check the
refresh_onattribute when determining if a new token request should be made. - Added
modelattribute toHttpResponseErrorto allow accessing error attributes based on a known model. #39636 - Added
auth_flowssupport inBearerTokenCredentialPolicy. #40084
Core - Client - Tracing Opentelemetry 1.0.0b12 Changelog
Bugs Fixed
- Fixed an issue where the original context was not properly restored after exiting an
OpenTelemetrySpancontext in certain scenarios. (#39994)
Features Added
- If a span exits with an exception, the exception name is now recorded in the
error.typeattribute. (#34619) - Added support for passing a schema version to fetch available attribute mappings and set the schema URL on the tracer’s instrumentation scope. (#40161)
- Added additional span suppression logic to prevent unnecessary spans from being created. (#39994)
SpanKind.INTERNALspans are suppressed if their parent span is of typeSpanKind.INTERNAL,SpanKind.CLIENT, orSpanKind.PRODUCER.- Update
OpenTelemetrySpan.change_contextto also accept spans of typeOpenTelemetrySpan. (#39994)
Cosmos DB 4.10.0b2 Changelog
Bugs Fixed
- Fixed bug preventing health check in some scenarios. See PR 39647
- Fixed
partition_keyfilter forquery_items_change_feedAPI. See PR 39895
Cosmos DB 4.10.0b3 Changelog
Bugs Fixed
- Fixed too many health checks happening when skipping the recommended client startup. See PR 40203.
Cosmos DB 4.10.0b4 Changelog
Bugs Fixed
- Fixed bug introduced in 4.10.0b3 with explicitly setting
etagkeyword argument asNonecausing exceptions. See PR 40282.
Document Intelligence 1.0.2 Changelog
Bugs Fixed
- Fix polling for
begin_copy_classifier_to()to stop on success response from the “Operation-Location” endpoint and correctly parse the result.
Key Vault - Administration 4.6.0b1 Changelog
Features Added
- Added support for service API version
7.6-preview.2 - Added
KeyVaultBackupClient.begin_pre_backupandKeyVaultBackupClient.begin_pre_restoremethods for checking if it is possible to perform a full key backup or full key restore #37507
Key Vault - Certificates 4.10.0b1 Changelog
Features Added
- Added support for service API version
7.6-preview.2 - Added a
preserve_certificate_orderkeyword-only argument when creating or importing certificates to allow preserving a certificate chain’s original order, and corresponding apreserve_certificate_orderproperty toCertificatePropertiesandCertificateOperationmodels (#37507)
Key Vault - Keys 4.11.0b1 Changelog
Features Added
- Added support for service API version
7.6-preview.2 KeyClienthas aget_key_attestationmethod that can be used to retrieve a key along with its attestation blob (stored in a newKeyProperties.attestationproperty) from a managed HSM #37507
Key Vault - Secrets 4.10.0b1 Changelog
Features Added
- Added support for service API version
7.6-preview.2
Machine Learning 1.26.1 Changelog
Bugs Fixed
- Handle missing duration value in deployment poller result
Machine Learning 1.26.2 Changelog
Bugs Fixed
- Made AI Search connections property optional while creating capability host.
OpenTelemetry Exporter 1.0.0b36 Changelog
Features Added
- Support
syntheticSourcefromuser_agent.synthetic.typesemantic convention (#40004) - Support
server.addressattributes when converting Azure SDK messaging spans to envelopes (#40059) - Update AKS check to use KUBERNETES_SERVICE_HOST (#39941)
- Enabled Entra ID Credential configuration via env var (#40237)
Resource Management - Arizeaiobservabilityeval 1.0.0b1 Changelog
Resource Management - Azure AI Search 9.2.0b3 Changelog
Resource Management - Compute 34.1.0 Changelog
Resource Management - Container Service 34.2.0 Changelog
Resource Management - Data Box 3.1.0 Changelog
Resource Management - Durabletask 1.0.0b1 Changelog
Resource Management - Edge Zones 1.0.0b2 Changelog
Resource Management - Event Grid 10.4.0 Changelog
Resource Management - Hybrid Connectivity 2.0.0b1 Changelog
Resource Management - Hybrid Kubernetes 1.2.0b2 Changelog
Resource Management - IoT Hub 4.0.0 Changelog
Resource Management - Pineconevectordb 1.0.0b2 Changelog
Resource Management - Postgresqlflexibleservers 1.1.0 Changelog
Resource Management - SQL 4.0.0b21 Changelog
Resource Management - Weightsandbiases 1.0.0b1 Changelog
Service Bus 7.14.2 Changelog
Bugs Fixed
-
Fixed a bug where max number of messages was not being requested when receiving from the service due to an incorrect link credit calculation. (#40156)
Storage - Blobs 12.25.1 Changelog
Other Changes
- Updated dependency for
azure-storage-file-datalaketype hints.
Storage - Files Data Lake 12.20.0 Changelog
Features Added
- Updated type hints across the entire package and enabled MyPy to run during CI. Some public types may have been adjusted if they were previously erroneous or incomplete.
Latest Releases
View all the latest versions of Python packages here.
Installation Instructions
To install the latest beta version of the packages, copy and paste the following commands into a terminal:
$> pip install azure-ai-documentintelligence==1.0.2
$> pip install azure-ai-evaluation==1.4.0
$> pip install azure-ai-evaluation==1.5.0
$> pip install azure-ai-ml==1.26.1
$> pip install azure-ai-ml==1.26.2
$> pip install azure-ai-projects==1.0.0b8
$> pip install azure-appconfiguration-provider==2.1.0b1
$> pip install azure-communication-rooms==1.2.0
$> pip install azure-core==1.33.0
$> pip install azure-core-tracing-opentelemetry==1.0.0b12
$> pip install azure-cosmos==4.10.0b2
$> pip install azure-cosmos==4.10.0b3
$> pip install azure-cosmos==4.10.0b4
$> pip install azure-keyvault-administration==4.6.0b1
$> pip install azure-keyvault-certificates==4.10.0b1
$> pip install azure-keyvault-keys==4.11.0b1
$> pip install azure-keyvault-secrets==4.10.0b1
$> pip install azure-mgmt-arizeaiobservabilityeval==1.0.0b1
$> pip install azure-mgmt-compute==34.1.0
$> pip install azure-mgmt-containerservice==34.2.0
$> pip install azure-mgmt-databox==3.1.0
$> pip install azure-mgmt-durabletask==1.0.0b1
$> pip install azure-mgmt-edgezones==1.0.0b2
$> pip install azure-mgmt-eventgrid==10.4.0
$> pip install azure-mgmt-hybridconnectivity==2.0.0b1
$> pip install azure-mgmt-hybridkubernetes==1.2.0b2
$> pip install azure-mgmt-iothub==4.0.0
$> pip install azure-mgmt-pineconevectordb==1.0.0b2
$> pip install azure-mgmt-postgresqlflexibleservers==1.1.0
$> pip install azure-mgmt-search==9.2.0b3
$> pip install azure-mgmt-sql==4.0.0b21
$> pip install azure-mgmt-weightsandbiases==1.0.0b1
$> pip install azure-monitor-opentelemetry==1.6.6
$> pip install azure-monitor-opentelemetry==1.6.7
$> pip install azure-monitor-opentelemetry-exporter==1.0.0b36
$> pip install azure-search-documents==11.6.0b11
$> pip install azure-servicebus==7.14.2
$> pip install azure-storage-blob==12.25.1
$> pip install azure-storage-file-datalake==12.20.0
$> pip install corehttp==1.0.0b6
Feedback
If you have a bug or feature request for one of the libraries, please post an issue to GitHub.