Releases: dotnet/extensions
Releases · dotnet/extensions
v10.2.0
What's Changed
- Bump version to 10.2.0 for next development cycle by @Copilot in #7105
- Add unit parameter to metric source generator by @mariamgerges in #7099
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #7111
- Fix expected conversation length in
SummarizingChatReducerintegration tests by @MackinnonBuck in #7119 - Fix build status badge in README.md by @akoeplinger in #7118
- Update AI changelogs for 10.1.0 by @stephentoub in #7123
- Merging internal changes into release/10.1 branch by @joperezr in #7127
- Bump glob from 11.0.1 to 11.1.0 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript by @dependabot[bot] in #7052
- Fix markdown parser crash on inline HTML elements by @Copilot in #7131
- Fix IndexOutOfRangeException when parsing markdown tables without trailing pipes by @Copilot in #7133
- Merging changes from release/10.1 into main by @joperezr in #7128
- Remove nuget.exe by @ericstj in #7138
- Augment UsageDetails with cached / reasoning token counts by @stephentoub in #7122
- Expose ctors for setting AdditionalProperties on Hosted tools by @stephentoub in #7120
- Update to OpenAI 2.8.0 by @stephentoub in #7136
- Add DocumentTokenChunker by @KrystofS in #7093
- Skip tests by default in internal rolling builds by @Copilot in #7151
- Fix FunctionApprovalResponseContent to message mapping by @PederHP in #7152
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #7155
- Add support for custom headers in HostedMcpServerTool by @echapmanFromBunnings in #7053
- AmbientMetadata.Build - release to GA by @evgenyfedorov2 in #7161
- Overhaul project template builds and testing by @jeffhandley in #7113
- Update Microsoft.Agents.AI.ProjectTemplates to latest Agent Framework by @jeffhandley in #7167
- Introduce local vs. remote mcpserver template option by @jeffhandley in #7168
- Fix rolling build pipeline by @jeffhandley in #7171
- Add Reason property to FunctionApprovalResponseContent for custom rejection messages by @Copilot in #7140
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #7180
- Fix ToChatResponse to use first appropriate CreatedAt instead of last by @Copilot in #7193
- Add support for InputImageUrl via reflection in OpenAIResponsesChatClient by @Copilot in #7195
New Contributors
- @mariamgerges made their first contribution in #7099
- @akoeplinger made their first contribution in #7118
- @PederHP made their first contribution in #7152
- @echapmanFromBunnings made their first contribution in #7053
Full Changelog: v10.1...v10.2.0
v10.1.0
What's Changed
- [MEDI] start producing NuGet packages by @adamsitnik in #7016
- Deprecate AddServiceLogEnricher method with its overloads, introduce replacements by @evgenyfedorov2 in #6529
- Update version numbers in AI changelogs by @stephentoub in #7008
- HttpDependencyMetadataResolver class for the custom downstream dependency metadata resolution by @rainsxng in #6880
- [MEDI] Don't stop document processing on enricher error by @adamsitnik in #7005
- [MEDI] add PackageTags by @adamsitnik in #7022
- Add a new Microsoft.Agents.AI.Templates package with an aiagent-webapi project template by @jeffhandley in #7014
- Add MarkItDownMcpReader for MCP server support by @Copilot in #7025
- Image generation tool by @ericstj in #6749
- Make MEAI packages use 10.0 runtime packages by @ericstj in #7028
- When using latest .NET packages, force System.Numerics.Tensors to 10.0 (for MEAI) by @jeffhandley in #7031
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #7032
- Use DataContent from Microsoft.Extensions.AI for data URI generation by @Copilot in #7027
- Add AmbientMetadata.Build component by @evgenyfedorov2 in #6623
- Introduce SectionChunker by @KrystofS in #7015
- Use
Microsoft.Extensions.DataIngestionin AI Chat Web template by @MackinnonBuck in #7023 - Add Agent Framework DevUI into the aiagent-webapi template by @jeffhandley in #7026
- Adjust cgroupv2 drive format check for .NET 10 and higher by @KeterSCP in #6877
- Replace custom IAsyncEnumerable extensions with System.Linq.AsyncEnumerable by @Copilot in #7039
- Add Image Detail support for Image DataContent to OpenAIResponsesChatClient. by @rogerbarreto in #7042
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #7043
- Update to OpenAI 2.7.0 by @stephentoub in #7044
- Merge changes from internal by @joperezr in #7038
- Merge rel10 by @joperezr in #7047
- Disable AzDO dependabot by @mmitche in #7045
- Bump version to 10.1.0 for next development cycle by @Copilot in #7018
- Update AI Chat Web template to Aspire 13.0.0 by @Copilot in #7036
- Fix flaky SetupSequence tests by @amadeuszl in #7051
- Update AI changelogs by @stephentoub in #7037
- Update project template dependencies by @jeffhandley in #7064
- Reset Microsoft.Agents.AI.ProjectTemplates versioning by @jeffhandley in #7034
- Fix operator precedence bug in ValidateSchemaDocument causing rejection of valid boolean schemas by @Copilot in #7066
- Use JsonElement.Parse for JsonElement conversions in AI libraries by @Copilot in #7067
- .NET: Change type of ContinuationToken properties by @SergeyMenshykh in #7050
- Fix OpenAIEmbeddingGenerator to handle missing usage data by @stephentoub in #7074
- Add AIJsonSchemaCreateOptions.ParameterDescriptions by @stephentoub in #7068
- Improve FunctionInvokingChatClient's awareness of agents by @stephentoub in #7030
- Add Kubernetes based Resource Monitoring by @amadeuszl in #6748
- Ensure all ResponseItems are yielded in AIContent by @crickman in #7063
- Add CHANGELOG.md files for Microsoft.Extensions.DataIngestion* projects by @Copilot in #7072
- Assign authors only on PR creation by @sebastienros in #7083
- Update to .NET 10 GA release by @Copilot in #7078
- Fix package references from M.E.AI packages by @stephentoub in #7076
- Workaround OpenAI bug with streaming error events by @stephentoub in #7085
- Update AI changelogs for 10.0.1 release by @stephentoub in #7086
- Add metering for baseline resource quotas by @amadeuszl in #7080
- Update Microsoft.VisualStudio.Threading.Analyzers to latest by @stephentoub in #7091
- Update SonarAnalyzer.CSharp to latest by @stephentoub in #7092
- Remove Microsoft.Extensions.AI.AzureAIInference by @stephentoub in #7096
- DisableParallelization for environment variables based tests by @amadeuszl in #7100
- Remove AzureAIInference remnants after #7096 by @Copilot in #7102
- Update resource management configuration by @sebastienros in #7084
New Contributors
Full Changelog: v10.0.0...v10.1
v10.0.0
What's Changed
- Give FunctionInvokingChatClient span a more OTELy name by @verdie-g in #6911
- Update repository branding from 9.10 to 10.0 by @Copilot in #6907
- Clean up local function names in AIFunctionFactory by @Copilot in #6909
- Update OpenTelemetryChatClient to output data on all tools by @stephentoub in #6906
- Update ToChatResponse{Async} to also factor in AuthorName by @stephentoub in #6910
- add support for background responses by @SergeyMenshykh in #6854
- Fix
METGEN004error message: print return type inErrorInvalidMethodReturnTypeby @eduherminio in #6905 - Fix OpenTelemetryChatClient failing on unknown content types by @stephentoub in #6915
- Add support for Connector ID and other follow ups by @jozkee in #6881
- Update AI lib changelogs by @stephentoub in #6920
- Merge internal changes by @joperezr in #6921
- Add Workstream, Stage, and PackageValidationBaselineVersion metadata to ServiceDiscovery libraries by @Copilot in #6919
- Add back Uri ctor to HostedMcpServerTool by @jozkee in #6926
- Set DisableNETStandardCompatErrors in ServiceDiscovery libraries by @eerhardt in #6927
- Update Package validation baseline version to 9.10.0 by @Copilot in #6922
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #6802
- Extend service discovery to support Consul-based DNS lookups: by @bart-vmware in #6914
- Update AsOpenAIResponseItems to roundtrip User AIContent ResponseItems by @stephentoub in #6931
- Special-case AIContent returned from AIFunctionFactory.Create AIFunctions to not be serialized by @stephentoub in #6935
- Preserve function content in
SummarizingChatReducerby @MackinnonBuck in #6908 - Tool reduction by @MackinnonBuck in #6781
- Fix coalescing of TextReasoningContent with ProtectedData by @stephentoub in #6936
- Doc updates by @gewarren in #6930
- Support DisplayNameAttribute for name resolution in AI libraries by @Copilot in #6942
- Fix EquivalenceEvaluator MaxOutputTokens to meet Azure OpenAI minimum requirement by @Copilot in #6948
- Support DefaultValueAttribute in AIFunctionFactory parameter handling by @Copilot in #6947
- Bump vite from 6.3.6 to 6.4.1 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript by @dependabot[bot] in #6938
- Introduce Microsoft.Extensions.DataIngestion.Abstractions by @adamsitnik in #6949
- Update to latest schema version (accepted by MCP registry) by @joelverhagen in #6956
- Introduce IngestionChunkWriter build on top of MEVD by @adamsitnik in #6951
- Update AI Chat Web dependencies by @MackinnonBuck in #6955
- Add AITool -> OpenAI.Responses.ResponseTool conversion utility by @rogerbarreto in #6958
- Update AI changelogs for 9.10.1 by @stephentoub in #6950
- Add Name property to OtelMessage to store ChatMessage.AuthorName per OpenTelemetry semantic conventions by @Copilot in #6953
- Fix serialization of UserInputRequest/ResponseContent by @stephentoub in #6962
- Expose building blocks for external service discovery implementations by @bart-vmware in #6946
- Bump validator from 13.15.0 to 13.15.20 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript by @dependabot[bot] in #6974
- Add eng/sdl-tsa-vars.config for TSA integration by @Copilot in #6980
- Add CodeInterpreterToolCall/ResultContent content types by @stephentoub in #6964
- Update to 1.38 of the otel genai standard convention by @stephentoub in #6981
- Introduce set of built-in Enrichers by @adamsitnik in #6957
- Allow ChatOptions.ConversationId to be an OpenAI conversation ID with Responses by @stephentoub in #6960
- Fix warning breaking official build, enable warningAsError in all pipelines by @ericstj in #6988
- Introduce HeaderChunker by @adamsitnik in #6979
- Introduce Markdown readers by @adamsitnik in #6969
- Add usage telemetry for aieval dotnet tool by @shyamnamboodiripad in #6773
- Update to OpenAI 2.6.0 by @stephentoub in #6996
- Don't specify MaxOutputTokens for EquivalenceEvaluator by @shyamnamboodiripad in #7006
- Fix Assert.Throws to validate parameter names by @stephentoub in #7007
- [MEDI] Remove collection key type workaround by @adamsitnik in #7010
- Enable binskim to extract packages by @ericstj in #6989
- Added net10.0 targeting to all packages and flowed RC2 dependency versions. by @joperezr in #6995
- [MEDI] Pipeline by @adamsitnik in #6993
- Add Semantic Similarity chunker by @KrystofS in #6994
New Contributors
- @SergeyMenshykh made their first contribution in #6854
- @bart-vmware made their first contribution in #6914
Full Changelog: v9.10.0...v10.0.0
v9.10.0
What's Changed
- Branding updates for 9.10 by @Copilot in #6769
- Doc improvements by @gewarren in #6794
- Bump vite from 6.3.5 to 6.3.6 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript by @dependabot[bot] in #6793
- Updated changelogs for AI libs by @stephentoub in #6787
- Update MCP server template by @jeffkl in #6772
- Add support for using ConversationID for AzureOpenAI and OpenAI by @ViveliDuCh in #6770
- Merging internal commits by @joperezr in #6801
- Merge changes from release/9.9 branch by @joperezr in #6803
- Support keyed HybridCache with keyed DistributedCaches and named options by @kelly-yinn in #6694
- Inventory as code by @wtgodbe in #6820
- Increase output token limit for EquivalenceEvaluator by @shyamnamboodiripad in #6835
- Fix KeyNotFoundException on HttpRequestLatencyListener.OnEventWritten for uknown event sources by @ssmelov in #6821
- Add project name normalization to match aspire's code generator logic by @ViveliDuCh in #6818
- Disable really noisy analyzers, part 1 by @stephentoub in #6837
- Fix
KeyNotFoundExceptioninHttpRequestLatencyListener.OnEventWrittenby @pentp in #6823 - Update global.json to use .NET 9.0.0 stable instead of RC 1 by @Copilot in #6846
- Add measures and tags with mediator object to the HttpClientLatencyLogEnricher by @rainsxng in #6783
- Add comprehensive .github/copilot-instructions.md for dotnet/extensions repository by @Copilot in #6792
- Update to .NET 10 SDK by @eerhardt in #6863
- Update Microsoft.Extensions.AI changelog files with current NuGet versions by @Copilot in #6849
- Fix GenerateImagesAsync_SingleImageGeneration integration test by @stephentoub in #6843
- Re-enable IDE0032 by @stephentoub in #6866
- Add OpenTelemetrySpeechToTextClient and friends by @stephentoub in #6845
- Update
ModelContextProtocolversion in MCP template by @MackinnonBuck in #6870 - Scope Ollama resilience settings to Web/Program.cs and restore ServiceDefaults by @ViveliDuCh in #6850
- Update Aspire by @Varorbc in #6858
- Update MCP template for new registry specification by @Copilot in #6796
- Add support for
HostApplicationBuilderin AmbientMetadata extension by @eduherminio in #6867 - Fix mcpserver test baselines by @jeffhandley in #6874
- Move Microsoft.Extensions.ServiceDiscovery to dotnet/extensions by @eerhardt in #6868
- Add copy constructors to option types (ChatOptions, etc.) by @stephentoub in #6882
- Fix ChatMessage.CreatedAt being always overwritten by the latest timestamp. by @Copilot in #6885
- Small doc fixes by @gewarren in #6887
- Update AI changelogs with some recent additions by @stephentoub in #6886
- Fix Assistants IChatClient handling of unrelated tool calls in history by @stephentoub in #6891
- Fix duplication between OpenAI Assistants pre-configured tools by @stephentoub in #6896
- Update MCP Server Template to adhere to 2025-09-29 server.json schema by @joelverhagen in #6888
- Remove Azure.AI.OpenAI dependency from templates and tests by @Copilot in #6873
- Remove UnsafeRelaxedJsonEscaping by @peterwald in #6899
- Fix bug to yield remaining buffered FCC by @westey-m in #6903
- Fix serialization of [Experimental] AIContent-derived types by @stephentoub in #6900
New Contributors
- @westey-m made their first contribution in #6745
- @jeffkl made their first contribution in #6772
- @ViveliDuCh made their first contribution in #6770
- @kelly-yinn made their first contribution in #6694
- @ssmelov made their first contribution in #6821
- @Varorbc made their first contribution in #6858
Full Changelog: v9.9.0...v9.10.0
v9.9.0
Highlights
AI
- Abstractions for remote MCP servers; response/approval flow support via new experimental types
- Function approvals via new experimental types (e.g.,
ApprovalRequiredAIFunction, user input/approval request & response content). - Reasoning text streaming for OpenAI Responses ChatClient streaming.
AIFunctionsplit into a base class to improve extensibility.IChatReducermoved toMicrosoft.Extensions.AI.Abstractions.- Updated to OpenAI 2.4.0 and genai standard convention 1.37.
- Coalescing logic now treats
ChatMessage.Rolechanges as new messages. GetResponseAsync<T>now reads only the last message (bug fix).- OpenTelemetry ChatClient/EmbeddingGenerator logs raw additional properties (no key mangling).
- Fixed empty annotated text chunk handling in streaming with OpenAI Assistants.
Telemetry & Diagnostics
- HTTP diagnostics log query string params with proper redaction (emitted on
url.query). server.addresstelemetry emits host only (per OpenTelemetry semantic conventions).- Heuristics added to detect well-known model hosts.
- Resource monitoring can consider
Environment.CpuUsage.
New Contributors
- @ykumashev made their first contribution in #6696
Full Changelog: v9.8.0...v9.9.0
v9.8.0
What's Changed
- Align EventId generation with M.E.Logging source-gen by @xakep139 in #6566
- Add resiliency mechanism to CPU and memory utilization checks by @amadeuszl in #6528
- Suppress flaky test until fixed by @joelverhagen in #6568
- Create a project template for an MCP server by @joelverhagen in #6547
- Use dnx instead of dotnet tool exec in MCP server template README by @joelverhagen in #6571
- Add reporting tests that show NLP results. by @peterwald in #6574
- Branding updates for 9.8.0 by @joperezr in #6573
- Fix
ConfigureEvaluationTests.ps1script when$ConfigRootis not supplied by @peterwald in #6575 - Refactor Resource Monitoring by @evgenyfedorov2 in #6554
- Update McpServer template for 0.3.0-preview.2 by @stephentoub in #6578
- Add container.cpu.time metric by @evgenyfedorov2 in #5806
- Add netstandard2.0 compatibility to Microsoft.Extensions.Diagnostics.Testing and dependencies by @bdovaz in #6219
- Add netstandard2.0 compatibility to Microsoft.Extensions.Telemetry and dependencies by @bdovaz in #6218
- Simplify Http.Diagnostics by @pentp in #6174
- Add netstandard2.0 compatibility to Microsoft.Extensions.Http.Resilience and dependencies by @bdovaz in #6582
- Ingore null loggers returned by LogProviders in ELoggerFactory by @petrroll in #6585
- Merging changes from internal by @joperezr in #6588
- [Logging] Fixes LogProperties and LogPropertyIgnore attributes to work if an object being logged resides in a different assembly than the logging method by @iliar-turdushev in #6600
- Add memory usage metric by @evgenyfedorov2 in #6586
- Add schema version to server.json in MCP template by @joelverhagen in #6606
- Merge release/9.7 into main by @joperezr in #6589
- Update MCP server template readme to show both VS Code and Visual Studio notes by @Copilot in #6591
- Update Azure Open AI package referenced by eval integration tests by @shyamnamboodiripad in #6609
- Target .NET 8 for more stable runtime requirement by @joelverhagen in #6617
- Add support for new Azure AI Foundry project type for Safety evals by @shyamnamboodiripad in #6621
- M.E.AI.AzureAIInference - Azure.AI.Inference Package Bump by @rogerbarreto in #6624
- Add DataContent.Name property by @stephentoub in #6616
- Fix handling of multiple responses messages by @stephentoub in #6627
- Expose additional chat model conversion helpers by @stephentoub in #6629
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #6633
- [Http.Resilience] The DisableFor method should try to retrieve the request object from the resilience context by @iliar-turdushev in #6618
- Bump Package validation baseline version to 9.7.0 by @Copilot in #6650
- Fix internal package version detection for project templates by @MackinnonBuck in #6651
- Remove
Microsoft.Extensions.AI.Ollamaby @MackinnonBuck in #6655 - Fix M.E.AI package refs by @stephentoub in #6654
- Add [Description] to DataContent.Uri by @stephentoub in #6615
- Fix duplicate solution file when creating an AI Chat Web app from VS by @MackinnonBuck in #6653
- Add ChatMessage.CreatedAt by @stephentoub in #6657
- Add TextContent.Annotations by @stephentoub in #6619
- Add FunctionInvokingChatClient.AdditionalTools by @stephentoub in #6661
- Fix unintentional test env var change by @stephentoub in #6660
- Add more openai conversion helpers by @stephentoub in #6662
- Add OriginalRepoCommitHash to assemblies by @BrennanConroy in #6667
- Include a trivial items keyword if missing. by @eiriktsarpalis in #6669
- Add resolution of function parameter level data annotation attributes. by @eiriktsarpalis in #6671
- Fix issue with NetSourceIndexStage1 for dependency conflict versions by @joperezr in #6672
- Expose streaming conversion utility methods by @stephentoub in #6636
- Couple of fixes for MEAI.Evaluation by @shyamnamboodiripad in #6673
- Fix one more version conflict on the docs transport package by @joperezr in #6675
- Introduce metadata to identify built-in evaluation metrics by @shyamnamboodiripad in #6674
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #6679
- Emit {OriginalFormat} in HttpClient logger by @iliar-turdushev in #6682
- Update to OpenAI 2.3.0 by @stephentoub in #6684
- Remove AdjustTime from experimental by @amadeuszl in #6668
- Allow custom filtering logic for FakeLogger by @Demo30 in #5848
- Mark packages as stable and update to .NET Servicing versions by @joperezr in #6700
- [release/9.8] Backport several AI-related PRs by @stephentoub in #6703
- [release/9.8] Update Azure.AI.OpenAI by @github-actions[bot] in #6710
- [release/9.8] Add support for text-to-image by @ericstj in #6711
- [release/9.8] Use Azure hosting integrations in Aspire AI Chat Web template by @MackinnonBuck in #6712
- [release/9.8] Add middleware for reducing chat history by @github-actions[bot] in #6713
New Contributors
- @joelverhagen made their first contribution in #6568
- @bdovaz made their first contribution in #6219
- @petrroll made their first contribution in #6585
Full Changelog: v9.7.0...v9.8.0
v9.7.2
Packages Released
What's Changed
- Target .NET 8 for more stable runtime requirement by @joelverhagen in #6617
Full Changelog: v9.7.1...v9.7.2
v9.7.1
Packages Released
- Microsoft.Extensions.AI 9.7.1
- Microsoft.Extensions.AI.Abstractions 9.7.1
- Microsoft.Extensions.AI.OpenAI 9.7.1-preview.1.25365.4
- Microsoft.Extensions.AI.AzureAIInference 9.7.1-preview.1.25365.4
- Microsoft.Extensions.AI.Templates 9.7.1-preview.3.25365.4
What's Changed
- Merging changes from internal by @joperezr in #6588
- Bump FunctionInvokingChatClient.MaximumIterationsPerRequest from 10 to 40 by @stephentoub in #6599
- Expose M.E.AI.OpenAI input message conversions by @stephentoub in #6601
- Add schema version to server.json in MCP template by @joelverhagen in #6606
- Update MCP server template readme to show both VS Code and Visual Studio notes by @jeffhandley in #6591
- Fix schema generation for Nullable function parameters. by @eiriktsarpalis in #6596
- Branding updates for 9.7.1 by @joperezr in #6611
- Add DelegatingAIFunction by @stephentoub in #6565
- Add FunctionInvokingChatClient.FunctionInvoker delegate by @stephentoub in #6564
- Enable specifying "strict" for OpenAI clients via ChatOptions by @stephentoub in #6552
- AIFunctionFactory: tolerate JSON string function parameters. by @eiriktsarpalis in #6572
- AIFunctionFactory: add test coverage for JSON comments. by @eiriktsarpalis in #6576
- Update M.E.AI.OpenAI for latest OpenAI release by @stephentoub in #6577
- Update OpenTelemetry semantic conventions version from 1.35 to 1.36 by @Copilot in #6579
- AIFunctionFactory: add a flag for disabling return schema generation. by @eiriktsarpalis in #6551
- Bump FunctionInvokingChatClient.MaximumIterationsPerRequest from 10 to 40 by @stephentoub in #6599
- Expose M.E.AI.OpenAI input message conversions by @stephentoub in #6601
- Fix schema generation for Nullable function parameters. by @eiriktsarpalis in #6596
Full Changelog: v9.7.0...v9.7.1
v9.7.0
What's Changed
- Branding updates for 9.7 by @joperezr in #6495
- Fix name of genai input/output tokens tag by @stephentoub in #6494
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #6503
- Improve handling of RawRepresentation in OpenAI{Response}ChatClient by @stephentoub in #6500
- Bring back AsIChatClient for OpenAI AssistantClient by @stephentoub in #6501
- Add resiliency to Resource Monitoring in Linux by @amadeuszl in #6489
- Merging changes from the internal fork by @joperezr in #6508
- Workaround OpenAI assistant's RunCreationOption's tools override by @stephentoub in #6512
- Add ChatOptions.Instructions by @stephentoub in #6505
- Introduce evaluators for agentic workflows by @shyamnamboodiripad in #6514
- Allow a CachingChatClient to control per-request caching by @stephentoub in #6524
- Tweak OpenAI JSON schema transforms by @stephentoub in #6523
- Merging changes from release/9.6 branch by @joperezr in #6516
- Augment AIJsonUtilities.CreateJsonSchema for more types and annotations by @stephentoub in #6540
- Added conversions from AIFunction to various OpenAI tools by @KrzysztofCwalina in #6539
- Add SpeechToTextResponse.Usage by @stephentoub in #6546
- Implement BLEU score evaluation for NLP tests by @peterwald in #6537
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in #6553
- #5962 Change to early return of OS instead of throwing by @juliankock in #5963
- Mark log sampling & buffering API as stable by @evgenyfedorov2 in #6534
- Update GenAI otel impl for v1.35 by @stephentoub in #6557
- Implement GLEU and F1 NLP evaluators by @peterwald in #6555
- Update tokenizer algorithm to use is [..] by @peterwald in #6561
- Rename some constants to match convention by @shyamnamboodiripad in #6562
- Add DistributedCachingChatClient/EmbeddingGenerator.AdditionalCacheKeyValues by @stephentoub in #6558
New Contributors
- @KrzysztofCwalina made their first contribution in #6539
- @juliankock made their first contribution in #5963
Full Changelog: v9.6.0...v9.7.0
v9.6.0
What's Changed
- Branding updates for 9.6.0 by @joperezr in #6399
- Add log buffering info to README.md by @evgenyfedorov2 in #6403
- Fix dynamic config update for log buffering by @evgenyfedorov2 in #6435
- Remove unused select param from CreateRecordsForDocumentAsync by @jongalloway in #6341
- Merge internal changes by @joperezr in #6437
- Reduce per-lookup overhead from key validation in HybridCache by @MihaZupan in #6441
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #6443
- Merge release/9.5 into main by @joperezr in #6448
- Fix up comments in eval API json files by @shyamnamboodiripad in #6452
- Remove preview tag on Azure DevOps extension by @peterwald in #6456
- Bump PackageValidation against 9.5.0 and enable for stable MEAI packages by @joperezr in #6458
- Fix paramref tag by @gewarren in #6459
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #6462
- Add a script to diff the contents of folders that match a specific pattern across two branches by @shyamnamboodiripad in #6453
- Remove
titleanddescriptionkeywords from root-level schemas in AIFunctionFactory. by @eiriktsarpalis in #6465 - Replace JSON vector store with SQLite by @MackinnonBuck in #6438
- Update chat template
Microsoft.SemanticKerneldependency to 1.53.0 by @MackinnonBuck in #6470 - Update chat template external dependencies by @MackinnonBuck in #6471
- Exclude provider URI from cache key computation by default by @shyamnamboodiripad in #6473
- Make hashing stable w.r.t. indentation settings and property ordering. by @eiriktsarpalis in #6476
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #6481
- Add default value for namedArg in Microsoft.Gen.Metrics.parser by @BowenYang666 in #6238
- Update OpenTelemetryChatClient to 1.34 by @stephentoub in #6466
- Delete M.E.AI changelog files by @stephentoub in #6467
- Add comma to remarks by @gewarren in #6485
- Implement disk io metrics for linux by @makazeu in #6374
- Add
AIFunction.ReturnJsonSchemaby @eiriktsarpalis in #6447
New Contributors
- @MihaZupan made their first contribution in #6441
- @BowenYang666 made their first contribution in #6238
Full Changelog: v9.5.0...v9.6.0