Releases: microsoft/semantic-kernel
Releases · microsoft/semantic-kernel
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)
dotnet-1.8.0
Changes:
- 0c40031 .Net: Bump to version 1.8.0 (#5929)
- b83c9bd .Net: Fixes HuggingFace text generation support (#5941) [ #5940 ]
- bf5f917 .Net: Add support for making open api operation metadata and extension metadata available at function invocation time (#5911)
- 917b790 .Net: Update sample to show how to use enum[] with function calling (#5928) [ #5451 ]
- 41651ff .Net: ADR for function call content model classes (#5696)
- c8ce249 .Net: Function call content types (#5800)
- c72080d .Net - Introducing AgentGroupChat (Step #2) (#5725)
See More
- 76348d1 .Net: Deleting Planners.Core source which contained pre-V1 planners. (#5875)
- 67233e5 .Net: Fix KustoMemoryStore reading Timestamp column data type (#5600)
- d6378f7 .Net: Fix ignoring non-default search index name (#5843) [ #4213 ]
- 9d0f631 .Net: During OpenAPI import use payload parameter if specified (#5874) [ #5870 ]
- beef63c .Net Enable Usage of Custom Compatible Chat Message API Endpoints with OpenAI Connector + Examples (#4753)
- e416946 .Net Hugging Face TGI Chat Completion Message API Support (#5785) [ #5403 ]
- a27a46d .Net Google Connector - Enable Strong Name Signing (#5868)
- 71c16e1 .Net: Update more code with C# 11/12 features (#5852)
- 62cc40d .Net - Fix Experimental Agent Type Handling for Tool Calling (#5847)
- 1626f7a .Net: Extend plugins sample to demonstrate the use of enums (#5850)
- 2e3d8cf .Net: Fix a few straggler warnings from recently updated analyzers (#5838)
- 2e54c70 community office hours (#5840)
- 8d0662e .Net: Use C# 11/12 features throughout repo (#4387)
- cbbaa59 .Net - Agents IReadonlyList instead of IEnumerable (Step #ANY) (#5832)
- ebd21fa .Net - Voilà: Agent Framework (#5705)
- e74c742 .Net: Fix handling of generic return types in CreateFromMethod (#5821)
- f2e52bd .Net: Upgrade projects from net6.0 to net8.0 and adjust LangVersion to 12 (#5819)
- ead5b63 .Net: Add new kernel syntax sample which shows function calling planner with RAG (#5817) [ #4679 ]
- 71221a6 .Net: Focus CI on .NET 8 SDK (#5802)
- de20abe .Net: Bump Handlebars.Net.Helpers from 2.4.1.4 to 2.4.1.5 in /dotnet (#5807) [ #88 ]
- 15004f4 .Net: Bump DuckDB.NET.Data.Full from 0.10.1 to 0.10.1.2 in /dotnet (#5808)
- 9481b2a .Net: Bump xunit.runner.visualstudio from 2.5.6 to 2.5.7 in /dotnet (#5810) [ xunit/xunit#1655, #399, xunit/xunit#1651 ]
- 0a9e74a .Net: Remove JsonSchema.Net dependency from Microsoft.SemanticKernel.Abstractions/Core (#5635)
This list of changes was auto generated.
python-0.9.6b1
Notable Changes
- We've redesigned how plugins and functions integrate with the kernel to simplify their addition and minimize confusion. Now, use
kernel.add_plugin()
orkernel.add_plugins()
to add plugins andkernel.add_function()
orkernel.add_functions
for functions. You can add an OpenAPI plugin viakernel.add_plugin_from_openapi()
and an OpenAI plugin viakernel.add_plugin_from_openai()
. You can add a plugin in three ways:- Directly as a KernelPlugin instance—other parameters will be ignored.
- As a custom class with methods decorated by kernel_function.
- As a dictionary where one or more methods are decorated with kernel_function.
- See the add_plugin and add_function kernel code for implementation details.
- To enhance load performance, only the Kernel is loaded in the root init, with all other components moved to sub-packages. SK imports use full paths for clarity and modularity. Init files are generally positioned at the root+1 level (e.g., semantic_kernel.functions) to provide developers with necessary components, except in the connectors and utils directories where deeper navigation is required. For instance, OpenAI and Azure OpenAI specific functionalities are accessed via from
semantic_kernel.connectors.ai.open_ai import ...
. In contrast, sample code employs abbreviated paths to streamline the import process.
What's Changed
- Python: Bump pyarrow from 14.0.2 to 15.0.2 in /python by @dependabot in #5647
- Python: .Net: Fixed typos based on new spell checker vocabulary by @dmytrostruk in #5717
- Python: Bump transformers from 4.39.1 to 4.39.2 in /python by @dependabot in #5720
- Python: small fix for CH serialization by @eavanvalkenburg in #5738
- Python: Small docstring fix by @nickwalkmsft in #5741
- Python: Update to AOAI OYD 2024-02-15-preview API version by @abhahn in #5684
- Python: Fix the command for pipeline checks in DEV_SETUP.md by @tomoam in #5726
- Python: Add missing await to openapi client by @moonbox3 in #5759
- Python: dev_setup and readme updates by @eavanvalkenburg in #5770
- Python: updated decorator to allow no brackets by @eavanvalkenburg in #5776
- Python: removed pipeline by @eavanvalkenburg in #5779
- Python: two small updates to python workflows by @eavanvalkenburg in #5775
- Python: remove path by @eavanvalkenburg in #5793
- Python: Bump pillow from 10.2.0 to 10.3.0 in /python by @dependabot in #5758
- Python: Bump ruff from 0.3.4 to 0.3.5 in /python by @dependabot in #5816
- Python: Allow args to pass to func calling stepwise planner by @moonbox3 in #5830
- Python: Updated plugins by @eavanvalkenburg in #5827
- Python: Bump project version for release. Fix missing imports in notebooks. by @moonbox3 in #5871
- Python: Bump openai from 1.14.3 to 1.18.0 in /python by @dependabot in #5878
- Python: Bump openapi-core from 0.19.0 to 0.19.1 in /python by @dependabot in #5879
- Python: init cleanup by @eavanvalkenburg in #5872
New Contributors
- @nickwalkmsft made their first contribution in #5741
- @abhahn made their first contribution in #5684
Full Changelog: python-0.9.5b1...python-0.9.6b1