Skip to content

azure-ai-projects_2.5.0

Choose a tag to compare

@azure-sdk-automation azure-sdk-automation released this 20 Aug 21:39
a2aacf6

2.5.0 (2026-08-20)

Dependency update

  • Dependency on openai has changed to openai>=3.0.0, which requires httpx2 instead of httpx.
  • Support for Python 3.9 was dropped. The new minimum supported Python version is 3.10.

Features Added

  • Added stable Agent-to-Agent (A2A) tools A2ATool and A2AToolboxTool, with the new A2AProtocolVersion enum for selecting protocol version 1.0.
  • Method .beta.agents.begin_create_optimization_job now returns a custom LRO poller named AgentOptimizationLROPoller. Its details property exposes the created job ID as job_id.
  • Method .beta.datasets.begin_create_generation_job now returns a custom LRO poller named DatasetGenerationLROPoller. Its details property exposes the created job ID as job_id.
  • Method .beta.evaluators.begin_create_generation_job now returns a custom LRO poller named EvaluatorGenerationLROPoller. Its details property exposes the created job ID as job_id.
  • Added the optional read-only state_source property to AgentDetails and the new AgentStateSource enum.
  • Added programmatic tool calling through ProgrammaticToolCallingParam and SpecificProgrammaticToolCallingParam, with new ToolType.PROGRAMMATIC_TOOL_CALLING and ToolChoiceParamType.PROGRAMMATIC_TOOL_CALLING enum members.
  • Added the optional allowed_callers property to ApplyPatchToolParam, CodeInterpreterTool, CodeInterpreterToolboxTool, CustomToolParam, FunctionShellToolParam, FunctionTool, FunctionToolParam, MCPTool, and MCPToolboxTool. Added the new CallableToolAllowedCaller enum values direct and programmatic.
  • Expanded Reasoning with optional mode and context properties. Added ReasoningModeEnum for standard and pro; effort now uses the new ReasoningEffort enum, including the new max effort.

Breaking Changes

All breaking changes are associated with beta features.

  • Methods .beta.routines.list and .beta.routines.list_runs replaced the before argument with after and now use the service-provided next_link for continuation.
  • Renamed class TaskGenerationDataGenerationJobOptions to SimulationSeedDataGenerationJobOptions. The corresponding DataGenerationJobType.TASK_GENERATION enum member was renamed to DataGenerationJobType.SIMULATION_SEED, and its wire value changed from task_generation to simulation_seed.
  • Renamed enum OptimizationDatasetInputType to AgentOptimizationDatasetInputType.
  • Renamed class OptimizationAgentIdentifier to OptimizedAgentIdentifier.
  • Renamed class OptimizationCandidate to AgentOptimizationCandidate.
  • Renamed class OptimizationDatasetCriterion to AgentOptimizationDatasetCriterion.
  • Renamed class OptimizationDatasetInput to AgentOptimizationDatasetInput.
  • Renamed class OptimizationDatasetItem to AgentOptimizationDatasetItem.
  • Renamed class OptimizationEvaluatorRef to AgentOptimizationEvaluatorRef.
  • Renamed class OptimizationInlineDatasetInput to AgentOptimizationInlineDatasetInput.
  • Renamed class OptimizationJob to AgentOptimizationJob.
  • Renamed class OptimizationJobInputs to AgentOptimizationJobInputs.
  • Renamed class OptimizationJobListItem to AgentOptimizationJobListItem.
  • Renamed class OptimizationJobProgress to AgentOptimizationJobProgress.
  • Renamed class OptimizationJobResult to AgentOptimizationJobResult.
  • Renamed class OptimizationOptions to AgentOptimizationOptions.
  • Renamed class OptimizationReferenceDatasetInput to AgentOptimizationReferenceDatasetInput.

Sample updates

  • Added sample_dataset_generation_job_simpleqna_for_finetuning_async.py under samples/datasets/, demonstrating asynchronous generation of a SimpleQnA dataset for fine-tuning.
  • Added sample_dataset_generation_job_simpleqna_for_finetuning_with_app_polling.py under samples/datasets/, demonstrating application-managed polling for a SimpleQnA fine-tuning data generation job.
  • Added logging samples under samples/logs/:
    • sample_log_all.py demonstrating combined logging for Azure SDK and .get_openai_client() operations.
    • sample_log_from_openai_client.py demonstrating logging for an OpenAI client created from .get_openai_client().
    • sample_log_from_sdk.py demonstrating logging for Azure AI Projects SDK client operations.
    • sample_log_to_console.py demonstrating console logging configuration.
    • sample_log_with_logging_disabled.py demonstrating redacted logging behavior when logging_enable is not enabled.
  • Renamed optimization polling samples sample_optimization_job_basic_polling.py and sample_optimization_job_basic_polling_async.py to sample_optimization_job_advanced_app_polling.py and sample_optimization_job_advanced_app_polling_async.py.