github Azure/azure-sdk-for-python azure-ai-projects_2.0.0b4

pre-release6 hours ago

2.0.0b4 (2026-02-24)

This is the first release that uses the Generally Available (GA) version "v1" of the Foundry REST APIs.

Features Added

  • Tracing: included agent ID in response generation traces when available.
  • Tracing: Added support for opt-in trace context propagation.

Breaking changes

  • A Responses call on OpenAPI client (openai_client.responses.create()) that uses an Agent reference, now needs to specify
    extra_body={"agent_reference": {"name": agent_name, "type": "agent_reference"}} instead of extra_body={"agent": {"name": agent_name, "type": "agent_reference"}}.
  • Agent methods .agents.create(), .agents.create_from_manifest(), .agents.update() and .agents.update_from_manifest() were removed. Use
    the remaining methods .agents.create_version() and .agents.create_version_from_manifest() instead.
  • To align with OpenAI naming conventions, use "Tool" suffix for class names describing Azure tools that are generally available (stable release):
    • Rename class AzureAISearchAgentTool to AzureAISearchTool.
    • Rename class AzureFunctionAgentTool to AzureFunctionTool.
    • Rename class BingGroundingAgentTool to BingGroundingTool.
    • Rename class OpenApiAgentTool to OpenApiTool.
  • To align with OpenAI naming conventions, use "PreviewTool" suffix for class names describing Azure tools in preview:
    • Rename class A2ATool to A2APreviewTool.
    • Rename class BingCustomSearchAgentTool to BingCustomSearchPreviewTool.
    • Rename class BrowserAutomationAgentTool to BrowserAutomationPreviewTool.
    • Rename class MemorySearchTool to MemorySearchPreviewTool.
    • Rename class MicrosoftFabricAgentTool to MicrosoftFabricPreviewTool.
    • Rename class SharepointAgentTool to SharepointPreviewTool.
  • Other class renames:
    • Rename class PromptAgentDefinitionText to PromptAgentDefinitionTextOptions
    • Rename class EvaluationComparisonRequest to InsightRequest
  • To use Workflow Agents, which are still in preview, you now need to set an additional input
    argument foundry_features=FoundryFeaturesOptInKeys.WORKFLOW_AGENTS_V1_PREVIEW when calling
    .agents.create_version().
  • To use Hosted Agents, which are still in preview, you now need to set an additional input
    argument foundry_features=FoundryFeaturesOptInKeys.HOSTED_AGENTS_V1_PREVIEW when calling
    .agents.create_version().
  • To use .evaluation_rules.create_or_update() with HumanEvaluationPreviewRuleAction, you now
    need to set an additional input argument foundry_features=FoundryFeaturesOptInKeys.EVALUATIONS_V1_PREVIEW.
  • Operation sets that are still in preview now have the ".beta" subclient in their call path. So for example
    project_client.memory_stores.create() has changed to project_client.beta.memory_stores.create().
    Similarly for the operation sets: evaluators, insights, evaluation_taxonomies, schedules and red_teams.
  • The method begin_update_memories() in Memory Stores operation now accept optional items of type List[dict[str, Any]]
    instead of List[ItemParam]. Similarly for items in method search_memories(). As a result around 100 classes
    that are derived from ItemParam were removed as they are no longer used by the client library.
  • Tracing instrumentation, is an experimental preview feature, now requires explicitly opt in by setting the environment variable:
    AZURE_EXPERIMENTAL_ENABLE_GENAI_TRACING=true
  • Tracing: workflow actions in conversation item listings are now emitted as "gen_ai.conversation.item" events
    (with role="workflow") instead of "gen_ai.workflow.action" events in the list_conversation_items span.
  • Tracing: response generation span names changed from "responses {model_name}" to "chat {model_name}" for model
    calls and from "responses {agent_name}" to "invoke_agent {agent_name}" for agent calls.
  • Tracing: response generation operation names changed from "responses" to "chat" for model calls and from "responses"
    to "invoke_agent" for agent calls.
  • Tracing: response generation uses gen_ai.input.messages and gen_ai.output.messages attributes directly under the
    span instead of events.
  • Tracing: agent creation uses gen_ai.system_instructions attribute directly under the span instead of an event.
    Note that the attribute name is gen_ai.system_instructions not gen_ai.system.instructions.
  • Tracing: "gen_ai.provider.name" attribute value changed to "microsoft.foundry".
  • Tracing: the format of the function tool call related traces in input and output messages changed to
    {"type": "tool_call", "id": "...", "name": "...", "arguments": {...}} and {"type": "tool_call_response", "id": "...", "result": "..."}

Sample updates

  • Add and update samples for AzureFunctionTool, WebSearchTool, and WebSearchPreviewTool
  • All samples for agent tools call responses.create API with agent_reference instead of agent

Don't miss a new azure-sdk-for-python release

NewReleases is sending notifications on new releases.