Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 37 additions & 10 deletions sdk/ai/azure-ai-projects/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -9,29 +11,54 @@

### 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`.
* Rename class `MemorySearchTool` to `MemorySearchPreviewTool`.
* 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

Expand Down