') + ')', '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); } })(); })(); Merge branch 'release/8.0' => 'release/8.0-staging' by jozkee · Pull Request #124314 · dotnet/runtime · GitHub
Skip to content

Merge branch 'release/8.0' => 'release/8.0-staging' - #124314

Merged
jkotas merged 33 commits into
release/8.0-stagingfrom
release/8.0
Feb 12, 2026
Merged

Merge branch 'release/8.0' => 'release/8.0-staging'#124314
jkotas merged 33 commits into
release/8.0-stagingfrom
release/8.0

Conversation

@jozkee

Copy link
Copy Markdown
Member

No description provided.

Mirroringand others added 30 commits November 5, 2025 02:02
CoseMessage's Decode routines say that any failure is a CryptographicException,
but some of the validation failures leak out ArgumentException from the validation in CoseHeaderMap.
This pull request updates the following dependencies
[marker]: <> (Begin:4ebef09c-22a4-4345-9e95-08db9f47cad7)
## From https://github.com/dotnet/emsdk
- **Subscription**:
[4ebef09c-22a4-4345-9e95-08db9f47cad7](https://maestro.dot.net/subscriptions?search=4ebef09c-22a4-4345-9e95-08db9f47cad7)
- **Build**:
[20251226.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2867558)
([295617](https://maestro.dot.net/channel/3073/github:dotnet:emsdk/build/295617))
- **Date Produced**: December 26, 2025 5:58:02 PM UTC
- **Commit**:
[1898fd1eefc41432cc9f0bb849937b2adc24cc9d](dotnet/emsdk@1898fd1)
- **Branch**:
[release/8.0](https://github.com/dotnet/emsdk/tree/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.23-servicing.25612.6 to 8.0.23-servicing.25626.3][1]
- Microsoft.SourceBuild.Intermediate.emsdk
- From [8.0.23 to 8.0.23][1]
- Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100
[1]: dotnet/emsdk@3cbd998...1898fd1
[DependencyUpdate]: <> (End)
[marker]: <> (End:4ebef09c-22a4-4345-9e95-08db9f47cad7)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
There were no OOB packages with `<GeneratePackageOnBuild>` set to
`true`, so none needed to be reset to `false`.
---------
Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
Co-authored-by: Nikola Milosavljevic <nikolam@microsoft.com>
Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: elinor-fung <47805090+elinor-fung@users.noreply.github.com>
Co-authored-by: Elinor Fung <elfung@microsoft.com>
Co-authored-by: sbomer <787361+sbomer@users.noreply.github.com>
Co-authored-by: Sven Boemer <sbomer@gmail.com>
Co-authored-by: Andy Gocke <angocke@microsoft.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
Co-authored-by: Matous Kozak <matouskozak@seznam.cz>
Co-authored-by: Steve Pfister <stpfiste@microsoft.com>
Co-authored-by: Filip Navara <filip.navara@gmail.com>
This pull request updates the following dependencies
[marker]: <> (Begin:4ebef09c-22a4-4345-9e95-08db9f47cad7)
## From https://github.com/dotnet/emsdk
- **Subscription**:
[4ebef09c-22a4-4345-9e95-08db9f47cad7](https://maestro.dot.net/subscriptions?search=4ebef09c-22a4-4345-9e95-08db9f47cad7)
- **Build**:
[20260106.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2873152)
([297303](https://maestro.dot.net/channel/3073/github:dotnet:emsdk/build/297303))
- **Date Produced**: January 14, 2026 5:21:21 PM UTC
- **Commit**:
[8b730da92c2b7c1b200325c7e28965b71759e959](dotnet/emsdk@8b730da)
- **Branch**:
[release/8.0](https://github.com/dotnet/emsdk/tree/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.23-servicing.25626.3 to 8.0.24-servicing.26056.3][1]
- Microsoft.SourceBuild.Intermediate.emsdk
- From [8.0.23 to 8.0.24][1]
- Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100
[1]: dotnet/emsdk@1898fd1...8b730da
[DependencyUpdate]: <> (End)
[marker]: <> (End:4ebef09c-22a4-4345-9e95-08db9f47cad7)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Backport of #123450 to release/8.0
/cc @lewing@hoyosjs
## Customer Impact
- [ ] Customer reported
- [ ] Found internally
[Select one or both of the boxes. Describe how this issue impacts
customers, citing the expected and actual behaviors and scope of the
issue. If customer-reported, provide the issue number.]
## Regression
- [ ] Yes
- [ ] No
[If yes, specify when the regression was introduced. Provide the PR or
commit if known.]
## Testing
[How was the fix verified? How was the issue missed previously? What
tests were added?]
## Risk
[High/Medium/Low. Justify the indication by mentioning how risks were
measured and addressed.]
**IMPORTANT**: If this backport is for a servicing release, please
verify that:
- For .NET 8 and .NET 9: The PR target branch is `release/X.0-staging`,
not `release/X.0`.
- For .NET 10+: The PR target branch is `release/X.0` (no `-staging`
suffix).
## Package authoring no longer needed in .NET 9
**IMPORTANT**: Starting with .NET 9, you no longer need to edit a NuGet
package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older
versions.
---------
Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
This pull request updates the following dependencies
[marker]: <> (Begin:4ebef09c-22a4-4345-9e95-08db9f47cad7)
## From https://github.com/dotnet/emsdk
- **Subscription**:
[4ebef09c-22a4-4345-9e95-08db9f47cad7](https://maestro.dot.net/subscriptions?search=4ebef09c-22a4-4345-9e95-08db9f47cad7)
- **Build**:
[20260202.2](https://dev.azure.com/dnceng/internal/_build/results?buildId=2893841)
([300038](https://maestro.dot.net/channel/3073/github:dotnet:emsdk/build/300038))
- **Date Produced**: February 3, 2026 2:41:01 PM UTC
- **Commit**:
[badf9f97aaf4c2166b17bd6475ca73958c11e309](dotnet/emsdk@badf9f9)
- **Branch**:
[release/8.0](https://github.com/dotnet/emsdk/tree/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.24-servicing.26056.3 to 8.0.25-servicing.26102.2][3]
- Microsoft.SourceBuild.Intermediate.emsdk
- From [8.0.24 to 8.0.25][3]
- Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100
[3]: dotnet/emsdk@8b730da...badf9f9
[DependencyUpdate]: <> (End)
[marker]: <> (End:4ebef09c-22a4-4345-9e95-08db9f47cad7)
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>
@github-actionsgithub-actionsBot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Feb 12, 2026
@dotnet-policy-servicedotnet-policy-serviceBot added the linkable-framework Issues associated with delivering a linker friendly framework label Feb 12, 2026
@jozkeejozkee added NO-SQUASH The PR should not be squashed Servicing-approved Approved for servicing release area-codeflow for labeling automated codeflow and removed linkable-framework Issues associated with delivering a linker friendly framework needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Feb 12, 2026
@dotnet-policy-servicedotnet-policy-serviceBot added the linkable-framework Issues associated with delivering a linker friendly framework label Feb 12, 2026
@jozkeejozkee removed the linkable-framework Issues associated with delivering a linker friendly framework label Feb 12, 2026
@dotnet-policy-servicedotnet-policy-serviceBot added the linkable-framework Issues associated with delivering a linker friendly framework label Feb 12, 2026

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR merges release/8.0 into release/8.0-staging, bringing forward a set of servicing updates across linker/analyzers, cryptography (COSE) decoding behavior + tests, Mono/CoreCLR/runtime infrastructure, stress-test tooling, and build/pipeline configuration.

Changes:

  • Add/adjust ILLink trim analysis behavior and introduce a new analyzer test case for extension-method dataflow.
  • Improve COSE header decoding (indefinite-length maps/arrays, critical header validation) and expand test coverage.
  • Refactor HttpStress/SslStress container + local-run tooling to shared scripts, update pipelines/queues, and bump various repo/tooling versions.

Reviewed changes

Copilot reviewed 72 out of 81 changed files in this pull request and generated 7 comments.

Show a summary per file
FileDescription
src/tools/illink/test/Mono.Linker.Tests.Cases/DataFlow/ExtensionsDataFlow.csAdds a new linker dataflow test case focused on extension methods.
src/tools/illink/test/ILLink.RoslynAnalyzer.Tests/DataFlowTests.csRegisters the new ExtensionsDataFlow analyzer test.
src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisVisitor.csUpdates trim analysis parameter handling via ParameterProxy.
src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/ParameterProxy.csChanges ParameterProxy construction to require an explicit method symbol.
src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/MethodParameterValue.csRemoves now-unneeded convenience constructors, relying on ParameterProxy.
src/tests/issues.targetsAdds Mono minijit x64 exclusions for Swift ABI stress tests.
src/mono/mono/mini/decompose.cSimplifies a comparison constant to INT_MIN.
src/mono/mono/mini/aot-compiler.cRenames boolean icall signature symbols used by the AOT compiler.
src/mono/mono/metadata/icall.cCleans up icall signature enum naming (boolean).
src/mono/mono/metadata/icall-signatures.hUpdates icall signature macro usage/comments to boolean.
src/libraries/System.Security.Cryptography.Cose/tests/CoseMessageTests.Sign.CustomHeaderMaps.csExpands critical header tests to cover definite vs indefinite encodings.
src/libraries/System.Security.Cryptography.Cose/tests/CoseMessageTests.DecodeSign1.csAdds additional critical-header decode negative tests.
src/libraries/System.Security.Cryptography.Cose/tests/CoseMessageTests.DecodeMultiSign.csAdds additional critical-header decode negative tests for MultiSign.
src/libraries/System.Security.Cryptography.Cose/src/System/Security/Cryptography/Cose/CoseMessage.csImproves decoding loops for indefinite-length collections and enhances critical-header validation.
src/libraries/System.Security.Cryptography.Cose/src/System.Security.Cryptography.Cose.csprojUpdates servicing metadata and package build settings.
src/libraries/System.Net.Security/tests/StressTests/SslStress/windows.DockerfileUpdates Windows stress container base image and entrypoint behavior.
src/libraries/System.Net.Security/tests/StressTests/SslStress/run-docker-compose.shDelegates to shared stress docker-compose runner script.
src/libraries/System.Net.Security/tests/StressTests/SslStress/run-docker-compose.ps1Delegates to shared stress docker-compose runner script.
src/libraries/System.Net.Security/tests/StressTests/SslStress/entrypoint.shAdds Linux container entrypoint with dump collection + artifact copy on failure.
src/libraries/System.Net.Security/tests/StressTests/SslStress/entrypoint.ps1Adds Windows container entrypoint with dump collection + artifact copy on failure.
src/libraries/System.Net.Security/tests/StressTests/SslStress/docker-compose.ymlSwitches env var naming and mounts shared dump volume.
src/libraries/System.Net.Security/tests/StressTests/SslStress/build-local.shDelegates to shared local build script.
src/libraries/System.Net.Security/tests/StressTests/SslStress/StressOperations.csAdds client pre-connect/retry initialization logic and minor formatting fixes.
src/libraries/System.Net.Security/tests/StressTests/SslStress/SslStress.csprojUpdates System.CommandLine dependency and restore sources.
src/libraries/System.Net.Security/tests/StressTests/SslStress/SslClientBase.csFixes Lazy initialization and refactors SSL stream establishment signature.
src/libraries/System.Net.Security/tests/StressTests/SslStress/Program.csUpdates System.CommandLine usage and adds client initialization call.
src/libraries/System.Net.Security/tests/StressTests/SslStress/DockerfileUpdates Linux stress container base image and entrypoint behavior.
src/libraries/System.Net.Security/tests/StressTests/SslStress/Directory.Build.targetsUses NetCoreAppCurrentVersion rather than a hardcoded maximum.
src/libraries/System.Net.Security/tests/StressTests/SslStress/Directory.Build.propsUses repo versions props and parameterized target RID/versioning.
src/libraries/System.Net.Security/tests/StressTests/SslStress/Build-Local.ps1Delegates to shared local build script.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/windows.DockerfileUpdates Windows stress container build args/entrypoint and env var naming.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/run-docker-compose.shDelegates to shared stress docker-compose runner script.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/run-docker-compose.ps1Delegates to shared stress docker-compose runner script.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/entrypoint.shAdds Linux container entrypoint with dump collection + artifact copy on failure.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/entrypoint.ps1Adds Windows container entrypoint with dump collection + artifact copy on failure.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/docker-compose.ymlSwitches to shared dump mount and standardized STRESS_* variables.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/build-local.shDelegates to shared local build script.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/build-local.ps1Delegates to shared local build script.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/StressServer.csUpdates docs link to learn.microsoft.com.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/StressClient.csEnables multiple HTTP/2 connections in SocketsHttpHandler.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/Program.csRefactors CLI parsing, adds unobserved exception tracking option/output.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/HttpStress.csprojUpdates System.CommandLine dependency and restore sources.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/DockerfileUpdates base image, msquic build strategy, and adds ASAN settings.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/Directory.Build.targetsUses NetCoreAppCurrentVersion rather than a hardcoded maximum.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/Directory.Build.propsUses repo versions props and parameterized target RID/versioning.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/Configuration.csAdds TrackUnobservedExceptions config property.
src/libraries/Common/tests/System/Net/StressTests/run-docker-compose.shIntroduces shared docker-compose runner for stress tests.
src/libraries/Common/tests/System/Net/StressTests/run-docker-compose.ps1Introduces shared docker-compose runner for stress tests (PowerShell).
src/libraries/Common/tests/System/Net/StressTests/build-local.shIntroduces shared local build helper for stress tests (bash).
src/libraries/Common/tests/System/Net/StressTests/build-local.ps1Introduces shared local build helper for stress tests (PowerShell).
src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-sles.12.projUpdates runtime-deps dependency list for SLES12.
src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-opensuse.42.projUpdates runtime-deps dependency list for openSUSE 42.
src/coreclr/vm/amd64/jithelpers_fastwritebarriers.SAdjusts labels/macros for write barrier helpers.
global.jsonUpdates MSBuild SDK dependency versions.
eng/pipelines/official/jobs/prepare-signed-artifacts.ymlSets checkout to not fetch tags.
eng/pipelines/libraries/stress/ssl.ymlExpands schedules/branch filters, standardizes dumps, uses docker compose v2, disables tag fetching.
eng/pipelines/libraries/stress/http.ymlExpands schedules/branch filters, standardizes dumps, uses docker compose v2, disables tag fetching.
eng/pipelines/libraries/helix-queues-setup.ymlUpdates macOS helix queues and whitespace cleanup.
eng/pipelines/libraries/base-job.ymlSets checkout to not fetch tags.
eng/pipelines/installer/jobs/build-job.ymlSets checkout to not fetch tags.
eng/pipelines/coreclr/templates/helix-queues-setup.ymlUpdates macOS helix queues.
eng/pipelines/common/xplat-setup.ymlUpdates hosted macOS image selection and adds queue guidance comments.
eng/pipelines/common/templates/runtimes/xplat-job.ymlSets checkout to not fetch tags.
eng/pipelines/common/global-build-job.ymlSets checkout to not fetch tags.
eng/pipelines/common/evaluate-paths-job.ymlMoves evaluate-paths to AzL pools and disables tag fetching.
eng/docker/libraries-sdk.windows.DockerfileUpdates base image and ASP.NET bits handling in the SDK image.
eng/docker/libraries-sdk.linux.DockerfileUpdates base image, SDK install behavior, and ASP.NET bits handling.
eng/docker/build-docker-sdk.shPasses version build arg and improves argument parsing.
eng/docker/build-docker-sdk.ps1Passes version build arg and aligns testhost paths with repo versioning.
eng/common/tools.ps1Removes deprecated -UseBasicParsing usages.
eng/common/templates/steps/source-build.ymlUpdates internal runtime feed URL.
eng/common/templates-official/steps/source-build.ymlUpdates internal runtime feed URL.
eng/common/templates-official/post-build/setup-maestro-vars.ymlRemoves deprecated -UseBasicParsing usage.
eng/common/templates-official/job/source-index-stage1.ymlRemoves main-branch-only condition defaulting.
eng/common/templates-official/job/source-build.ymlUpdates internal pool image.
eng/common/post-build/post-build-utils.ps1Removes deprecated -UseBasicParsing usage.
eng/common/post-build/nuget-verification.ps1Removes deprecated -UseBasicParsing usage.
eng/common/internal-feed-operations.ps1Removes deprecated -UseBasicParsing usage.
eng/Versions.propsBumps product/patch versions and updates dependency versions.
eng/Version.Details.xmlUpdates dependency versions/SHAs for ICU transport, emsdk, arcade toolset, etc.
NuGet.configUpdates darc-managed package source key/value.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-codeflowfor labeling automated codeflowlinkable-frameworkIssues associated with delivering a linker friendly frameworkNO-SQUASHThe PR should not be squashedServicing-approvedApproved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

@jozkee@rbhanda@jkotas@vseanreesermsft@bartonjs@jeffhandley@akoeplinger@wfurt