diff --git a/sdk/ai/azure-ai-projects/CHANGELOG.md b/sdk/ai/azure-ai-projects/CHANGELOG.md index ccc12ed76e39..735c1f3a3a14 100644 --- a/sdk/ai/azure-ai-projects/CHANGELOG.md +++ b/sdk/ai/azure-ai-projects/CHANGELOG.md @@ -1,6 +1,8 @@ # Release History -## 2.0.0b4 (Unreleased) +## 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 @@ -9,12 +11,16 @@ ### 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 descirbing Azure tools in preview: + * 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`. @@ -22,16 +28,37 @@ * Rename class `MicrosoftFabricAgentTool` to `MicrosoftFabricPreviewTool`. * Rename class `SharepointAgentTool` to `SharepointPreviewTool`. * Other class renames: - * Rename class `ItemParam` to `InputItem`. * Rename class `PromptAgentDefinitionText` to `PromptAgentDefinitionTextOptions` * Rename class `EvaluationComparisonRequest` to `InsightRequest` -* 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. +* 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": "..."} +* 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