') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Bump AwesomeAssertions and 3 others by dependabot[bot] · Pull Request #449 · ptr727/Utilities · GitHub
Skip to content

Bump AwesomeAssertions and 3 others - #449

Merged
ptr727-codegen[bot] merged 1 commit into
developfrom
dependabot/nuget/develop/nuget-deps-5740d8e490
Aug 29, 2026
Merged

Bump AwesomeAssertions and 3 others#449
ptr727-codegen[bot] merged 1 commit into
developfrom
dependabot/nuget/develop/nuget-deps-5740d8e490

Conversation

@dependabot

@dependabotdependabotBot commented on behalf of githubAug 29, 2026

Copy link
Copy Markdown
Contributor

Updated AwesomeAssertions from 9.5.0 to 9.6.0.

Release notes

Sourced from AwesomeAssertions's releases.

9.6.0

What's Changed

New features

Fixes

Documentation

Others

Dependencies

New Contributors

Commits viewable in compare view.

Pinned Microsoft.Extensions.Http.Resilience at 10.9.0.

Release notes

Sourced from Microsoft.Extensions.Http.Resilience's releases.

10.9.0

Version 10.9.0 is headlined by changes in these areas:

  • AI: New experimental routing APIs center on the abstract RoutingChatClient base class, with SemanticRoutingChatClient as a concrete semantic-routing implementation. Separately, the abstract FailoverChatClient specialization and its concrete OrderedFailoverChatClient implementation add failover routing.
  • AI Evaluation: The generated report gains redesigned Overview, Cases, History, and Comparison views.
  • ASP.NET Core and HTTP diagnostics: The release adds HTTP request latency log enrichment and fixes configuration binding, response-body logging, request-path redaction, and resilience package version handling.
  • Source-generated logging and service discovery: Fixes cover classification type qualification, thread-local state cleanup, and DNS query suffix handling.

Experimental API Changes

New Experimental APIs

  • New experimental API: HTTP request latency log enrichment (EXTEXP0013) #​7602
  • New experimental API: Chat client routing and failover (MEAI001) #​7662

What's Changed

AI (Microsoft.Extensions.AI, Microsoft.Extensions.AI.Abstractions, and Microsoft.Extensions.AI.OpenAI)

  • Add extensible chat client routing #​7662 by @​joshuajyue (co-authored by @​Copilot)
  • Pass the request's options to the selected client #​7685 by @​joshuajyue (co-authored by @​jozkee @​Copilot)
  • AI.Abstractions: fix ExcludeFromSchema dropped under concurrent AIFunction creation #​7677 by @​jozkee (co-authored by @​Copilot)
  • Cap OpenAI dependency version (b10f9c0) by @​jeffhandley (co-authored by @​Copilot)

Note: Microsoft.Extensions.AI.OpenAI constrains its dependency for OpenAI to 2.12.x, preventing OpenAI updates to 2.13.0+ due to an incompatibility. We expect to release Microsoft.Extensions.AI.OpenAI version 10.9.1 during the week of August 17 to address this issue.

HTTP Resilience and Diagnostics (Microsoft.Extensions.Http.Resilience and Microsoft.Extensions.Http.Diagnostics)

  • Fix Grpc.Net.ClientFactory version range check - Fixes #​7565 #​7566 by @​Ghost93
  • Fix response body logging under debugger #​7678 by @​Rimobul
  • Redact outgoing path when route is unknown #​7687 by @​Rimobul
  • Fix HTTP client logging config binding #​7691 by @​Rimobul

ASP.NET Core Extensions (Microsoft.AspNetCore.Diagnostics.Middleware)

  • Rename HttpLatencyTelemetry extensions class and drop redundant TFM guard #​7645 by @​EasyL0ver (co-authored by @​Copilot)
  • Add HTTP request latency log enricher (experimental) #​7602 by @​EasyL0ver (co-authored by @​Copilot)

Logging Source Generator (Microsoft.Gen.Logging)

  • [Microsoft.Gen.Logging] Clear thread-local state when logging throws #​7682 by @​Rimobul
  • [Microsoft.Gen.Logging] Fully qualify classification types #​7689 by @​Rimobul

AI Evaluation (Microsoft.Extensions.AI.Evaluation.Reporting)

  • [Microsoft.Extensions.AI.Evaluation.Reporting] Evaluation report redesign #​7609 by @​grafanaKibana

Project Templates (Microsoft.McpServer.ProjectTemplates)

  • Remove MCP server project template #​7680 by @​jeffhandley (co-authored by @​Copilot)

... (truncated)

10.8.4

This servicing update refreshes the .NET AI project templates ahead of the July 30, 2026 retirement of GitHub Models — removing the GitHub Models provider option and updating template dependencies.

As a result, both the AI Chat Web (aichatweb) and AI Agent Web API (aiagent-webapi) templates now require the AI service provider to be chosen explicitly via --provider; there is no longer a default. One of the following must be selected:

  • --provider azureopenai — Azure OpenAI
  • --provider ollama — Ollama (for local development)
  • --provider openai — OpenAI Platform

Packages in this release

