diff --git a/README.md b/README.md
index 02185fe360..32010d74c5 100644
--- a/README.md
+++ b/README.md
@@ -18,14 +18,14 @@ The following [.NET releases](./releases.md) are currently supported:
| Version | Release Date | Support | Latest Patch Version | End of Support |
| :-- | :-- | :-- | :-- | :-- |
-| [.NET 9](release-notes/9.0/README.md) | November 12, 2024 | [STS][policies] | [9.0.0-preview.3][9.0.0-preview.3] | |
+| [.NET 9](release-notes/9.0/README.md) | November 12, 2024 | [STS][policies] | [9.0.0-preview.4][9.0.0-preview.4] | |
| [.NET 8](release-notes/8.0/README.md) | [November 14, 2023](https://devblogs.microsoft.com/dotnet/announcing-dotnet-8/) | [LTS][policies] | [8.0.5][8.0.5] | November 10, 2026 |
| [.NET 6](release-notes/6.0/README.md) | [November 8, 2021](https://devblogs.microsoft.com/dotnet/announcing-net-6/) | [LTS][policies] | [6.0.30][6.0.30] | November 12, 2024 |
You can find release notes for all releases, including out-of-support releases, in the [release-notes](release-notes) directory.
-[9.0.0-preview.3]: release-notes/9.0/preview/preview3/9.0.0-preview.3.md
+[9.0.0-preview.4]: release-notes/9.0/preview/preview4/9.0.0-preview.4.md
[8.0.5]: release-notes/8.0/8.0.5/8.0.5.md
[6.0.30]: release-notes/6.0/6.0.30/6.0.30.md
diff --git a/release-notes/9.0/preview/preview4/9.0.0-preview.4.md b/release-notes/9.0/preview/preview4/9.0.0-preview.4.md
new file mode 100644
index 0000000000..3c3c1f0809
--- /dev/null
+++ b/release-notes/9.0/preview/preview4/9.0.0-preview.4.md
@@ -0,0 +1,820 @@
+# .NET 9 Preview 4 Binaries
+
+.NET 9 Preview 4 installers and binaries can be downloaded for the following product versions:
+
+- `.NET 9.0.0 Preview 4`
+- `.NET SDK 9.0.100-preview.4.24267.66`
+
+See [README.md](README.md) for .NET 9 release notes and discussions.
+
+The latest .NET releases are always listed at [.NET Releases](../../README.md).
+
+## Downloads
+
+| | SDK Installer1 | SDK Binaries1 | Runtime Installer | Runtime Binaries | ASP.NET Core Runtime |Windows Desktop Runtime |
+| --------- | :------------------------------------------: | :----------------------: | :---------------------------: | :-------------------------: | :-----------------: | :-----------------: |
+| Windows | [x86][dotnet-sdk-win-x86.exe] \| [x64][dotnet-sdk-win-x64.exe] \| [Arm64][dotnet-sdk-win-arm64.exe] | [x86][dotnet-sdk-win-x86.zip] \| [x64][dotnet-sdk-win-x64.zip] \| [Arm64][dotnet-sdk-win-arm64.zip] | [x86][dotnet-runtime-win-x86.exe] \| [x64][dotnet-runtime-win-x64.exe] \| [Arm64][dotnet-runtime-win-arm64.exe] | [x86][dotnet-runtime-win-x86.zip] \| [x64][dotnet-runtime-win-x64.zip] \| [Arm64][dotnet-runtime-win-arm64.zip] | [x86][aspnetcore-runtime-win-x86.exe] \| [x64][aspnetcore-runtime-win-x64.exe] \|
[Hosting Bundle][dotnet-hosting-win.exe]2 | [x86][windowsdesktop-runtime-win-x86.exe] \| [x64][windowsdesktop-runtime-win-x64.exe] \| [Arm64][windowsdesktop-runtime-win-arm64.exe] |
+| macOS | [x64][dotnet-sdk-osx-x64.pkg] \| [ARM64][dotnet-sdk-osx-arm64.pkg] | [x64][dotnet-sdk-osx-x64.tar.gz] \| [ARM64][dotnet-sdk-osx-arm64.tar.gz] | [x64][dotnet-runtime-osx-x64.pkg] \| [ARM64][dotnet-runtime-osx-arm64.pkg] | [x64][dotnet-runtime-osx-x64.tar.gz] \| [ARM64][dotnet-runtime-osx-arm64.tar.gz]| [x64][aspnetcore-runtime-osx-x64.tar.gz] \| [ARM64][aspnetcore-runtime-osx-arm64.tar.gz] | - |1
+| Linux | [Snap and Package Manager](../../install-linux.md) | [x64][dotnet-sdk-linux-x64.tar.gz] \| [Arm][dotnet-sdk-linux-arm.tar.gz] \| [Arm64][dotnet-sdk-linux-arm64.tar.gz] \| [Arm32 Alpine][dotnet-sdk-linux-musl-arm.tar.gz] \| [x64 Alpine][dotnet-sdk-linux-musl-x64.tar.gz] | [Packages (x64)][linux-packages] | [x64][dotnet-runtime-linux-x64.tar.gz] \| [Arm][dotnet-runtime-linux-arm.tar.gz] \| [Arm64][dotnet-runtime-linux-arm64.tar.gz] \| [Arm32 Alpine][dotnet-runtime-linux-musl-arm.tar.gz] \| [Arm64 Alpine][dotnet-runtime-linux-musl-arm64.tar.gz] \| [x64 Alpine][dotnet-runtime-linux-musl-x64.tar.gz] | [x64][aspnetcore-runtime-linux-x64.tar.gz]1 \| [Arm][aspnetcore-runtime-linux-arm.tar.gz]1 \| [Arm64][aspnetcore-runtime-linux-arm64.tar.gz]1 \| [x64 Alpine][aspnetcore-runtime-linux-musl-x64.tar.gz] | - | 1 |
+| | [Checksums][checksums-sdk] | [Checksums][checksums-sdk] | [Checksums][checksums-runtime] | [Checksums][checksums-runtime] | [Checksums][checksums-runtime] | [Checksums][checksums-runtime]
+
+1. Includes the .NET Runtime and ASP.NET Core Runtime
+2. For hosting stand-alone apps on Windows Servers. Includes the ASP.NET Core Module for IIS and can be installed separately on servers without installing .NET Runtime.
+
+The .NET SDK includes a matching updated .NET Runtime. Downloading the Runtime or ASP.NET Core packages is not needed when installing the SDK.
+
+You can check your .NET SDK version by running the following command. The example version shown is for this release.
+
+```console
+$ dotnet --version
+9.0.100-preview.4.24267.66
+```
+
+## .NET Multi-Platform App UI (MAUI) Workload Downloads
+
+ After installing the .NET SDK, you can install .NET MAUI using the `dotnet workload install` command:
+
+ ```console
+ $ dotnet workload install maui
+ ```
+
+ The following workloads are also available to install individually:
+
+ ```console
+ $ dotnet workload install android
+ $ dotnet workload install ios
+ $ dotnet workload install maccatalyst
+ $ dotnet workload install macos
+ $ dotnet workload install tvos
+ ```
+
+## Docker Images
+
+The [.NET Docker images](https://hub.docker.com/_/microsoft-dotnet) have been updated for this release. The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together. You can use the following command to try running the latest .NET 9.0 release in containers:
+
+```console
+docker run --rm mcr.microsoft.com/dotnet/samples
+```
+
+The following repos have been updated.
+
+* [dotnet/sdk](https://hub.docker.com/_/microsoft-dotnet-sdk/): .NET SDK
+* [dotnet/aspnet](https://hub.docker.com/_/microsoft-dotnet-aspnet/): ASP.NET Core Runtime
+* [dotnet/runtime](https://hub.docker.com/_/microsoft-dotnet-runtime/): .NET Runtime
+* [dotnet/runtime-deps](https://hub.docker.com/_/microsoft-dotnet-runtime-deps/): .NET Runtime Dependencies
+* [dotnet/samples](https://hub.docker.com/_/microsoft-dotnet-samples/): .NET Samples
+
+## Visual Studio Compatibility
+
+.NET 9 is compatible with [Visual Studio 17.10 latest preview](https://visualstudio.microsoft.com) Users will have to [download](https://dotnet.microsoft.com/download/dotnet/9.0) and install the .NET 9 runtime/sdk standalone. Visual Studio for Mac is currently not supported for .NET 9.0 Preview releases.
+
+## Feedback
+
+Your feedback is important and appreciated. We've created an issue at https://aka.ms/dotnet/9/preview4 for your questions and comments.
+
+## Packages updated in this release:
+
+Package name | Version
+:----------- | :------------------
+Microsoft.WindowsDesktop.App.Runtime.win-x86 | 9.0.0-preview.4.24267.11
+Microsoft.WindowsDesktop.App.Runtime.win-arm64 | 9.0.0-preview.4.24267.11
+Microsoft.WindowsDesktop.App.Ref | 9.0.0-preview.4.24267.11
+Microsoft.Windows.Compatibility | 9.0.0-preview.4.24267.11
+Microsoft.WindowsDesktop.App.Runtime.win-x64 | 9.0.0-preview.4.24267.11
+Microsoft.NETCore.App.Crossgen2.osx-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.android-x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.osx-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.DependencyInjection.Abstractions | 9.0.0-preview.4.24266.19
+Microsoft.ILVerification | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Primitives | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.MonoTargets.Sdk.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.MonoTargets.Sdk.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.MonoTargets.Sdk.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.WebAssembly.Templates.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.Current.Manifest-9.0.100-preview.4 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.net6.Manifest-9.0.100-preview.4.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.net6.Manifest-9.0.100-preview.4.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.net7.Manifest-9.0.100-preview.4.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.net7.Manifest-9.0.100-preview.4 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.net8.Manifest-9.0.100-preview.4 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Crossgen2.linux-musl-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Crossgen2.win-x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.android-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.android-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.android-arm.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.ios-arm64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.ios-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.iossimulator-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.iossimulator-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.linux-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.linux-musl-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.maccatalyst-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.win-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.win-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-x86.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-x86.Msi.x86 | 9.0.0-preview.4.24266.19
+runtime.android-arm.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.linux-musl-arm.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.linux-musl-x64.Microsoft.NETCore.ILAsm | 9.0.0-preview.4.24266.19
+runtime.linux-x64.Microsoft.NETCore.ILAsm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.win-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.tvossimulator-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.osx-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.win-x86 | 9.0.0-preview.4.24266.19
+Microsoft.Win32.SystemEvents | 9.0.0-preview.4.24266.19
+Microsoft.Win32.Registry.AccessControl | 9.0.0-preview.4.24266.19
+Microsoft.XmlSerializer.Generator | 9.0.0-preview.4.24266.19
+runtime.android-arm64.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.android-x86.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.linux-arm.Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+runtime.linux-bionic-arm64.Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+runtime.linux-musl-arm.Microsoft.NETCore.ILAsm | 9.0.0-preview.4.24266.19
+runtime.linux-musl-arm.Microsoft.NETCore.ILDAsm | 9.0.0-preview.4.24266.19
+runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+runtime.linux-musl-arm64.Microsoft.NETCore.ILAsm | 9.0.0-preview.4.24266.19
+runtime.linux-musl-arm64.Microsoft.NETCore.ILDAsm | 9.0.0-preview.4.24266.19
+runtime.linux-x64.Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+runtime.maccatalyst-arm64.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+System.ComponentModel.Composition.Registration | 9.0.0-preview.4.24266.19
+System.Composition | 9.0.0-preview.4.24266.19
+System.Composition.Convention | 9.0.0-preview.4.24266.19
+System.Composition.AttributedModel | 9.0.0-preview.4.24266.19
+System.Composition.Hosting | 9.0.0-preview.4.24266.19
+System.Configuration.ConfigurationManager | 9.0.0-preview.4.24266.19
+System.Composition.Runtime | 9.0.0-preview.4.24266.19
+System.Data.Odbc | 9.0.0-preview.4.24266.19
+System.DirectoryServices | 9.0.0-preview.4.24266.19
+System.Diagnostics.PerformanceCounter | 9.0.0-preview.4.24266.19
+System.DirectoryServices.Protocols | 9.0.0-preview.4.24266.19
+System.IO.Hashing | 9.0.0-preview.4.24266.19
+System.IO.Pipelines | 9.0.0-preview.4.24266.19
+System.IO.Packaging | 9.0.0-preview.4.24266.19
+System.Management | 9.0.0-preview.4.24266.19
+System.Resources.Extensions | 9.0.0-preview.4.24266.19
+System.Security.Cryptography.Pkcs | 9.0.0-preview.4.24266.19
+System.Security.Cryptography.Cose | 9.0.0-preview.4.24266.19
+System.Runtime.Serialization.Schema | 9.0.0-preview.4.24266.19
+System.Security.Cryptography.Xml | 9.0.0-preview.4.24266.19
+System.Security.Cryptography.ProtectedData | 9.0.0-preview.4.24266.19
+System.Security.Permissions | 9.0.0-preview.4.24266.19
+System.Text.Json | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.android-x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-musl-arm64.Cross.android-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.maccatalyst-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.wasi-wasm.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.wasi-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.linux-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.ios-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.linux-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.wasi-wasm.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.linux-bionic-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.linux-musl-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.linux-musl-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.maccatalyst-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.tvos-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.win-x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.win-x64.Msi.x86 | 9.0.0-preview.4.24266.19
+runtime.linux-arm.Microsoft.NETCore.ILAsm | 9.0.0-preview.4.24266.19
+runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+runtime.maccatalyst-x64.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.win-x86.Microsoft.DotNet.ILCompiler | 9.0.0-preview.4.24266.19
+runtime.win-x64.Microsoft.NETCore.ILAsm | 9.0.0-preview.4.24266.19
+runtime.win-x86.Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+runtime.win-x86.Microsoft.NETCore.ILDAsm | 9.0.0-preview.4.24266.19
+runtime.win-x86.Microsoft.NETCore.ILAsm | 9.0.0-preview.4.24266.19
+System.Collections.Immutable | 9.0.0-preview.4.24266.19
+System.Composition.TypedParts | 9.0.0-preview.4.24266.19
+System.Diagnostics.EventLog | 9.0.0-preview.4.24266.19
+System.DirectoryServices.AccountManagement | 9.0.0-preview.4.24266.19
+System.Formats.Asn1 | 9.0.0-preview.4.24266.19
+System.Memory.Data | 9.0.0-preview.4.24266.19
+System.Net.Http.Json | 9.0.0-preview.4.24266.19
+System.Numerics.Tensors | 9.0.0-preview.4.24266.19
+System.Reflection.Context | 9.0.0-preview.4.24266.19
+System.Reflection.MetadataLoadContext | 9.0.0-preview.4.24266.19
+System.ServiceModel.Syndication | 9.0.0-preview.4.24266.19
+System.Text.Encoding.CodePages | 9.0.0-preview.4.24266.19
+System.ServiceProcess.ServiceController | 9.0.0-preview.4.24266.19
+System.Speech | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.DependencyInjection | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Diagnostics | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Logging.EventLog | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Options | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Logging.EventSource | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Logging.TraceSource | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Options.ConfigurationExtensions | 9.0.0-preview.4.24266.19
+Microsoft.NET.Sdk.WebAssembly.Pack.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.Current.Manifest-9.0.100-preview.4.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.net7.Manifest-9.0.100-preview.4.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Crossgen2.linux-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Crossgen2.osx-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Host.linux-musl-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Host.linux-musl-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Host.osx-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-musl-arm64.Cross.browser-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.iossimulator-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.iossimulator-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.wasi-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.linux-bionic-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.linux-musl-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.linux-musl-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.browser-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.win-arm64.Msi.x64 | 9.0.0-preview.4.24266.19
+runtime.linux-musl-x64.Microsoft.NETCore.ILDAsm | 9.0.0-preview.4.24266.19
+runtime.linux-x64.Microsoft.DotNet.ILCompiler | 9.0.0-preview.4.24266.19
+runtime.linux-x64.Microsoft.NETCore.ILDAsm | 9.0.0-preview.4.24266.19
+runtime.win-arm64.Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+runtime.win-x64.Microsoft.DotNet.ILCompiler | 9.0.0-preview.4.24266.19
+runtime.win-arm64.Microsoft.NETCore.ILAsm | 9.0.0-preview.4.24266.19
+runtime.win-x64.Microsoft.NETCore.ILDAsm | 9.0.0-preview.4.24266.19
+System.Data.OleDb | 9.0.0-preview.4.24266.19
+System.Diagnostics.DiagnosticSource | 9.0.0-preview.4.24266.19
+System.Formats.Cbor | 9.0.0-preview.4.24266.19
+System.Net.Http.WinHttpHandler | 9.0.0-preview.4.24266.19
+System.Reflection.Metadata | 9.0.0-preview.4.24266.19
+System.Runtime.Caching | 9.0.0-preview.4.24266.19
+System.Windows.Extensions | 9.0.0-preview.4.24266.19
+Microsoft.Bcl.AsyncInterfaces | 9.0.0-preview.4.24266.19
+Microsoft.Bcl.Numerics | 9.0.0-preview.4.24266.19
+Microsoft.Bcl.TimeProvider | 9.0.0-preview.4.24266.19
+Microsoft.DotNet.ILCompiler | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Caching.Abstractions | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Configuration | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.WebAssembly.Sdk.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.WebAssembly.Sdk.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Sdk.WebAssembly.Pack | 9.0.0-preview.4.24266.19
+Microsoft.NET.Sdk.WebAssembly.Pack.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.android-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-musl-x64.Cross.wasi-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.browser-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.android-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.tvos-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-arm64.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-x86.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.browser-wasm.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.browser-wasm.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.linux-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.osx-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.tvos-arm64.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.wasi-wasm.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.win-arm64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.ILAsm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.ILDAsm | 9.0.0-preview.4.24266.19
+runtime.linux-arm.Microsoft.DotNet.ILCompiler | 9.0.0-preview.4.24266.19
+runtime.linux-arm64.Microsoft.DotNet.ILCompiler | 9.0.0-preview.4.24266.19
+runtime.linux-arm64.Microsoft.NETCore.ILAsm | 9.0.0-preview.4.24266.19
+runtime.linux-bionic-arm64.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.linux-bionic-x64.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler | 9.0.0-preview.4.24266.19
+runtime.linux-musl-arm64.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.linux-musl-x64.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.win-x64.Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.android-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Crossgen2.linux-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.net8.Manifest-9.0.100-preview.4.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Host.linux-bionic-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Host.linux-musl-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Host.linux-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Ref | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.browser-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-musl-x64.Cross.android-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.ios-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.tvossimulator-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.android-x86.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.linux-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-x64.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.browser-wasm.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.ios-arm64.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.ios-arm64.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.osx-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.LLVM.linux-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.tvos-arm64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.wasi-wasm.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.win-x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.linux-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.win-arm64.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.win-x64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.win-x86.Msi.arm64 | 9.0.0-preview.4.24266.19
+runtime.linux-arm.Microsoft.NETCore.ILDAsm | 9.0.0-preview.4.24266.19
+runtime.linux-arm.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.linux-arm64.Microsoft.NETCore.ILDAsm | 9.0.0-preview.4.24266.19
+runtime.linux-musl-arm.Microsoft.DotNet.ILCompiler | 9.0.0-preview.4.24266.19
+runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.osx-arm64.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.osx-x64.Microsoft.NETCore.ILAsm | 9.0.0-preview.4.24266.19
+runtime.osx-x64.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+System.ComponentModel.Composition | 9.0.0-preview.4.24266.19
+System.CodeDom | 9.0.0-preview.4.24266.19
+System.IO.Ports | 9.0.0-preview.4.24266.19
+System.Text.Encodings.Web | 9.0.0-preview.4.24266.19
+System.Threading.AccessControl | 9.0.0-preview.4.24266.19
+dotnet-ilverify | 9.0.0-preview.4.24266.19
+Microsoft.Bcl.Cryptography | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Caching.Memory | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Configuration.Binder | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Configuration.Abstractions | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Configuration.EnvironmentVariables | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Configuration.CommandLine | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Configuration.Ini | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Configuration.FileExtensions | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Configuration.UserSecrets | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Configuration.Json | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Diagnostics.Abstractions | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.FileProviders.Composite | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.FileProviders.Abstractions | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.FileProviders.Physical | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.FileSystemGlobbing | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Http | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Logging.Abstractions | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Logging | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Logging.Console | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Logging.Configuration | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Logging.Debug | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.MonoAOTCompiler.Task | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.MonoAOTCompiler.Task.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.wasm.Sample.Mono | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.WebAssembly.Sdk | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.Current.Manifest-9.0.100-preview.4.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.net6.Manifest-9.0.100-preview.4.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.net6.Manifest-9.0.100-preview.4 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.net7.Manifest-9.0.100-preview.4.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.net8.Manifest-9.0.100-preview.4.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Crossgen2.linux-musl-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Host.osx-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Host.win-x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-musl-arm64.Cross.wasi-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-musl-x64.Cross.android-x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-musl-x64.Cross.android-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-musl-x64.Cross.browser-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.wasi-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.android-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.android-x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.tvossimulator-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.android-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.android-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.android-arm64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.linux-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.wasi-wasm.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.linux-bionic-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.linux-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.tvos-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.linux-bionic-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.linux-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.osx-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.tvossimulator-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.win-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.win-x64.Msi.x64 | 9.0.0-preview.4.24266.19
+runtime.android-x64.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.linux-arm64.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.linux-bionic-x64.Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+runtime.osx-arm64.Microsoft.DotNet.ILCompiler | 9.0.0-preview.4.24266.19
+runtime.osx-x64.Microsoft.DotNet.ILCompiler | 9.0.0-preview.4.24266.19
+runtime.linux-x64.runtime.native.System.IO.Ports | 9.0.0-preview.4.24266.19
+runtime.win-arm64.Microsoft.DotNet.ILCompiler | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Configuration.Xml | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.DependencyModel | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.DependencyInjection.Specification.Tests | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Hosting | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Hosting.Abstractions | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Hosting.Systemd | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Hosting.WindowsServices | 9.0.0-preview.4.24266.19
+Microsoft.Extensions.Options.DataAnnotations | 9.0.0-preview.4.24266.19
+Microsoft.NET.ILLink.Tasks | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.Android.Sample.Mono | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.iOS.Sample.Mono | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.MonoAOTCompiler.Task.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.MonoAOTCompiler.Task.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.MonoTargets.Sdk | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.WebAssembly.Sdk.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.WebAssembly.Templates.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.WebAssembly.Templates | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Sdk.IL | 9.0.0-preview.4.24266.19
+Microsoft.NET.Sdk.WebAssembly.Pack.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.WebAssembly.Threading | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.Current.Manifest-9.0.100-preview.4.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NET.Workload.Mono.ToolChain.net8.Manifest-9.0.100-preview.4.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Crossgen2.linux-musl-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Crossgen2.linux-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Crossgen2.win-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Crossgen2.win-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Host.linux-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Host.linux-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Host.linux-bionic-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Host.win-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.wasi-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-musl-arm64.Cross.android-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-musl-arm64.Cross.android-x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-musl-x64.Cross.android-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.browser-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.maccatalyst-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.wasi-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.android-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.android-x64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.browser-wasm.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.browser-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.wasi-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.linux-musl-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-arm.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-x64.Msi.arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.android-x64.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.linux-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.LLVM.AOT.linux-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.LLVM.osx-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.osx-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.tvos-arm64.Msi.x86 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.wasi-wasm | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.Mono.win-x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.NativeAOT.linux-bionic-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.osx-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.win-x86.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.win-x86.Msi.x86 | 9.0.0-preview.4.24266.19
+runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler | 9.0.0-preview.4.24266.19
+runtime.osx-arm64.Microsoft.NETCore.ILDAsm | 9.0.0-preview.4.24266.19
+runtime.osx-arm64.Microsoft.NETCore.ILAsm | 9.0.0-preview.4.24266.19
+runtime.osx-x64.Microsoft.NETCore.DotNetAppHost | 9.0.0-preview.4.24266.19
+runtime.osx-x64.Microsoft.NETCore.ILDAsm | 9.0.0-preview.4.24266.19
+runtime.win-arm64.Microsoft.NETCore.ILDAsm | 9.0.0-preview.4.24266.19
+System.Threading.Channels | 9.0.0-preview.4.24266.19
+System.Threading.RateLimiting | 9.0.0-preview.4.24266.19
+System.Threading.Tasks.Dataflow | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.LibraryBuilder.Sdk | 9.0.0-preview.4.24266.19
+Microsoft.NET.Runtime.WebAssembly.Templates.Msi.x64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Host.win-arm64 | 9.0.0-preview.4.24266.19
+Microsoft.NETCore.App.Runtime.AOT.linux-musl-arm64.Cross.android-arm | 9.0.0-preview.4.24266.19
+Microsoft.AspNetCore.Components.WebView | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.ConcurrencyLimiter | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.DataProtection.EntityFrameworkCore | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Identity.UI | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.MiddlewareAnalysis | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.SignalR.Protocols.MessagePack | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Localization | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Localization.Abstractions | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.WebEncoders | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.App.Runtime.linux-arm | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.App.Runtime.linux-arm64 | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.App.Runtime.linux-x64 | 9.0.0-preview.4.24267.6
+AspNetCoreRuntime.9.0.x64 | 9.0.0-preview-4-24267-6
+AspNetCoreRuntime.9.0.x86 | 9.0.0-preview-4-24267-6
+Microsoft.AspNetCore.App.Runtime.osx-arm64 | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Authentication.OpenIdConnect | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Authentication.Twitter | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Components.WebAssembly.DevServer | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Components.WebAssembly.Server | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Components.WebAssembly.Authentication | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Mvc.Testing | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.OutputCaching.StackExchangeRedis | 9.0.0-preview.4.24267.6
+Microsoft.DotNet.Web.ItemTemplates.9.0 | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.ApiDescription.Server | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.ApiDescription.Client | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Diagnostics.HealthChecks | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.FileProviders.Embedded | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Features | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Http.Polly | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Identity.Core | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Logging.AzureAppServices | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.ObjectPool | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.DataProtection | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.DataProtection.Abstractions | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Grpc.JsonTranscoding | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.HeaderPropagation | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Http.Connections.Client | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Mvc.NewtonsoftJson | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.OpenApi | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.SignalR.Client | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.SignalR.Client.Core | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.SignalR.Common | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.SignalR.Protocols.Json | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.WebUtilities | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.TestHost | 9.0.0-preview.4.24267.6
+Microsoft.Authentication.WebAssembly.Msal | 9.0.0-preview.4.24267.6
+Microsoft.DotNet.Web.ProjectTemplates.9.0 | 9.0.0-preview.4.24267.6
+Microsoft.dotnet-openapi | 9.0.0-preview.4.24267.6
+Microsoft.DotNet.Web.Client.ItemTemplates | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Caching.Hybrid | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Caching.StackExchangeRedis | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Identity.Stores | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.App.Runtime.linux-musl-arm | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.App.Runtime.win-x64 | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Authentication.Facebook | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Authentication.Google | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Authentication.Certificate | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Authentication.JwtBearer | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Authentication.MicrosoftAccount | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Authentication.Negotiate | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Authentication.WsFederation | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Authorization | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.AzureAppServices.HostingStartup | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.AzureAppServicesIntegration | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Components | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Components.Analyzers | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Components.CustomElements | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Components.WebAssembly | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Cryptography.Internal | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Connections.Abstractions | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.DataProtection.Extensions | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Cryptography.KeyDerivation | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.DataProtection.StackExchangeRedis | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Http.Connections.Common | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Grpc.Swagger | 0.9.0-preview.4.24267.6
+Microsoft.AspNetCore.Hosting.WindowsServices | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Identity.EntityFrameworkCore | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.JsonPatch | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Metadata | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Owin | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.SignalR.Specification.Tests | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.SignalR.StackExchangeRedis | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.SpaProxy | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.SpaServices.Extensions | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Caching.SqlServer | 9.0.0-preview.4.24267.6
+Microsoft.Extensions.Configuration.KeyPerFile | 9.0.0-preview.4.24267.6
+Microsoft.JSInterop | 9.0.0-preview.4.24267.6
+Microsoft.JSInterop.WebAssembly | 9.0.0-preview.4.24267.6
+Microsoft.Net.Http.Headers | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.App.Runtime.linux-musl-x64 | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.App.Runtime.linux-musl-arm64 | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.App.Runtime.osx-x64 | 9.0.0-preview.4.24267.6
+dotnet-sql-cache | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.App.Ref | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.App.Runtime.win-arm64 | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Components.Web | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.App.Runtime.win-x86 | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Components.Authorization | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Components.Forms | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Components.QuickGrid | 9.0.0-preview.4.24267.6
+Microsoft.AspNetCore.Components.QuickGrid.EntityFrameworkAdapter | 9.0.0-preview.4.24267.6
+Microsoft.NET.Build.Containers | 9.0.100-preview.4.24267.43
+Microsoft.DotNet.ApiCompat.Task | 9.0.100-preview.4.24267.43
+Microsoft.DotNet.ApiCompat.Tool | 9.0.100-preview.4.24267.43
+FSharp.Compiler.Service | 43.8.400-preview.24229.4
+FSharp.Core | 8.0.400-beta.24229.4
+Microsoft.DotNet.Common.ItemTemplates | 9.0.100-preview.4.24267.43
+Microsoft.DotNet.Common.ProjectTemplates.9.0 | 9.0.100-preview.4.24267.43
+System.Drawing.Common | 9.0.0-preview.4.24267.1
+Microsoft.NET.Runtime.Emscripten.3.1.34.Node.linux-musl-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Node.linux-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Node.osx-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.win-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.win-arm64.Msi.arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Python.win-x64.Msi.x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.osx-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.net7.Manifest-9.0.100-preview.4.Msi.arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.win-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Python.osx-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Python.osx-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.win-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Python.win-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Node.win-x64.Msi.x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Python.win-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.linux-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.linux-musl-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.linux-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.win-x64.Msi.x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.win-x64.Msi.x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100-preview.4.Msi.arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100-preview.4.Msi.x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.net8.Manifest-9.0.100-preview.4.Msi.x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100-preview.4 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.linux-musl-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Node.linux-musl-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Node.osx-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.linux-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.osx-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.net7.Manifest-9.0.100-preview.4.Msi.x86 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.net8.Manifest-9.0.100-preview.4.Msi.x86 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Node.win-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.net6.Manifest-9.0.100-preview.4 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.linux-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.linux-musl-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.osx-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.linux-musl-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.win-arm64.Msi.arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100-preview.4.Msi.x86 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.net6.Manifest-9.0.100-preview.4.Msi.arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Sdk.win-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.net8.Manifest-9.0.100-preview.4.Msi.arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.net7.Manifest-9.0.100-preview.4 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Cache.osx-x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Node.linux-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Node.win-arm64.Msi.arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Node.win-arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Runtime.Emscripten.3.1.34.Python.win-arm64.Msi.arm64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.net6.Manifest-9.0.100-preview.4.Msi.x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.net6.Manifest-9.0.100-preview.4.Msi.x86 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.net7.Manifest-9.0.100-preview.4.Msi.x64 | 9.0.0-preview.4.24266.2
+Microsoft.NET.Workload.Emscripten.net8.Manifest-9.0.100-preview.4 | 9.0.0-preview.4.24266.2
+Microsoft.Data.Sqlite | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.Abstractions | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.Analyzers | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.Cosmos | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.Specification.Tests | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.Proxies | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.Sqlite.Core | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.Sqlite | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.SqlServer | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.SqlServer.HierarchyId | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.Relational | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.SqlServer.Abstractions | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.Design | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.InMemory | 9.0.0-preview.4.24267.1
+dotnet-ef | 9.0.0-preview.4.24267.1
+Microsoft.Data.Sqlite.Core | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.Tasks | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.Templates | 9.0.0-preview.4.24267.1
+Microsoft.EntityFrameworkCore.Tools | 9.0.0-preview.4.24267.1
+Microsoft.TemplateEngine.Core.Contracts | 9.0.100-preview.4.24267.3
+Microsoft.TemplateEngine.Orchestrator.RunnableProjects | 9.0.100-preview.4.24267.3
+Microsoft.TemplateEngine.Authoring.Tasks | 9.0.100-preview.4.24267.3
+Microsoft.TemplateEngine.Authoring.CLI | 9.0.100-preview.4.24267.3
+Microsoft.TemplateEngine.Abstractions | 9.0.100-preview.4.24267.3
+Microsoft.TemplateEngine.Samples | 9.0.100-preview.4.24267.3
+Microsoft.TemplateEngine.TemplateLocalizer.Core | 9.0.100-preview.4.24267.3
+Microsoft.TemplateEngine.Utils | 9.0.100-preview.4.24267.3
+Microsoft.TemplateEngine.Core | 9.0.100-preview.4.24267.3
+Microsoft.TemplateEngine.Authoring.TemplateVerifier | 9.0.100-preview.4.24267.3
+Microsoft.TemplateEngine.Authoring.Templates | 9.0.100-preview.4.24267.3
+Microsoft.TemplateEngine.Edge | 9.0.100-preview.4.24267.3
+Microsoft.TemplateEngine.IDE | 9.0.100-preview.4.24267.3
+Microsoft.TemplateSearch.Common | 9.0.100-preview.4.24267.3
+Microsoft.CodeAnalysis.BannedApiAnalyzers | 3.11.0-beta1.24216.2
+Microsoft.CodeAnalysis.Analyzers | 3.11.0-beta1.24216.2
+Microsoft.CodeAnalysis.NetAnalyzers | 9.0.0-preview.24216.2
+Text.Analyzers | 3.11.0-beta1.24216.2
+Microsoft.CodeAnalysis.ResxSourceGenerator | 3.11.0-beta1.24216.2
+Microsoft.CodeAnalysis.PublicApiAnalyzers | 3.11.0-beta1.24216.2
+Microsoft.CodeAnalysis.Metrics | 4.0.0-beta1.24216.2
+Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers | 3.11.0-beta1.24216.2
+Roslyn.Diagnostics.Analyzers | 3.11.0-beta1.24216.2
+Microsoft.CodeAnalysis.AnalyzerUtilities | 3.11.0-beta1.24216.2
+Microsoft.CodeAnalysis.RulesetToEditorconfigConverter | 3.11.0-beta1.24216.2
+
+[blob-runtime]: https://dotnetcli.blob.core.windows.net/dotnet/Runtime/
+[blob-sdk]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/
+[release-notes]: https://github.com/dotnet/core/blob/main/release-notes/9.0/preview4/9.0.0-preview.4.md
+
+[checksums-runtime]: https://dotnetcli.blob.core.windows.net/dotnet/checksums/9.0.0-preview.4-sha.txt
+[checksums-sdk]: https://dotnetcli.blob.core.windows.net/dotnet/checksums/9.0.0-preview.4-sha.txt
+
+[linux-install]: https://learn.microsoft.com/dotnet/core/install/linux
+[linux-setup]: https://github.com/dotnet/core/blob/main/Documentation/linux-setup.md
+
+[dotnet-blog]: https://devblogs.microsoft.com/dotnet/announcing-dotnet-9-preview-4
+[aspnet-blog]: https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-9-preview-4/
+[ef-blog]: https://devblogs.microsoft.com/dotnet/announcing-ef9-preview-4/
+[ef_bugs]: https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A9.0.0-preview4+is%3Aclosed+label%3Atype-bug
+[ef_features]: https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A9.0.0-preview4+is%3Aclosed+label%3Atype-enhancement
+
+[aspnet_bugs]: https://github.com/aspnet/AspNetCore/issues?q=is%3Aissue+milestone%3A9.0.0-preview4+label%3ADone+label%3Abug
+[aspnet_features]: https://github.com/aspnet/AspNetCore/issues?q=is%3Aissue+milestone%3A9.0.0-preview4+label%3ADone+label%3Aenhancement
+[runtime_bugs]: https://github.com/dotnet/runtime/issues?utf8=%E2%9C%93&q=is%3Aissue+milestone%3A9.0+label%3Abug+
+[runtime_features]: https://github.com/dotnet/runtime/issues?q=is%3Aissue+milestone%3A9.0+label%3Aenhancement
+
+[sdk_bugs]: https://github.com/dotnet/sdk/issues?q=is%3Aissue+is%3Aclosed+milestone%3A9.0.1xx
+[linux-packages]: ../../install-linux.md
+
+[//]: # ( Runtime 9.0.0-preview.4.24266.19)
+[dotnet-runtime-linux-arm.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/5a99b6e0-105d-432e-8df1-9f881aab7d86/4018c96b74950f6943e9102b99baec58/dotnet-runtime-9.0.0-preview.4.24266.19-linux-arm.tar.gz
+[dotnet-runtime-linux-arm64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/18801fdd-b1f5-4856-8288-c306b11f0f43/5c62f28b9a269b1a840cfb310a9a9f86/dotnet-runtime-9.0.0-preview.4.24266.19-linux-arm64.tar.gz
+[dotnet-runtime-linux-musl-arm.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/35dd9b11-2055-4d52-9169-1b6c3dd11594/a35d42236e89f7e0bea13545138e170e/dotnet-runtime-9.0.0-preview.4.24266.19-linux-musl-arm.tar.gz
+[dotnet-runtime-linux-musl-arm64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/242ea287-a11a-4248-8c85-bfca8d2057e0/c0da08d4b4f8b07c966d9169ec56ed1d/dotnet-runtime-9.0.0-preview.4.24266.19-linux-musl-arm64.tar.gz
+[dotnet-runtime-linux-musl-x64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/5139dd2b-c1a7-4be5-9913-18e09aed94f3/f9a8615238ec30073a7c1bcb3c7ae247/dotnet-runtime-9.0.0-preview.4.24266.19-linux-musl-x64.tar.gz
+[dotnet-runtime-linux-x64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/bd635e31-a279-4078-ac0d-f82ad8940f84/2e9b04bbe40e28507e8483c73eafdd7c/dotnet-runtime-9.0.0-preview.4.24266.19-linux-x64.tar.gz
+[dotnet-runtime-osx-arm64.pkg]: https://download.visualstudio.microsoft.com/download/pr/7e461d11-8e26-429b-a35e-6f67c84d5b3f/0d7cfe48dcbfaa6a8284850793c984d7/dotnet-runtime-9.0.0-preview.4.24266.19-osx-arm64.pkg
+[dotnet-runtime-osx-arm64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/c53cab87-a771-422e-be8e-f33a8a6ca637/6e72c3d16f517c6e692572a5cc9546c2/dotnet-runtime-9.0.0-preview.4.24266.19-osx-arm64.tar.gz
+[dotnet-runtime-osx-x64.pkg]: https://download.visualstudio.microsoft.com/download/pr/73f4cbbe-9a84-4403-ab5a-4ea15abe6890/95fb54f4ccd9024e7d41cee510cf3fa6/dotnet-runtime-9.0.0-preview.4.24266.19-osx-x64.pkg
+[dotnet-runtime-osx-x64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/6bd91ad7-ac3c-4027-8674-239367730906/007b8c98680c550fb801c34dea28bc9f/dotnet-runtime-9.0.0-preview.4.24266.19-osx-x64.tar.gz
+[dotnet-runtime-win-arm64.exe]: https://download.visualstudio.microsoft.com/download/pr/e377474e-7847-4bca-a032-07a50104e7f5/97851ebb43ff0e3dce49a0ca9d0fb0d1/dotnet-runtime-9.0.0-preview.4.24266.19-win-arm64.exe
+[dotnet-runtime-win-arm64.zip]: https://download.visualstudio.microsoft.com/download/pr/28a070f2-adb7-4d2a-8363-6c4e285a8e63/9156f37f7cdcf63739881a80d8dbc050/dotnet-runtime-9.0.0-preview.4.24266.19-win-arm64.zip
+[dotnet-runtime-win-x64.exe]: https://download.visualstudio.microsoft.com/download/pr/62b4e83e-1346-4c01-986e-33047bc2a6d3/852c4d4ff7a7517a5edbd896e4796e15/dotnet-runtime-9.0.0-preview.4.24266.19-win-x64.exe
+[dotnet-runtime-win-x64.zip]: https://download.visualstudio.microsoft.com/download/pr/676e985a-6242-426e-84dc-caa80beac6be/576a6d8e8f74c9520c8e7942c4d5278f/dotnet-runtime-9.0.0-preview.4.24266.19-win-x64.zip
+[dotnet-runtime-win-x86.exe]: https://download.visualstudio.microsoft.com/download/pr/4415bda1-d266-4128-b194-0d4d280128c4/685282429a7c7affd9134fd5d2d9a2c0/dotnet-runtime-9.0.0-preview.4.24266.19-win-x86.exe
+[dotnet-runtime-win-x86.zip]: https://download.visualstudio.microsoft.com/download/pr/284b822f-4ff7-409b-90ef-9b37eb487dcc/26719d69cfcc500a1493bb9d4de6fd7f/dotnet-runtime-9.0.0-preview.4.24266.19-win-x86.zip
+
+[//]: # ( WindowsDesktop 9.0.0-preview.4.24267.11)
+[windowsdesktop-runtime-win-arm64.exe]: https://download.visualstudio.microsoft.com/download/pr/cfbeca90-42aa-4cac-bdb6-96cd4613e5c2/4ff431cf779a7892ffb899c27c76d7e5/windowsdesktop-runtime-9.0.0-preview.4.24267.11-win-arm64.exe
+[windowsdesktop-runtime-win-arm64.zip]: https://download.visualstudio.microsoft.com/download/pr/9db2ef93-4e2e-47a6-9574-f8de141e8469/57ed42a750224dc5e501833f23df7f51/windowsdesktop-runtime-9.0.0-preview.4.24267.11-win-arm64.zip
+[windowsdesktop-runtime-win-x64.exe]: https://download.visualstudio.microsoft.com/download/pr/a3420930-6bca-4552-9c40-adaf4abec571/5a6243eda5d7e9645afe9b6145213ec5/windowsdesktop-runtime-9.0.0-preview.4.24267.11-win-x64.exe
+[windowsdesktop-runtime-win-x64.zip]: https://download.visualstudio.microsoft.com/download/pr/2f9d8f00-2cf0-47d5-b763-a534a8cb77b5/f4043682c3e2f1bab5c2ebf5507ed4cc/windowsdesktop-runtime-9.0.0-preview.4.24267.11-win-x64.zip
+[windowsdesktop-runtime-win-x86.exe]: https://download.visualstudio.microsoft.com/download/pr/53c1b7b1-1a61-43a7-8344-1c66d8238f03/592ed2c250de13ad82ec1c34d96a6b68/windowsdesktop-runtime-9.0.0-preview.4.24267.11-win-x86.exe
+[windowsdesktop-runtime-win-x86.zip]: https://download.visualstudio.microsoft.com/download/pr/43216cd1-dd9c-4dcf-b05c-9591125f0cd7/91dabb962aaf27fddc388b20dd80dc10/windowsdesktop-runtime-9.0.0-preview.4.24267.11-win-x86.zip
+
+[//]: # ( ASP 9.0.0-preview.4.24267.6)
+[aspnetcore-runtime-linux-arm.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/992c2b62-6318-4dc7-b7c3-994fd9f29e35/37e65e34cbe93b5389f8b779bded70f2/aspnetcore-runtime-9.0.0-preview.4.24267.6-linux-arm.tar.gz
+[aspnetcore-runtime-linux-arm64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/bc6ae1a6-a98c-446f-8aa9-fe4bdd18412d/569b1a10883293eaa5aae3275d8a4e2f/aspnetcore-runtime-9.0.0-preview.4.24267.6-linux-arm64.tar.gz
+[aspnetcore-runtime-linux-musl-arm.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/833d8170-3991-4523-8601-e7ff36cf254f/ff7f1cf297f4af74acadda36affcfac9/aspnetcore-runtime-9.0.0-preview.4.24267.6-linux-musl-arm.tar.gz
+[aspnetcore-runtime-linux-musl-arm64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/02b13c1e-b263-4ab2-add3-963137022042/9d5fe5a6b63936a143047fc6a466eb17/aspnetcore-runtime-9.0.0-preview.4.24267.6-linux-musl-arm64.tar.gz
+[aspnetcore-runtime-linux-musl-x64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/f6caec80-aaf5-494d-bf71-10761428ff24/e062b54765e468699ab0588c092cce18/aspnetcore-runtime-9.0.0-preview.4.24267.6-linux-musl-x64.tar.gz
+[aspnetcore-runtime-linux-x64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/6f889c70-8c50-44d0-9877-0d0376c031ab/d73ca2ec30f5fc3e537b16f37c029daa/aspnetcore-runtime-9.0.0-preview.4.24267.6-linux-x64.tar.gz
+[aspnetcore-runtime-osx-arm64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/57b0954f-d550-42af-b1b5-8c9ef5da0d58/a4c7f9677ac41fa3421050bf9822c56a/aspnetcore-runtime-9.0.0-preview.4.24267.6-osx-arm64.tar.gz
+[aspnetcore-runtime-osx-x64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/7ccc886e-61cc-475e-9ab4-b1723078e7e4/093617db718ce4669b6a93f2d8934b1f/aspnetcore-runtime-9.0.0-preview.4.24267.6-osx-x64.tar.gz
+[aspnetcore-runtime-win-arm64.exe]: https://download.visualstudio.microsoft.com/download/pr/92b6f660-9ac3-4f16-85ff-28e623f6d1d8/cc4895fbe24aeca773a1c1ad991c2d0a/aspnetcore-runtime-9.0.0-preview.4.24267.6-win-arm64.exe
+[aspnetcore-runtime-win-arm64.zip]: https://download.visualstudio.microsoft.com/download/pr/accb26be-44e1-4940-8add-d51e6c3dfdb8/6514f378b6921d8cf43deaa94d803197/aspnetcore-runtime-9.0.0-preview.4.24267.6-win-arm64.zip
+[aspnetcore-runtime-win-x64.exe]: https://download.visualstudio.microsoft.com/download/pr/c4862573-61c6-491e-82c5-851c6e68e50b/6685d83ef28ca605014610d2302db83d/aspnetcore-runtime-9.0.0-preview.4.24267.6-win-x64.exe
+[aspnetcore-runtime-win-x64.zip]: https://download.visualstudio.microsoft.com/download/pr/a97e2ca1-2463-480b-a8d9-1ef74cbeb1b8/a817f2e44eefb42f8859ce34d4ab4d05/aspnetcore-runtime-9.0.0-preview.4.24267.6-win-x64.zip
+[aspnetcore-runtime-win-x86.exe]: https://download.visualstudio.microsoft.com/download/pr/c041c63a-938d-4c08-95a5-d019b64af27e/1ed28254f2a8d92e934968b77b90701a/aspnetcore-runtime-9.0.0-preview.4.24267.6-win-x86.exe
+[aspnetcore-runtime-win-x86.zip]: https://download.visualstudio.microsoft.com/download/pr/51f63e30-95a8-4c1e-81b7-4da3b8d66c22/d56ec056ada0081cad7ffa34bc7461e7/aspnetcore-runtime-9.0.0-preview.4.24267.6-win-x86.zip
+[aspnetcore-runtime-composite-linux-arm.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/4345184c-9cb3-447b-8515-f577a4f80082/15e68b416144285b265fc84e11e6b54d/aspnetcore-runtime-composite-9.0.0-preview.4.24267.6-linux-arm.tar.gz
+[aspnetcore-runtime-composite-linux-arm64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/3241265e-62d8-4a77-aed5-ec07d829a4f9/c3beb873fd6733a0e17741681220fe1b/aspnetcore-runtime-composite-9.0.0-preview.4.24267.6-linux-arm64.tar.gz
+[aspnetcore-runtime-composite-linux-musl-arm.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/c4601543-9425-4a65-a7dc-890fc5031fd1/ee9980fb39cd686314d2ce281d57e9c8/aspnetcore-runtime-composite-9.0.0-preview.4.24267.6-linux-musl-arm.tar.gz
+[aspnetcore-runtime-composite-linux-musl-arm64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/e0785796-d1f1-4224-b951-be51959d2422/cb7309f3f96bb1d6c87e003f5bea97a0/aspnetcore-runtime-composite-9.0.0-preview.4.24267.6-linux-musl-arm64.tar.gz
+[aspnetcore-runtime-composite-linux-musl-x64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/5b89c4c9-b798-4eb3-a7cb-4b84f5cfccba/9cc25a4b4e004197ec7d99c53406f266/aspnetcore-runtime-composite-9.0.0-preview.4.24267.6-linux-musl-x64.tar.gz
+[aspnetcore-runtime-composite-linux-x64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/75d03b48-e892-4ecc-bac2-94b361ec9f15/8c345c3075ad13ec8c9013e7f1d08d85/aspnetcore-runtime-composite-9.0.0-preview.4.24267.6-linux-x64.tar.gz
+[dotnet-hosting-win.exe]: https://download.visualstudio.microsoft.com/download/pr/dc7f36ba-c8ca-4dbb-9fc6-ba10ec01c36f/fd73f2c002241fec538305a8cf26c203/dotnet-hosting-9.0.0-preview.4.24267.6-win.exe
+
+[//]: # ( SDK 9.0.100-preview.4.24267.66)
+[dotnet-sdk-linux-arm.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/eb98063a-61bc-443b-b51d-0bc82cfa10bb/ef920311f783df4ade75298fcd45c9f7/dotnet-sdk-9.0.100-preview.4.24267.66-linux-arm.tar.gz
+[dotnet-sdk-linux-arm64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/098a764a-8756-47c5-97e9-118431c31b9f/2e1b737cb4750deadb0136283346c7ed/dotnet-sdk-9.0.100-preview.4.24267.66-linux-arm64.tar.gz
+[dotnet-sdk-linux-musl-arm.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/42b4a871-aa76-4e76-81d8-4de3adc015b7/1e6a598bb1c74ca1bd0f97701c1beec9/dotnet-sdk-9.0.100-preview.4.24267.66-linux-musl-arm.tar.gz
+[dotnet-sdk-linux-musl-arm64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/5970728d-630b-4a98-b92e-c7411094995d/97319be6b9b617c0e5529a89476d4431/dotnet-sdk-9.0.100-preview.4.24267.66-linux-musl-arm64.tar.gz
+[dotnet-sdk-linux-musl-x64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/42143563-4bb7-456d-b3ce-698869c0feee/129e62b28eb216976385ddb095159013/dotnet-sdk-9.0.100-preview.4.24267.66-linux-musl-x64.tar.gz
+[dotnet-sdk-linux-x64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/87f2eabb-8ba2-4677-9f91-526672f51857/9ed7fb997d40a369c038269a514fc4e4/dotnet-sdk-9.0.100-preview.4.24267.66-linux-x64.tar.gz
+[dotnet-sdk-osx-arm64.pkg]: https://download.visualstudio.microsoft.com/download/pr/343689ab-65e1-4633-b85a-ca1bb8a0e5d1/e04cf1a20a665f377e2ea45d3a9734c5/dotnet-sdk-9.0.100-preview.4.24267.66-osx-arm64.pkg
+[dotnet-sdk-osx-arm64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/e003d2d1-abfd-45f6-aca2-e3f2199e3633/dcefd0cccdfb48a3fbb20b14fd2fe22c/dotnet-sdk-9.0.100-preview.4.24267.66-osx-arm64.tar.gz
+[dotnet-sdk-osx-x64.pkg]: https://download.visualstudio.microsoft.com/download/pr/f0858498-9230-46ee-9cf4-fb68aec0e37d/58e82c5b5705f0fd9efb2d4ecc74c02b/dotnet-sdk-9.0.100-preview.4.24267.66-osx-x64.pkg
+[dotnet-sdk-osx-x64.tar.gz]: https://download.visualstudio.microsoft.com/download/pr/c3cee1ac-1bb3-48b0-8a35-813e511d1d41/dbcba8b2e6d28886d07bec53ab509225/dotnet-sdk-9.0.100-preview.4.24267.66-osx-x64.tar.gz
+[dotnet-sdk-win-arm64.exe]: https://download.visualstudio.microsoft.com/download/pr/29c1ff6f-0156-43d4-b86c-9e7d3d99676d/d6097b452228be86bc95b995688685c2/dotnet-sdk-9.0.100-preview.4.24267.66-win-arm64.exe
+[dotnet-sdk-win-arm64.zip]: https://download.visualstudio.microsoft.com/download/pr/7b9dad11-8a62-4521-9984-3a099d9ce61d/a0a1fe27a63ac76480db3281577edcef/dotnet-sdk-9.0.100-preview.4.24267.66-win-arm64.zip
+[dotnet-sdk-win-x64.exe]: https://download.visualstudio.microsoft.com/download/pr/1515bcb1-1862-43c5-a86c-180b1ec9049d/c4049cf3b8eb87e40dff823573cf563d/dotnet-sdk-9.0.100-preview.4.24267.66-win-x64.exe
+[dotnet-sdk-win-x64.zip]: https://download.visualstudio.microsoft.com/download/pr/5bb0c9db-5ddb-44e7-90d1-bf34c1ac688f/8ba52405d812250c4b31e81e94c62334/dotnet-sdk-9.0.100-preview.4.24267.66-win-x64.zip
+[dotnet-sdk-win-x86.exe]: https://download.visualstudio.microsoft.com/download/pr/bb1317f1-6c8d-4287-b10e-618e67cff2ff/d7537c37617a5d5d56b87079a24a2a66/dotnet-sdk-9.0.100-preview.4.24267.66-win-x86.exe
+[dotnet-sdk-win-x86.zip]: https://download.visualstudio.microsoft.com/download/pr/ce78ba3f-c369-408e-8026-a2318844db65/d1636d07dd075acfdaad4d80d69b6262/dotnet-sdk-9.0.100-preview.4.24267.66-win-x86.zip
diff --git a/release-notes/9.0/preview/preview4/README.md b/release-notes/9.0/preview/preview4/README.md
new file mode 100644
index 0000000000..37cd96fb82
--- /dev/null
+++ b/release-notes/9.0/preview/preview4/README.md
@@ -0,0 +1,34 @@
+# .NET 9 Preview 4 - Release Notes
+
+.NET 9 Preview 4 was released on May 21st, 2024. Find more information on new features released in .NET 9 Preview 4 by browsing through the release notes below:
+
+* [Libraries](./libraries.md)
+* [Runtime](./runtime.md)
+
+### Feature Release Notes
+
+* [.NET Data and EF Core](./efcoreanddata.md)
+* [.NET MAUI](./dotnetmaui.md)
+* [ASP.NET Core](./aspnetcore.md)
+* [WPF](./wpf.md)
+
+## Get Started
+
+Instructions on getting started with .NET 9 can be found in the [getting started guide](../../get-started.md). Installers and binaries for .NET 9 Preview 4 can be found [here on GitHub](./9.0.0-preview.4.md).
+
+## Announcements & Discussions
+
+Discuss this release with the product teams on GitHub through the announcements for this release.
+
+* [.NET 9 Preview 4 Announcement](https://aka.ms/dotnet/9/preview4)
+
+## Stay up-to-date
+
+You can find a detailed overview of all new features in .NET 9:
+
+* [What's new in .NET 9](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-9/overview)
+* [What's new in ASP.NET Core](https://learn.microsoft.com/aspnet/core/release-notes/aspnetcore-9.0)
+* [What's new in .NET MAUI](https://learn.microsoft.com/dotnet/maui/whats-new/dotnet-9)
+* [What's new in EF Core](https://learn.microsoft.com/ef/core/what-is-new/ef-core-9.0/whatsnew)
+
+The latest .NET 9 release is always available at [dotnet.microsoft.com](https://dotnet.microsoft.com/download/dotnet/9.0) and [.NET 9 Releases](../../README.md).
\ No newline at end of file
diff --git a/release-notes/9.0/preview/preview4/aspnetcore.md b/release-notes/9.0/preview/preview4/aspnetcore.md
new file mode 100644
index 0000000000..6a7ee8987f
--- /dev/null
+++ b/release-notes/9.0/preview/preview4/aspnetcore.md
@@ -0,0 +1,292 @@
+# ASP.NET Core in .NET 9 Preview 4 - Release Notes
+
+Here's a summary of what's new in ASP.NET Core in this preview release:
+
+- [Built-in support for OpenAPI document generation](#built-in-support-for-openapi-document-generation)
+- [Introducing `HybridCache`](#introducing-hybridcache)
+- [Developer exception page improvements](#developer-exception-page-improvements)
+- [Added `OverscanCount` parameter to `QuickGrid`](#added-overscancount-parameter-to-quickgrid)
+- [Add static SSR pages to a globally-interactive Blazor Web app](#add-static-ssr-pages-to-a-globally-interactive-blazor-web-app)
+- [Avoid 503's during app recycle in IIS](#avoid-503s-during-app-recycle-in-iis)
+
+ASP.NET Core updates in .NET 9 Preview 4:
+
+- [What's new in ASP.NET Core in .NET 9](https://learn.microsoft.com/aspnet/core/release-notes/aspnetcore-9.0) documentation.
+- [Breaking changes](https://docs.microsoft.com/dotnet/core/compatibility/9.0#aspnet-core)
+- [Roadmap](https://aka.ms/aspnet/roadmap)
+
+.NET 9 Preview 4:
+
+- [Discussion](https://aka.ms/dotnet/9/preview4)
+- [Release notes](./README.md)
+
+## Built-in support for OpenAPI document generation
+
+The [OpenAPI specification](https://www.openapis.org/) is a standard for describing HTTP APIs. The standard allows developers to define the shape of APIs that can be plugged into client generators, server generators, testing tools, documentation, and more. In .NET 9 Preview 4, ASP.NET Core provides built-in support for generating OpenAPI documents representing controller-based or minimal APIs via the [Microsoft.AspNetCore.OpenApi](https://nuget.org/packages/Microsoft.AspNetCore.OpenApi) package.
+
+To take advantage of this feature, install the `Microsoft.AspNetCore.OpenApi` package in your web project of choice.
+
+```console
+dotnet add package Microsoft.AspNetCore.OpenApi --prerelease
+```
+
+In your app's `Program.cs`:
+
+- Call `AddOpenApi` to register the required dependencies into your app's DI container.
+- Call `MapOpenApi` to register the required OpenAPI endpoints in your app's routes.
+
+```csharp
+var builder = WebApplication.CreateBuilder();
+
+builder.Services.AddOpenApi();
+
+var app = builder.Build();
+
+app.MapOpenApi();
+
+app.MapGet("/hello/{name}", (string name) => $"Hello {name}"!);
+
+app.Run();
+```
+
+Run your application and navigate to `openapi/v1.json` to view the generated OpenAPI document:
+
+![OpenAPI document](./media/openapi-doc.png)
+
+You can also generate OpenAPI documents at build-time using the `Microsoft.Extensions.ApiDescription.Server` package. Add the required dependency to your project:
+
+```console
+dotnet add package Microsoft.Extensions.ApiDescription.Server --prerelease
+```
+
+In your app's project file, add the following:
+
+```xml
+
+ $(MSBuildProjectDirectory)
+ true
+
+```
+
+Then, run `dotnet build` and inspect the generated JSON file in your project directory.
+
+![OpenAPI document generation at build-time](./media/openapi-doc-build.png)
+
+ASP.NET Core's built-in OpenAPI document generation provides support for various customizations and options, including document and operation transformers and the ability to manage multiple OpenAPI documents for the same application.
+
+To learn more about ASP.NET Core's new OpenAPI document capabilities, check out [the new Microsoft.AspNetCore.OpenApi docs](https://aka.ms/aspnet/openapi).
+
+## Introducing `HybridCache`
+
+.NET 9 Preview 4 includes the first release of the new `HybridCache` API. This API bridges some gaps in the existing `IDistributedCache` and `IMemoryCache` APIs, while also adding new capabilities including "stampede" protection (to prevent parallel fetches of the same work) and configurable serialization - all with a simple, clean API. `HybridCache` uses multiple tiers of cache storage, with a limited in-process (L1) cache supplemented by a separate (usually larger) out-of-process (L2) cache. This "hybrid" approach to cache storage gives the best of both worlds, where most fetches are served efficiently from L1, but cold-start and less-frequently-accessed data still doesn't hammer the underlying backend, thanks to L2. `HybridCache` is designed to be a drop-in replacement for most `IDistributedCache` scenarios, while providing more features, better usability, and improved performance.
+
+The best way to illustrate `HybridCache` is by comparison to existing `IDistributedCache` code. Here's an example of what using `IDistributedCache` looks like:
+
+```csharp
+public class SomeService(IDistributedCache cache)
+{
+ public async Task GetSomeInformationAsync(string name, int id, CancellationToken token = default)
+ {
+ var key = $"someinfo:{name}:{id}"; // unique key for this combination
+ var bytes = await cache.GetAsync(key, token); // try to get from cache
+ SomeInformation info;
+ if (bytes is null)
+ {
+ // cache miss; get the data from the real source
+ info = await SomeExpensiveOperationAsync(name, id, token);
+
+ // serialize and cache it
+ bytes = SomeSerializer.Serialize(info);
+ await cache.SetAsync(key, bytes, token);
+ }
+ else
+ {
+ // cache hit; deserialize it
+ info = SomeSerializer.Deserialize(bytes);
+ }
+ return info;
+ }
+
+ // this is the work we're trying to cache
+ private async Task SomeExpensiveOperationAsync(string name, int id,
+ CancellationToken token = default)
+ { /* ... */ }
+
+ // ...
+}
+```
+
+That's a lot of work to get right each time! You have to manually handle serialization, and in the "cache miss" scenario, a busy system could easily end up with multiple concurrent threads *all* getting a cache miss, *all* fetching the underlying data, *all* serializing it, and *all* sending that data to the cache.
+
+To simplify and improve this code with `HybridCache`, we first need to add a reference to the new [Microsoft.Extensions.Caching.Hybrid](https://nuget.org/packages/Microsoft.Extensions.Caching.Hybrid)` package:
+
+```console
+dotnet add package Microsoft.Extensions.Caching.Hybrid --prerelease
+```
+
+Then register the `HybridCache` service:
+
+```csharp
+services.AddHybridCache(); // not shown: optional configuration API
+```
+
+Now we can offload most of our caching concerns to `HybridCache`:
+
+```csharp
+public class SomeService(HybridCache cache)
+{
+ public async Task GetSomeInformationAsync(string name, int id, CancellationToken token = default)
+ {
+ return await cache.GetOrCreateAsync(
+ $"someinfo:{name}:{id}", // unique key for this combination
+ async cancel => await SomeExpensiveOperationAsync(name, id, cancel),
+ token: token
+ );
+ }
+
+ // ...
+}
+```
+
+`HybridCache` deals with combining concurrent operations. The `cancel` token represents the combined cancellation of *all* concurrent callers, not just the cancellation of the caller we can see via `token`.
+
+For high throughput scenarios, we can further optimize this code to avoid some overhead from captured variables and per-instance callbacks:
+
+```csharp
+public class SomeService(HybridCache cache)
+{
+ public async Task GetSomeInformationAsync(string name, int id, CancellationToken token = default)
+ {
+ return await cache.GetOrCreateAsync(
+ $"someinfo:{name}:{id}", // unique key for this combination
+ (name, id), // all of the state we need for the final call, if needed
+ static async (state, token) =>
+ await SomeExpensiveOperationAsync(state.name, state.id, token),
+ token: token
+ );
+ }
+
+ // ...
+}
+```
+
+`HybridCache` will use your configured `IDistributedCache` implementation, if any, for the secondary out-of-process caching. For example, you might use [Redis](https://learn.microsoft.com/aspnet/core/performance/caching/distributed). But even without an `IDistributedCache`, the `HybridCache` service will still provide in-process caching and "stampede" protection.
+
+### Note on object reuse with `HybridCache`
+
+Note that when adapting existing `IDistributedCache` code to use `HybridCache`, the existing code will usually be deserializing with every call, which means that concurrent callers will get separate object instances that cannot interact and are inherently thread-safe. To avoid introducing concurrency bugs into code, `HybridCache` preserves this behavior by default. If your scenario is thread-safe (either because the types are fundamentally immutable, or because you're just not mutating them), you can hint to `HybridCache` that it can safely reuse instances by marking the type (`SomeInformation` in this case) as `sealed` and using the `[ImmutableObject(true)]` annotation,
+which can significantly reduce the deserialization overhead.
+
+### Additional `HybridCache` features
+
+For parity with `IDistributedCache`, `HybridCache` supports explicit removal by key using `cache.RemoveKeyAsync(...)`.
+
+`HybridCache` also introduces new optional APIs for `IDistributedCache` implementations to avoid `byte[]` allocations. This feature is implemented by the preview versions of `Microsoft.Extensions.Caching.StackExchangeRedis` and `Microsoft.Extensions.Caching.SqlServer`.
+
+Serialization is configured as part of registering the service, with support for type-specific and generalized serializers via the `.WithSerializer(...)` and `.WithSerializerFactory(...)` methods chained from the `AddHybridCache(...)` call. By default, the library handles `string` and `byte[]` internally and uses `System.Text.Json` for everything else, but if you want to use protobuf, XML, or something else that's easy to do.
+
+`HybridCache` includes support for older .NET runtimes down to .NET Framework 4.7.2 and .NET Standard 2.0.
+
+## Developer exception page improvements
+
+.NET 9 Preview 4 improves how endpoint metadata is displayed in the [ASP.NET Core developer exception page](https://learn.microsoft.com/aspnet/core/fundamentals/error-handling):
+
+- Better text wrapping: Long cookies, query string values, and method names no longer add horizontal browser scroll bars.
+- Bigger text: This page has a long history (10+ years) and web design has changed over time. The text felt a little small compared to modern designs.
+- More consistent table sizes.
+
+![Developer page improvements](media/aspnetcore-developer-page-improvements.gif)
+
+Thank you [@ElderJames](https://github.com/ElderJames) for this contribution.
+
+## Added `OverscanCount` parameter to `QuickGrid`
+
+The Blazor `QuickGrid` component now exposes an `OverscanCount` property that can be used to specify how many additional rows are rendered before and after the visible region when virtualization is enabled.
+
+The default `OverscanCount` is 3. The following example increases the `OverscanCount` to 4:
+
+```razor
+
+ ...
+
+```
+
+Thanks you [@MattyLeslie](https://github.com/MattyLeslie) for this contribution!
+
+## Add static SSR pages to a globally-interactive Blazor Web app
+
+Blazor Web Apps can enable *global interactivity*, which means that all pages in the app use an interactive render mode: Server, WebAssembly, or Auto (which combines both). You can now have a page opt out of global interactivity using the new `[ExcludeFromInteractiveRouting]` attribute. For example:
+
+```razor
+@page "/weather"
+@attribute [ExcludeFromInteractiveRouting]
+
+The rest of the page
+```
+
+The `[ExcludeFromInteractiveRouting]` attribute causes navigations to the page to exit from interactive routing. Navigations to the page will be forced to perform a full-page reload. This means that your top-level *App.razor* will re-run, allowing you to switch to a different top-level render mode. For example, in `App.razor`, you can use the following pattern to use static server-side rendering (SSR) for pages that are excluded from interactive routing:
+
+```razor
+
+
+
+ ... other head content here ...
+
+
+
+
+
+
+
+
+@code {
+ [CascadingParameter]
+ private HttpContext HttpContext { get; set; } = default!;
+
+ private IComponentRenderMode? PageRenderMode
+ => HttpContext.AcceptsInteractiveRouting() ? InteractiveServer : null;
+}
+```
+
+When set up like this, all pages default to the `InteractiveServer` render mode, retaining global interactivity, except for pages annotated with `[ExcludeFromInteractiveRouting]`, which will use static SSR. The `HttpContext.AcceptsInteractiveRouting()` extension method detects whether `[ExcludeFromInteractiveRouting]` is applied to the current page as endpoint metadata. Of course, you can replace `InteractiveServer` with `InteractiveWebAssembly` or `InteractiveAuto` to specify a different default global mode as desired.
+
+### When to exclude pages from interactive routing
+
+Excluding pages from interactive routing is useful only if you have certain pages that can't work with interactive Server or WebAssembly rendering. For example, those pages might include code that depends on reading/writing HTTP cookies, and hence can only work in a request/response cycle. Forcing those pages to use static SSR mode will force them into this traditional request/response cycle instead of interactive SPA-style rendering.
+
+For pages that do work with interactive rendering, you shouldn't force them to use static SSR, as it would result in a less efficient and responsive experience for the end user.
+
+## Avoid 503's during app recycle in IIS
+
+By default, there's now a one second delay between when IIS is notified of an app recycle or shutdown and when the ASP.NET Core Module (ANCM) tells the managed server to start shutting down. The delay reduces the likelihood of a race between when IIS starts queuing requests to go to the new app and when ANCM starts rejecting new requests that come into the old app.
+
+Slower machines or machines with heavier CPU usage may want to adjust the duration of this delay to reduce the likelihood of returning 503 errors. The delay is configurable via the `ANCM_shutdownDelay` environment variable or by setting the `shutdownDelay` handler setting. Both values are specified in milliseconds.
+
+Example of setting `shutdownDelay`:
+
+```xml
+
+
+
+
+
+
+```
+
+## Community contributors
+
+Thank you contributors! ❤️
+
+- [michaelstaib](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A9.0-preview4+author%3Amichaelstaib)
+- [MattyLeslie](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A9.0-preview4+author%3AMattyLeslie)
+- [ElderJames](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A9.0-preview4+author%3AElderJames)
+- [ladeak](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A9.0-preview4+author%3Aladeak)
+- [bseptember](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A9.0-preview4+author%3Abseptember)
+- [AliKhalili](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A9.0-preview4+author%3AAliKhalili)
+- [martincostello](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A9.0-preview4+author%3Amartincostello)
+- [lyndaidaii](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A9.0-preview4+author%3Alyndaidaii)
+- [Prologh](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A9.0-preview4+author%3APrologh)
+- [gfoidl](https://github.com/dotnet/aspnetcore/pulls?q=is%3Apr+is%3Amerged+milestone%3A9.0-preview4+author%3Agfoidl)
diff --git a/release-notes/9.0/preview/preview4/dotnetmaui.md b/release-notes/9.0/preview/preview4/dotnetmaui.md
new file mode 100644
index 0000000000..01ae345979
--- /dev/null
+++ b/release-notes/9.0/preview/preview4/dotnetmaui.md
@@ -0,0 +1,55 @@
+# .NET MAUI in .NET 9 Preview 4 - Release Notes
+
+Here's a summary of what's new in .NET MAUI in this preview release:
+
+- [New Input Keyboards](#new-input-keyboards)
+- [Android 15 Beta 1 Support](#android-15-beta-1-support)
+- [NativeAOT improvements for iOS & Mac Catalyst](#native-aot-for-ios--mac-catalyst)
+
+.NET MAUI updates in .NET 9 Preview 4:
+
+* [What's new in .NET MAUI in .NET 9](https://learn.microsoft.com/dotnet/maui/whats-new/dotnet-9) documentation
+* [GitHub Release](https://aka.ms/maui9p4)
+
+.NET 9 Preview 4:
+* [Discussion](https://aka.ms/dotnet/9/preview4)
+* [Release notes](./README.md)
+
+
+## New Input Keyboards
+
+In this release we have added new soft keyboard input support for `Password`, `Date`, and `Time`. Enable these on the `Editor` and `Entry` input controls like:
+
+```xml
+
+```
+
+## .NET for Android
+
+### Android 15 Beta 1 Support
+
+This release introduces .NET bindings for Beta 1 of Android 15 codenamed "Vanilla Ice Cream". To build for these APIs, update the target framework of your project.
+
+```xml
+net9.0-android35
+```
+
+Additional release information can be found on [GitHub releases](https://github.com/xamarin/xamarin-android/releases/).
+
+## .NET for iOS
+
+### Native AOT for iOS & Mac Catalyst
+
+Native AOT (Ahead of Time) compilation for iOS and Mac Catalyst now takes advantage of full trimming to greatly reduce your application's package size and startup performance. This is a publishing feature that you can use when you're ready to ship your application. Your application and all dependencies must be fully trimmable in order to utilize this feature.
+
+```
+dotnet publish -f net9.0-maccatalyst -r maccatalyst-arm64
+```
+
+![benchmark results of app size reduction and performance improvement](./media/nativeaot-perf.png)
+
+This release was focused on quality, additional information can be found on [GitHub releases](https://github.com/xamarin/xamarin-macios/releases/) and [known issues in .NET 9](https://github.com/xamarin/xamarin-macios/wiki/Known-issues-in-.NET9).
+
+## Community Contributions
+
+Thanks to contributors [@MartyIX](https://github.com/MartyIX), [@beeradmoore](https://github.com/beeradmoore), [@atoghyani](https://github.com/atoghyani), [@taublast](https://github.com/taublast), [@VladislavAntonyuk](https://github.com/VladislavAntonyuk), [@Axemasta](https://github.com/Axemasta), [@kubaflo](https://github.com/kubaflo), and [@ivanpovazan](https://github.com/ivanpovazan).
diff --git a/release-notes/9.0/preview/preview4/efcoreanddata.md b/release-notes/9.0/preview/preview4/efcoreanddata.md
new file mode 100644
index 0000000000..950310c886
--- /dev/null
+++ b/release-notes/9.0/preview/preview4/efcoreanddata.md
@@ -0,0 +1,47 @@
+# Entity Framework Core 9 Preview 4 - Release Notes
+
+Here's a summary of what's new in Entity Framework Core in this preview release:
+
+- [Enhanced database provider for Azure Cosmos DB for NoSQL](#enhanced-database-provider-for-azure-cosmos-db-for-nosql)
+- [GroupBy complex types](#groupby-complex-types)
+- [Read-only primitive collections](#read-only-primitive-collections)
+
+Entity Framework Core 9:
+
+- [What's new in Entity Framework Core](https://learn.microsoft.com/ef/core/what-is-new/ef-core-9.0/whatsnew) documentation.
+- [Discussion](https://github.com/dotnet/efcore/issues/33030)
+
+.NET 9 Preview 4:
+
+- [Discussion](https://aka.ms/dotnet/9/preview4)
+- [Release notes](./README.md)
+
+## Enhanced database provider for Azure Cosmos DB for NoSQL
+ The EF Core database provider for Azure Cosmos DB for NoSQL has received the following updates:
+
+* Role-based access control (RBAC) is supported by EF9 for both management and use of containers.
+* Azure Cosmos DB for NoSQL does not support synchronous (blocking) access from application code. EF Core now blocks synchronous access by default, helping people fall into the pit-of-success of using async I/O.
+* Cosmos primitive collection support has been updated to use the metadata and model building APIs from EF8
+
+> See [Azure Cosmos DB for NoSQL](https://learn.microsoft.com/ef/core/what-is-new/ef-core-9.0/whatsnew#cosmos) in the _What's New_ docs for more information.
+
+
+## GroupBy complex types
+Support for grouping (`GroupBy` queries) that group by a complex type instance. The resulting SQL uses groups by all members, reflecting the value object semantics of complex types.
+
+> See [GroupBy complex types](https://learn.microsoft.com/ef/core/what-is-new/ef-core-9.0/whatsnew#groupby-complex-types) in the _What's New_ docs for more information.
+
+## Read-only primitive collections
+EF8 introduced support for mapping arrays and mutable lists of primitive types. This has been expanded to include read-only collections declared as `IReadOnlyList`, `IReadOnlyCollection`, or `ReadOnlyCollection`.
+
+> See [Read-only primitive collections](https://learn.microsoft.com/ef/core/what-is-new/ef-core-9.0/whatsnew#read-only-primitives) in the _What's New_ docs for more information.
+
+## Everything else in preview 4
+
+* [10 enhancements](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A9.0.0-preview4+is%3Aclosed+label%3Atype-enhancement+)
+* [15 bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A9.0.0-preview4+is%3Aclosed+label%3Atype-bug)
+
+EF Core 9 Preview 4 (and Microsoft.Data.Sqlite) contains work from the EF Team at Microsoft (@roji @AndriySvyryd @maumar @ajcvickers @cincuranet @SamMonoRT @luisquintanilla) as well as contributions from the EF Core community. The community PRs in EF9 Preview 4 are:
+
+* @y0ung3r: [InMemoryTable: Make IsConcurrencyConflict() method more readable](https://github.com/dotnet/efcore/pull/33561)
+
diff --git a/release-notes/9.0/preview/preview4/libraries.md b/release-notes/9.0/preview/preview4/libraries.md
new file mode 100644
index 0000000000..1f61150bf8
--- /dev/null
+++ b/release-notes/9.0/preview/preview4/libraries.md
@@ -0,0 +1,248 @@
+# .NET Libraries in .NET 9 Preview 4 - Release Notes
+
+Here's a summary of what's new in .NET Libraries in this preview release:
+
+- [New Tensor type](#new-tensor-t-exchange-type)
+- [Tokenizer library enhancements](#tokenizer-library-enhancements)
+- [OpenTelemetry: Make activity linking more flexible](#opentelemetry-make-activity-linking-more-flexible)
+- [PDB support for System.Reflection.Emit.PersistedAssemblyBuilder](#pdb-support-added-for-systemreflectionemitpersistedassemblybuilder)
+
+Libraries updates in .NET 9 Preview 4:
+
+- [What's new in .NET 9](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-9/overview) documentation
+
+.NET 9 Preview 4:
+
+- [Discussion](https://aka.ms/dotnet/9/preview4)
+- [Release notes](./README.md)
+- [Runtime release notes](./runtime.md)
+
+## New Tensor type
+
+Tensors are the cornerstone data structure of artificial intelligence (AI). They can often be thought of as multidimensional arrays.
+
+Tensors are used to:
+
+- Represent and encode data such as text sequences (tokens), images, video, and audio.
+- Efficiently manipulate higher-dimensional data.
+- Efficiently apply computations on higher-dimensional data.
+- Inside neural networks, they’re used to store weight information and intermediate computations.
+
+In .NET 9, we plan to introduce a new `Tensor` exchange type that:
+
+- Provides efficient interop with AI libraries like ML.NET, TorchSharp, and ONNX Runtime using zero copies where possible.
+- Builds on top of `TensorPrimitives` for efficient math operations.
+- Enables easy and efficient data manipulation by providing indexing and slicing operations.
+
+Below is a brief overview of some of the APIs included with the new `Tensor` type:
+
+```csharp
+using System.Numerics.Tensors;
+
+// Create a tensor (1 x 3)
+var t0 = Tensor.Create(new float[] { 1, 2, 3 }, [1,3]); // [[1, 2, 3]]
+
+// Reshape tensor (3 x 1)
+var t1 = t0.Reshape(3, 1); // [[1], [2], [3]]
+
+// Slice tensor (2 x 1)
+var t2 = t1.Slice(1..,..); // [[2], [3]]
+
+// Broadcast tensor (3 x 1) -> (3 x 3)
+// [
+// [ 1, 1, 1],
+// [ 2, 2, 2],
+// [ 3, 3, 3]
+// ]
+var t3 = Tensor.Broadcast(t1, [3, 3]);
+
+// Math operations
+var t4 = Tensor.Add(t0, 1); // [[2, 3, 4]]
+var t5 = Tensor.Add(t0, t0); // [[2, 4, 6]]
+var t6 = Tensor.Subtract(t0, 1); // [[0, 1, 2]]
+var t7 = Tensor.Subtract(t0, t0); // [[0, 0, 0]]
+var t8 = Tensor.Multiply(t0, 2); // [[2, 4, 6]]
+var t9 = Tensor.Multiply(t0, t0); // [[1, 4, 9]]
+var t10 = Tensor.Divide(t0, 2); // [[0.5, 1, 1.5]]
+var t11 = Tensor.Divide(t0, t0); // [[1, 1, 1]]
+```
+
+Some things to note:
+
+- `Tensor` is not a replacement for existing AI and Machine Learning libraries. Instead, it’s intended to provide enough of a common set of APIs that reduce code duplication, reduce dependencies, and where possible achieve better performance by using the latest runtime features.
+- At the moment, the easiest way to try `Tensor` is using .NET 8. If your application targets .NET 9, we recommend waiting until .NET 9 Preview 5. If you're eager to try it out in your .NET 9 applications, you can install the latest .NET nightly builds.
+
+To get started:
+
+1. Configure the following NuGet nightly feed:
+
+ ```text
+ https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json
+ ```
+
+1. Install the latest prerelease version of `System.Numerics.Tensors`.
+1. In your *.csproj*, enable preview language versions.
+
+ ```xml
+ preview
+ ```
+
+We can't wait to see what you build!
+
+Try it out and [give us feedback](https://github.com/dotnet/runtime/issues)!
+
+## Tokenizer library enhancements
+
+Tokenizer overloads have been added that accept `Span`, providing greater control over normalization or pre-tokenization.
+
+The following example demonstrates how to utilize the tokenizer with `Span`. It also demonstrates how to disable normalization or pre-tokenization on the encoding calls.
+
+```C#
+// @"https://huggingface.co/hf-internal-testing/llama-tokenizer/resolve/main/tokenizer.model";
+using Stream remoteStream = File.OpenRead(tokenizerModelPath));
+Tokenizer llamaTokenizer = Tokenizer.CreateLlama(remoteStream);
+
+Span textSpan = "Hello World".AsSpan();
+IReadOnlyList ids = llamaTokenizer.EncodeToIds(textSpan, considerNormalization: false); // bypass the normalization
+
+Tokenizer tiktokenTokenizer = Tokenizer.CreateTiktokenForModel("gpt-4");
+IReadOnlyList ids = tiktokenTokenizer.EncodeToIds(textSpan, considerPreTokenization: false); // bypass the PreTokenization
+```
+
+We've also introduced the CodeGen tokenizer, compatible with models such as [codegen-350M-mono](https://huggingface.co/Salesforce/codegen-350M-mono/tree/main) and [phi-2](https://huggingface.co/microsoft/phi-2/tree/main).
+
+The following example demonstrates how to create and utilize this tokenizer.
+
+```C#
+// https://huggingface.co/microsoft/phi-2/resolve/main/vocab.json?download=true
+// https://huggingface.co/microsoft/phi-2/resolve/main/merges.txt?download=true
+using Stream vocabStream = File.OpenRead(phi2VocabPath);
+using Stream mergesStream = File.OpenRead(phi2MergePath);
+
+Tokenizer ph2Tokenizer = Tokenizer.CreateCodeGen(vocabStream, mergesStream);
+IReadOnlyList ids = ph2Tokenizer.EncodeToIds("Hello, World");
+```
+
+## OpenTelemetry: Make activity linking more flexible
+
+[Activity.AddLink](https://github.com/dotnet/runtime/blob/e1f98a13be27efbe0ee3b69aa4673e7e98c5c003/src/libraries/System.Diagnostics.DiagnosticSource/src/System/Diagnostics/Activity.cs#L529) was added to enable linking an `Activity` object to other tracing contexts after `Activity` object creation. This change better aligns .NET with the [OpenTelemetry specifications](https://github.com/open-telemetry/opentelemetry-specification/blob/6360b49d20ae451b28f7ba0be168ed9a799ac9e1/specification/trace/api.md?plain=1#L804).
+
+`Activity` linking was previously only possible as part of [`Activity` creation](https://learn.microsoft.com/dotnet/api/system.diagnostics.activitysource.createactivity?view=net-8.0#system-diagnostics-activitysource-createactivity(system-string-system-diagnostics-activitykind-system-diagnostics-activitycontext-system-collections-generic-ienumerable((system-collections-generic-keyvaluepair((system-string-system-object))))-system-collections-generic-ienumerable((system-diagnostics-activitylink))-system-diagnostics-activityidformat)).
+
+```C#
+var activityContext = new ActivityContext(ActivityTraceId.CreateRandom(), ActivitySpanId.CreateRandom(), ActivityTraceFlags.None);
+var activityLink = new ActivityLink(activityContext);
+
+var activity = new Activity("LinkTest");
+activity.AddLink(activityLink);
+
+// use activity.Links to retrieve all links to the activity object.
+```
+
+## PDB support added for System.Reflection.Emit.PersistedAssemblyBuilder
+
+PDB support has been added to the new [`PersistedAssemblyBuilder`](../preview1/runtime.md) class. You can now emit symbol info and use it for debugging an assembl generated with Reflection.Emit. The API shape that was chosen was inspired by the .NET Framework implementation of the same functionality.
+
+The new APIs added for emitting symbols and producing PDBs:
+
+```csharp
+public abstract partial class ModuleBuilder : System.Reflection.Module
+{
+ public ISymbolDocumentWriter DefineDocument (string url, Guid language, Guid languageVendor, Guid documentType) => DefineDocument(url, language);
+ public ISymbolDocumentWriter DefineDocument(string url, Guid language = default);
+}
+
+ public abstract partial class ILGenerator
+ {
+ public void MarkSequencePoint(ISymbolDocumentWriter document, int startLine, int startColumn, int endLine, int endColumn) { }
+ }
+
+public abstract partial class LocalBuilder : LocalVariableInfo
+{
+ public void SetLocalSymInfo(string name);
+}
+
+public sealed class PersistedAssemblyBuilder : AssemblyBuilder
+{
+ public MetadataBuilder GenerateMetadata(out BlobBuilder ilStream, out BlobBuilder mappedFieldData, out MetadataBuilder pdbBuilder) { }
+}
+```
+
+The symbols metadata will be populated into the `pdbBuilder` out parameter when `GenerateMetadata(out BlobBuilder ilStream, out BlobBuilder mappedFieldData, out MetadataBuilder pdbBuilder)` method called. The steps for creating an assembly with portable PDB:
+
+1. Create `PortablePdbBuilder` instance using the `pdbBuilder` produced with `GenerateMetadata(...)` method.
+2. Serialize the `PortablePdbBuilder` into a Blob, write the Blob into a PDB file stream (only in case generating standalone PDB).
+3. Create `DebugDirectoryBuilder` instance and add a `CodeViewEntry` (standalone PDB) or `EmbeddedPortablePdbEntry`.
+4. Set the optional `debugDirectoryBuilder` argument when creating `PEBuilder` instance.
+5. Serialize the `PEBuilder` into a Blob, then write the Blob into an assembly file stream.
+
+### Sample usage
+
+```cs
+static void GenerateAssembly()
+{
+ PersistedAssemblyBuilder ab = new PersistedAssemblyBuilder(new AssemblyName("MyAssembly"), typeof(object).Assembly);
+ ModuleBuilder mb = ab.DefineDynamicModule("MyModule");
+ TypeBuilder tb = mb.DefineType("MyType", TypeAttributes.Public | TypeAttributes.Class);
+ MethodBuilder mb1 = tb.DefineMethod("SumMethod", MethodAttributes.Public | MethodAttributes.Static, typeof(int), [typeof(int), typeof(int)]);
+ ISymbolDocumentWriter srcDoc = mb.DefineDocument("MySourceFile.cs", SymLanguageType.CSharp);
+ ILGenerator il = mb1.GetILGenerator();
+ LocalBuilder local = il.DeclareLocal(typeof(int));
+ local.SetLocalSymInfo("myLocal");
+ il.MarkSequencePoint(srcDoc, 7, 0, 7, 11);
+ ...
+ il.Emit(OpCodes.Ret);
+
+ MethodBuilder entryPoint = tb.DefineMethod("Main", MethodAttributes.HideBySig | MethodAttributes.Public | MethodAttributes.Static);
+ ILGenerator il2 = entryPoint.GetILGenerator();
+ il2.MarkSequencePoint(srcDoc, 12, 0, 12, 38);
+ ...
+ tb.CreateType();
+
+ MetadataBuilder metadataBuilder = ab.GenerateMetadata(out BlobBuilder ilStream, out _, out MetadataBuilder pdbBuilder);
+ MethodDefinitionHandle entryPointHandle = MetadataTokens.MethodDefinitionHandle(entryPoint.MetadataToken);
+ DebugDirectoryBuilder debugDirectoryBuilder = GeneratePDB(pdbBuilder, metadataBuilder.GetRowCounts(), entryPointHandle);
+
+ ManagedPEBuilder peBuilder = new ManagedPEBuilder(
+ header: new PEHeaderBuilder(imageCharacteristics: Characteristics.ExecutableImage, subsystem: Subsystem.WindowsCui),
+ metadataRootBuilder: new MetadataRootBuilder(metadataBuilder),
+ ilStream: ilStream,
+ debugDirectoryBuilder: debugDirectoryBuilder,
+ entryPoint: entryPointHandle);
+
+ BlobBuilder peBlob = new BlobBuilder();
+ peBuilder.Serialize(peBlob);
+
+ using var fileStream = new FileStream("MyAssembly.exe", FileMode.Create, FileAccess.Write);
+ peBlob.WriteContentTo(fileStream);
+}
+
+static DebugDirectoryBuilder GeneratePDB(MetadataBuilder pdbBuilder, ImmutableArray rowCounts, MethodDefinitionHandle entryPointHandle)
+{
+ BlobBuilder portablePdbBlob = new BlobBuilder();
+ PortablePdbBuilder portablePdbBuilder = new PortablePdbBuilder(pdbBuilder, rowCounts, entryPointHandle);
+ BlobContentId pdbContentId = portablePdbBuilder.Serialize(portablePdbBlob);
+ // In case saving PDB to a file
+ using FileStream fileStream = new FileStream("MyAssemblyEmbeddedSource.pdb", FileMode.Create, FileAccess.Write);
+ portablePdbBlob.WriteContentTo(fileStream);
+
+ DebugDirectoryBuilder debugDirectoryBuilder = new DebugDirectoryBuilder();
+ debugDirectoryBuilder.AddCodeViewEntry("MyAssemblyEmbeddedSource.pdb", pdbContentId, portablePdbBuilder.FormatVersion);
+ // In case embedded in PE:
+ // debugDirectoryBuilder.AddEmbeddedPortablePdbEntry(portablePdbBlob, portablePdbBuilder.FormatVersion);
+ return debugDirectoryBuilder;
+}
+```
+
+`CustomDebugInformation` can be added by calling the `AddCustomDebugInformation` method from the `pdbBuilder` instance to add source embedding, source indexing, and other advanced PDB information.
+
+```cs
+private static void EmbedSource(MetadataBuilder pdbBuilder)
+{
+ byte[] sourceBytes = File.ReadAllBytes("MySourceFile2.cs");
+ BlobBuilder sourceBlob = new BlobBuilder();
+ sourceBlob.WriteBytes(sourceBytes);
+ pdbBuilder.AddCustomDebugInformation(MetadataTokens.DocumentHandle(1),
+ pdbBuilder.GetOrAddGuid(new Guid("0E8A571B-6926-466E-B4AD-8AB04611F5FE")), pdbBuilder.GetOrAddBlob(sourceBlob));
+}
+```
diff --git a/release-notes/9.0/preview/preview4/media/aspnetcore-developer-page-improvements.gif b/release-notes/9.0/preview/preview4/media/aspnetcore-developer-page-improvements.gif
new file mode 100644
index 0000000000..397e7f951c
Binary files /dev/null and b/release-notes/9.0/preview/preview4/media/aspnetcore-developer-page-improvements.gif differ
diff --git a/release-notes/9.0/preview/preview4/media/nativeaot-perf.png b/release-notes/9.0/preview/preview4/media/nativeaot-perf.png
new file mode 100644
index 0000000000..4fc975f976
Binary files /dev/null and b/release-notes/9.0/preview/preview4/media/nativeaot-perf.png differ
diff --git a/release-notes/9.0/preview/preview4/media/openapi-doc-build.png b/release-notes/9.0/preview/preview4/media/openapi-doc-build.png
new file mode 100644
index 0000000000..7fe04ee298
Binary files /dev/null and b/release-notes/9.0/preview/preview4/media/openapi-doc-build.png differ
diff --git a/release-notes/9.0/preview/preview4/media/openapi-doc.png b/release-notes/9.0/preview/preview4/media/openapi-doc.png
new file mode 100644
index 0000000000..c7f660a469
Binary files /dev/null and b/release-notes/9.0/preview/preview4/media/openapi-doc.png differ
diff --git a/release-notes/9.0/preview/preview4/media/wpf-dark.png b/release-notes/9.0/preview/preview4/media/wpf-dark.png
new file mode 100644
index 0000000000..08bed18d3d
Binary files /dev/null and b/release-notes/9.0/preview/preview4/media/wpf-dark.png differ
diff --git a/release-notes/9.0/preview/preview4/media/wpf-light.png b/release-notes/9.0/preview/preview4/media/wpf-light.png
new file mode 100644
index 0000000000..ef1f41be86
Binary files /dev/null and b/release-notes/9.0/preview/preview4/media/wpf-light.png differ
diff --git a/release-notes/9.0/preview/preview4/runtime.md b/release-notes/9.0/preview/preview4/runtime.md
new file mode 100644
index 0000000000..3ff8fdbf80
--- /dev/null
+++ b/release-notes/9.0/preview/preview4/runtime.md
@@ -0,0 +1,104 @@
+# .NET Runtime in .NET 9 Preview 4- Release Notes
+
+Here's a summary of what's new in the .NET Runtime in this preview release:
+
+- [`UnsafeAccessorAttribute` supports generic parameters](#unsafeaccessorattribute-supports-generic-parameters)
+- [Feature switches with trimming support](#feature-switches-with-trimming-support)
+
+Runtime updates in .NET 9 Preview 4:
+
+- [What's new in the .NET Runtime in .NET 9](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-9/overview) documentation
+
+.NET 9 Preview 4:
+
+- [Discussion](https://aka.ms/dotnet/9/preview4)
+- [Release notes](./README.md)
+- [Libraries release notes](./libraries.md)
+
+## `UnsafeAccessorAttribute` supports generic parameters
+
+The [`UnsafeAccessorAttribute`](https://learn.microsoft.com/dotnet/api/system.runtime.compilerservices.unsafeaccessorattribute) feature allows unsafe access to type members that are unaccessible to the caller. This feature was [designed in .NET 8](https://github.com/dotnet/runtime/issues/81741) but implemented without support for generic parameters. In .NET 9, based on community feedback, we prioritized adding this support and it is now available for [CoreCLR and native AOT scenarios](https://github.com/dotnet/runtime/pull/99468). Remaining work, including support in mono, can be found [here](https://github.com/dotnet/runtime/issues/89439).
+
+Usage example:
+
+```csharp
+public class Class
+{
+ private T _field;
+ private void M(T t, U u) { }
+}
+
+class Accessors
+{
+ [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "_field")]
+ public extern static ref V GetSetPrivateField(Class c);
+
+ [UnsafeAccessor(UnsafeAccessorKind.Method, Name = "M")]
+ public extern static void CallM(Class c, V v, W w);
+}
+
+public void AccessGenericType(Class c)
+{
+ ref int f = ref Accessors.GetSetPrivateField(c);
+
+ Accessors.CallM(c, 1, string.Empty);
+}
+```
+
+## Feature switches with trimming support
+
+Two new attributes make it possible to define [feature switches](https://github.com/dotnet/designs/blob/main/accepted/2020/feature-switch.md) that can be used to toggle areas of functionality in .NET libraries, with support for removing unused features when trimming or native AOT compiling. For example, these attributes are used in the definitions of [`RuntimeFeature.IsDynamicCodeSupported`](https://github.com/dotnet/runtime/blob/24562bcabefaea5e03c74d01e4df8fc7c112a13a/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/RuntimeFeature.NonNativeAot.cs#L10-L11) and [`RuntimeFeature.IsDynamicCodeCompiled`](https://github.com/dotnet/runtime/blob/24562bcabefaea5e03c74d01e4df8fc7c112a13a/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/RuntimeFeature.NonNativeAot.cs#L19-L20)
+
+
+### FeatureSwitchDefinition
+
+`FeatureSwitchDefinitionAttribute` can be used to treat a feature switch property as a constant when trimming:
+
+```csharp
+public class Feature
+{
+ [FeatureSwitchDefinition("Feature.IsSupported")]
+ internal static bool IsSupported => AppContext.TryGetSwitch("Feature.IsSupported", out bool isEnabled) ? isEnabled : true;
+
+ internal static Implementation() => ...;
+}
+```
+
+This allows dead code guarded by the switch to be removed. For example:
+
+```csharp
+if (Feature.IsSupported)
+ Feature.Implementation();
+```
+
+When the app is trimmed with the following feature settings, `Feature.IsSupported` is treated as `false`, and `Feature.Implementation` is removed.
+
+```xml
+
+
+
+```
+
+### FeatureGuard
+
+`FeatureGuardAttribute` can be used to treat a feature switch property as a guard for code annotated with `RequiresUnreferencedCodeAttribute`, `RequiresAssemblyFilesAttribute`, or `RequiresDynamicCodeAttribute`:
+
+```csharp
+public class Feature
+{
+ [FeatureGuard(typeof(RequiresDynamicCodeAttribute))]
+ internal static bool IsSupported => RuntimeFeature.IsDynamicCodeSupported;
+
+ [RequiresDynamicCode("Feature requires dynamic code support.")]
+ internal static Implementation() => ...; // Uses dynamic code
+}
+```
+
+Because the `IsSupported` property returns false whenever dynamic code is not supported, `Feature.IsSupported` can be used as a guard for methods that requires dynamic code at runtime. The `FeatureGuardAttribute` makes this known to the trim analyzer and the trimming tools. For example:
+
+```csharp
+if (Feature.IsSupported)
+ Feature.Implementation();
+```
+
+When built with `true`, the call to `Feature.Implementation()` will not produce analyzer warning [IL3050](https://learn.microsoft.com/dotnet/core/deploying/native-aot/warnings/il3050), and `Feature.Implementation` will be removed when publishing.
\ No newline at end of file
diff --git a/release-notes/9.0/preview/preview4/wpf.md b/release-notes/9.0/preview/preview4/wpf.md
new file mode 100644
index 0000000000..67b2c7caa7
--- /dev/null
+++ b/release-notes/9.0/preview/preview4/wpf.md
@@ -0,0 +1,31 @@
+# WPF in .NET 9 Preview 4 - Release Notes
+
+This release includes several new features for WPF developers including:
+
+- [Theming improvements – Support for Windows 11 theming for WPF apps](#support-for-windows-11-theming)
+- [Hyphen based ligature support](#hyphen-based-ligature-support)
+
+.NET 9 Preview 4:
+
+- [Discussion](https://aka.ms/dotnet/9/preview4)
+- [Release notes](./README.md)
+
+## Support for Windows 11 theming
+
+For consumer applications built on WPF and running on Windows 11, this feature enables them to leverage modern design elements and behaviors. This includes features such as:
+
+- Light and dark theme support
+- Rounded corners for controls, and
+- Windows 11 design styles for controls
+
+![WPF app running in light mode](media/wpf-light.png)
+![WPF app running in dark mode](media/wpf-dark.png)
+
+## Hyphen based ligature support
+
+Based on the WPF community feedback, we have now fixed the issue with Hyphen based ligatures not working in WPF. Summary: A call to LsTxtFmt (Text Formatter) is made when a line is being created. Previously, in LsTxtFmt, glyphing was only performed for regular characters. However, after the fix, glyphing will also be performed for special characters, such as hyphens.
+
+## Community Contributions
+
+- Thanks [pomianowski](https://github.com/pomianowski) for all the support and collaboration on the theming front.
+- Thanks [Jan Kucera](https://github.com/miloush) for all the support and validation on Hyphen-Ligatures.
\ No newline at end of file
diff --git a/release-notes/9.0/releases.json b/release-notes/9.0/releases.json
index 59f251e8a0..05276868cc 100644
--- a/release-notes/9.0/releases.json
+++ b/release-notes/9.0/releases.json
@@ -1,13 +1,525 @@
{
"channel-version": "9.0",
- "latest-release": "9.0.0-preview.3",
- "latest-release-date": "2024-04-11",
- "latest-runtime": "9.0.0-preview.3.24172.9",
- "latest-sdk": "9.0.100-preview.3.24204.13",
+ "latest-release": "9.0.0-preview.4",
+ "latest-release-date": "2023-05-21",
+ "latest-runtime": "9.0.0-preview.4.24266.19",
+ "latest-sdk": "9.0.100-preview.4.24267.66",
"support-phase": "preview",
"release-type": "sts",
"lifecycle-policy": "https://aka.ms/dotnetcoresupport",
"releases": [
+ {
+ "release-date": "2023-05-21",
+ "release-version": "9.0.0-preview.4",
+ "security": false,
+ "cve-list": [],
+ "release-notes": "https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/9.0.0-preview.4.md",
+ "runtime": {
+ "version": "9.0.0-preview.4.24266.19",
+ "version-display": "9.0.0-preview.4",
+ "vs-version": "Visual Studio 2022 (v17.11 Preview 1)",
+ "vs-mac-version": "",
+ "files": [
+ {
+ "name": "dotnet-runtime-linux-arm.tar.gz",
+ "rid": "linux-arm",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/5a99b6e0-105d-432e-8df1-9f881aab7d86/4018c96b74950f6943e9102b99baec58/dotnet-runtime-9.0.0-preview.4.24266.19-linux-arm.tar.gz",
+ "hash": "9ecc3c6afdc445b0008d8f6bc7a0635ba6abc00ed0e5b66be3bc2e4a4da2579d0c1cce848635a5046a086f2c7154e3befeb9176219af7c8feadeb41a78b1ea5a"
+ },
+ {
+ "name": "dotnet-runtime-linux-arm64.tar.gz",
+ "rid": "linux-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/18801fdd-b1f5-4856-8288-c306b11f0f43/5c62f28b9a269b1a840cfb310a9a9f86/dotnet-runtime-9.0.0-preview.4.24266.19-linux-arm64.tar.gz",
+ "hash": "ce8c21b6c854b6772578e84d42e2df5f5144d5a15aff3e6d48953feb1aad517215b6349c20fc22542364a9c439fe19a562f070f88eabf14b5d95ab50fe1ecc00"
+ },
+ {
+ "name": "dotnet-runtime-linux-musl-arm.tar.gz",
+ "rid": "linux-musl-arm",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/35dd9b11-2055-4d52-9169-1b6c3dd11594/a35d42236e89f7e0bea13545138e170e/dotnet-runtime-9.0.0-preview.4.24266.19-linux-musl-arm.tar.gz",
+ "hash": "cd38668eb106653c9ce2ec62e8b0443f3c7c90105302afdf790153b19b677af6b931af5b2a836b226c54ab8b7f8609265f81c37653697ac15d2688cfb2261902"
+ },
+ {
+ "name": "dotnet-runtime-linux-musl-arm64.tar.gz",
+ "rid": "linux-musl-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/242ea287-a11a-4248-8c85-bfca8d2057e0/c0da08d4b4f8b07c966d9169ec56ed1d/dotnet-runtime-9.0.0-preview.4.24266.19-linux-musl-arm64.tar.gz",
+ "hash": "969aa069d1719e7dc0c5f1abfd13d3960e58111ecfd61cf557979ec4f3e30cfb2b9082250041bee49841ac5b40eef3f80caf921b63ea148825289ccfde582f6e"
+ },
+ {
+ "name": "dotnet-runtime-linux-musl-x64.tar.gz",
+ "rid": "linux-musl-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/5139dd2b-c1a7-4be5-9913-18e09aed94f3/f9a8615238ec30073a7c1bcb3c7ae247/dotnet-runtime-9.0.0-preview.4.24266.19-linux-musl-x64.tar.gz",
+ "hash": "964110b4637ada5eb605aa035c30f4cde754a5ffbe26cb11b63d10cb6e0f3287e746662fb85c421c4c3b9b3a334755f59c123b65799b461d22e1d53c42ad496c"
+ },
+ {
+ "name": "dotnet-runtime-linux-x64.tar.gz",
+ "rid": "linux-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/bd635e31-a279-4078-ac0d-f82ad8940f84/2e9b04bbe40e28507e8483c73eafdd7c/dotnet-runtime-9.0.0-preview.4.24266.19-linux-x64.tar.gz",
+ "hash": "b366a4f19f25281c5b325e737f8c9fe0fa97ca4e19e0e8f00cd42cac84f4134469d02558b07412c66cde62e53f1cb1a7efd68357713ce4d3e816c19ee538e9b6"
+ },
+ {
+ "name": "dotnet-runtime-osx-arm64.pkg",
+ "rid": "osx-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/7e461d11-8e26-429b-a35e-6f67c84d5b3f/0d7cfe48dcbfaa6a8284850793c984d7/dotnet-runtime-9.0.0-preview.4.24266.19-osx-arm64.pkg",
+ "hash": "247fca6bd0fcdb80cc4fdfee87520b2ae12c54eb8399bb625ba226cb845971d562037b37c2d507d4d7405976410929e41ab7f9bb02c17c66e080aaf99f0867ea"
+ },
+ {
+ "name": "dotnet-runtime-osx-arm64.tar.gz",
+ "rid": "osx-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/c53cab87-a771-422e-be8e-f33a8a6ca637/6e72c3d16f517c6e692572a5cc9546c2/dotnet-runtime-9.0.0-preview.4.24266.19-osx-arm64.tar.gz",
+ "hash": "f9e8188c71ab47631c28d3fb9314b382eec31ae5592a73eaf8c944fcdc240147ac23ef4530a871e9a5deaf311b84ac5b0d5a1f4b6ff22134a8f4eda4555c43a2"
+ },
+ {
+ "name": "dotnet-runtime-osx-x64.pkg",
+ "rid": "osx-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/73f4cbbe-9a84-4403-ab5a-4ea15abe6890/95fb54f4ccd9024e7d41cee510cf3fa6/dotnet-runtime-9.0.0-preview.4.24266.19-osx-x64.pkg",
+ "hash": "7efa0a175811039994d605e6ddc0aa007f28e17516230d335ee1a3af469515aff8ae681aed56a7fcaafecf52f17cd93d07bb7d0d4e219d14afd9e659b0e6358c"
+ },
+ {
+ "name": "dotnet-runtime-osx-x64.tar.gz",
+ "rid": "osx-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/6bd91ad7-ac3c-4027-8674-239367730906/007b8c98680c550fb801c34dea28bc9f/dotnet-runtime-9.0.0-preview.4.24266.19-osx-x64.tar.gz",
+ "hash": "9e7364e1448d98df03922bd315f788ce564dfcbec1a9e83c9e1437c22d8d52f72f061750de2f9e149e7662c168b7a781e7450d2c1e8b7f048cb62b360f12d6f6"
+ },
+ {
+ "name": "dotnet-runtime-win-arm64.exe",
+ "rid": "win-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/e377474e-7847-4bca-a032-07a50104e7f5/97851ebb43ff0e3dce49a0ca9d0fb0d1/dotnet-runtime-9.0.0-preview.4.24266.19-win-arm64.exe",
+ "hash": "6c3695d936ebfde747f5d656afe764fe2bcde551f2808e4018be4358f1a98e63cc91f340af6ec2f2370165a068eb12bb45f81e4e2d4d6c7ab916fa0c491e42e2"
+ },
+ {
+ "name": "dotnet-runtime-win-arm64.zip",
+ "rid": "win-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/28a070f2-adb7-4d2a-8363-6c4e285a8e63/9156f37f7cdcf63739881a80d8dbc050/dotnet-runtime-9.0.0-preview.4.24266.19-win-arm64.zip",
+ "hash": "47e92441bdb222b3c69dab181504de00a1c89c75d9b42cc6b093c1ae81dc184fb962319c6cd3e6fc78835b27257e5799f04c6c8481ceee30af9163d97bb9f93a"
+ },
+ {
+ "name": "dotnet-runtime-win-x64.exe",
+ "rid": "win-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/62b4e83e-1346-4c01-986e-33047bc2a6d3/852c4d4ff7a7517a5edbd896e4796e15/dotnet-runtime-9.0.0-preview.4.24266.19-win-x64.exe",
+ "hash": "5b6865c131836c1bfb2b9e78c515b3ad5aab5fa5a7317d2024d216de8964b9e749a6878a43cbf8e1b8ed587ba4641011d5250c95f6b15c5e0a2c4a0bdf78bbfd"
+ },
+ {
+ "name": "dotnet-runtime-win-x64.zip",
+ "rid": "win-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/676e985a-6242-426e-84dc-caa80beac6be/576a6d8e8f74c9520c8e7942c4d5278f/dotnet-runtime-9.0.0-preview.4.24266.19-win-x64.zip",
+ "hash": "61ec667e4c6394ba21748a3529969e54ca514c37c42b5acca2a87dbf7f816d6c7c4add8962efa51db7b99a7177546ad439121c53053b5fe6e01763f77f42daf5"
+ },
+ {
+ "name": "dotnet-runtime-win-x86.exe",
+ "rid": "win-x86",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/4415bda1-d266-4128-b194-0d4d280128c4/685282429a7c7affd9134fd5d2d9a2c0/dotnet-runtime-9.0.0-preview.4.24266.19-win-x86.exe",
+ "hash": "5226d35e6325443448e2897a05394212a4b475025b5bf1e3702093f00daa05bb1a64be3a986114c528b1cbf7a50a3d358f8bbb5020451ca4e56aa61f6f977d76"
+ },
+ {
+ "name": "dotnet-runtime-win-x86.zip",
+ "rid": "win-x86",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/284b822f-4ff7-409b-90ef-9b37eb487dcc/26719d69cfcc500a1493bb9d4de6fd7f/dotnet-runtime-9.0.0-preview.4.24266.19-win-x86.zip",
+ "hash": "df01e6fae6ec5aebda2ece30617bf9c4e04e105b4ccd8f3da8e790650e22c1333e5080a949f43814033fe60a2e8061be53c2923d17b2a31e61c6a0c77b726bab"
+ }
+ ]
+ },
+ "sdk": {
+ "version": "9.0.100-preview.4.24267.66",
+ "version-display": "9.0.100-preview.4",
+ "runtime-version": "9.0.0-preview.4.24266.19",
+ "vs-version": "",
+ "vs-mac-version": "",
+ "vs-support": "",
+ "vs-mac-support": "",
+ "csharp-version": "12.0",
+ "fsharp-version": "8.0",
+ "vb-version": "16.9",
+ "files": [
+ {
+ "name": "dotnet-sdk-linux-arm.tar.gz",
+ "rid": "linux-arm",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/eb98063a-61bc-443b-b51d-0bc82cfa10bb/ef920311f783df4ade75298fcd45c9f7/dotnet-sdk-9.0.100-preview.4.24267.66-linux-arm.tar.gz",
+ "hash": "3728477aaba64f03f28b4690caffcc90852960d7bb573cda142a49decc394ba38cd1090e7c00275d3f8e5af0ffd0cbbde04c27102cad72814d8503281bf1fe65"
+ },
+ {
+ "name": "dotnet-sdk-linux-arm64.tar.gz",
+ "rid": "linux-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/098a764a-8756-47c5-97e9-118431c31b9f/2e1b737cb4750deadb0136283346c7ed/dotnet-sdk-9.0.100-preview.4.24267.66-linux-arm64.tar.gz",
+ "hash": "519d529c74a972484af49ea72053466e09fbfaec0142cd924705dddc117dc40901ac22ddcb11c05caf7b43ef8cf44ec8a0a9dd4c56fbd329b0f750513ae3100c"
+ },
+ {
+ "name": "dotnet-sdk-linux-musl-arm.tar.gz",
+ "rid": "linux-musl-arm",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/42b4a871-aa76-4e76-81d8-4de3adc015b7/1e6a598bb1c74ca1bd0f97701c1beec9/dotnet-sdk-9.0.100-preview.4.24267.66-linux-musl-arm.tar.gz",
+ "hash": "952735f8b305ecf67f644acde4e5176a17399c4616a51a9a279d84763cb30ed67bac6b64caf2ed359f103794de5d4082d72da79f5fe5486b2f32a22e78893f32"
+ },
+ {
+ "name": "dotnet-sdk-linux-musl-arm64.tar.gz",
+ "rid": "linux-musl-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/5970728d-630b-4a98-b92e-c7411094995d/97319be6b9b617c0e5529a89476d4431/dotnet-sdk-9.0.100-preview.4.24267.66-linux-musl-arm64.tar.gz",
+ "hash": "85e8caab9e74882fe4959f7078d7e4f736c0c2109b6167aeacec1518348945e093839774baf2a90163f8868ae5593912caf8477f5ac8ce20e0cca1bead066da8"
+ },
+ {
+ "name": "dotnet-sdk-linux-musl-x64.tar.gz",
+ "rid": "linux-musl-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/42143563-4bb7-456d-b3ce-698869c0feee/129e62b28eb216976385ddb095159013/dotnet-sdk-9.0.100-preview.4.24267.66-linux-musl-x64.tar.gz",
+ "hash": "5861ccc9b1670a134c6d76be3ba0aa3606c8c3c110cc8415d2015c921c86bc19cc6363e64f7a2f9a3dd261e042956e55d0c9c2e5410bcce2dcefe309dae631d1"
+ },
+ {
+ "name": "dotnet-sdk-linux-x64.tar.gz",
+ "rid": "linux-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/87f2eabb-8ba2-4677-9f91-526672f51857/9ed7fb997d40a369c038269a514fc4e4/dotnet-sdk-9.0.100-preview.4.24267.66-linux-x64.tar.gz",
+ "hash": "28b63633a1e6f4078ccc60218b9f7b6663eb960f0ab1c41069ed8f7f67757fa22ce9f4c04d88b9015c417aad34a7a57986451682bd7aa7b966eda45ace23d283"
+ },
+ {
+ "name": "dotnet-sdk-osx-arm64.pkg",
+ "rid": "osx-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/343689ab-65e1-4633-b85a-ca1bb8a0e5d1/e04cf1a20a665f377e2ea45d3a9734c5/dotnet-sdk-9.0.100-preview.4.24267.66-osx-arm64.pkg",
+ "hash": "7d3ccf857593bfc53a60d6085d41b9e6afcb57c8e18e7e79bfc9d61bd269466c7c69cab4f3801496b1314bbaa134d6226b37493b01b70b20a8b4b7c6fa0bace6"
+ },
+ {
+ "name": "dotnet-sdk-osx-arm64.tar.gz",
+ "rid": "osx-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/e003d2d1-abfd-45f6-aca2-e3f2199e3633/dcefd0cccdfb48a3fbb20b14fd2fe22c/dotnet-sdk-9.0.100-preview.4.24267.66-osx-arm64.tar.gz",
+ "hash": "3791e2134f7cae53c430ae5306f325eecb84058da07d90f276f8d4045701c6c85567472ffc2c535002bb3066817683c0a8e82d23ba6ce32a52f7217867db30d2"
+ },
+ {
+ "name": "dotnet-sdk-osx-x64.pkg",
+ "rid": "osx-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/f0858498-9230-46ee-9cf4-fb68aec0e37d/58e82c5b5705f0fd9efb2d4ecc74c02b/dotnet-sdk-9.0.100-preview.4.24267.66-osx-x64.pkg",
+ "hash": "a672acfbec52b2f636614a2cff682ddde5ecd8c82eab884608af1bb7ef508ef5bd202c25e31ecece7d81766ffae6c96b518841f215bb6361bbf66f45ca6c0a1b"
+ },
+ {
+ "name": "dotnet-sdk-osx-x64.tar.gz",
+ "rid": "osx-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/c3cee1ac-1bb3-48b0-8a35-813e511d1d41/dbcba8b2e6d28886d07bec53ab509225/dotnet-sdk-9.0.100-preview.4.24267.66-osx-x64.tar.gz",
+ "hash": "da35a51180e75a238b7a4b5d1a5b7e3e33f1a1c179b40957deee98c8e01a9bfade62e2c909d2e5b377f43cf2dc78687b34b349b27b2f8f841165c3c05b3fe443"
+ },
+ {
+ "name": "dotnet-sdk-win-arm64.exe",
+ "rid": "win-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/29c1ff6f-0156-43d4-b86c-9e7d3d99676d/d6097b452228be86bc95b995688685c2/dotnet-sdk-9.0.100-preview.4.24267.66-win-arm64.exe",
+ "hash": "b855a6a68dd1e4fe93348d20a7940685ab46540a4037512d99e30269a9a941c8a740f71984876b876441597e2830aff4bc2940666043a3ba565016c491f982ee"
+ },
+ {
+ "name": "dotnet-sdk-win-arm64.zip",
+ "rid": "win-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/7b9dad11-8a62-4521-9984-3a099d9ce61d/a0a1fe27a63ac76480db3281577edcef/dotnet-sdk-9.0.100-preview.4.24267.66-win-arm64.zip",
+ "hash": "611c04fe90746c82c4902eb75a98e6219222cd82733388b79cc81fe3c9401ed261474e92993439e06efa6eec6230604bbb05a77a0894f030ea75dc22808d1edb"
+ },
+ {
+ "name": "dotnet-sdk-win-x64.exe",
+ "rid": "win-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/1515bcb1-1862-43c5-a86c-180b1ec9049d/c4049cf3b8eb87e40dff823573cf563d/dotnet-sdk-9.0.100-preview.4.24267.66-win-x64.exe",
+ "hash": "32eee5f12a564098fe19253a50260bffaad34fd92d7a2d10612993eeef0a78fc7aee051dff9c72738091f3c38029d4579886a626541f656e090497080ffce22d"
+ },
+ {
+ "name": "dotnet-sdk-win-x64.zip",
+ "rid": "win-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/5bb0c9db-5ddb-44e7-90d1-bf34c1ac688f/8ba52405d812250c4b31e81e94c62334/dotnet-sdk-9.0.100-preview.4.24267.66-win-x64.zip",
+ "hash": "5abe780d515bf82692752d3defe6317bdd17171ddbd5aa9b769ba8f63edd713868c26b8735ba427c9f193ac0daac28c2cd87c4321565c3b2c4545b906f5c3587"
+ },
+ {
+ "name": "dotnet-sdk-win-x86.exe",
+ "rid": "win-x86",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/bb1317f1-6c8d-4287-b10e-618e67cff2ff/d7537c37617a5d5d56b87079a24a2a66/dotnet-sdk-9.0.100-preview.4.24267.66-win-x86.exe",
+ "hash": "2c3ad59a9e57b9a56aaf825f4eb23f90caffc1508c9bb5ef511865455e051fb65e2834f3ceb829931d6ee74ab81c52885c2c862d02c23a015593d6fc182030f7"
+ },
+ {
+ "name": "dotnet-sdk-win-x86.zip",
+ "rid": "win-x86",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/ce78ba3f-c369-408e-8026-a2318844db65/d1636d07dd075acfdaad4d80d69b6262/dotnet-sdk-9.0.100-preview.4.24267.66-win-x86.zip",
+ "hash": "ea8617ced22a2b4e0e048f3560e350cd720d5529776bd5cd5e165b139bf287624178870cdaad68e613a18122f3d2ca5e917c46ff8390a8a92631787e21a39243"
+ }
+ ]
+ },
+ "sdks": [
+ {
+ "version": "9.0.100-preview.4.24267.66",
+ "version-display": "9.0.100-preview.4",
+ "runtime-version": "9.0.0-preview.4.24266.19",
+ "vs-version": "",
+ "vs-mac-version": "",
+ "vs-support": "",
+ "vs-mac-support": "",
+ "csharp-version": "12.0",
+ "fsharp-version": "8.0",
+ "vb-version": "16.9",
+ "files": [
+ {
+ "name": "dotnet-sdk-linux-arm.tar.gz",
+ "rid": "linux-arm",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/eb98063a-61bc-443b-b51d-0bc82cfa10bb/ef920311f783df4ade75298fcd45c9f7/dotnet-sdk-9.0.100-preview.4.24267.66-linux-arm.tar.gz",
+ "hash": "3728477aaba64f03f28b4690caffcc90852960d7bb573cda142a49decc394ba38cd1090e7c00275d3f8e5af0ffd0cbbde04c27102cad72814d8503281bf1fe65"
+ },
+ {
+ "name": "dotnet-sdk-linux-arm64.tar.gz",
+ "rid": "linux-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/098a764a-8756-47c5-97e9-118431c31b9f/2e1b737cb4750deadb0136283346c7ed/dotnet-sdk-9.0.100-preview.4.24267.66-linux-arm64.tar.gz",
+ "hash": "519d529c74a972484af49ea72053466e09fbfaec0142cd924705dddc117dc40901ac22ddcb11c05caf7b43ef8cf44ec8a0a9dd4c56fbd329b0f750513ae3100c"
+ },
+ {
+ "name": "dotnet-sdk-linux-musl-arm.tar.gz",
+ "rid": "linux-musl-arm",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/42b4a871-aa76-4e76-81d8-4de3adc015b7/1e6a598bb1c74ca1bd0f97701c1beec9/dotnet-sdk-9.0.100-preview.4.24267.66-linux-musl-arm.tar.gz",
+ "hash": "952735f8b305ecf67f644acde4e5176a17399c4616a51a9a279d84763cb30ed67bac6b64caf2ed359f103794de5d4082d72da79f5fe5486b2f32a22e78893f32"
+ },
+ {
+ "name": "dotnet-sdk-linux-musl-arm64.tar.gz",
+ "rid": "linux-musl-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/5970728d-630b-4a98-b92e-c7411094995d/97319be6b9b617c0e5529a89476d4431/dotnet-sdk-9.0.100-preview.4.24267.66-linux-musl-arm64.tar.gz",
+ "hash": "85e8caab9e74882fe4959f7078d7e4f736c0c2109b6167aeacec1518348945e093839774baf2a90163f8868ae5593912caf8477f5ac8ce20e0cca1bead066da8"
+ },
+ {
+ "name": "dotnet-sdk-linux-musl-x64.tar.gz",
+ "rid": "linux-musl-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/42143563-4bb7-456d-b3ce-698869c0feee/129e62b28eb216976385ddb095159013/dotnet-sdk-9.0.100-preview.4.24267.66-linux-musl-x64.tar.gz",
+ "hash": "5861ccc9b1670a134c6d76be3ba0aa3606c8c3c110cc8415d2015c921c86bc19cc6363e64f7a2f9a3dd261e042956e55d0c9c2e5410bcce2dcefe309dae631d1"
+ },
+ {
+ "name": "dotnet-sdk-linux-x64.tar.gz",
+ "rid": "linux-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/87f2eabb-8ba2-4677-9f91-526672f51857/9ed7fb997d40a369c038269a514fc4e4/dotnet-sdk-9.0.100-preview.4.24267.66-linux-x64.tar.gz",
+ "hash": "28b63633a1e6f4078ccc60218b9f7b6663eb960f0ab1c41069ed8f7f67757fa22ce9f4c04d88b9015c417aad34a7a57986451682bd7aa7b966eda45ace23d283"
+ },
+ {
+ "name": "dotnet-sdk-osx-arm64.pkg",
+ "rid": "osx-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/343689ab-65e1-4633-b85a-ca1bb8a0e5d1/e04cf1a20a665f377e2ea45d3a9734c5/dotnet-sdk-9.0.100-preview.4.24267.66-osx-arm64.pkg",
+ "hash": "7d3ccf857593bfc53a60d6085d41b9e6afcb57c8e18e7e79bfc9d61bd269466c7c69cab4f3801496b1314bbaa134d6226b37493b01b70b20a8b4b7c6fa0bace6"
+ },
+ {
+ "name": "dotnet-sdk-osx-arm64.tar.gz",
+ "rid": "osx-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/e003d2d1-abfd-45f6-aca2-e3f2199e3633/dcefd0cccdfb48a3fbb20b14fd2fe22c/dotnet-sdk-9.0.100-preview.4.24267.66-osx-arm64.tar.gz",
+ "hash": "3791e2134f7cae53c430ae5306f325eecb84058da07d90f276f8d4045701c6c85567472ffc2c535002bb3066817683c0a8e82d23ba6ce32a52f7217867db30d2"
+ },
+ {
+ "name": "dotnet-sdk-osx-x64.pkg",
+ "rid": "osx-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/f0858498-9230-46ee-9cf4-fb68aec0e37d/58e82c5b5705f0fd9efb2d4ecc74c02b/dotnet-sdk-9.0.100-preview.4.24267.66-osx-x64.pkg",
+ "hash": "a672acfbec52b2f636614a2cff682ddde5ecd8c82eab884608af1bb7ef508ef5bd202c25e31ecece7d81766ffae6c96b518841f215bb6361bbf66f45ca6c0a1b"
+ },
+ {
+ "name": "dotnet-sdk-osx-x64.tar.gz",
+ "rid": "osx-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/c3cee1ac-1bb3-48b0-8a35-813e511d1d41/dbcba8b2e6d28886d07bec53ab509225/dotnet-sdk-9.0.100-preview.4.24267.66-osx-x64.tar.gz",
+ "hash": "da35a51180e75a238b7a4b5d1a5b7e3e33f1a1c179b40957deee98c8e01a9bfade62e2c909d2e5b377f43cf2dc78687b34b349b27b2f8f841165c3c05b3fe443"
+ },
+ {
+ "name": "dotnet-sdk-win-arm64.exe",
+ "rid": "win-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/29c1ff6f-0156-43d4-b86c-9e7d3d99676d/d6097b452228be86bc95b995688685c2/dotnet-sdk-9.0.100-preview.4.24267.66-win-arm64.exe",
+ "hash": "b855a6a68dd1e4fe93348d20a7940685ab46540a4037512d99e30269a9a941c8a740f71984876b876441597e2830aff4bc2940666043a3ba565016c491f982ee"
+ },
+ {
+ "name": "dotnet-sdk-win-arm64.zip",
+ "rid": "win-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/7b9dad11-8a62-4521-9984-3a099d9ce61d/a0a1fe27a63ac76480db3281577edcef/dotnet-sdk-9.0.100-preview.4.24267.66-win-arm64.zip",
+ "hash": "611c04fe90746c82c4902eb75a98e6219222cd82733388b79cc81fe3c9401ed261474e92993439e06efa6eec6230604bbb05a77a0894f030ea75dc22808d1edb"
+ },
+ {
+ "name": "dotnet-sdk-win-x64.exe",
+ "rid": "win-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/1515bcb1-1862-43c5-a86c-180b1ec9049d/c4049cf3b8eb87e40dff823573cf563d/dotnet-sdk-9.0.100-preview.4.24267.66-win-x64.exe",
+ "hash": "32eee5f12a564098fe19253a50260bffaad34fd92d7a2d10612993eeef0a78fc7aee051dff9c72738091f3c38029d4579886a626541f656e090497080ffce22d"
+ },
+ {
+ "name": "dotnet-sdk-win-x64.zip",
+ "rid": "win-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/5bb0c9db-5ddb-44e7-90d1-bf34c1ac688f/8ba52405d812250c4b31e81e94c62334/dotnet-sdk-9.0.100-preview.4.24267.66-win-x64.zip",
+ "hash": "5abe780d515bf82692752d3defe6317bdd17171ddbd5aa9b769ba8f63edd713868c26b8735ba427c9f193ac0daac28c2cd87c4321565c3b2c4545b906f5c3587"
+ },
+ {
+ "name": "dotnet-sdk-win-x86.exe",
+ "rid": "win-x86",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/bb1317f1-6c8d-4287-b10e-618e67cff2ff/d7537c37617a5d5d56b87079a24a2a66/dotnet-sdk-9.0.100-preview.4.24267.66-win-x86.exe",
+ "hash": "2c3ad59a9e57b9a56aaf825f4eb23f90caffc1508c9bb5ef511865455e051fb65e2834f3ceb829931d6ee74ab81c52885c2c862d02c23a015593d6fc182030f7"
+ },
+ {
+ "name": "dotnet-sdk-win-x86.zip",
+ "rid": "win-x86",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/ce78ba3f-c369-408e-8026-a2318844db65/d1636d07dd075acfdaad4d80d69b6262/dotnet-sdk-9.0.100-preview.4.24267.66-win-x86.zip",
+ "hash": "ea8617ced22a2b4e0e048f3560e350cd720d5529776bd5cd5e165b139bf287624178870cdaad68e613a18122f3d2ca5e917c46ff8390a8a92631787e21a39243"
+ }
+ ]
+ }
+ ],
+ "aspnetcore-runtime": {
+ "version": "9.0.0-preview.4.24267.6",
+ "version-display": "9.0.0-preview.4",
+ "version-aspnetcoremodule": [
+ "19.0.24138.0"
+ ],
+ "vs-version": "",
+ "files": [
+ {
+ "name": "aspnetcore-runtime-linux-arm.tar.gz",
+ "rid": "linux-arm",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/992c2b62-6318-4dc7-b7c3-994fd9f29e35/37e65e34cbe93b5389f8b779bded70f2/aspnetcore-runtime-9.0.0-preview.4.24267.6-linux-arm.tar.gz",
+ "hash": "e156c79c3e064e0d4ba2f2cb2fe53d2d427b2c5d62641e350278b31abe53e67ecd955de296b5e35f2e5fe491082fba8e09be67e1392874756be97487ab5a7994"
+ },
+ {
+ "name": "aspnetcore-runtime-linux-arm64.tar.gz",
+ "rid": "linux-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/bc6ae1a6-a98c-446f-8aa9-fe4bdd18412d/569b1a10883293eaa5aae3275d8a4e2f/aspnetcore-runtime-9.0.0-preview.4.24267.6-linux-arm64.tar.gz",
+ "hash": "6f457cfc870a8ea3a8f9e5cbc6b4554dd98c7380ced6f4c6f05bf918545e22937b1c446cc696125e08f964f78dacb2215c0d9e42fdd86ea1c3a4a57af199dac1"
+ },
+ {
+ "name": "aspnetcore-runtime-linux-musl-arm.tar.gz",
+ "rid": "linux-musl-arm",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/833d8170-3991-4523-8601-e7ff36cf254f/ff7f1cf297f4af74acadda36affcfac9/aspnetcore-runtime-9.0.0-preview.4.24267.6-linux-musl-arm.tar.gz",
+ "hash": "2cc4b0babc021c5cfa87ca25c1259485626b71834614f40468c6e1dac6468bba7585f2f0b373a42741be109653911fbebbac9036ace4e1f79e5b6eb8ca75b1d0"
+ },
+ {
+ "name": "aspnetcore-runtime-linux-musl-arm64.tar.gz",
+ "rid": "linux-musl-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/02b13c1e-b263-4ab2-add3-963137022042/9d5fe5a6b63936a143047fc6a466eb17/aspnetcore-runtime-9.0.0-preview.4.24267.6-linux-musl-arm64.tar.gz",
+ "hash": "02a4e69d6a627e80b76fa6d24d5f631420a92c83763bb65392a3b34d6bb24d24e24e49cedbaaa1b835c9815da8c01d64bb17b87aea8dd9771d80c6d99d5f1ecf"
+ },
+ {
+ "name": "aspnetcore-runtime-linux-musl-x64.tar.gz",
+ "rid": "linux-musl-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/f6caec80-aaf5-494d-bf71-10761428ff24/e062b54765e468699ab0588c092cce18/aspnetcore-runtime-9.0.0-preview.4.24267.6-linux-musl-x64.tar.gz",
+ "hash": "ac7c5caefd2285bf9e3d6d5afb6fd99e6fc23e534635cd3300acd043c042d21e0936670515a4e5d30bb58ef9503f9765787e4ff7bda675975dec5c9d46097677"
+ },
+ {
+ "name": "aspnetcore-runtime-linux-x64.tar.gz",
+ "rid": "linux-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/6f889c70-8c50-44d0-9877-0d0376c031ab/d73ca2ec30f5fc3e537b16f37c029daa/aspnetcore-runtime-9.0.0-preview.4.24267.6-linux-x64.tar.gz",
+ "hash": "ee65f640c894ac6e67589c40682b2fc215f2ab7037695589b9f92801073a0f8a8d071c3caf4608679f61e10830f02d21e916107f77b68c58e59b1f191ec8039a"
+ },
+ {
+ "name": "aspnetcore-runtime-osx-arm64.tar.gz",
+ "rid": "osx-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/57b0954f-d550-42af-b1b5-8c9ef5da0d58/a4c7f9677ac41fa3421050bf9822c56a/aspnetcore-runtime-9.0.0-preview.4.24267.6-osx-arm64.tar.gz",
+ "hash": "2440f43ec72f5298679126527af6c1c410cc542a98ab4e0c5aca0ffda40d29b7dc52e1f1aaa869b2d5b86b7bcd80579bada8fe20d0ba9e48a64ea147ed3b4c0c"
+ },
+ {
+ "name": "aspnetcore-runtime-osx-x64.tar.gz",
+ "rid": "osx-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/7ccc886e-61cc-475e-9ab4-b1723078e7e4/093617db718ce4669b6a93f2d8934b1f/aspnetcore-runtime-9.0.0-preview.4.24267.6-osx-x64.tar.gz",
+ "hash": "614fc10a69d3c78a1b1478b1d49d1e5d7dcadb02b6edd1ece510b81075e19f6267a53c7252ee4cdba1c5df1353f17ad64a54a08459d3a3a8a4baf707e4bef7f2"
+ },
+ {
+ "name": "aspnetcore-runtime-win-arm64.exe",
+ "rid": "win-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/92b6f660-9ac3-4f16-85ff-28e623f6d1d8/cc4895fbe24aeca773a1c1ad991c2d0a/aspnetcore-runtime-9.0.0-preview.4.24267.6-win-arm64.exe",
+ "hash": "6e1aa5c31257030364e9140a6626e818f18f71f6cb3f14b7ae37f72200984069ad60020029bf3824ee46d1fbbe55d97b90f6e68cbac3d4060aed972c007ff536"
+ },
+ {
+ "name": "aspnetcore-runtime-win-arm64.zip",
+ "rid": "win-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/accb26be-44e1-4940-8add-d51e6c3dfdb8/6514f378b6921d8cf43deaa94d803197/aspnetcore-runtime-9.0.0-preview.4.24267.6-win-arm64.zip",
+ "hash": "412daab92de5b9eb2a27c2b2146ec4e56f422b512b4b61cba0d96e34059f59116715e4eeaae30c59c8c6c57562262ccda353a589f47e969a5d61c0d0b6119e3e"
+ },
+ {
+ "name": "aspnetcore-runtime-win-x64.exe",
+ "rid": "win-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/c4862573-61c6-491e-82c5-851c6e68e50b/6685d83ef28ca605014610d2302db83d/aspnetcore-runtime-9.0.0-preview.4.24267.6-win-x64.exe",
+ "hash": "8864e666cf561f6ad1127d1add213293e4448fa83cdd589b2ae019346f29294d1ea12cd22f4939d0989435ab3f09c7493bd2466bf99179c2693bde9be4569c3a"
+ },
+ {
+ "name": "aspnetcore-runtime-win-x64.zip",
+ "rid": "win-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/a97e2ca1-2463-480b-a8d9-1ef74cbeb1b8/a817f2e44eefb42f8859ce34d4ab4d05/aspnetcore-runtime-9.0.0-preview.4.24267.6-win-x64.zip",
+ "hash": "f57273459e202bf2ac7a1a2cefe7075a6400d6c8baf4da2426d76b488a5f935eb2b8ae6178c69d4b3fa252aed8b02453c2200d8f996555ac849fcb26839d8984"
+ },
+ {
+ "name": "aspnetcore-runtime-win-x86.exe",
+ "rid": "win-x86",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/c041c63a-938d-4c08-95a5-d019b64af27e/1ed28254f2a8d92e934968b77b90701a/aspnetcore-runtime-9.0.0-preview.4.24267.6-win-x86.exe",
+ "hash": "78f5e5f81f1e5af7f89dc608c0937498f23544627e97d443b6614e982ff707ae9276f64b2aa6213f09a5efa6e103a480df3477272df8b5ff0683a5d91ed603cd"
+ },
+ {
+ "name": "aspnetcore-runtime-win-x86.zip",
+ "rid": "win-x86",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/51f63e30-95a8-4c1e-81b7-4da3b8d66c22/d56ec056ada0081cad7ffa34bc7461e7/aspnetcore-runtime-9.0.0-preview.4.24267.6-win-x86.zip",
+ "hash": "abd9d4c26dc916b8009d628bcb7d05d7688fd5ee2183adfca5323241b3b1a6bb299f383179659755c30197d14a33e1fb443e4acc26e0cdc79ace6e14f79dd8c7"
+ },
+ {
+ "name": "aspnetcore-runtime-composite-linux-arm.tar.gz",
+ "rid": "linux-arm",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/4345184c-9cb3-447b-8515-f577a4f80082/15e68b416144285b265fc84e11e6b54d/aspnetcore-runtime-composite-9.0.0-preview.4.24267.6-linux-arm.tar.gz",
+ "hash": "45bd8e7829d00f37867fbd74e3801fdf69104db7c45e8a2e579059ef02e77ba96152a1073c7ce76ec33f2d88ddbaae92ad90dc21c741ec94ffaed8ecfcea3f1b"
+ },
+ {
+ "name": "aspnetcore-runtime-composite-linux-arm64.tar.gz",
+ "rid": "linux-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/3241265e-62d8-4a77-aed5-ec07d829a4f9/c3beb873fd6733a0e17741681220fe1b/aspnetcore-runtime-composite-9.0.0-preview.4.24267.6-linux-arm64.tar.gz",
+ "hash": "29acf67b87c29ea9e02ba05a48052ea323494d91c6c07cda8c82cca4704b60b12683fc05e8fde803fcbf00a2810d1e9581bd90125eb748a6b556b05b55f2e236"
+ },
+ {
+ "name": "aspnetcore-runtime-composite-linux-musl-arm.tar.gz",
+ "rid": "linux-musl-arm",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/c4601543-9425-4a65-a7dc-890fc5031fd1/ee9980fb39cd686314d2ce281d57e9c8/aspnetcore-runtime-composite-9.0.0-preview.4.24267.6-linux-musl-arm.tar.gz",
+ "hash": "016b9e5efb3dd65fdd4a27b256cee6d10ae8541e26e5446dfec5c603f585555ac49e343dbf04db44efeb6ab5f973a2fb8ec253b6331bce3f6d5ff96c9ac80e60"
+ },
+ {
+ "name": "aspnetcore-runtime-composite-linux-musl-arm64.tar.gz",
+ "rid": "linux-musl-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/e0785796-d1f1-4224-b951-be51959d2422/cb7309f3f96bb1d6c87e003f5bea97a0/aspnetcore-runtime-composite-9.0.0-preview.4.24267.6-linux-musl-arm64.tar.gz",
+ "hash": "e7b353d80a12e91cab47d74e9d9624db5455a8cbaaf39c26e16d1f19dfda235a7598534c828c1c7d1ec8db85585aa8ee902267e9406e938bcb05eb1c97a5c81f"
+ },
+ {
+ "name": "aspnetcore-runtime-composite-linux-musl-x64.tar.gz",
+ "rid": "linux-musl-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/5b89c4c9-b798-4eb3-a7cb-4b84f5cfccba/9cc25a4b4e004197ec7d99c53406f266/aspnetcore-runtime-composite-9.0.0-preview.4.24267.6-linux-musl-x64.tar.gz",
+ "hash": "bd6900bebedbc02cad6793f0ce25361591562118c205035821355522d1b0dd70143949377c02131d65a1bea536dc1ebcf310e4a441187b4159ac54e4be419158"
+ },
+ {
+ "name": "aspnetcore-runtime-composite-linux-x64.tar.gz",
+ "rid": "linux-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/75d03b48-e892-4ecc-bac2-94b361ec9f15/8c345c3075ad13ec8c9013e7f1d08d85/aspnetcore-runtime-composite-9.0.0-preview.4.24267.6-linux-x64.tar.gz",
+ "hash": "4fbd2ff0a650bfc46fca485886aa53b17e78f1e4ea28ac2933429724a409b1739132d07be4da7c163a3713b73ec2448426921bf8ba8b3901d5b05998cc5a3f47"
+ },
+ {
+ "name": "dotnet-hosting-win.exe",
+ "rid": "",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/dc7f36ba-c8ca-4dbb-9fc6-ba10ec01c36f/fd73f2c002241fec538305a8cf26c203/dotnet-hosting-9.0.0-preview.4.24267.6-win.exe",
+ "hash": "19885f297d2f01e20b46b69c48b8a1fd02aaaa9bf44ab7ca8b7a8ae961b0147bfdff8b8a63cf2766fb6bbb8ffe3d5dac80b1efe2a12bc4a91cd798abcb09ae4d",
+ "akams": "https://aka.ms/dotnetcore-9-0-windowshosting"
+ }
+ ]
+ },
+ "windowsdesktop": {
+ "version": "9.0.0-preview.4.24267.11",
+ "version-display": "9.0.0-preview.4",
+ "files": [
+ {
+ "name": "windowsdesktop-runtime-win-arm64.exe",
+ "rid": "win-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/cfbeca90-42aa-4cac-bdb6-96cd4613e5c2/4ff431cf779a7892ffb899c27c76d7e5/windowsdesktop-runtime-9.0.0-preview.4.24267.11-win-arm64.exe",
+ "hash": "432e3d142eedb2a67eeeadb8d5aea906085d06540ed12cef9d3c6fdf55661024bf8b220ed8dbbefba3fbb6d23ed38916260e0ed935d97c39e92b941a74869367"
+ },
+ {
+ "name": "windowsdesktop-runtime-win-arm64.zip",
+ "rid": "win-arm64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/9db2ef93-4e2e-47a6-9574-f8de141e8469/57ed42a750224dc5e501833f23df7f51/windowsdesktop-runtime-9.0.0-preview.4.24267.11-win-arm64.zip",
+ "hash": "18ecaf2ac89462b371e1e281c4336b00d8b1cf72ac0f7534cacd9f184423a57c330834293506c2f649df833e15c2ff7948f9e8befb8644512f962b71c0ff0f75"
+ },
+ {
+ "name": "windowsdesktop-runtime-win-x64.exe",
+ "rid": "win-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/a3420930-6bca-4552-9c40-adaf4abec571/5a6243eda5d7e9645afe9b6145213ec5/windowsdesktop-runtime-9.0.0-preview.4.24267.11-win-x64.exe",
+ "hash": "0f46daf2f73ad038dec2b333c5b921148102622c2897a6651d76bba8a782f0bf6e29b20139c446eddf9bcfd31106eaf42832c48db7411587988fd772f486fa9b"
+ },
+ {
+ "name": "windowsdesktop-runtime-win-x64.zip",
+ "rid": "win-x64",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/2f9d8f00-2cf0-47d5-b763-a534a8cb77b5/f4043682c3e2f1bab5c2ebf5507ed4cc/windowsdesktop-runtime-9.0.0-preview.4.24267.11-win-x64.zip",
+ "hash": "3f54ad4b62953d2438c1d9d55116ada0f1f98d41698a2f3b9d6baaac2e17a32186825935a4f83dc973f0c229396ecf82c2dbb255381343db3488c722f46d0eee"
+ },
+ {
+ "name": "windowsdesktop-runtime-win-x86.exe",
+ "rid": "win-x86",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/53c1b7b1-1a61-43a7-8344-1c66d8238f03/592ed2c250de13ad82ec1c34d96a6b68/windowsdesktop-runtime-9.0.0-preview.4.24267.11-win-x86.exe",
+ "hash": "d34b5653e4ccfc370a2667e5c8718a93b154e5f06e85f605b33d95186e067aad788a817ecf02858e7bf06c6f034868d89dc5974cf70f55756bded3a20cc9a549"
+ },
+ {
+ "name": "windowsdesktop-runtime-win-x86.zip",
+ "rid": "win-x86",
+ "url": "https://download.visualstudio.microsoft.com/download/pr/43216cd1-dd9c-4dcf-b05c-9591125f0cd7/91dabb962aaf27fddc388b20dd80dc10/windowsdesktop-runtime-9.0.0-preview.4.24267.11-win-x86.zip",
+ "hash": "a5a15087e024beb729b2382af8c47ad38b08de2375eb4d49f9f5ab853725ff80325641f5bae0fa31ff9e62abb2194d648df36603c06c623d24216bd6cfbd93cc"
+ }
+ ]
+ }
+ },
{
"release-date": "2024-04-11",
"release-version": "9.0.0-preview.3",
diff --git a/release-notes/README.md b/release-notes/README.md
index c09645e539..f9b8df9c37 100644
--- a/release-notes/README.md
+++ b/release-notes/README.md
@@ -4,14 +4,14 @@ The following [.NET releases](../releases.md) are currently supported:
| Version | Release Date | Support | Latest Patch Version | End of Support |
| :-- | :-- | :-- | :-- | :-- |
-| [.NET 9](9.0/README.md) | November 12, 2024 | [STS][policies] | [9.0.0-preview.3][9.0.0-preview.3] | |
+| [.NET 9](9.0/README.md) | November 12, 2024 | [STS][policies] | [9.0.0-preview.4][9.0.0-preview.4] | |
| [.NET 8](8.0/README.md) | [November 14, 2023](https://devblogs.microsoft.com/dotnet/announcing-dotnet-8/) | [LTS][policies] | [8.0.5][8.0.5] | November 10, 2026 |
| [.NET 7](7.0/README.md) | [November 8, 2022](https://devblogs.microsoft.com/dotnet/announcing-dotnet-7/) | [STS][policies] | [7.0.19][7.0.19] | May 14, 2024 |
| [.NET 6](6.0/README.md) | [November 8, 2021](https://devblogs.microsoft.com/dotnet/announcing-net-6/) | [LTS][policies] | [6.0.30][6.0.30] | November 12, 2024 |
You can find release notes for all releases, including out-of-support releases, in the [release-notes](.) directory.
-[9.0.0-preview.3]: 9.0/preview/preview3/9.0.0-preview.3.md
+[9.0.0-preview.4]: 9.0/preview/preview4/9.0.0-preview.4.md
[8.0.5]: 8.0/8.0.5/8.0.5.md
[7.0.19]: 7.0/7.0.19/7.0.19.md
[6.0.30]: 6.0/6.0.30/6.0.30.md
diff --git a/release-notes/releases-index.json b/release-notes/releases-index.json
index 9ef8457357..94190b6f14 100644
--- a/release-notes/releases-index.json
+++ b/release-notes/releases-index.json
@@ -3,11 +3,11 @@
"releases-index": [
{
"channel-version": "9.0",
- "latest-release": "9.0.0-preview.3",
- "latest-release-date": "2024-04-11",
+ "latest-release": "9.0.0-preview.4",
+ "latest-release-date": "2024-05-21",
"security": false,
- "latest-runtime": "9.0.0-preview.3.24172.9",
- "latest-sdk": "9.0.100-preview.3.24204.13",
+ "latest-runtime": "9.0.0-preview.4.24266.19",
+ "latest-sdk": "9.0.100-preview.4.24267.66",
"product": ".NET",
"release-type" : "sts",
"support-phase": "preview",
diff --git a/releases.md b/releases.md
index a567a4bf20..a02ce44fb3 100644
--- a/releases.md
+++ b/releases.md
@@ -10,11 +10,11 @@ The following table lists in-support .NET releases.
| Version | Release Date | Support | Latest Patch Version | End of Support |
| :-- | :-- | :-- | :-- | :-- |
-| [.NET 9](release-notes/9.0/README.md) | November 12, 2024 | [STS][policies] | [9.0.0-preview.3][9.0.0-preview.3] | |
+| [.NET 9](release-notes/9.0/README.md) | November 12, 2024 | [STS][policies] | [9.0.0-preview.4][9.0.0-preview.4] | |
| [.NET 8](release-notes/8.0/README.md) | [November 14, 2023](https://devblogs.microsoft.com/dotnet/announcing-dotnet-8/) | [LTS][policies] | [8.0.5][8.0.5] | November 10, 2026 |
| [.NET 6](release-notes/6.0/README.md) | [November 8, 2021](https://devblogs.microsoft.com/dotnet/announcing-net-6/) | [LTS][policies] | [6.0.30][6.0.30] | November 12, 2024 |
-[9.0.0-preview.3]: release-notes/9.0/preview/preview3/9.0.0-preview.3.md
+[9.0.0-preview.4]: release-notes/9.0/preview/preview4/9.0.0-preview.4.md
[8.0.5]: release-notes/8.0/8.0.5/8.0.5.md
[6.0.30]: release-notes/6.0/6.0.30/6.0.30.md