github.com-microsoft-semantic-kernel
all · 12 devs · built 2026-06-08
Repository snapshot
Monthly reports
Highlights
- Significant *security enhancements* were implemented for *OpenAPI plugins* in both .NET and Python, including default-on server URL validation to prevent SSRF ([3e180c16 · SergeyMenshykh]) and refined reference resolution ([644eb0a9 · SergeyMenshykh]).
- The *.Net Agent Framework* integration was successfully migrated to its 1.0 GA release, involving extensive refactoring and updating 31 migration samples ([fdc6e68f · Roger Barreto]).
- The *.Net CloudDrivePlugin* received robust *security hardening*, introducing path validation, controlling allowed paths, and implementing a deny-by-default allowlist for uploads ([3dd139b2 · SergeyMenshykh], [2a719ca3 · SergeyMenshykh]).
- New *multimodal support* was added for `ImageContent` in tool/function results, particularly enhancing the *Google Gemini Connector* to process images generated by tools ([b7ae840d · Cozmopolit]).
- The *Python HttpPlugin* was hardened with stricter URL validation and improved redirect handling, enhancing overall security ([32abf99e · SergeyMenshykh]).
Observations
- The grow score increased by 44% (2 this month vs 1 2-month average), indicating a strong focus on delivering new capabilities and significant improvements, despite a lower commit count.
- Commit volume decreased by 33% (23 this month vs 34 2-month average), suggesting a more concentrated effort on fewer, higher-impact changes.
- A consistent pattern of *security hardening* was observed across various components, including *OpenAPI plugins*, *HttpPlugin*, *CloudDrivePlugin*, *DocumentPlugin*, and *gRPC plugin*, often involving input validation, path canonicalization, and vulnerability fixes ([3e180c16 · SergeyMenshykh], [644eb0a9 · SergeyMenshykh], [32abf99e · SergeyMenshykh], [3dd139b2 · SergeyMenshykh], [446c2eff · SergeyMenshykh], [52d4e5ce · SergeyMenshykh], [1a5065e5 · SergeyMenshykh], [2a719ca3 · SergeyMenshykh]).
- Several commits addressed compatibility issues and breaking changes from external dependencies, such as stopping access to private Azure SDK attributes ([a7cea9ab · SergeyMenshykh]) and pinning `azure-search-documents` due to a breaking change ([3f0e2d58 · SergeyMenshykh]).
- Maintenance activity saw a 26% increase (5 this month vs 4 2-month average), driven by the *Agent Framework* migration and various version bumps and dependency updates to address vulnerabilities ([fdc6e68f · Roger Barreto], [59000324 · Roger Barreto], [73d3c599 · SergeyMenshykh], [fb10d92d · Copilot]).
- A bug fix was implemented for logging `KernelFunction` results in AOT mode, providing a fallback to `ToString()` to improve diagnosability for unregistered types ([006a5d9a · Octopus]).
Performance over time
ETV stacked by Growth, Maintenance and Fixes — 90-day moving average, normalized to ETV / month.
Average performance per developer
ETV per active developer per month — 30-day moving average.
Active developers over time
Unique developers committing each day — 90-day moving average.
Knowledge concentration
How dependent is this repo on a small number of contributors? Higher top-1 share = higher key-person risk.
Evan Mattson owns 25.7 % of commits.
Top contributors
Most impactful commits
Top 20 by ETV in the all-time window.
- 6.9ETV.Net - Agent Runtime (#11648) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Move _Agent Runtime_ from dedicated repo ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> This ports the three projects/packages from the shared runtime repo + tests ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile:Chris · e2cda700 · 2025-04-21
- 5.2ETV.Net - Agent Orchestration (#11542) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Add support for multi-agent orchestration patterns based on using the the shared _AutoGen_ Agent Runtime. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> - Introduce framework for defining an `AgentOrchestration` - Include support for Sequential, Concurrent, Handoff, and GroupChat orchestrations - Includes unit-tests and samples ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile: --------- Co-authored-by: Tao Chen <taochen@microsoft.com>Chris · da59f7ee · 2025-05-15
- 3.1ETV.Net Agents - Fix and streamlining for `OpenAIAssistantAgent` (#10583) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Adjust design approach for `OpenAIAssistantAgent` to match that of `AzureAIAgent`, specifically around exposing the public constructor and not requiring the use of static factory methods. This approach enables all features present in the underlying SDK and addresses several initialization bugs based on the hidden/private constructor. > Obsolete methods are maintained for compatibility, but will not be graduated. Eventually, it is likely they will be removed. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> **Changes:** - Exposed public constructor for `OpenAIAssistantAgent` - Now support all assistant features (available in the SDK) - Deprecated factory methods and functional wrappers - Exposed extension methods to facilitate common operations - Adjusted all samples and tests - No single sample increased its line count...most have less lines of code **Fixes:** - Fixes: https://github.com/microsoft/semantic-kernel/issues/10110 - Fixes: https://github.com/microsoft/semantic-kernel/issues/10160 - Fixes: https://github.com/microsoft/semantic-kernel/issues/10390 - Fixes: https://github.com/microsoft/semantic-kernel/issues/10397 - Fixes: https://github.com/microsoft/semantic-kernel/issues/8222 - Fixes: https://github.com/microsoft/semantic-kernel/issues/6795 ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile:Chris · e1833995 · 2025-02-19
- 2.6ETVPython: Introduce the OpenAI Responses Agent (#11240) ### Motivation and Context OpenAI recently released their Responses API, which is their newest core API and an agentic API primitive, combining the simplicity of Chat Completions with the ability to do more agentic tasks. Azure OpenAI also recently released the Responses API, with close-to feature parity with OpenAI's SDK. It gives us enough to introduce an `AzureResponsesAgent` and an `OpenAIResponsesAgent` to Semantic Kernel. <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> ### Description This PR introduces: - The `AzureResponsesAgent` and `OpenAIResponsesAgent` - Allows use of the web search tool with `OpenAI` (`Azure OpenAI` currently doesn't support this). - Allows use of the file search tool with both `OpenAI` and `Azure OpenAI`. - Provides getting started samples for both agent types. **TODO:** - Add unit test coverage for the `ResponsesAgentThreadActions` class. - Add support for the computer user agent tool. - Improve typing in the `ResponsesAgentThreadActions` class. - Closes #11026 <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile:Evan Mattson · 329a35ed · 2025-04-02
- 2.5ETV.Net: Add adapters to allow SK agents to be exposed as AIAgent (#13240) ### Motivation and Context https://github.com/microsoft/agent-framework/issues/1122 ### Description Add adapters to allow SK agents to be exposed as AIAgent ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone :smile:westey · c989c5ae · 2025-10-14
- 2.4ETV.Net: Feature OpenAI Response Agent (#11498) ### Motivation and Context Semantic Kernel `Agent` implementation backed by the Open AI Response API. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Add agent, samples, and tests for `OpenAIResponseAgent` ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile: --------- Co-authored-by: Chris <66376200+crickman@users.noreply.github.com> Co-authored-by: Chris Rickman <crickman@microsoft.com> Co-authored-by: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com>Mark Wallace · aabfc9c0 · 2025-06-10
- 2.3ETV.Net: [MEVD] More test cleanup (#13320) Another batch of test cleanup work - this almost concludes what I have planned for the tests. * We no longer create any collections with GUID names; all collections have a manually-defined name, and are deleted when a test starts running. This ensures that no collections are left behind if a test crashes or is stopped in the middle, and makes it easier to examine the database. * Removed global SimpleRecord and SimpleFixture, each test suite now has its own record and fixture. * Cleaned up and renamed DistanceFunctionTests to only focus on testing the different distance functions, and added corresponding tests elsewhere. * Added IndexKindTests to specifically cover different index types.Shay Rojansky · 3eb869e1 · 2025-11-03
- 2.3ETVPython: Introducing Realtime Clients for OpenAI and Azure OpenAI (#10127) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Implements the OpenAI Realtime API with Semantic Kernel ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Adds a RealtimeClientBase Adds RealtimeEvents Adds OpenAI and Azure Realtime clients Closes: #10108 ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone :smile: --------- Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>Eduard van Valkenburg · de54193a · 2025-03-04
- 2.1ETVPython: Add support for Azure AI Agent Service (#10414) ### Motivation and Context Azure AI Agents are a managed offering, and are built on top of the OpenAI assistant v2 APIs. Until now we have not had support for them in SK Python. This PR adds support for Azure AI Agents in SK Python. The current abstractions allow one to run managed Azure AI Agents using SK constructs as is demonstrated via the getting started samples and/or the `azure_ai_agent` concept code samples. The developer must first follow the required Azure AI Agent deployment steps, and bring their connection string as well as their model deployment name. <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> ### Description Add support for Azure AI Agent Service in SK - Add sample code - Add unit tests - Restructures the `getting_started_with_agents` samples to move the respective agent code into folders like `chat_completion`, `azure_ai_agent`, etc. Updates the README as well. - Closes #10187 **TODO**: add more test coverage either in this PR, or a subsequent one. <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile:Evan Mattson · c3ab7133 · 2025-02-07
- 2.0ETV.Net: MEVD data type tests (#12567) Closes #12505Shay Rojansky · 9f33c90c · 2025-07-07
- 2.0ETVPython: Introduce the chat history reducer (#10190) ### Motivation and Context The SK Python framework has been missing the ability to configure a chat history reducer of type `ChatHistoryTruncationReducer` and `ChatHistorySummarizationReducer` which have existed in the .Net SK Agent framework for some time. The goal of this PR is to introduce the chat history reducers and allow them for use for not only the agent framework, but also anything else that uses a chat history (chat completion, for example). The ChatHistoryReducer extends the ChatHistory class, and so it's simple to include a reducer and logic to reduce messages as one manages the chat history either in an agent framework setting or in a chat completion setting. <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> ### Description This PR: - Introduces the chat history reducer functionality in Python -- both the `ChatHistoryTruncationReducer` and `ChatHistorySummarizationReducer`. - Add unit tests for code coverage. - Adds a sample `Chat Completion History Reducer` to show how to configure both reducers and what each parameter does. - Add chat completion samples showing how to manage a chat history reducer, including how to specify that function call content and function result content should be part of the summarization payload. - Updates the Agent SelectionStrategy, KernelFunctionSelectionStrategy and KernelFunctionTermination strategy to use the reducer. - Additionally updates the classes above to use a new `select_agent` abstract method so that one can define an initial agent to run in a particular scenario. - Removes the deprecated `FunctionCallBehavior` class, and removes some nasty circular dependencies that we had lurking in the code base for some time. This `FunctionCallBehavior` has been marked with a deprecation warning for 6+ months now. All samples and docs have moved over to use `FunctionChoiceBehavior` - developers using `FunctionCallBehavior` should have had enough time to switch. - Closes #7969 - Closes #10102 <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile:Evan Mattson · 4d296567 · 2025-01-23
- 1.9ETV.Net: Agents: Support Azure AI Agent (#10134) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Add support for Azure AI Agents: - https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/ai/Azure.AI.Projects/src/Custom/Agent - https://learn.microsoft.com/en-us/azure/ai-services/agents/ Fixes: https://github.com/microsoft/semantic-kernel/issues/10114 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> - Adds `AzureAIAgent` type in a new project/package - Maintains parity with `OpenAIAssistantAgent` - Supports Azure specific tool offerings ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile:Chris · 2d7a558d · 2025-01-27
- 1.9ETV.Net: [MEVD] Cosmos NoSQL provider work on keys, partition keys and point reads (#13550) This is a sizable cleanup/redo of large chunks of the Cosmos NoSQL provider; I've broken it down to three commits for easier reviewing. * Cosmos NoSQL collections can now have either string/Guid as their key, or CosmosNoSqlKey. In the former case, this configures the partition key to be the same as the string/Guid document key - this is a sensible default that's common (and encouraged) in Cosmos. All other scenarios require CosmosNoSqlKey: * A single partition key that isn't the document ID * A hierarchical partition key (more than one property) * No partition key (legacy/discouraged) * Note that CosmosNoSqlKey is only passed to GetAsync and DeleteAsync; on the user's .NET record type, the properties are there as usual (e.g. a string document Id property, an int partition key property). This introduces a discrepancy for the first time between the collection's TKey (CosmosNoSqlKey) and its actual key property on the .NET type (a string); this made some things trickier, but is the correct way to do things for composite key cases (we'd do the same if we implement composite keys for relational providers). * Added support for Cosmos hierarchical partition keys (2-3 properties instead of just one). * GetAsync no longer does a SQL query with a WHERE clause, but rather an efficient point read via ReadItem. The multiple-key overload does ReadManyItemsAsync, which again is far more efficient. * UpdateAsync and DeleteAsync now correctly supply the partition key in the call's request options, again making it much more efficient. * Various other cleanup and fixes all around.Shay Rojansky · 8513c2ac · 2026-02-17
- 1.8ETVPython: Add unit tests for Bedrock agent integration (#10362) ### Motivation and Context Add unit tests for Bedrock agent integration in Semantic Kernel Python. <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 3. What problem does it solve? 5. What scenario does it contribute to? 7. If it fixes an open issue, please link to the issue here. --> ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Code coverage for Bedrock agent related implementations reached 100% except for the `bedrock_agent.py` file and `bedrock_agent_base.py` file, which are at 82% and 95% respectively. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone :smile: For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/microsoft/semantic-kernel/pull/10362?shareId=f83b0466-6d2b-4639-88c8-23229aa2694c). --------- Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>Tao Chen · 2a6cdd81 · 2025-02-05
- 1.8ETV.Net: Add Bedrock Agent to .Net SDK (#10443) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> This PR adds the Bedrock Agent to the .Net SDK. It's equivalent to this [PR](https://github.com/microsoft/semantic-kernel/pull/10307) to the Python SDK. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Integrate AWS Bedrock Agent to SK .Net. The integration includes the following features: 1. Create a new Bedrock agent in code. 2. Retrieve an existing Bedrock agent in code. 3. Chat with the agent in streaming and non-streaming mode. 4. Enable code interpreter. 5. Function calling and execution. 6. Linking an AWS knowledge base. Note: tests will be included in a separate PR. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile: --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/microsoft/semantic-kernel/pull/10443?shareId=9bcffc75-6f2e-4ccb-864d-9b10890c22b1). --------- Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>Tao Chen · 71377709 · 2025-02-19
- 1.8ETV.Net Agents - Introducing `CopilotStudioAgent` (#12372) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Support _Copilot Studio Agents_ in the SK Agent Framework: `CopilotStudioAgent` ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Implement `CopilotStudioAgent` with client factory and token handler. Includes "Action" and "Reasoning" content models. Both may be justified outside of use with `CopilotStudioAgent`. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile:Chris · 3499c7a9 · 2025-06-05
- 1.7ETV.Net Agents - Update Azure Foundry Agent SDK (#12027) ### Motivation and Context As part of going GA with Foundry Agents, Azure team has split `Azure.AI.Projects` into two packages: `Azure.AI.Projects` & `Azure.AI.Agents.Persistent` In addition, connecting to a foundry project will be based on endpoint/credential and connection-string will not be supported. ### Description - Updated package dependency to include: `Azure.AI.Projects.OneDP` & `Azure.AI.Agents.Persistent` - Updated declarative agents to support `endpoint` instead of `connection-string` - Updated tests and samples - Deprecated `OpenAIClientProvider` - Removed `AzureAIClientProvider`  ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile:Chris · f9766432 · 2025-05-19
- 1.6ETV.Net: [MEVD] Go over all key types, add support for Guid (#13315) * Added new KeyTypeTests to cover provider key support, alongside the existing DataTypeTests and EmbeddingTypeTests; moved all three into TypeTests folder. * As discussed offline, this adds Guid-as-string key support for all providers. From research this seems to be very standard practice across a wide range of databases: JSON-based databases generally encode various types (e.g. DateTime) as string, and Guids are standard there. Sqlite is similar, with Microsoft.Data.Sqlite supporting it natively. This notably allows upper layers to assume that they can always use Guid, which helps MEDI ([see this issue](https://github.com/dotnet/extensions/issues/6973)). * Per-provider notes * Azure AI Search: string only supported, added Guid-as-string as an option ([docs](https://learn.microsoft.com/en-us/rest/api/searchservice/data-type-map-for-indexers-in-azure-search#bkmk_sql_search) encouraging mapping Guid to strings) * MongoDB/CosmosMongoDB: Added int and long support (Guid was already supported). * CosmosNoSql: Added Guid-as-string (standard practice) * Pinecone: Added Guid-as-string * Redis: Added Guid-as-string * SQL Server: removed DateTime and `byte[]` as key types (as above) and added Guid. * SQLite: The Microsoft.Data.Sqlite (the low-level ADO.NET provider we're built on top of) supports GUIDs as TEXT; so it's really not us deciding to support - it's the lower-level driver. In addition, we support mapping boolean to INTEGER (1/0), which seems similar. Added support as data property as well, not just key. Closes #11784 Closes #12182Shay Rojansky · b6973583 · 2025-10-31
- 1.6ETVPython: Multi-agent orchestration: Concurrent + Sequential (#11993) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Initial PR for multi-agent orchestration. ADR: https://github.com/microsoft/semantic-kernel/blob/main/docs/decisions/0071-multi-agent-orchestration.md ### Description This is the initial PR for multi-agent orchestration. This PR includes the following: 1. Base classes 2. Implementations for the concurrent and sequential orchestrations 3. Unit tests and samples Follow up PRs will add the following: - Group chat - Handoff - Magentic One <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone :smile: --------- Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>Tao Chen · 6eff772c · 2025-05-13
- 1.6ETV.Net: Allow Kernel to be mutable by AgentChatCompletions (#12538) ### Motivation and Context - Fixes #12534 - This regression seems to be part of #11689 where `kernel` instance was is cloned prior agent iterations, as I didn't captured any failing unit tests for the added `AIContext` providers considering this as a valid fix. - Added UT covering the expected `Kernel` mutability. --------- Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>Roger Barreto · cb749023 · 2025-06-25