PackageVersion
Microsoft.Extensions.AI.Templates10.8.4-preview.3.26379.3
Microsoft.Agents.AI.ProjectTemplates1.13.0-preview.1.26379.3

What's Changed

Project templates

  • Removed the GitHub Models provider from the AI Chat Web and AI Agent Web API templates, ahead of GitHub Models being fully retired on July 30, 2026. The --provider option is now required with no default (#​7667).
  • Updated AI template dependencies — bumped Aspire.Hosting.AppHost to 13.4.6 and CommunityToolkit.VectorData.SqliteVec to 1.0.0-preview.4 (aligned System.Linq.AsyncEnumerable to 10.0.9), replacing earlier workaround package pins (#​7639).

Full Changelog

10.8.3

Packages in this release

PackageVersion
Microsoft.Extensions.AI10.8.3
Microsoft.Extensions.AI.Abstractions10.8.3
Microsoft.Extensions.AI.OpenAI10.8.3

Experimental API Changes

Experimental API behavior updates

  • Updated serialization behavior for experimental ToolApprovalRequestContent.RequiresConfirmation so it no longer leaks into consumer source-generated AIContent JSON metadata unless approval APIs are intentionally used (#​7659).

What's Changed

AI abstractions and serialization

  • Fixed MEAI001 leakage from RequiresConfirmation in source-generated AIContent contexts by using an internal JSON-included backing member while keeping the public experimental member ignored for source-generation metadata (#​7659).

Test Improvements

  • Added stabilization regression coverage to verify consumer source-generated List<AIContent> contexts compile and round-trip without requiring MEAI001 suppression (#​7659).

Full Changelog

10.8.2

This servicing release updates Microsoft.Extensions.VectorData.ConformanceTests to 10.8.2 and includes targeted test framework migration fixes.

Packages in this release

PackageVersionNote
Microsoft.Extensions.VectorData.Abstractions10.8.2Published August 7, 2026
Microsoft.Extensions.VectorData.ConformanceTests10.8.2

Update: August 7, 2026
The Microsoft.Extensions.VectorData.Abstractions package was initially excluded from this release by mistake. Because Microsoft.Extensions.VectorData.ConformanceTests has a dependency on Microsoft.Extensions.VectorData.Abstractions, that led to failures when updating to Microsoft.Extensions.VectorData.ConformanceTests 10.8.2.

Microsoft.Extensions.VectorData.Abstractions was published August 7, 2026 to resolve that issue.

What's Changed

AI

  • Move Microsoft.Extensions.VectorData.ConformanceTests to xUnit 3 #​7636 by @​adamsitnik (co-authored by @​Copilot)

Acknowledgements

  • @​roji reviewed pull requests

Full Changelog: dotnet/extensions@v10.8.1...v10.8.2

10.8.1

This servicing release updates the Microsoft.Extensions.AI, Microsoft.Extensions.AI.Abstractions, and Microsoft.Extensions.AI.OpenAI packages to 10.8.1 with two targeted fixes: correct tool-call/tool-result ordering when resuming approval-gated functions with service-managed chat history, and preservation of the OpenAI Responses reasoning item id for stateless (store=false) encrypted reasoning.

Packages in this release

PackageVersion
Microsoft.Extensions.AI10.8.1
Microsoft.Extensions.AI.Abstractions10.8.1
Microsoft.Extensions.AI.OpenAI10.8.1

What's Changed

AI

  • Fix FICC tool_calls/tool ordering with approvals and service-managed chat history #​7617 by @​westey-m
  • Roundtrip OpenAI Responses reasoning item id for stateless (store=false) encrypted reasoning #​7629 by @​rogerbarreto (co-authored by @​tarekgh)

Acknowledgements

  • @​jozkee reviewed pull requests

Full Changelog: dotnet/extensions@v10.8.0...v10.8.1

Commits viewable in compare view.

Pinned Microsoft.Extensions.Logging.Abstractions at 10.0.11.

Release notes

Sourced from Microsoft.Extensions.Logging.Abstractions's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated Microsoft.SourceLink.GitHub from 10.0.301 to 10.0.400.

Release notes

Sourced from Microsoft.SourceLink.GitHub's releases.

10.0.400

You can build .NET 10.0 from the repository by cloning the release tag v10.0.400 and following the build instructions in the main README.md.

Alternatively, you can build from the sources attached to this release directly.
More information on this process can be found in the dotnet/dotnet repository.

Attached are PGP signatures for the GitHub generated tarball and zipball. You can find the public key at https://dot.net/release-key-2023

10.0.303

You can build .NET 10.0 from the repository by cloning the release tag v10.0.303 and following the build instructions in the main README.md.

Alternatively, you can build from the sources attached to this release directly.
More information on this process can be found in the dotnet/dotnet repository.

Attached are PGP signatures for the GitHub generated tarball and zipball. You can find the public key at https://dot.net/release-key-2023

10.0.302

You can build .NET 10.0 from the repository by cloning the release tag v10.0.302 and following the build instructions in the main README.md.

Alternatively, you can build from the sources attached to this release directly.
More information on this process can be found in the dotnet/dotnet repository.

Attached are PGP signatures for the GitHub generated tarball and zipball. You can find the public key at https://dot.net/release-key-2023

Commits viewable in compare view.

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps AwesomeAssertions from 9.5.0 to 9.6.0
Bumps Microsoft.Extensions.Http.Resilience from 10.8.0 to 10.9.0
Bumps Microsoft.Extensions.Logging.Abstractions from 10.0.10 to 10.0.11
Bumps Microsoft.SourceLink.GitHub from 10.0.301 to 10.0.400
---
updated-dependencies:
- dependency-name: AwesomeAssertions
dependency-version: 9.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
- dependency-name: Microsoft.Extensions.Http.Resilience
dependency-version: 10.9.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
- dependency-name: Microsoft.Extensions.Logging.Abstractions
dependency-version: 10.0.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
- dependency-name: Microsoft.SourceLink.GitHub
dependency-version: 10.0.400
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
@dependabotdependabotBot added .NET Pull requests that update .net code dependencies Pull requests that update a dependency file labels Aug 29, 2026
@ptr727-codegen
ptr727-codegenBot enabled auto-merge (squash) August 29, 2026 17:46
@ptr727-codegen
ptr727-codegenBot merged commit abf124c into developAug 29, 2026
9 checks passed
@codecov

codecovBot commented Aug 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 67.24%. Comparing base (22e0155) to head (9ffd761).
⚠️ Report is 1 commits behind head on develop.

Additional details and impacted files
@@ Coverage Diff @@## develop #449 +/- ##
========================================
Coverage 67.24% 67.24% ========================================
Files 13 13 Lines 1154 1154 Branches 106 106 ========================================
Hits 776 776 Misses 338 338 Partials 40 40 

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dependabot
dependabotBot deleted the dependabot/nuget/develop/nuget-deps-5740d8e490 branch August 29, 2026 17:47
@ptr727ptr727 mentioned this pull request Aug 30, 2026
ptr727 added a commit that referenced this pull request Aug 30, 2026
Promotes the hub resync (#451) to `main`.
## Why this is a `promote/` branch rather than `develop` itself
`main` carried its own copies of work `develop` had done independently:
the Microsoft.Testing.Platform migration (#448 against #447) and an
AwesomeAssertions bump (#450 against #449). Combined with the CRLF-to-LF
renormalization, `develop -> main` conflicts on seven paths, and
`develop`'s `required_linear_history` plus its PR ruleset forbid
resolving them on `develop`. This is the documented remedy: resolve on a
throwaway branch off `main`, then open that into `main`.
## The resolution is provably exactly `develop`
Every conflict was resolved to `develop`'s side, and the result is
byte-identical to `develop`'s tree:
```text
merged tree 5035943
develop tree 5035943
```
Each was confirmed lossless before `develop` was taken, per the
documented check:
| Path | Why taking `develop` drops nothing |
| --- | --- |
| `global.json` | Content-identical modulo EOL. `main` added it CRLF,
`develop` renormalized it. |
| `UtilitiesTests/UtilitiesTests.csproj` | Content-identical modulo EOL.
|
| `UtilitiesTests/ExtensionsTests.cs` | Content-identical modulo EOL. |
| `Directory.Packages.props` | Differs in one line, the coverage
extension, where `develop` is the newer 18.10.0 against `main`'s 18.9.0.
|
| `Utilities.slnx` | `main`'s extra entries are a duplicate
`dependabot.yml`, a `Data/` folder naming three files this repository
does not contain, and the two workflow tasks `develop` deleted because
the hub now hosts them. Verified each path is absent on `develop`, and
that `dependabot.yml` is still listed there under GitHub Actions. |
| `.github/workflows/build-release-task.yml` | Deleted on `develop` per
its `retire` disposition. |
| `.github/workflows/validate-task.yml` | Deleted on `develop`, which
now calls the hub-hosted validator by pin. |
## Verification
Run against this branch's tree, not inferred from #451:
```text
dotnet build 0 warnings, 0 errors
dotnet csharpier check . 43 files, clean
dotnet format style --verify-no-changes clean
dotnet test (MTP + coverage) 183/183 passed
markdownlint-cli2 '**/*.md' 48 files, 0 issues
actionlint clean
editorconfig-checker clean
repo_gate.py eol, eol-coverage, sha-pin all clean
prose_lint.py --diff origin/main clean
```
## Merging
The head is `promote/develop-to-main`, not `develop`, so the
delete-`develop` trap does not apply here. Merge with a merge commit
rather than a squash, per the `main` ruleset.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added a `StringHistory` utility for retaining and rendering
configurable first and last lines.
- Added comprehensive repository architecture, operations, governance,
and contribution guidance.
- **CI/CD**
- Updated validation, testing, and publishing workflows with clearer
triggers, scoped permissions, and external workflow integration.
- Removed obsolete release and validation workflow definitions.
- **Documentation**
- Added coding, testing, review, release, and workflow guidance.
- **Style**
- Standardized text line endings and formatting across the repository.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependenciesPull requests that update a dependency file.NETPull requests that update .net code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants