2.3.0 (2026-07-01)
Features Added
- Hosted Agent methods are now stable. There is no need to set
allow_preview=Trueon theAIProjectClientconstructor to create a Hosted Agent. - Session and Session Files methods are now stable. They have moved from the
.beta.agentssubclient to the.agentssubclient. - Agent code methods are now stable. This includes
.agents.create_version_from_codeand.agents.download_codemethods. They have moved from the.beta.agentssubclient to the.agentssubclient. - Toolboxes methods are now stable. They have moved from
.beta.toolboxessubclient to the.toolboxessubclient. - Two new methods
.agents.enableand.agents.disable. - New toolbox tool
ReminderPreviewToolboxTool. - New concept of Draft Agent Version:
- Optional boolean argument
draftadded to method.agents.create_version. - Optional boolean property
draftadded to classAgentVersionDetails. - Optional boolean argument
include_draftsadded to method.agents.list_versions.
- Optional boolean argument
- Optional property
defer_loadingadded to a few Agent tool classes. - Optional property
supported_evaluation_levelsadded to classEvaluatorVersion. - Class
BotServiceTenantAuthorizationSchemeadded (derived fromAgentEndpointAuthorizationScheme). - Class
EndpointBasedEvaluatorDefinitionadded (derived fromEvaluatorDefinition).
Breaking Changes
All breaking changes are associated with beta features, or beta features that are being promoted to stable.
- Toolbox method
create_versionnow definestoolsof typeList[ToolboxTool]instead ofList[Tool]. A new set of Toolbox tools classes,
all derived fromToolboxTool, have been defined. - Input argument structure for method
create_version_from_codehas been simplified. The same information is passed in, but in a modified way. Also, thecodetype has changed fromFileTypetoIO[bytes], and thecode_zip_sha256was made optional (it will be calculated by the method if not provided by the caller). - Agent Optimization methods
.beta.agents.*optimization*were re-written to better align with Foundry job guidelines and platform standards. The old version accumulated unused candidate sub-resources, internal-detail properties, and custom operation patterns inconsistent with the Foundry platform. The new version removes redundant models and operations, adopts shared Foundry job patterns (JobLike<>, standard job verbs), and introduces typed discriminated unions for dataset inputs and evaluator references. - Argument
agent_session_idon Session Files methods was renamed tosession_id. - Method
.beta.agents.list_optimization_candidatesnow returnsItemPaged[OptimizationCandidate]instead ofAgentsPagedResultOptimizationCandidate. Theafterparameter has been removed (use continuation-token-based paging instead). - Method
.agents.patch_agent_detailswas renamed to.agents.update_details. - Optional property
default_ttl_secondson classMemoryStoreDefaultOptionshas changed from typeintto typedatetime.timedelta. - Optional properties
description,nameandtool_configshave been removed from preview tools (classes derived from classTool, with name ending inPreviewTool). - Optional properties
description,nameandtool_configsare now documented as deprecated in stable Agent tools, to be removed in a future version (classes derived from classToolwith names not ending withPreviewTool). - Optional property
protocolson classAgentEndpointConfigwas renamed toprotocol_configuration. - Optional property
toolsremoved fromHostedAgentDefinition. - Optional property
system_dataremoved fromModelVersion. AgentProtocolclass was removed. Theprotocolproperty in classProtocolVersionRecordis now of typeUnion[str, AgentEndpointProtocol].
Sample updates
- Added agent optimization samples under
samples/agents/optimization/:sample_optimization_job_basic.pydemonstrating how to create an optimization job, poll it to completion, and read the results.sample_optimization_job_cancel.pydemonstrating how to create and immediately cancel an optimization job.sample_optimization_job_list_get_delete.pydemonstrating how to list optimization jobs with filters, get a job by ID, and delete a job.
- Added
sample_routines_crud.pyto demonstrate routines CRUD operations. - Added
sample_routines_with_timer_trigger.pyto demonstrate triggering a routine with a timer. - Added
sample_routines_with_schedule_trigger.pyto demonstrate triggering a routine on a recurring Cron schedule viaScheduleRoutineTrigger. - Added
sample_routines_with_dispatch.pyto demonstrate manually firing a routine on demand viaroutines.dispatch(...)using aCustomRoutineTrigger. - Added new Hosted Agent sample
sample_toolbox_with_skill.pyundersamples/hosted_agents/, demonstrating a code-based Hosted Agent that uses Toolbox MCP skills. - Updated
sample_dataset_generation_job_traces_for_evaluation.pyandsample_dataset_generation_job_traces_for_finetuning.pyto create a temporary agent, seed conversations, retry the data generation job over the trace window, and clean up all created resources. - Updated the rubric evaluator generation samples (
sample_rubric_evaluator_generation_basic.py,sample_rubric_evaluator_generation_iterate.py,sample_rubric_evaluator_generation_lifecycle.py,sample_rubric_evaluator_generation_all_sources.py) to use the typedEvaluatorGenerationJob/EvaluatorGenerationInputs/*EvaluatorGenerationJobSourcemodels. The job inputs are now nested underinputsper the service contract, and the traces source usesdatetimevalues forstart_time/end_time. - Updated Hosted Agent code-upload samples (
sample_create_hosted_agent_from_code.py,sample_create_hosted_agent_from_code_async.py) to target runtimepython_3_14, sincepython_3_12is no longer supported. - Updated Hosted Agent echo-agent assets (
samples/hosted_agents/assets/echo-agent/main.py,echo-agent-prebuilt.zip) to use@app.response_handler, resolving a response-handling issue. The remote-build code-upload sample now builds the echo-agent zip fromsamples/hosted_agents/assets/echo-agent/at runtime instead of relying on a checked-inecho-agent.zip, so users can update the agent code and rerun the sample with their changes. - Updated Skills upload/download samples (
sample_skills_upload_and_download.py,sample_skills_upload_and_download_async.py) to build theteam-status-update.zippackage fromsamples/skills/assets/team-status-update/at runtime instead of relying on a checked-in zip archive, so users can update the skill content and rerun the sample with their changes. - Updated scheduled evaluation samples (
sample_scheduled_evaluations.py,sample_scheduled_agent_traces_evaluation_smart_filter.py) to importResourceManagementClientfromazure.mgmt.resource.resources. - Relocated and renamed
sample_skill_in_toolbox.py(fromsamples/hosted_agents/) tosamples/agents/tools/sample_agent_toolbox_skill.py. - Relocated Skills samples from
samples/hosted_agents/tosamples/skills/:sample_skills_crud.py.sample_skills_upload_and_download.py.
- Relocated Toolbox sample from
samples/hosted_agents/tosamples/toolboxes/sample_toolboxes_crud.py.