Repository navigation
Immutable
release. Only release title and notes can be modified.
.NET Extensions 10.11.0
This release adds optional scope capture for buffered logs and updates experimental HTTP latency enrichment APIs. It also includes fixes for AI streaming and function invocation, evaluation reports, HybridCache invalidation, and logging.
Experimental API Changes
New Experimental APIs
- Optional logging-scope capture for global and per-request log buffering through
GlobalLogBufferingOptions.IncludeScopesandPerRequestLogBufferingOptions.IncludeScopes(EXTEXP0003) #7813
Breaking Changes to Experimental APIs
- Incoming HTTP latency log enrichment:
AddHttpLatencyTelemetryis renamed toAddHttpServerLatencyTelemetryand moves fromHttpLatencyTelemetryServiceCollectionExtensionstoHttpLoggingServiceCollectionExtensions. It remains experimental underEXTEXP0013in this release. #7730
What's Changed
AI
- Yield final image when streaming with HostedImageGenerationTool #7774 by @iamAdarshh
- Make the default tool-rejection message state that the decision is final #7784 by @manjunathshiva
- AI: Remove obsolete OpenAI JsonPatch workaround #7815 by @jozkee (co-authored by @Copilot)
- Ignore empty model IDs in streaming responses #7816 by @valkiara
- Honor FunctionInvocationContext.Terminate when the function throws #7801 by @gjz22
- Fix ChatResponseUpdate.Clone dropping ContinuationToken #7699 by @dfedoryshchev
- Decode non-base64 data URIs in DataContent to the octets they encode #7798 by @Laurianti
AI Evaluation
- [M.E.AI.Evaluation.Reporting] Fix context and metric interpretation visualization #7738 by @grafanaKibana
- Fix tokenizer attaching punctuation to number tokens #7766 by @tahakocal
- Order iteration results numerically #7769 by @tahakocal
- Score GLEU against the best matching reference #7768 by @tahakocal
Telemetry and Observability
- Optionally preserve logging scopes in buffered log records #7813 by @evgenyfedorov2 (co-authored by @Copilot)
- Fix OOM from unbounded enumeration of ExtendedLogger tag joiners #7819 by @evgenyfedorov2 (co-authored by @Copilot)
- Fix log buffering race by removing the rule selector cache #7803 by @evgenyfedorov2 (co-authored by @Copilot)
ASP.NET Core Extensions
- Rename AddHttpLatencyTelemetry to AddHttpServerLatencyTelemetry (API-approved shape) #7730 by @EasyL0ver (co-authored by @Copilot)
- Fix ArgumentNullException in per-request log buffering at the end of a request #7811 by @evgenyfedorov2 (co-authored by @Copilot)
AI Project Templates
- Align aichatweb local vector-store keys with Guid record keys #7804 by @jongalloway (co-authored by @adamsitnik @Copilot)
Caching
HTTP Resilience and Diagnostics
- Fix duplicate separator in HTTP logging #7749 by @LouisDeconinck
Test Improvements
Repository Infrastructure Updates
- Bump PowerShell from 7.6.5 to 7.6.6 #7743
- [main] Update dependencies from dotnet/arcade #7755
- Bump adm-zip from 0.6.0 to 0.6.1 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript/azure-devops-report/tasks/PublishAIEvaluationReport #7763
- Bump dotnet-coverage from 18.10.0 to 18.11.2 #7762
- [main] Update dependencies from dotnet/arcade #7767
- Bump browserslist from 4.28.2 to 4.28.8 in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7733
- Build: Add npm feed failure investigation skill #7782 by @jozkee (co-authored by @Copilot)
- Bump @vitest/mocker and vitest in /src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting/TypeScript #7745
- Update SDK to 10.0.401 #7793 by @peterwald
- Bump microsoft.visualstudio.slngen.tool from 12.0.32 to 12.0.53 #7794
Acknowledgements
- @LouisDeconinck made their first contribution in #7749
- @tahakocal made their first contribution in #7766
- @dfedoryshchev made their first contribution in #7699
- @manjunathshiva made their first contribution in #7784
- @gjz22 made their first contribution in #7801
- @valkiara made their first contribution in #7816
- @Laurianti made their first contribution in #7798
- @iamAdarshh made their first contribution in #7774
- @RickS-jpg submitted issue #7736 (resolved by #7738)
- @iikuzmychov submitted issue #7737 (resolved by #7749)
- @tahakocal submitted issue #7765 (resolved by #7766)
- @jozkee submitted issue #7777 (resolved by #7778)
- @Aiddy81 submitted issue #7771 (resolved by #7786)
- @EasyL0ver submitted issue #7729 (addressed by #7730)
- @Sorttech submitted issue #7383 (resolved by #7803)
- @evgenyfedorov2 submitted issue #7806 (resolved by #7811)
- @manjunathshiva submitted issue #7783 (resolved by #7784)
- @Dreamescaper submitted issue #7781 (resolved by #7813)
- @gjz22 submitted issue #7800 (resolved by #7801)
- @mattleibow submitted issue #7812 (resolved by #7816)
- @prabh-62 submitted issue #7734 (resolved by #7804)
- @iliar-turdushev submitted issue #7505 (resolved by #7819)
- @marcominerva submitted issue #7758 (resolved by #7774)
- @wuyu8512 submitted issue #7790 (resolved by #7815)
- @shyamnamboodiripad @wtgodbe @dariusclay @bartonjs @eiriktsarpalis @iliar-turdushev @jeffhandley @rosebyte @ykumashev reviewed pull requests
Full Changelog: v10.10.1...v10.11.0