mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
8b191de936
* .NET: Add Microsoft Fabric sample #3674 (#4230) Co-authored-by: Chris <66376200+crickman@users.noreply.github.com> * Python: Phase 2: Embedding clients for Ollama, Bedrock, and Azure AI Inference (#4207) * Phase 2: Embedding clients for Ollama, Bedrock, and Azure AI Inference Add embedding client implementations to existing provider packages: - OllamaEmbeddingClient: Text embeddings via Ollama's embed API - BedrockEmbeddingClient: Text embeddings via Amazon Titan on Bedrock - AzureAIInferenceEmbeddingClient: Text and image embeddings via Azure AI Inference, supporting Content | str input with separate model IDs for text (AZURE_AI_INFERENCE_EMBEDDING_MODEL_ID) and image (AZURE_AI_INFERENCE_IMAGE_EMBEDDING_MODEL_ID) endpoints Additional changes: - Rename EmbeddingCoT -> EmbeddingT, EmbeddingOptionsCoT -> EmbeddingOptionsT - Add otel_provider_name passthrough to all embedding clients - Register integration pytest marker in all packages - Add lazy-loading namespace exports for Ollama and Bedrock embeddings - Add image embedding sample using Cohere-embed-v3-english - Add azure-ai-inference dependency to azure-ai package Part of #1188 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix mypy duplicate name and ruff lint issues - Rename second 'vector' variable to 'img_vector' in image embedding loop - Combine nested with statements in tests - Remove unused result assignments in tests Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * updates from feedback * Fix CI failures in embedding usage handling - Fix Azure AI embedding mypy issues by normalizing vectors to list[float], safely accumulating optional usage token fields, and filtering None entries before constructing GeneratedEmbeddings - Avoid Bandit false positive by initializing usage details as an empty dict - Update OpenAI embedding tests to assert canonical usage keys (input_token_count/total_token_count) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * [Purview] Mark responses as responses and fix epoch bug for python long overflow (#4225) * .NET: Support InvokeMcpTool for declarative workflows (#4204) * Initial implementation of InvokeMcpTool in declarative workflow * Cleaned up sample implementation * Updated sample comments. * Added missing executor routing attribute * Fix PR comments. * Updated based on PR comments. * Updated based on PR comments. * Removed unnecessary using statement. * Update Python package versions to rc2 (#4258) - Bump core and azure-ai to 1.0.0rc2 - Bump preview packages to 1.0.0b260225 - Update dependencies to >=1.0.0rc2 - Add CHANGELOG entries for changes since rc1 - Update uv.lock Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * .NET: Fixing issue where OpenTelemetry span is never exported in .NET in-process workflow execution (#4196) * 1. Add reproduction test for issue #4155: workflow.run Activity never stopped in streaming OffThread path The WorkflowRunActivity_IsStopped_Streaming_OffThread test demonstrates that the workflow.run OpenTelemetry Activity created in StreamingRunEventStream.RunLoopAsync is started but never stopped when using the OffThread/Default streaming execution. The background run loop keeps running after event consumption completes, so the using Activity? declaration never disposes until explicit StopAsync() is called. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> 2. Fix workflow.run Activity never stopped in streaming OffThread execution (#4155) The workflow.run OpenTelemetry Activity in StreamingRunEventStream.RunLoopAsync was scoped to the method lifetime via 'using'. Since the run loop only exits on cancellation, the Activity was never stopped/exported until explicit disposal. Fix: Remove 'using' and explicitly dispose the Activity when the workflow reaches Idle status (all supersteps complete). A safety-net disposal in the finally block handles cancellation and error paths. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add root-level workflow.session activity spanning run loop lifetime\n\nImplements two-level telemetry hierarchy per PR feedback from lokitoth:\n- workflow.session: spans the entire run loop / stream lifetime\n- workflow_invoke: per input-to-halt cycle, nested within the session\n\nThis ensures the session activity stays open across multiple turns,\nwhile individual run activities are created and disposed per cycle.\n\nAlso fixes linkedSource CancellationTokenSource disposal leak in\nStreamingRunEventStream (added using declaration)." * Address Copilot review: fix Activity/CTS disposal, rename activity, add error tag\n\n1. LockstepRunEventStream: Remove 'using' from Activity in async iterator\n and manually dispose in finally block (fixes #4155 pattern). Also dispose\n linkedSource CTS in finally to prevent leak.\n2. Tags.cs: Add ErrorMessage (\"error.message\") tag for runtime errors,\n distinct from BuildErrorMessage (\"build.error.message\").\n3. ActivityNames: Rename WorkflowRun from \"workflow_invoke\" to \"workflow.run\"\n for cross-language consistency.\n4. WorkflowTelemetryContext: Fix XML doc to say \"outer/parent span\" instead\n of \"root-level span\".\n5. ObservabilityTests: Assert WorkflowSession absence when DisableWorkflowRun\n is true.\n6. WorkflowRunActivityStopTests: Fix streaming test race by disposing\n StreamingRun before asserting activities are stopped.\n7. StreamingRunEventStream/LockstepRunEventStream: Use Tags.ErrorMessage\n instead of Tags.BuildErrorMessage for runtime error events." * Review fixes: revert workflow_invoke rename, use 'using' for linkedSource, move SessionStarted earlier\n\n- Revert ActivityNames.WorkflowRun back to \"workflow_invoke\" (OTEL semantic convention contract)\n- Use 'using' declaration for linkedSource CTS in LockstepRunEventStream (no timing sensitivity)\n- Move SessionStarted event before WaitForInputAsync in StreamingRunEventStream to match Lockstep behavior" * Improve naming and comments in WorkflowRunActivityStopTests" * Prevent session Activity.Current leak in lockstep mode, add nesting test Save and restore Activity.Current in LockstepRunEventStream.Start() so the session activity doesn't leak into caller code via AsyncLocal. Re-establish Activity.Current = sessionActivity before creating the run activity in TakeEventStreamAsync to preserve parent-child nesting. Add test verifying app activities after RunAsync are not parented under the session, and that the workflow_invoke activity nests under the session." * Fix stale XML doc: WorkflowRun -> WorkflowInvoke in ObservabilityTests --------- Co-authored-by: alliscode <bentho@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Python / .NET Samples - Restructure and Improve Samples (Feature Branc… (#4092) * Python: .NET Samples - Restructure and Improve Samples (Feature Branch) (#4091) * Moved by agent (#4094) * Fix readme links * .NET Samples - Create `04-hosting` learning path step (#4098) * Agent move * Agent reorderd * Remove A2A section from README Removed A2A section from the Getting Started README. * Agent fixed links * Fix broken sample links in durable-agents README (#4101) * Initial plan * Fix broken internal links in documentation Co-authored-by: crickman <66376200+crickman@users.noreply.github.com> * Revert template link changes; keep only durable-agents README fix Co-authored-by: crickman <66376200+crickman@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: crickman <66376200+crickman@users.noreply.github.com> * .NET Samples - Create `03-workflows` learning path step (#4102) * Fix solution project path * Python: Fix broken markdown links to repo resources (outside /docs) (#4105) * Initial plan * Fix broken markdown links to repo resources Co-authored-by: crickman <66376200+crickman@users.noreply.github.com> * Update README to rename .NET Workflows Samples section --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: crickman <66376200+crickman@users.noreply.github.com> * .NET Samples - Create `02-agents` learning path step (#4107) * .NET: Fix broken relative link in GroupChatToolApproval README (#4108) * Initial plan * Fix broken link in GroupChatToolApproval README Co-authored-by: crickman <66376200+crickman@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: crickman <66376200+crickman@users.noreply.github.com> * Update labeler configuration for workflow samples * .NET - Reorder Agents samples to start from Step01 instead of Step04 (#4110) * Fix solution * Resolve new sample paths * Move new AgentSkills and AgentWithMemory_Step04 samples * Fix link * Fix readme path * fix: update stale dotnet/samples/Durable path reference in AGENTS.md Co-authored-by: crickman <66376200+crickman@users.noreply.github.com> * Moved new sample * Update solution * Resolve merge (new sample) * Sync to new sample - FoundryAgents_Step21_BingCustomSearch * Updated README * .NET Samples - Configuration Naming Update (#4149) * .NET: Restore AzureFunctions index parity with ConsoleApps under DurableAgents samples (#4221) * Clean-up `05_host_your_agent` * Config setting consistency * Refine samples * AGENTS.md * Move new samples * Re-order samples * Move new project and fixup solution * Fixup model config * Fix up new UT project --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> * Python: Fix Bedrock embedding test stub missing meta attribute (#4287) * Fix Bedrock embedding test stub missing meta attribute * Increase test coverage so gate passes * Python: (ag-ui): fix approval payloads being re-processed on subsequent conversation turns (#4232) * Fix ag-ui tool call issue * Safe json fix * Python: Update workflow orchestration samples to use AzureOpenAIResponsesClient (#4285) * Update workflow orchestration samples to use AzureOpenAIResponsesClient * Fix broken link * Move scripts to scripts folder --------- Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com> Co-authored-by: Chris <66376200+crickman@users.noreply.github.com> Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Rishabh Chawla <rishabhchawla1995@gmail.com> Co-authored-by: Peter Ibekwe <109177538+peibekwe@users.noreply.github.com> Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com> Co-authored-by: Ben Thomas <ben.thomas@microsoft.com> Co-authored-by: alliscode <bentho@microsoft.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
56 KiB
56 KiB
Changelog
All notable changes to the Agent Framework Python packages will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
1.0.0rc2 - 2026-02-25
Added
- agent-framework-core: Support Agent Skills (#4210)
- agent-framework-core: Add embedding abstractions and OpenAI implementation (Phase 1) (#4153)
- agent-framework-core: Add Foundry Memory Context Provider (#3943)
- agent-framework-core: Add
max_function_callstoFunctionInvocationConfiguration(#4175) - agent-framework-core: Add
CreateConversationExecutor, fix input routing, remove unused handler layer (#4159) - agent-framework-azure-ai-search: Azure AI Search provider improvements - EmbeddingGenerator, async context manager, KB message handling (#4212)
- agent-framework-azure-ai-search: Enhance Azure AI Search Citations with Document URLs in Foundry V2 (#4028)
- agent-framework-ag-ui: Add Workflow Support, Harden Streaming Semantics, and add Dynamic Handoff Demo (#3911)
Changed
- agent-framework-declarative: [BREAKING] Add
InvokeFunctionToolaction for declarative workflows (#3716)
Fixed
- agent-framework-core: Fix thread corruption when
max_iterationsis reached (#4234) - agent-framework-core: Fix workflow runner concurrent processing (#4143)
- agent-framework-core: Fix doubled
tool_callarguments inMESSAGES_SNAPSHOTwhen streaming (#4200) - agent-framework-core: Fix OpenAI chat client compatibility with third-party endpoints and OTel 0.4.14 (#4161)
- agent-framework-claude: Fix
structured_outputpropagation inClaudeAgent(#4137)
1.0.0rc1 - 2026-02-19
Release candidate for agent-framework-core and agent-framework-azure-ai packages.
Added
- agent-framework-core: Add default in-memory history provider for workflow agents (#3918)
- agent-framework-core: Durable support for workflows (#3630)
Changed
- agent-framework-core: [BREAKING] Scope provider state by
source_idand standardize source IDs (#3995) - agent-framework-core: [BREAKING] Fix chat/agent message typing alignment (#3920)
- agent-framework-core: [BREAKING] Remove
FunctionTool[Any]compatibility shim for schema passthrough (#3907) - agent-framework-core: Inject OpenTelemetry trace context into MCP requests (#3780)
- agent-framework-core: Replace wildcard imports with explicit imports (#3908)
Fixed
- agent-framework-core: Fix hosted MCP tool approval flow for all session/streaming combinations (#4054)
- agent-framework-core: Prevent repeating instructions in continued Responses API conversations (#3909)
- agent-framework-core: Add missing system instruction attribute to
invoke_agentspan (#4012) - agent-framework-core: Fix tool normalization and provider sample consolidation (#3953)
- agent-framework-azure-ai: Warn on unsupported AzureAIClient runtime tool/structured_output overrides (#3919)
- agent-framework-azure-ai-search: Improve Azure AI Search package test coverage (#4019)
- agent-framework-anthropic: Fix Anthropic option conflicts and manager parse retries (#4000)
- agent-framework-anthropic: Track and enforce 85%+ unit test coverage for anthropic package (#3926)
- agent-framework-azurefunctions: Achieve 85%+ unit test coverage for azurefunctions package (#3866)
- samples: Fix workflow, declarative, Redis, Anthropic, GitHub Copilot, Azure AI, MCP, eval, and migration samples (#4055, #4051, #4049, #4046, #4033, #4030, #4027, #4032, #4025, #4021, #4022, #4001)
1.0.0b260212 - 2026-02-12
Added
- agent-framework-core: Allow
AzureOpenAIResponsesClientcreation with Foundry project endpoint (#3814)
Changed
- agent-framework-core: [BREAKING] Wire context provider pipeline, remove old types, update all consumers (#3850)
- agent-framework-core: [BREAKING] Checkpoint refactor: encode/decode, checkpoint format, etc (#3744)
- agent-framework-core: [BREAKING] Replace
Hosted*Toolclasses with tool methods (#3634) - agent-framework-core: Replace Pydantic Settings with
TypedDict+load_settings()(#3843) - agent-framework-core: Centralize tool result parsing in
FunctionTool.invoke()(#3854) - samples: Restructure Python samples into progressive 01-05 layout (#3862)
- samples: Adopt
AzureOpenAIResponsesClient, reorganize orchestration examples, and fix workflow/orchestration bugs (#3873)
Fixed
- agent-framework-core: Fix non-ascii chars in span attributes (#3894)
- agent-framework-core: Fix streamed workflow agent continuation context by finalizing
AgentExecutorstreams (#3882) - agent-framework-ag-ui: Fix
Workflow.as_agent()streaming regression (#3875) - agent-framework-declarative: Fix declarative package powerfx import crash and
response_formatkwarg error (#3841)
1.0.0b260210 - 2026-02-10
Added
- agent-framework-core: Add long-running agents and background responses support with
ContinuationTokenTypedDict,backgroundoption inOpenAIResponsesOptions, and continuation token propagation through response types (#3808) - agent-framework-core: Add streaming support for code interpreter deltas (#3775)
- agent-framework-core: Add explicit input, output, and workflow_output parameters to
@handler,@executorandrequest_info(#3472) - agent-framework-core: Add explicit schema handling to
@tooldecorator (#3734) - agent-framework-core: New session and context provider types (#3763)
- agent-framework-purview: Add tests to Purview package (#3513)
Changed
- agent-framework-core: [BREAKING] Renamed core types for simpler API:
ChatAgent→Agent,RawChatAgent→RawAgent,ChatMessage→Message,ChatClientProtocol→SupportsChatGetResponse(#3747) - agent-framework-core: [BREAKING] Moved to a single
get_responseandrunAPI (#3379) - agent-framework-core: [BREAKING] Merge
send_responsesintorunmethod (#3720) - agent-framework-core: [BREAKING] Renamed
AgentRunContexttoAgentContext(#3714) - agent-framework-core: [BREAKING] Renamed
AgentProtocoltoSupportsAgentRun(#3717) - agent-framework-core: [BREAKING] Renamed next middleware parameter to
call_next(#3735) - agent-framework-core: [BREAKING] Standardize TypeVar naming convention (
TName→NameT) (#3770) - agent-framework-core: [BREAKING] Refactor workflow events to unified discriminated union pattern (#3690)
- agent-framework-core: [BREAKING] Refactor
SharedStatetoStatewith sync methods and superstep caching (#3667) - agent-framework-core: [BREAKING] Move single-config fluent methods to constructor parameters (#3693)
- agent-framework-core: [BREAKING] Types API Review improvements (#3647)
- agent-framework-core: [BREAKING] Fix workflow as agent streaming output (#3649)
- agent-framework-orchestrations: [BREAKING] Move orchestrations to dedicated package (#3685)
- agent-framework-core: [BREAKING] Remove workflow register factory methods; update tests and samples (#3781)
- agent-framework-core: Include sub-workflow structure in graph signature for checkpoint validation (#3783)
- agent-framework-core: Adjust workflows TypeVars from prefix to suffix naming convention (#3661)
- agent-framework-purview: Update CorrelationId (#3745)
- agent-framework-anthropic: Added internal kwargs filtering for Anthropic client (#3544)
- agent-framework-github-copilot: Updated instructions/system_message logic in GitHub Copilot agent (#3625)
- agent-framework-mem0: Disable mem0 telemetry by default (#3506)
Fixed
- agent-framework-core: Fix workflow not pausing when agent calls declaration-only tool (#3757)
- agent-framework-core: Fix GroupChat orchestrator message cleanup issue (#3712)
- agent-framework-core: Fix HandoffBuilder silently dropping
context_providerduring agent cloning (#3721) - agent-framework-core: Fix subworkflow duplicate request info events (#3689)
- agent-framework-core: Fix workflow cancellation not propagating to active executors (#3663)
- agent-framework-core: Filter
response_formatfrom MCP tool call kwargs (#3494) - agent-framework-core: Fix broken Content API imports in Python samples (#3639)
- agent-framework-core: Potential fix for clear-text logging of sensitive information (#3573)
- agent-framework-core: Skip
model_deployment_namevalidation for application endpoints (#3621) - agent-framework-azure-ai: Fix AzureAIClient dropping agent instructions (Responses API) (#3636)
- agent-framework-azure-ai: Fix AzureAIAgentClient dropping agent instructions in sequential workflows (#3563)
- agent-framework-ag-ui: Fix AG-UI message handling and MCP tool double-call bug (#3635)
- agent-framework-claude: Handle API errors in
run_stream()method (#3653) - agent-framework-claude: Preserve
$defsin JSON schema for nested Pydantic models (#3655)
1.0.0b260130 - 2026-01-30
Added
- agent-framework-claude: Add BaseAgent implementation for Claude Agent SDK (#3509)
- agent-framework-core: Add core types and agents unit tests (#3470)
- agent-framework-core: Add core utilities unit tests (#3487)
- agent-framework-core: Add observability unit tests to improve coverage (#3469)
- agent-framework-azure-ai: Improved AzureAI package test coverage (#3452)
Changed
- agent-framework-core: Added generic types to
ChatOptionsandChatResponse/AgentResponsefor Response Format (#3305) - agent-framework-durabletask: Update durabletask package (#3492)
1.0.0b260128 - 2026-01-28
Changed
- agent-framework-core: [BREAKING] Renamed
@ai_functiondecorator to@toolandAIFunctiontoFunctionTool(#3413) - agent-framework-core: [BREAKING] Add factory pattern to
GroupChatBuilderandMagenticBuilder(#3224) - agent-framework-github-copilot: [BREAKING] Renamed
GithubtoGitHub(#3486)
1.0.0b260127 - 2026-01-27
Added
- agent-framework-github-copilot: Add BaseAgent implementation for GitHub Copilot SDK (#3404)
1.0.0b260123 - 2026-01-23
Added
- agent-framework-azure-ai: Add support for
rai_configin agent creation (#3265) - agent-framework-azure-ai: Support reasoning config for
AzureAIClient(#3403) - agent-framework-anthropic: Add
response_formatsupport for structured outputs (#3301)
Changed
- agent-framework-core: [BREAKING] Simplify content types to a single class with classmethod constructors (#3252)
- agent-framework-core: [BREAKING] Make
response_formatvalidation errors visible to users (#3274) - agent-framework-ag-ui: [BREAKING] Simplify run logic; fix MCP and Anthropic client issues (#3322)
- agent-framework-core: Prefer runtime
kwargsforconversation_idin OpenAI Responses client (#3312)
Fixed
- agent-framework-core: Verify types during checkpoint deserialization to prevent marker spoofing (#3243)
- agent-framework-core: Filter internal args when passing kwargs to MCP tools (#3292)
- agent-framework-core: Handle anyio cancel scope errors during MCP connection cleanup (#3277)
- agent-framework-core: Filter
conversation_idwhen passing kwargs to agent as tool (#3266) - agent-framework-core: Fix
use_agent_middlewarecalling private_normalize_messages(#3264) - agent-framework-core: Add
system_instructionsto ChatClient LLM span tracing (#3164) - agent-framework-core: Fix Azure chat client asynchronous filtering (#3260)
- agent-framework-core: Fix
HostedImageGenerationToolmapping toImageGenToolfor Azure AI (#3263) - agent-framework-azure-ai: Fix local MCP tools with
AzureAIProjectAgentProvider(#3315) - agent-framework-azurefunctions: Fix MCP tool invocation to use the correct agent (#3339)
- agent-framework-declarative: Fix MCP tool connection not passed from YAML to Azure AI agent creation API (#3248)
- agent-framework-ag-ui: Properly handle JSON serialization with handoff workflows as agent (#3275)
- agent-framework-devui: Ensure proper form rendering for
int(#3201)
1.0.0b260116 - 2026-01-16
Added
- agent-framework-azure-ai: Create/Get Agent API for Azure V1 (#3192)
- agent-framework-core: Create/Get Agent API for OpenAI Assistants (#3208)
- agent-framework-ag-ui: Support service-managed thread on AG-UI (#3136)
- agent-framework-ag-ui: Add MCP tool support for AG-UI approval flows (#3212)
- samples: Add AzureAI sample for downloading code interpreter generated files (#3189)
Changed
- agent-framework-core: [BREAKING] Rename
create_agenttoas_agent(#3249) - agent-framework-core: [BREAKING] Rename
WorkflowOutputEvent.source_executor_idtoexecutor_idfor API consistency (#3166)
Fixed
- agent-framework-core: Properly configure structured outputs based on new options dict (#3213)
- agent-framework-core: Correct
FunctionResultContentordering inWorkflowAgent.merge_updates(#3168) - agent-framework-azurefunctions: Update
DurableAIAgentand fix integration tests (#3241) - agent-framework-azure-ai: Create/Get Agent API fixes and example improvements (#3246)
1.0.0b260114 - 2026-01-14
Added
- agent-framework-azure-ai: Create/Get Agent API for Azure V2 (#3059) by @moonbox3
- agent-framework-declarative: Add declarative workflow runtime (#2815) by @moonbox3
- agent-framework-ag-ui: Add dependencies param to ag-ui FastAPI endpoint (#3191) by @moonbox3
- agent-framework-ag-ui: Add Pydantic request model and OpenAPI tags support to AG-UI FastAPI endpoint (#2522) by @claude89757
- agent-framework-core: Add tool call/result content types and update connectors and samples (#2971) by @moonbox3
- agent-framework-core: Add more specific exceptions to Workflow (#3188) by @TaoChenOSU
Changed
- agent-framework-core: [BREAKING] Refactor orchestrations (#3023) by @TaoChenOSU
- agent-framework-core: [BREAKING] Introducing Options as TypedDict and Generic (#3140) by @eavanvalkenburg
- agent-framework-core: [BREAKING] Removed display_name, renamed context_providers, middleware and AggregateContextProvider (#3139) by @eavanvalkenburg
- agent-framework-core: MCP Improvements: improved connection loss behavior, pagination for loading and a param to control representation (#3154) by @eavanvalkenburg
- agent-framework-azure-ai: Azure AI direct A2A endpoint support (#3127) by @moonbox3
Fixed
- agent-framework-anthropic: Fix duplicate ToolCallStartEvent in streaming tool calls (#3051) by @moonbox3
- agent-framework-anthropic: Fix Anthropic streaming response bugs (#3141) by @eavanvalkenburg
- agent-framework-ag-ui: Execute tools with approval_mode, fix shared state, code cleanup (#3079) by @moonbox3
- agent-framework-azure-ai: Fix AzureAIClient tool call bug for AG-UI use (#3148) by @moonbox3
- agent-framework-core: Fix MCPStreamableHTTPTool to use new streamable_http_client API (#3088) by @Copilot
- agent-framework-core: Multiple bug fixes (#3150) by @eavanvalkenburg
1.0.0b260107 - 2026-01-07
Added
- agent-framework-devui: Improve DevUI and add Context Inspector view as a new tab under traces (#2742) by @victordibia
- samples: Add streaming sample for Azure Functions (#3057) by @gavin-aguiar
Changed
- repo: Update templates (#3106) by @eavanvalkenburg
Fixed
- agent-framework-ag-ui: Fix MCP tool result serialization for list[TextContent] (#2523) by @claude89757
- agent-framework-azure-ai: Fix response_format handling for structured outputs (#3114) by @moonbox3
1.0.0b260106 - 2026-01-06
Added
- repo: Add issue template and additional labeling (#3006) by @eavanvalkenburg
Changed
- None
Fixed
- agent-framework-core: Fix max tokens translation and add extra integer test (#3037) by @eavanvalkenburg
- agent-framework-azure-ai: Fix failure when conversation history contains assistant messages (#3076) by @moonbox3
- agent-framework-core: Use HTTP exporter for http/protobuf protocol (#3070) by @takanori-terai
- agent-framework-core: Fix ExecutorInvokedEvent and ExecutorCompletedEvent observability data (#3090) by @moonbox3
- agent-framework-core: Honor tool_choice parameter passed to agent.run() and chat client methods (#3095) by @moonbox3
- samples: AzureAI SharePoint sample fix (#3108) by @giles17
1.0.0b251223 - 2025-12-23
Added
- agent-framework-bedrock: Introducing support for Bedrock-hosted models (Anthropic, Cohere, etc.) (#2610)
- agent-framework-core: Added
response.createdandresponse.in_progressevent process toOpenAIBaseResponseClient(#2975) - agent-framework-foundry-local: Introducing Foundry Local Chat Clients (#2915)
- samples: Added GitHub MCP sample with PAT (#2967)
Changed
- agent-framework-core: Preserve reasoning blocks with OpenRouter (#2950)
1.0.0b251218 - 2025-12-18
Added
- agent-framework-core: Azure AI Agent with Bing Grounding Citations sample (#2892)
- agent-framework-core: Workflow option to visualize internal executors (#2917)
- agent-framework-core: Workflow cancellation sample (#2732)
- agent-framework-core: Azure Managed Redis support with credential provider (#2887)
- agent-framework-core: Additional arguments for Azure AI agent configuration (#2922)
Changed
- agent-framework-ollama: Updated Ollama package version (#2920)
- agent-framework-ollama: Move Ollama samples to samples getting started directory (#2921)
- agent-framework-core: Cleanup and refactoring of chat clients (#2937)
- agent-framework-core: Align Run ID and Thread ID casing with AG-UI TypeScript SDK (#2948)
Fixed
- agent-framework-core: Fix Pydantic error when using Literal types for tool parameters (#2893)
- agent-framework-core: Correct MCP image type conversion in
_mcp.py(#2901) - agent-framework-core: Fix BadRequestError when using Pydantic models in response formatting (#1843)
- agent-framework-core: Propagate workflow kwargs to sub-workflows via WorkflowExecutor (#2923)
- agent-framework-core: Fix WorkflowAgent event handling and kwargs forwarding (#2946)
1.0.0b251216 - 2025-12-16
Added
- agent-framework-ollama: Ollama connector for Agent Framework (#1104)
- agent-framework-core: Added custom args and thread object to
ai_functionkwargs (#2769) - agent-framework-core: Enable checkpointing for
WorkflowAgent(#2774)
Changed
- agent-framework-core: [BREAKING] Observability updates (#2782)
- agent-framework-core: Use agent description in
HandoffBuilderauto-generated tools (#2714) - agent-framework-core: Remove warnings from workflow builder when not using factories (#2808)
Fixed
- agent-framework-core: Fix
WorkflowAgentto include thread conversation history (#2774) - agent-framework-core: Fix context duplication in handoff workflows when restoring from checkpoint (#2867)
- agent-framework-core: Fix middleware terminate flag to exit function calling loop immediately (#2868)
- agent-framework-core: Fix
WorkflowAgentto emityield_outputas agent response (#2866) - agent-framework-core: Filter framework kwargs from MCP tool invocations (#2870)
1.0.0b251211 - 2025-12-11
Added
- agent-framework-core: Extend HITL support for all orchestration patterns (#2620)
- agent-framework-core: Add factory pattern to concurrent orchestration builder (#2738)
- agent-framework-core: Add factory pattern to sequential orchestration builder (#2710)
- agent-framework-azure-ai: Capture file IDs from code interpreter in streaming responses (#2741)
Changed
- agent-framework-azurefunctions: Change DurableAIAgent log level from warning to debug when invoked without thread (#2736)
Fixed
- agent-framework-core: Added more complete parsing for mcp tool arguments (#2756)
- agent-framework-core: Fix GroupChat ManagerSelectionResponse JSON Schema for OpenAI Structured Outputs (#2750)
- samples: Standardize OpenAI API key environment variable naming (#2629)
1.0.0b251209 - 2025-12-09
Added
- agent-framework-core: Support an autonomous handoff flow (#2497)
- agent-framework-core: WorkflowBuilder registry (#2486)
- agent-framework-a2a: Add configurable timeout support to A2AAgent (#2432)
- samples: Added Azure OpenAI Responses File Search sample + Integration test update (#2645)
- samples: Update fan in fan out sample to show concurrency (#2705)
Changed
- agent-framework-azure-ai: [BREAKING] Renamed
async_credentialtocredential(#2648) - samples: Improve sample logging (#2692)
- samples: azureai image gen sample update (#2709)
Fixed
- agent-framework-core: Fix DurableState schema serializations (#2670)
- agent-framework-core: Fix context provider lifecycle agentic mode (#2650)
- agent-framework-devui: Fix WorkflowFailedEvent error extraction (#2706)
- agent-framework-devui: Fix DevUI fails when uploading Pdf file (#2675)
- agent-framework-devui: Fix message serialization issue (#2674)
- observability: Display system prompt in langfuse (#2653)
1.0.0b251204 - 2025-12-04
Added
- agent-framework-core: Add support for Pydantic
BaseModelas function call result (#2606) - agent-framework-core: Executor events now include I/O data (#2591)
- samples: Inline YAML declarative sample (#2582)
- samples: Handoff-as-agent with HITL sample (#2534)
Changed
- agent-framework-core: [BREAKING] Support Magentic agent tool call approvals and plan stalling HITL behavior (#2569)
- agent-framework-core: [BREAKING] Standardize orchestration outputs as list of
Message; allow agent as group chat manager (#2291) - agent-framework-core: [BREAKING] Respond with
AgentRunResponseincluding serialized structured output (#2285) - observability: Use
executor_idandedge_group_idas span names for clearer traces (#2538) - agent-framework-devui: Add multimodal input support for workflows and refactor chat input (#2593)
- docs: Update Python orchestration documentation (#2087)
Fixed
- observability: Resolve mypy error in observability module (#2641)
- agent-framework-core: Fix
AgentRunResponse.created_atreturning local datetime labeled as UTC (#2590) - agent-framework-core: Emit
ExecutorFailedEventbeforeWorkflowFailedEventwhen executor throws (#2537) - agent-framework-core: Fix MagenticAgentExecutor producing
reprstring for tool call content (#2566) - agent-framework-core: Fixed empty text content Pydantic validation failure (#2539)
- agent-framework-azure-ai: Added support for application endpoints in Azure AI client (#2460)
- agent-framework-azurefunctions: Add MCP tool support (#2385)
- agent-framework-core: Preserve MCP array items schema in Pydantic field generation (#2382)
- agent-framework-devui: Make tool call view optional and fix links (#2243)
- agent-framework-core: Always include output in function call result messages (#2414)
- agent-framework-redis: Fix TypeError (#2411)
1.0.0b251120 - 2025-11-20
Added
- agent-framework-core: Introducing support for declarative YAML spec (#2002)
- agent-framework-core: Use AI Foundry evaluators for self-reflection (#2250)
- agent-framework-core: Propagate
as_tool()kwargs and add runtime context + middleware sample (#2311) - agent-framework-anthropic: Anthropic Foundry integration (#2302)
- samples: M365 Agent SDK Hosting sample (#2292)
- samples: Foundry Sample for A2A + SharePoint Samples (#2313)
Changed
- agent-framework-azurefunctions: [BREAKING] Schema changes for Azure Functions package (#2151)
- agent-framework-core: Move evaluation folders under
evaluations(#2355) - agent-framework-core: Move red teaming files to their own folder (#2333)
- agent-framework-core: "fix all" task now single source of truth (#2303)
- agent-framework-core: Improve and clean up exception handling (#2337, #2319)
- agent-framework-core: Clean up imports (#2318)
Fixed
- agent-framework-azure-ai: Fix for Azure AI client (#2358)
- agent-framework-core: Fix tool execution bleed-over in aiohttp/Bot Framework scenarios (#2314)
- agent-framework-core:
@ai_functionnow correctly handlesselfparameter (#2266) - agent-framework-core: Resolve string annotations in
FunctionExecutor(#2308) - agent-framework-core: Langfuse observability captures Agent system instructions (#2316)
- agent-framework-core: Incomplete URL substring sanitization fix (#2274)
- observability: Handle datetime serialization in tool results (#2248)
1.0.0b251117 - 2025-11-17
Fixed
- agent-framework-ag-ui: Fix ag-ui state handling issues (#2289)
1.0.0b251114 - 2025-11-14
Added
- samples: Bing Custom Search sample using
HostedWebSearchTool(#2226) - samples: Fabric and Browser Automation samples (#2207)
- samples: Hosted agent samples (#2205)
- samples: Azure OpenAI Responses API Hosted MCP sample (#2108)
- samples: Bing Grounding and Custom Search samples (#2200)
Changed
- agent-framework-azure-ai: Enhance Azure AI Search citations with complete URL information (#2066)
- agent-framework-azurefunctions: Update samples to latest stable Azure Functions Worker packages (#2189)
- agent-framework-azure-ai: Agent name now required for
AzureAIClient(#2198) - build: Use
uv buildfor packaging (#2161) - tooling: Pre-commit improvements (#2222)
- dependencies: Updated package versions (#2208)
Fixed
- agent-framework-core: Prevent duplicate MCP tools and prompts (#1876) (#1890)
- agent-framework-devui: Fix HIL regression (#2167)
- agent-framework-chatkit: ChatKit sample fixes (#2174)
1.0.0b251112.post1 - 2025-11-12
Added
- agent-framework-azurefunctions: Merge Azure Functions feature branch (#1916)
Fixed
- agent-framework-ag-ui: fix tool call id mismatch in ag-ui (#2166)
1.0.0b251112 - 2025-11-12
Added
- agent-framework-azure-ai: Azure AI client based on new
azure-ai-projectspackage (#1910) - agent-framework-anthropic: Add convenience method on data content (#2083)
Changed
- agent-framework-core: Update OpenAI samples to use agents (#2012)
Fixed
- agent-framework-anthropic: Fixed image handling in Anthropic client (#2083)
1.0.0b251111 - 2025-11-11
Added
- agent-framework-core: Add OpenAI Responses Image Generation Stream Support with partial images and unit tests (#1853)
- agent-framework-ag-ui: Add concrete AGUIChatClient implementation (#2072)
Fixed
- agent-framework-a2a: Use the last entry in the task history to avoid empty responses (#2101)
- agent-framework-core: Fix MCP Tool Parameter Descriptions not propagated to LLMs (#1978)
- agent-framework-core: Handle agent user input request in AgentExecutor (#2022)
- agent-framework-core: Fix Model ID attribute not showing up in
invoke_agentspan (#2061) - agent-framework-core: Fix underlying tool choice bug and enable return to previous Handoff subagent (#2037)
1.0.0b251108 - 2025-11-08
Added
- agent-framework-devui: Add OpenAI Responses API proxy support + HIL (Human-in-the-Loop) for Workflows (#1737)
- agent-framework-purview: Add Caching and background processing in Python Purview Middleware (#1844)
Changed
- agent-framework-devui: Use metadata.entity_id instead of model field (#1984)
- agent-framework-devui: Serialize workflow input as string to maintain conformance with OpenAI Responses format (#2021)
1.0.0b251106.post1 - 2025-11-06
Fixed
- agent-framework-ag-ui: Fix ag-ui examples packaging for PyPI publish (#1953)
1.0.0b251106 - 2025-11-06
Changed
- agent-framework-ag-ui: export sample ag-ui agents (#1927)
1.0.0b251105 - 2025-11-05
Added
- agent-framework-ag-ui: Initial release of AG-UI protocol integration for Agent Framework (#1826)
- agent-framework-chatkit: ChatKit integration with a sample application (#1273)
- Added parameter to disable agent cleanup in AzureAIAgentClient (#1882)
- Add support for Python 3.14 (#1904)
Changed
Fixed
- Fix missing packaging dependency (#1929)
1.0.0b251104 - 2025-11-04
Added
- Introducing the Anthropic Client (#1819)
Changed
- [BREAKING] Consolidate workflow run APIs (#1723)
- [BREAKING] Remove request_type param from ctx.request_info() (#1824)
- [BREAKING] Cleanup of dependencies (#1803)
- [BREAKING] Replace
RequestInfoExecutorwithrequest_infoAPI and@response_handler(#1466) - Azure AI Search Support Update + Refactored Samples & Unit Tests (#1683)
- Lab: Updates to GAIA module (#1763)
Fixed
- Azure AI
top_pandtemperatureparameters fix (#1839) - Ensure agent thread is part of checkpoint (#1756)
- Fix middleware and cleanup confusing function (#1865)
- Fix type compatibility check (#1753)
- Fix mcp tool cloning for handoff pattern (#1883)
1.0.0b251028 - 2025-10-28
Added
- Added thread to AgentRunContext (#1732)
- AutoGen migration samples (#1738)
- Add Handoff orchestration pattern support (#1469)
- Added Samples for HostedCodeInterpreterTool with files (#1583)
Changed
- [BREAKING] Introduce group chat and refactor orchestrations. Fix as_agent(). Standardize orchestration start msg types. (#1538)
- [BREAKING] Update Agent Framework Lab Lightning to use Agent-lightning v0.2.0 API (#1644)
- [BREAKING] Refactor Checkpointing for runner and runner context (#1645)
- Update lab packages and installation instructions (#1687)
- Remove deprecated add_agent() calls from workflow samples (#1508)
Fixed
- Reject @executor on staticmethod/classmethod with clear error message (#1719)
- DevUI Fix Serialization, Timestamp and Other Issues (#1584)
- MCP Error Handling Fix + Added Unit Tests (#1621)
- InMemoryCheckpointManager is not JSON serializable (#1639)
- Fix gen_ai.operation.name to be invoke_agent (#1729)
1.0.0b251016 - 2025-10-16
Added
- Add Purview Middleware (#1142)
- Added URL Citation Support to Azure AI Agent (#1397)
- Added MCP headers for AzureAI (#1506)
- Add Function Approval UI to DevUI (#1401)
- Added function approval example with streaming (#1365)
- Added A2A AuthInterceptor Support (#1317)
- Added example with MCP and authentication (#1389)
- Added sample with Foundry Redteams (#1306)
- Added AzureAI Agent AI Search Sample (#1281)
- Added AzureAI Bing Connection Name Support (#1364)
Changed
- Enhanced documentation for dependency injection and serialization features (#1324)
- Update README to list all available examples (#1394)
- Reorganize workflows modules (#1282)
- Improved thread serialization and deserialization with better tests (#1316)
- Included existing agent definition in requests to Azure AI (#1285)
- DevUI - Internal Refactor, Conversations API support, and performance improvements (#1235)
- Refactor
RequestInfoExecutor(#1403)
Fixed
- Fix AI Search Tool Sample and improve AI Search Exceptions (#1206)
- Fix Failure with Function Approval Messages in Chat Clients (#1322)
- Fix deadlock in Magentic workflow (#1325)
- Fix tool call content not showing up in workflow events (#1290)
- Fixed instructions duplication in model clients (#1332)
- Agent Name Sanitization (#1523)
1.0.0b251007 - 2025-10-07
Added
- Added method to expose agent as MCP server (#1248)
- Add PDF file support to OpenAI content parser with filename mapping (#1121)
- Sample on integration of Azure OpenAI Responses Client with a local MCP server (#1215)
- Added approval_mode and allowed_tools to local MCP (#1203)
- Introducing AI Function approval (#1131)
- Add name and description to workflows (#1183)
- Add Ollama example using OpenAIChatClient (#1100)
- Add DevUI improvements with color scheme, linking, agent details, and token usage data (#1091)
- Add semantic-kernel to agent-framework migration code samples (#1045)
Changed
- [BREAKING] Parameter naming and other fixes (#1255)
- [BREAKING] Introduce add_agent functionality and added output_response to AgentExecutor; agent streaming behavior to follow workflow invocation (#1184)
- OpenAI Clients accepting api_key callback (#1139)
- Updated docstrings (#1225)
- Standardize docstrings: Use Keyword Args for Settings classes and add environment variable examples (#1202)
- Update References to Agent2Agent protocol to use correct terminology (#1162)
- Update getting started samples to reflect AF and update unit test (#1093)
- Update Lab Installation instructions to install from source (#1051)
- Update python DEV_SETUP to add brew-based uv installation (#1173)
- Update docstrings of all files and add example code in public interfaces (#1107)
- Clarifications on installing packages in README (#1036)
- DevUI Fixes (#1035)
- Packaging fixes: removed lab from dependencies, setup build/publish tasks, set homepage url (#1056)
- Agents + Chat Client Samples Docstring Updates (#1028)
- Python: Foundry Agent Completeness (#954)
Fixed
- Ollama + azureai openapi samples fix (#1244)
- Fix multimodal input sample: Document required environment variables and configuration options (#1088)
- Fix Azure AI Getting Started samples: Improve documentation and code readability (#1089)
- Fix a2a import (#1058)
- Fix DevUI serialization and agent structured outputs (#1055)
- Default DevUI workflows to string input when start node is auto-wrapped agent (#1143)
- Add missing pre flags on pip packages (#1130)
1.0.0b251001 - 2025-10-01
Added
- First release of Agent Framework for Python
- agent-framework-core: Main abstractions, types and implementations for OpenAI and Azure OpenAI
- agent-framework-azure-ai: Integration with Azure AI Foundry Agents
- agent-framework-copilotstudio: Integration with Microsoft Copilot Studio agents
- agent-framework-a2a: Create A2A agents
- agent-framework-devui: Browser-based UI to chat with agents and workflows, with tracing visualization
- agent-framework-mem0 and agent-framework-redis: Integrations for Mem0 Context Provider and Redis Context Provider/Chat Memory Store
- agent-framework: Meta-package for installing all packages
For more information, see the announcement blog post.