9.1.0 packages are all pushed now to NuGet.org!
What's Changed
- Add NativeAOT testapp project for M.E.AI by @stephentoub in #5573
- Add changelogs for M.E.AI projects by @stephentoub in #5577
- Explicitly reference System.Memory.Data in OpenAI/AzureAIInference projects by @stephentoub in #5576
- Fix AzureAIInferenceEmbeddingGenerator to respect EmbeddingGenerationOptions.Dimensions by @stephentoub in #5575
- Merge ResourceMonitoringOptions.Linux.cs into ResourceMonitoringOptions.cs by @makazeu in #5580
- Fix exception when generating boolean schemas by @eiriktsarpalis in #5585
- Add ImageContent integration test by @stephentoub in #5586
- Add ChatOptions.Seed by @stephentoub in #5587
- Lower
AIJsonUtilities
to STJv8 and move to Abstractions library. by @eiriktsarpalis in #5582 - Plug JsonSchemaExporter test data to the AIJsonUtilities tests by @eiriktsarpalis in #5590
- Improve JsonSchemaExporter trimmer safety. by @eiriktsarpalis in #5591
- Improve AdditionalPropertiesDictionary by @stephentoub in #5593
- Add UseEmbeddingGenerationOptions by @stephentoub in #5594
- HybridCache stability and logging improvements by @mgravell in #5467
- Assign ownership by @RussKie in #5600
- HybridCache: don't log cancellation as failure event by @mgravell in #5601
- Set DisableNETStandardCompatErrors for M.E.AI projects by @stephentoub in #5603
- HttpRouteParser: Handle catch-all parameters by @dariusclay in #5604
- Rework UseChatOptions as ConfigureOptions by @stephentoub in #5606
- Make IChatClient/IEmbeddingGenerator.GetService non-generic by @stephentoub in #5608
- Add logging/activities to FunctionInvokingChatClient by @stephentoub in #5596
- Update M.E.AI CHANGELOG.mds by @stephentoub in #5609
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #5610
- Add ToChatCompletion{Async} methods for combining StreamingChatCompletionUpdates by @stephentoub in #5605
- Docs improvements by @gewarren in #5613
- Use ToChatCompletion in OpenTelemetryChatClient by @stephentoub in #5614
- Use ToChatCompletion / ToStreamingChatCompletionUpdates in CachingChatClient by @stephentoub in #5616
- Add DebuggerDisplay for DataContent by @stephentoub in #5618
- Tweak ChatMessage/StreamingChatCompletionUpdate.ToString by @stephentoub in #5617
- Expose options for making schema generation conformant with the subset accepted by OpenAI. by @eiriktsarpalis in #5619
- Cache current process object to avoid performance hit by @haipz in #5597
- Fix namespace for IServiceCollection extensions by @stephentoub in #5620
- Fix linker warning. by @eiriktsarpalis in #5627
- Merge internal changes by @joperezr in #5631
- Publish the AotCompatibility.TestApp project as part of PR validation by @eerhardt in #5622
- Merge branch release/9.0 into main by @joperezr in #5632
- Replace STJ boilerplate in the leaf clients with AIJsonUtilities calls. by @eiriktsarpalis in #5630
- Rework cache key handling in caching client / generator by @stephentoub in #5641
- Docs updates by @gewarren in #5643
- Change ChatClientBuilder to register singletons and support lambda-less chaining by @SteveSandersonMS in #5642
- [main] Update dependencies from dotnet/aspnetcore by @dotnet-maestro in #5645
- EmbeddingGeneratorBuilder API updates by @SteveSandersonMS in #5647
- Update WaiterRemovedAfterDispose to check waitersCount first by @amadeuszl in #5646
- Allow logging of body without modifying the actual response by @dariusclay in #5628
- Make ActivityBaggageLogScopeWrapper implements IEnumerable<KeyValuePair<string, object?>> by @NatMarchand in #5589
- Add a [DebuggerDisplay] to GeneratedEmbeddings by @stephentoub in #5657
- Annotate private DebuggerDisplay props as DebuggerBrowsableState.Never by @stephentoub in #5656
- Fix M.E.AI argument tests to validate argument names by @stephentoub in #5653
- Remove duplicate GetCacheKey methods by @stephentoub in #5651
- Augment XML comments for AIFunctionFactory.Create by @stephentoub in #5658
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #5662
- Add AsBuilder extensions for IChatClient and IEmbeddingGenerator by @stephentoub in #5652
- Reduce a bit of LINQ in M.E.AI by @stephentoub in #5663
- Reverse order of services/inner in Use methods by @stephentoub in #5664
- Add anonymous chat clients / embedding generators by @stephentoub in #5650
- Update documentation SynchronizationContext in FakeTimeProvider by @amadeuszl in #5665
- Backport JsonSchemaExporter bugfix. by @eiriktsarpalis in #5671
- Add OpenAIRealtimeExtensions with ToConversationFunctionTool by @SteveSandersonMS in #5666
- Tweak CachingHelpers.GetCacheKey to clean up better on failure by @stephentoub in #5654
- Ensure non-streaming usage data from function calling is in history by @stephentoub in #5676
- Fix a few FunctionInvocationChatClient streaming issues by @stephentoub in #5680
- Change UseLogging to accept an ILoggerFactory instead of ILogger by @stephentoub in #5682
- Expose a schema transformer on AIJsonSchemaCreateOptions. by @eiriktsarpalis in #5677
- Update M.E.AI CHANGELOG.md for latest bits by @stephentoub in #5684
- [main] Update dependencies from dotnet/aspnetcore by @dotnet-maestro in #5678
- Add API allowing to disable retries for a given list of HTTP methods by @iliar-turdushev in #5634
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #5693
- Update M.E.AI code coverage mins from 0 by @stephentoub in #5698
- [main] Update dependencies from dotnet/aspnetcore by @dotnet-maestro in #5702
- Improve FakeTimeProvider documentation, remove redundant tests by @amadeuszl in #5683
- [main] Update dependencies from dotnet/aspnetcore by @dotnet-maestro in #5703
- For AI integration tests, use config including user secrets by @SteveSandersonMS in #5706
- Fix handling of text-only user messages in AzureAIInferenceChatClient by @stephentoub in #5714
- Make UseLogging a nop when NullLoggerFactory is used by @stephentoub in #5717
- Fix streaming function calling by @SteveSandersonMS in #5718
- Removes Experimental attribute from ResilienceHandler class by @iliar-turdushev in #5670
- Usage aggregation via Dictionary<string, long> by @SteveSandersonMS in #5709
- Update otel chat client / embedding generator for 1.29 draft of the spec by @stephentoub in #5712
- Additional tests to the logging generator by @rainsxng in #5704
- Update OpenAI dependency to 2.1.0 by @stephentoub in #5725
- Fix build by @RussKie in #5728
- Add a few missing options to OpenAIChatclient.ToOpenAIOptions by @stephentoub in #5727
- Ollama support for streaming function calling and native structured output by @SteveSandersonMS in #5730
- Improve reliability of CompleteAsync_StructuredOutputEnum test by @SteveSandersonMS in #5731
- Add OpenAI serialization helper methods. by @eiriktsarpalis in #5697
- Remove obsolete files by @RussKie in #5733
- Update Azure.AI.OpenAI version to 2.1.0 by @stephentoub in #5732
- Bump code coverage by @RussKie in #5700
- Update to public versions by @RussKie in #5749
- HybridCache (tests only): add explicit System.Runtime.Caching dependency (CVE-related) by @mgravell in #5755
- Disable tests not intended to run on MacOS by @evgenyfedorov2 in #5772
- Fix hashing in Logging source gen by @tarekgh in #5776
- Bump update-dotnet-sdk action by @martincostello in #5768
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #5778
- Add a grouping Activity to FunctionInvokingChatClient by @stephentoub in #5777
- Adjust hashing in logging source gen by @tarekgh in #5782
- Respect AutoAdvance for GetTimestamp in FakeTimeProvider by @amadeuszl in #5783
New Contributors
- @haipz made their first contribution in #5597
- @amadeuszl made their first contribution in #5646
- @rainsxng made their first contribution in #5704
- @tarekgh made their first contribution in #5776
Full Changelog: v9.0.0...v9.1.0