Releases: microsoft/semantic-kernel
dotnet-1.13.0
Changes:
- b250109 .Net: Bump version to 1.13.0 (#6336)
- aa0ce10 .Net: Enable CreateFromType/Object to work with closed generics (#6218)
- 5e0b757 .Net: Added logprobs property to OpenAIPromptExecutionSettings (#6300)
- 3e19785 .Net: Adds a memory connector for Azure Cosmos DB for NoSQL (#6148)
- 915662c .Net: Fix PlatformNotSupportedException from HttpClientProvider (#6323)
- e17e05a .Net: Fix ArgumentNullException from TextPlugin.Uppercase/Lowercase on .NET Framework (#6324)
- 3db321b .Net: Fix CI pipeline for Windows runner (#6304)
See More
- 1d042be .Net: Include streaming tool call information in model diagnostics (#6305)
- 0c89e0b .Net: Fix MistralAI logging (#6315)
- 51af5ee .Net: Summarization and translation evaluation examples with Filters (#6262)
- dbe6aa2 .Net: Trace ChatHistory and PromptExecutionSettings in IChatCompletionServices (#6306)
- 729ea07 .Net: Some Mistral code cleanup from analyzers (#6308)
- 6bed723 .Net: Ignore PromptExecutionSettings.IsFrozen for JSON serialization (#6307)
- 1e6c49e .Net: Include request info in HttpOperationException (#6309)
- 75ee1a9 .Net: Implementation of store using Azure SQL/SQL Server with vector search. (#6142)
- 9b0dde5 .Net: Add MistralAI to the AppInsights sample (#6301)
python-1.0.0rc1
Notable Changes
We are excited to announce the release of Semantic Kernel version 1.0.0rc1! This release includes several new features and improvements to enhance the development experience.
Filters
We have introduced a powerful new feature: filters. These filters enable developers to hook into pre- and post-function hooks, providing greater control and flexibility over the function execution process.
- Pre-function Hooks: Allow you to define actions or checks that must be performed before a function executes.
- Post-function Hooks: Enable actions or processes that should occur after the function has executed.
With these filters, you can now easily add logging, validation, authentication, and other custom behaviors around your function calls, making your development process more efficient and modular. - You can find concept examples here.
What's Changed
- Python: implement filters by @eavanvalkenburg in #5681
- Python: Bump version to 1.0.0rc1. by @moonbox3 in #6321
Full Changelog: python-0.9.9b1...python-1.0.0rc1
python-0.9.9b1
Notable Changes
- New Interaction with Secrets and Keys via Pydantic Settings:
- We've introduced a new method to handle secrets, keys, and other configurations using Pydantic Settings.
- Pydantic Settings can now read environment variables or fall back to a provided .env file path.
- If you prefer to manage keys manually, you can still supply the key, deployment_name, endpoint, or api_version as optional parameters to the Text, Chat, or Embedding classes.
- Enhanced OpenAPI Plugin Usage:
- We've improved the usage of OpenAPI plugins by correctly forming the parameters specific to each OpenAPI operation.
- This enhancement ensures that the model will send the required operation parameters during automatic function calling.
What's Changed
- Python: new kernel function decorator by @eavanvalkenburg in #6216
- Python: allow openapi runner to use a custom client by @moonbox3 in #6226
- Python: Bump transformers from 4.40.1 to 4.40.2 in /python by @dependabot in #6239
- Python: add test to show using a lambda func by @eavanvalkenburg in #6215
- Python: handle failing tool call gracefully by @eavanvalkenburg in #6268
- Python: fix class type by @yanzhang100 in #6183
- Python: OpenAPI plugin enhance by @moonbox3 in #6279
- Python: Introduce Pydantic settings by @moonbox3 in #6193
- Python: Unsafe input handling by @eavanvalkenburg in #6003
- Python: added function_name and plugin_name properties to FC and FCR by @eavanvalkenburg in #6286
- Python: renamed complete to get_ by @eavanvalkenburg in #6288
- Python: improved plugins docstrings by @eavanvalkenburg in #6287
- Python: Create an experimental class and function decorator. by @moonbox3 in #6298
- Python: Bump python version to 0.9.9b1 for release. by @moonbox3 in #6299
New Contributors
- @yanzhang100 made their first contribution in #6183
Full Changelog: python-0.9.8b1...python-0.9.9b1
dotnet-1.12.0
Changes:
- fdf35d8 .Net: Bump version to 1.12.0 (#6302)
- aa98754 .Net: Add activities to MistralClient (#6297)
- a136cd4 .Net: fixed extension data in Model diagnostics (#6275)
- e5a29da .Net: Address some additional review feedback (#6289)
- 74efae1 .Net: Consolidate some code used in unit tests (#6292)
See More
- 41f072d .Net: Increase auto-invoke and in-flight tool calling hard-coded limits (#6272)
- b95f05c .Net: MistralAI Connector (#6263)
- c22f42a .Net: Updated notebooks (#6273)
- b99b77f .Net: [WIP] OTel model diagnostics: streaming APIs (#6242)
- 0bc8506 .Net: Rename to AllowDangerouslySetContent (#6257)
- cf91bc6 .Net: Fix KernelFunctionFromMethod.ToString (#6221)
- 4c130c6 .Net: Graduate some experimental features (#6245) [ #6211 ]
- 132693c .Net: Time Plugin Demo (#6200)
- af207dc .Net: Fix filters cloning when registered via Kernel properties (#6241)
- 34f201a .Net: Don't limit [KernelFunction] to public methods (#6206)
- 8a8cd95 .Net: Fix 5796 function calling enum params (#5998)
- f53c98e .Net: Update telemetry sample and documentation (#6191)
- c369ab3 .Net: Add multitargeting to .NET libraries (#4421)
- 822a644 .Net: Add model diagnostics to non-streaming APIs (#6150)
- f952e14 .Net: Example of prompt PII detection logic with Filters and Microsoft Presidio (#6171)
This list of changes was auto generated.
dotnet-1.11.1
Changes:
- 2d38fb9 .Net: Version 1.11.1 (#6186)
- d45d3bd .Net: Added dimensions property to OpenAI embedding service constructor (#6184)
- 89eb3c0 .Net: Azure CosmosDB MongoDB vCore Memory Store Bug Fixes (#6177)
- e389ada .Net: Update Concepts README for new Prompt samples (#6173) [ #6166 ]
- ec9fa14 .Net: Add Sessions (Code Interpreter) Core Plugin and Demo Project (#6160)
- 5249aed .Net: Improvements for Azure Cosmos DB for MongoDB connector (#6169)
This list of changes was auto generated.
python-0.9.8b1
Notable Changes
- In our ongoing effort to achieve parity with dotnet, we have phased out the Basic, Action, and Stepwise planners. This update leaves the Sequential and Function Calling Stepwise planners as the available options.
- We’ve made strides in aligning the Python tool call behavior with that of dotnet. You can now adjust the tool call behavior directly in the prompt execution settings, eliminating the need to specify
tool_choice = "auto"
,tools = get_tool_call_object(...)
, and so on. For more details, refer to theFunctionCallBehavior
implementation. There are several methods to adjust the tool call behavior, such as:
filter = {"excluded_plugins": ["ChatBot"]}
req_settings.function_call_behavior = FunctionCallBehavior.EnableFunctions(auto_invoke=True, filters=filter)
or
req_settings.function_call_behavior = FunctionCallBehavior.AutoInvokeKernelFunctions()
Our Auto Function Calling
concept samples implement this new behavior.
What's Changed
- Python: Bump werkzeug from 3.0.2 to 3.0.3 in /python by @dependabot in #6131
- Python: Retire planners that are not supported in dotnet. by @moonbox3 in #6141
- Python: Bump openai from 1.23.2 to 1.26.0 in /python by @dependabot in #6140
- Python: Bump pytest from 8.1.1 to 8.2.0 in /python by @dependabot in #6050
- Python: Bump tqdm from 4.66.2 to 4.66.3 in /python by @dependabot in #6120
- Python: Bump jinja2 from 3.1.3 to 3.1.4 in /python by @dependabot in #6132
- Python: update ToolCallBehavior and rename to FunctionCallBehavior to match dotnet and extended capabilities by @eavanvalkenburg in #5919
- Python: Bump ruff from 0.4.1 to 0.4.3 in /python by @dependabot in #6138
- Python: Check for other services registered before throwing service not found. by @moonbox3 in #6149
- Python: Fixes to Python getting_started notebooks by @jordanbean-msft in #6147
- Python: updating pinecone client by @LazaroHurtado in #6021
- Python: Use a Jinja2 sandboxed env to prevent running unsafe code. by @moonbox3 in #6163
- Python: Add ACA Python Sessions (Code Interpreter) Core Plugin, samples, and tests by @moonbox3 in #6158
- Python: Bump Python version to 0.9.8b1 for a release. by @moonbox3 in #6178
New Contributors
- @jordanbean-msft made their first contribution in #6147
Full Changelog: python-0.9.7b1...python-0.9.8b1
dotnet-1.11.0
Changes:
- 4c7fcb1 .Net: Version 1.11.0 (#6168)
- 2ae9dc7 .Net: Merge the Prompty feature branch to main (#6097)
- 431d18b .Net: Add request uri and payload to RestApiOperationResponse (#6082) [ #6071 ]
- 0b43152 .Net: Example of Semantic Caching with Filters (#6151)
- 8c82204 .Net: Example of retry logic using Filters (#6152)
- 26ad632 .Net: Added function invocation approval demo app (#6109)
- 3e19114 .Net: Samples - Fix array access in Handlebars syntax (#6127)
See More
- c28c7cc .Net Concepts Readme Update (#6117)
- e0dc716 .Net: Bump DuckDB.NET.Data from 0.9.2 to 0.10.2 in /dotnet (#6133) [ #181 ]
- e14b0db .Net: Bump Microsoft.Extensions.TimeProvider.Testing from 8.3.0 to 8.4.0 in /dotnet (#6136) [ dotnet/extensions#4994, dotnet/extensions#4993, dotnet/extensions#4997, dotnet/extensions#4999, dotnet/extensions#4987, dotnet/extensions#5013, dotnet/extensions#5027, dotnet/extensions#5029, dotnet/extensions#5031, dotnet/extensions#5037, dotnet/extensions#5033, dotnet/extensions#5039, dotnet/extensions#5040, dotnet/extensions#5044, dotnet/extensions#5012, dotnet/extensions#5051, dotnet/extensions#5058, dotnet/extensions#5064, dotnet/extensions#5067, dotnet/extensions#5075, #5075, #5067, #5064, #5058, #5051, #5012, #5039 ]
- 45f3d56 .Net: Added metadata specifying connection stems from MSK code (#5269)
- c068e86 .Net: Bump Microsoft.Extensions.Logging.Abstractions from 8.0.0 to 8.0.1 in /dotnet (#6137) [ #95439, #95148, #95082, #94882, #95119 ]
- 527e574 .Net: Bump MongoDB.Driver from 2.24.0 to 2.25.0 in /dotnet (#6135) [ #1308, #1306, #1259, #1303, #1298, #1295, #1296 ]
- 7ba789d .Net: Fixing minor defects: Disposing cursor too early also wrong sequence on constructor (#6125)
- 9810cc1 .Net: Fixed integration tests (#6130)
- 65bb59d .Net: Tweak temp function names created by Kernel.InvokePrompt{Streaming}Async (#6108)
- b4bfef1 .Net: Added dimensions property to OpenAI embedding generation services (#6077)
- dd95583 .Net: ADR: OTel LLM requests (#5963)
- c1d5fd4 .Net: Split safe prompt into multiple unit tests (#6096) [ #5881 ]
- 1bcb9ce .Net - Agent Logging (#6075)
- 75dccb3 .Net - Update Agent Readme (#6070)
- e51c34d .Net: Fix spelling of 'Euclidean' (#6087)
- 3a4cbdb .Net: Handle Default Values for KernelParameterMetadata Correctly (#6053)
- 861cefa .Net: Azure AI Content Safety and Prompt Shields demo application (#6024)
- 8665df3 .Net: Tweak RegexTerminationStrategy (#6078)
- 184d9b8 .Net: Add netstandard2.0 build of Microsoft.SemanticKernel.Connectors.Onnx (#6076)
- 9afa08d .Net BugFix Issue 6058 Changing Dictionary in Enumeration (#6067) [ #6058 ]
- c27fa87 .Net - Agent DI Sample (#6055)
- eb915c1 .Net - Agent Aggregator / Complex Chat (#6029)
- 2119695 .Net - Agents Fix: Capture Function-Calling Content (ChatCompletionAgent) (#6046)
- f66a30b .Net Samples Restructure - Phase 4 (#6057)
- 312c96c .Net: Baseline 1.10.0 (#6045)
- 6223c7a .Net: Moved BookingRestaurant project to Demos folder in solution (#6056)
- 1e94588 .Net Samples Restructure - Phase 3 (#6043) [ #5949 ]
- 80aa777 .Net: Agents - Getting Started Step4 Improvement: Cross Model (#6044)
- 7b47854 .Net Restaurant Bookings Demo (#5988) [ #5960 ]
This list of changes was auto generated.
python-0.9.7b1
Notable Changes
- Python Version Support Update: Dropping Support for Python 3.8 and 3.9
- Python 3.8 will reach its end-of-life in October 2024. As a result, we will no longer support Python 3.8 and 3.9.
- Reasoning: Python 3.10 introduces a new typing system crucial for KernelFunctionFromMethod. Maintaining backward compatibility with older versions adds significant complexity and limits our ability to innovate. Thus, support for Python 3.9 will also be discontinued.
- Python 3.8 will reach its end-of-life in October 2024. As a result, we will no longer support Python 3.8 and 3.9.
- Enhanced Function Calling Support for ChatMessages. You may view this ADR for more information.
- New Content Types:
- FunctionCallContent
- FunctionResultContent
- Chat Role Changes:
- ChatRole has been renamed to AuthorRole.
- Content Adaptation:
- ChatMessageContent now supports one or more content types, such as TextContent and the new function calling content types.
- OpenAI Classes Changes:
- Removed OpenAIChatMessageContent and AzureChatMessageContent.
- Enhanced the OpenAI classes to create and parse FunctionCallContent and other new content types.
- New Content Types:
- Improved Sample Organization: Reorganized Sample Folders:
- Moved all notebooks to samples/getting_started.
- Reorganized previous kernel syntax examples by topic in samples/concepts.
- New Prompt Template Samples Folder:
- Renamed the previous root-level prompt template samples in samples/plugins to a root-level folder called prompt_template_samples.
What's Changed
- Python: added kwargs to embedding and text memory by @eavanvalkenburg in #5885
- Python: mypy coverage for functions by @eavanvalkenburg in #5883
- Python: Bump idna from 3.6 to 3.7 in /python by @dependabot in #5848
- Python: Refactor environment variable naming for clarity and consistency by @bx-h in #5686
- Python: add mypy to python lint checks by @eavanvalkenburg in #5905
- Python: fix lint mypy by @eavanvalkenburg in #5906
- [Python Getting Started] Update
base_url
toendpoint
by @andrewDoing in #5765 - Python: mypy coverage for contents folder by @eavanvalkenburg in #5904
- Python: reduce the amount of complex classes in the serialization to xml by @eavanvalkenburg in #5907
- Python: fixing python readme by @LazaroHurtado in #5903
- Python: drop support for python before 3.10 by @eavanvalkenburg in #5947
- Python: (Astra DB) Include caller identity as user-agent when issuing HTTP request to Astra DB's Data API by @hemidactylus in #5921
- Python: Bump ruff from 0.3.7 to 0.4.1 in /python by @dependabot in #5966
- Python: move Hugging Face tests to integration by @eavanvalkenburg in #5983
- Python: updated Chat Message Content with Function Call and Result Content by @eavanvalkenburg in #5946
- Python: Replace 'import_plugin_from_object' with 'add_plugin' by @adityagesh in #6025
- Python: Fix typo in line to instantiate Kernel. by @rcleveng in #6020
- Python: Remove references to text-davinci-003 text models as it causes tests to hang. by @moonbox3 in #6089
- Python: Update import paths for OpenAI settings functions by @demaen in #6059
- Python: Update 04-kernel-arguments-chat.ipynb by @qlycool in #5910
- Python: add new samples and fix streaming tool call FunctionCallContent formation by @moonbox3 in #5877
- Python: Restructure samples into new folders to make things more clear. by @moonbox3 in #6116
- Python: Add PF learn path resources by @moonbox3 in #6122
- Python: added embedding dimensions support by @sinyubonnie-ho in #6111
- Python: Bump py version for release by @moonbox3 in #6123
New Contributors
- @bx-h made their first contribution in #5686
- @andrewDoing made their first contribution in #5765
- @LazaroHurtado made their first contribution in #5903
- @hemidactylus made their first contribution in #5921
- @adityagesh made their first contribution in #6025
- @rcleveng made their first contribution in #6020
- @demaen made their first contribution in #6059
- @qlycool made their first contribution in #5910
- @sinyubonnie-ho made their first contribution in #6111
Full Changelog: python-0.9.6b1...python-0.9.7b1
dotnet-1.10.0
Changes:
- 32b3bc3 .Net: Version 1.10.0 (#6031)
- c545c7d .Net Samples Restructuring - Phase 2 (#6005)
- 1c77ad2 .Net: Deprecated unused filter context classes (#6017)
- 4af7dfc .Net - Agents KernelFunction Strategies (#5895)
- 0296329 .Net - Enhance OLD Agents Package onFunction Calling Arguments (#6006)
- d0de9a0 .Net: New API for Filters (#5936)
- 2440223 .Net: Baseline 1.9.0 (#6002)
- e0be616 .Net - Agent Samples Restructure (#5987)
See More
- 5ba79ee .Net: Use automatic platform detection for unit tests (#5996)
- 373083b .Net: Azure CosmosDB Mongo vCore Memory Store Integration (#5228)
- f82034b .Net - Add Coverage for Agent Projects (#5982)
- 849ae32 .Net: Flaky integration test disabled. (#5992)
- 1a48974 .Net Samples Restructuring - Phase 1 (#5888)
This list of changes was auto generated.
dotnet-1.9.0
Changes:
- de0e566 .Net: Version 1.9.0 (#5991)
- a2abc0e .Net: Support XML Tags in Chat Prompts (#5866) [ #5699 ]
- f7e66bd .Net - Introducing OpenAI Assistant Agent (Step #ANY) (#5809)
- 91abbd7 .Net: Integration tests improvements (#5981)
- 875477e .Net: Google connector API version selection (#5750) [ #5659 ]
- 47c5d92 .Net: Fixed ReSharper/Rider errors to be compliant with dotnet formatting settings (#5862) [ #4653 ]
- 5438d31 .Net: Baseline 1.8.0 (#5950)
- e637568 .Net - Agents Fix: Chat Concurrency (Step #ANY) (#5831)