- Updated Agent Framework from 1.0.0 to 1.1.0
- Updated AWSSDK NuGets to latest
- Updated OpenTelemetry NuGet to latest
- Anthropic: Added
UseAdaptiveThinkingto use with 4.6 Models instead of theBudgetTokensproperty
- Updated Agent Framework from rc5 to 1.0.0 (General Availability)
- Updated Agent Framework from rc4 to rc5
- Fixed that
ChatBatchRunResult(intended name) was incorrectly calledBatchRunResult
- Added
AzureOpenAIBatchRunnerfor Chat Batch Capabilities - Added
OpenAIBatchRunnerfor Chat and Embedding Batch Capabilities - Updated AWSSDK NuGets to latest
- Updated Azure.Identity NuGet to latest
- Updated OpenTelemetry NuGet to latest
- Added GPT 5.4 mini/nano as known models
- Updated Agent Framework from rc3 to rc4
- Updated ModelContextProtocol from 1.0.0 to 1.1.0.
- Updated AWSSDK.BedrockRuntime from 4.0.16.1 to 4.0.16.2
- Updated AWSSDK.Extensions.Bedrock.MEAI from 4.0.5.8 to 4.0.5.9
- Updated Azure.Identity from 1.18.0 to 1.19.0
- Updated Google.GenAI from 1.2.0 to 1.3.0
- Anthropic: Added Support for Structured Output (custom implementation, as Anthropic does not adhere to common practice, but the outcome is the same).
- Update the various Model Constants with the latest releases
- AzureOpenAI: Endpoint Pattern
https://<name>.openai.azure.com/openai/v1is now also auto-corrected by default (to:https://<name>.openai.azure.com) - Added
AgentSession.GetMessages()extension method for easier discoverability on getting messages from a session (Require that the session belongs to an agent that uses the default InMemoryChatHistory) - Added Cerebras provider (
AgentFrameworkToolkit.Cerebras)
- Bump Agent Framework from rc2 to rc3
- Bump Google.GenAI NuGet from 1.1.0 to 1.2.0
- Bump Azure.Identity from 1.17.1 to 1.18.0
- Bump Microsoft Agent Framework from v.1.0-rc1 to v.1.0-rc2
- Removed
.RunAsync<T>(...)polyfill (AIAgentExtensions.cs) that dealt with AF Issue #4118 as it is now fixed. - Added dedicated Constructors for the various connection classes for easier construction.
- Bump ModelContextProtocol NuGet from 0.8.0-preview1 to 1.0.0
- Bump AWSSDK.BedrockRuntime" NuGet from 4.0.16 to 4.0.16.1
- Bump AWSSDK.Extensions.Bedrock.MEAI Nuget from 4.0.5.7 to 4.0.5.8
- [BREAKING] Upgraded and fixed breaking changes from Microsoft Agent Framework v.1.0-rc1
- Important Note: AF now has
.RunAsync<T>(...)directly on AIAgent, which, on paper, makesAIAgentExtensions.csnot needed anymore, but due to a bug in RC1 (microsoft/agent-framework#4118) it is currently used as a polyfill for Microsoft's bug. This however, has a side-effect that if you use the AgentFactories, but consume the agents asAIAgentI can't serve the polyfill version to you due to new real (buggy) implementation and polyfill have same name. Workaround for this is to consume factor as named Agent (exampleOpenAIAgentor my generic versionAgentor use the extension method like thisAIAgentExtensions.RunAsync<T>()). Once Microsoft fix their issue the polyfill workaround can go away and all scenarions will work again
- Important Note: AF now has
- AgentSkills: Fixed the body of the skill did not add line breaks (PR#46 : Thanks to @visasnouski for the fix 👍)
- [BREAKING] Upgraded and fixed breaking changes from Microsoft Agent Framework v.1.0.0-preview.260212.1
- Added
RandomTools(Suggest random number since AI is not good at that) - Added
EmailTools(Send basic SMTP Emails via AI) - OpenAI: Added option to set
service_tier - Upgraded Google.GenAI NuGet from 0.15.0 to 1.0.0
- [BREAKING] Upgraded and fixed breaking changes from Microsoft Agent Framework v.1.0.0-preview.260209.1
- Added domain confinement options for
HttpClientToolsandWebsiteToolsto allow restricting calls to exact allowed domains.
- [BREAKING] Upgraded and fixed breaking changes from Microsoft Agent Framework v.1.0.0-preview.260205.1
GetNewSessionAsyncis now called ``
- Bump Google.GenAI to 0.15.0
- Bump AWSSDK.BedrockRuntime to 4.0.16
- Bump ModelContextProtocol to 0.8.0-preview.1
- All Provider-specific Agents now derive from a generic
Agent(with the raw AIAgent as the Inner Agent) to reduce code redundency
- Bump Google.GenAI from 0.13.1 to 0.14.0 (PR#42)
- Bump AWSSDK.BedrockRuntime and AWSSDK.Extensions.Bedrock.MEAI (PR#41)
- Upgraded to Microsoft Agent Framework v.1.0.0-preview.260128.1 (No changes)
- [BREAKING] Upgraded and fixed breaking changes from Microsoft Agent Framework v.1.0.0-preview.260127.1
ChatHistoryProviderFactoryis now calledChatHistoryProviderFactory
- Added Amazon Bedrock provider (
AgentFrameworkToolkit.AmazonBedrock) - Moved AIToolsFactory to its own NuGetPackage (
AgentFrameworkToolkit.Toolto allow usage without dependency onMicrosoft.Agents.AI) - Added a common set of AI Tools ('FileSystemTools', 'HttpClientTools', 'Timetools', 'WeatherTools', and 'WebsiteTools')
- Google: Added
Networktimeoutoption (so you don't need to define it in miliseconds via http-options) - Google: Bump internal NuGet to 0.13.1
- [BREAKING] Upgraded and fixed breaking changes from Microsoft Agent Framework v.1.0.0-preview.260121.1
- Bumped OpenTelemetry package to 1.15.0
- Added
GetTextReasoningContentextension method to easily get the Reasoning text (if any) from an AgentResponse. - Added
GetContainerFileCitationMessageAnnotationsextension method to easily get ContainerFileCitations from, for example, a Code Interpreter usage (OpenAI-based agents only). - Google: Bump internal NuGet to 0.12.0
- Google: [BREAKING] Switched to the official Google NuGet Package (only breaking in Connection part if Google Vertex is used)
- Google: Added GoogleEmbeddingFactory
- Google: Added
ThinkingLevelandIncludeThoughtsin options .RunAsync<T>(...)in AIAgentExtensions now used provided serializationOptions (if given); only creating it's own if null..RunAsync<T>(...)now support List/Array as T (using similar object wrapping technique as Microsoft.Extensions.AI)- AzureOpenAI: Added Auto-correction of the Endpoint if you by mistake give the entire foundry url 'https://[name].services.ai.azure.com/api/projects/[project]' by on the fly correcting it to 'https://[name].services.ai.azure.com'. This is on by default, but can be turned off by setting property
AutoCorrectFoundryEndpointto false - Fixed that the AIAgentExtensions was in a wrongly named class called AIToolsExtensions
- [BREAKING]
ApplyMiddlewareon the various options objects are moved to a centralMiddlewareHelperto reduce code-duplication
- Bumped Agent Framework Nuget Packages to '1.0.0-preview.260108.1' and fixed breaking changes (nothing breaking for the Toolkit itself)
- Added option to work with AgentSkills in the
AIToolsFactoryor with the dedicatedAgentSkillsFactory - Anthropic: Added
Endpointproperty to connection so you can override the default BaseUrl (and, for example, consume an Anthropic model from Microsoft Foundry using the Anthropic API)
- Added
OpenAIEmbeddingModelsconst-collection of Open AI Embedding Models - Exposed
Connectionas a Property on all Factories - NuGet: Changed Project URL to be the Wiki
- Upgraded 'Google_GenerativeAI.Microsoft' NuGet from 3.4.1 to 3.6.1
- Added support for setting
AIContextProviderFactoryandChatHistoryProviderFactoryon Agents - Removed obsolete
OpenAIAgentOptionsForChatClientWithoutReasoning,OpenAIAgentOptionsForChatClientWithReasoning,OpenAIAgentOptionsForResponseApiWithoutReasoningandOpenAIAgentOptionsForResponseApiWithReasoning(UseAgentOptionsinstead) - Added missing Dependency Injection options for EmbeddingFactory in Providers
MistralandOpenRouter - Added Cohere as provider
- [BREAKING] Athropic: Renamed 'maxTokenCount' to 'maxOutputTokens' to have consistent naming in the simplified CreateAgent method
- Added support for easy Tool-Calling Middleware (allowing you to inspect, manipulate and cancel tool-calling)
- Added support for easy OpenTelemetry Middleware (Logging in the OpenTelemetry standard)
- Added support for easy Logging Middleware (Custom Logging)
- Added OpenRouterEmbeddingFactory
- Added MistralEmbeddingFactory
- Restructured README
- Added individual provider README files
- Changed
AITool[]?parameter in simplifiedCreateAgentmethods to beIList<AITool>?for consistency - Fixed that the OpenAI based simplified
CreateAgentmethods (aka not using AgentOptions) forcedClientType.ChatClientinstead of using the default in the Connection. - Fixed that if ClientType was not set on Agent Level, Reasoning Effort was not properly added
- Fixed that MCP Tools could be defined but not called
- [BREAKING] GitHub: Renamed
PersonalAccessTokenorAccessTokenas it do not need to be personal all the time (it can example be generated by a GitHub App) - Added Unit/Integration-tests to try and avoid silly mistakes like those in previous and this release in going forward.
- Fixed that not all OpenAI based
CreateAgentmethods would set theLoggerFactory,ClientFactoryandServices(Thank you to LennartJohansen for pointing it out in #26
- Added central build management and reorganized project structure (Huge thanks to gurolg for PR#24 doing the work)
- Add CONTRIBUTING.md (Again thanks to gurolg)
- Bumped
Microsoft.Agents.AIversion to latest (1.0.0-preview.251219.1) to be compatible with latest breaking changes- Removed Agent Display name as AF does not have it anymore
- Remove Agent ID as an override, as it is not overridable anymore
- Resolved new OpenAI Nuget Package renames in ResponsesAPI
- Renamed
ToolCallsHandler.ToolCallingMiddlewaretoToolCallingMiddlewareAsync - Added
DefaultClientTypeto OpenAI/AzureOpenAI-based providers so you can define ifChatClientorResponsesAPIis the defaultClientTypefor Agents that do not define it themself
- Added
AIToolsFactoryto make it easier to create and define AI Tools - [BREAKING] Obsoleted
OpenAIAgentOptionsForChatClientWithoutReasoning,OpenAIAgentOptionsForChatClientWithReasoning,OpenAIAgentOptionsForResponseApiWithoutReasoningandOpenAIAgentOptionsForResponseApiWithReasoningas these names were 'too much' and confused (Use AgentOptions instead (withClientTypeandReasoningEffortEnums to control the option)) - Added support for
IServiceProvider,ILoggerFactory, andClientFactoryin Agent Creation
- Added option to get Raw Client from the various Connection Objects (Except for the Google Connection, as switch to the new official Google Nuget is expected soon)
- OpenRouter and XAI Connection are now inherited from OpenAI Connections
- OpenAI + AzureOpenAI: Added EmbeddingFactory
- Bumped
Microsoft.Agents.AIversion to latest (1.0.0-preview.251204.1) to be compatible with latest breaking change around Instructions
- AzureOpenAI: Added RBAC Support (TokenCredentials)
- Enabled "Treat Warnings as Errors"
- Added .editorconfig
- Removed all todos in the code.
- Added GitHub provider NuGet Package
- Everything now has XML Summaries
- [BREAKING] Renamed
DeploymentModelNametoModelto make it simpler to understand (Sorry to existing users, but better now than later) - [BREAKING] Renamed
RequestJsonandResponseJsontoRequestDataandResponseDataas not all LLMs use JSON for communication (e.g., Anthropic response data is not JSON) - OpenAI: Added
WithOpenAIResponsesApiReasoningandWithOpenAIChatClientReasoningExtension Methods forChatOptions(if you do not wish to use AgentFactory, but still wish to have an easier time to set OpenAI Reasoning) - Fixed that
ServiceCollectionExtensionsfor Google was in the wrong namespace - Fixed that Mistral had an
AddAnthropicAgentFactorymethod (wrong name) - Fixed that OpenAI ResponseAPI without reasoning, Agents did not get their Temperature set
- Anthropic: Replaced the unofficial
Anthropic.SDKnuget package with the officialMicrosoft.Agents.AI.Anthropicnuget package instead. - [BREAKING] Removed the
UseInterleavedThinkingoption from the Anthropic Package, as it actually did not do anything.
- Bumped
Microsoft.Agents.AIversion to latest (1.0.0-preview.251125.1) - Fixed that RawCallDetail would fail if input or output was not JSON (like the output of an Anthropic call)
- Added OpenRouter provider NuGet Package
- [OpenAI] Added
OpenAIChatModelsof the most common models - [Anthropic] Added
AnthropicChatModelsof the most common models - [XAI] Added
XAIChatModelsof the most common models - [Mistral] Added
MistralChatModelsof the most common models - [Google] Added
GoogleChatModelsof the most common models - [OpenRouter] Added
OpenRouterChatModelsof the most common models
- [BREAKING] Moved NetworkTimeout from Request to Connection as it makes more sense (might introduce a per-agent override if needed in the future)
- Added Dependency Injection Methods for all the AgentFactories
- Added Extension Method for AIAgent to have .RunAsync<>(...) for Structured Output
- Added Mistral provider NuGet Package
- Gave each package its own Description
- Added Samples to README.md
- Moved to central NuGet-props + adopted the same versioning as Microsoft Agent Framework
- Added Simplified Agent Factory Constructors
- Added various simplified CreateAgent (XAI, OpenAI, AzureOpenAI)