diff --git a/release-notes/2.1/2.1-supported-os.md b/release-notes/2.1/2.1-supported-os.md
index dfc8d3527c..93b4b8d112 100644
--- a/release-notes/2.1/2.1-supported-os.md
+++ b/release-notes/2.1/2.1-supported-os.md
@@ -33,7 +33,7 @@ OS | Version | Architectures |
Red Hat Enterprise Linux
CentOS
Oracle Linux | 7+ | x64 | [Red Hat support policy](https://access.redhat.com/support/policy/updates/errata/)
[CentOS lifecycle](https://wiki.centos.org/FAQ/General#head-fe8a0be91ee3e7dea812e8694491e1dde5b75e6d)
[Oracle Linux lifecycle](https://www.oracle.com/us/support/library/elsp-lifetime-069338.pdf)
Fedora | 32+ | x64 | [Fedora lifecycle](https://fedoraproject.org/wiki/End_of_life)
Debian | 9+ | x64, ARM32 | [Debian lifecycle](https://wiki.debian.org/DebianReleases)
-Ubuntu | 21.04, 20.10, 20.04, 18.04 | x64, ARM32\* | [Ubuntu lifecycle](https://wiki.ubuntu.com/Releases)
+Ubuntu | 21.04, 20.10, 20.04, 18.04, 16.04 | x64, ARM32\* | [Ubuntu lifecycle](https://wiki.ubuntu.com/Releases)
Linux Mint | 18, 17 | x64 | [Linux Mint end of life announcements](https://forums.linuxmint.com/search.php?keywords=%22end+of+life%22&terms=all&author=&sc=1&sf=titleonly&sr=posts&sk=t&sd=d&st=0&ch=300&t=0&submit=Search)
openSUSE | 15+ | x64 | [OpenSUSE lifecycle](https://en.opensuse.org/Lifetime)
SUSE Enterprise Linux (SLES) | 12 SP2+ | x64 | [SUSE lifecycle](https://www.suse.com/lifecycle/)
diff --git a/release-notes/3.1/3.1-supported-os.md b/release-notes/3.1/3.1-supported-os.md
index b41cdfa3ab..d6f733e688 100644
--- a/release-notes/3.1/3.1-supported-os.md
+++ b/release-notes/3.1/3.1-supported-os.md
@@ -15,7 +15,7 @@ OS | Version | Architectures |
Windows Client | 7 SP1(**\***), 8.1 | x64, x86 |
Windows 10 Client | Version 1607+ | x64, x86 | 1607 is the minimum version for support. See [Out of support OS versions](#out-of-support-os-versions) below for Windows 10 releases that are no longer supported.
Nano Server | Version 1803+ | x64, ARM32 |
-Windows Server | 2012 R2+ | x64, x86 |
+Windows Server | 2012+ | x64, x86 |
**\*** Windows 7 SP1 is supported with [Extended Security Updates](https://docs.microsoft.com/troubleshoot/windows-client/windows-7-eos-faq/windows-7-extended-security-updates-faq) installed.
@@ -36,7 +36,7 @@ Red Hat Enterprise Linux | 7+ | x64 |
Red Hat Enterprise Linux
CentOS
Oracle Linux | 7+ | x64 | [Red Hat support policy](https://access.redhat.com/support/policy/updates/errata/)
[CentOS lifecycle](https://wiki.centos.org/FAQ/General#head-fe8a0be91ee3e7dea812e8694491e1dde5b75e6d)
[Oracle Linux lifecycle](https://www.oracle.com/a/ocom/docs/elsp-lifetime-069338.pdf)
Fedora | 32+ | x64 | [Fedora lifecycle](https://fedoraproject.org/wiki/End_of_life)
Debian | 9+ | x64, ARM32, ARM64 | [Debian lifecycle](https://wiki.debian.org/DebianReleases)
-Ubuntu | 21.04, 20.10, 20.04, 18.04 | x64, ARM32, ARM64 | [Ubuntu lifecycle](https://wiki.ubuntu.com/Releases)
+Ubuntu | 21.04, 20.10, 20.04, 18.04, 16.04 | x64, ARM32, ARM64 | [Ubuntu lifecycle](https://wiki.ubuntu.com/Releases)
Linux Mint | 18+ | x64 | [Linux Mint end of life announcements](https://forums.linuxmint.com/search.php?keywords=%22end+of+life%22&terms=all&author=&sc=1&sf=titleonly&sr=posts&sk=t&sd=d&st=0&ch=300&t=0&submit=Search)
openSUSE | 15+ | x64 | [OpenSUSE lifecycle](https://en.opensuse.org/Lifetime)
SUSE Enterprise Linux (SLES) | 12 SP2+ | x64 | [SUSE lifecycle](https://www.suse.com/lifecycle/)
diff --git a/release-notes/5.0/5.0-supported-os.md b/release-notes/5.0/5.0-supported-os.md
index 53dbfae43d..c1dffa1daf 100644
--- a/release-notes/5.0/5.0-supported-os.md
+++ b/release-notes/5.0/5.0-supported-os.md
@@ -8,8 +8,8 @@ OS | Version | Architectures
--------------------------------------|-------------------------|-----------------|----------
[Windows Client][Windows-client] | 7 SP1(**\***), 8.1 | x64, x86 | [Windows][Windows-lifecycle]
[Windows 10 Client][Windows-client] | Version 1607+ | x64, x86, Arm64 | [Windows][Windows-lifecycle]
-[Windows Server][Windows-Server] | 2012 R2+ | x64, x86 | [Windows Server][Windows-Server-lifecycle]
-[Windows Server Core][Windows-Server] | 2012 R2+ | x64, x86 | [Windows Server][Windows-Server-lifecycle]
+[Windows Server][Windows-Server] | 2012+ | x64, x86 | [Windows Server][Windows-Server-lifecycle]
+[Windows Server Core][Windows-Server] | 2012+ | x64, x86 | [Windows Server][Windows-Server-lifecycle]
[Nano Server][Nano-Server] | Version 1809+ | x64 | [Windows Server][Windows-Server-lifecycle]
**\*** Windows 7 SP1 is supported with [Extended Security Updates](https://docs.microsoft.com/troubleshoot/windows-client/windows-7-eos-faq/windows-7-extended-security-updates-faq) installed.
diff --git a/release-notes/5.0/releases.json b/release-notes/5.0/releases.json
index 6645dcb8e4..7950829aa5 100644
--- a/release-notes/5.0/releases.json
+++ b/release-notes/5.0/releases.json
@@ -324,9 +324,9 @@
"version-display": "5.0.204",
"runtime-version": "5.0.7",
"vs-version": "16.9.7",
- "vs-mac-version": "8.10",
+ "vs-mac-version": "",
"vs-support": "Visual Studio 2019 (v16.9)",
- "vs-mac-support": "Visual Studio 2019 for Mac (v8.10)",
+ "vs-mac-support": "",
"csharp-version": "9.0",
"fsharp-version": "5.0",
"vb-version": "16.0",
@@ -427,7 +427,9 @@
"aspnetcore-runtime": {
"version": "5.0.7",
"version-display": "5.0.7",
- "version-aspnetcoremodule": [],
+ "version-aspnetcoremodule": [
+ "15.0.21133.7"
+ ],
"vs-version": "16.9.7, 16.10.1",
"files": [
{
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6.md
new file mode 100644
index 0000000000..78f514fe53
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6.md
@@ -0,0 +1,20 @@
+# API Difference 6.0.0-preview5 vs 6.0.0-preview6
+
+API listing follows standard diff formatting. Lines preceded by a '+' are
+additions and a '-' indicates removal.
+
+* [System.IO](6.0-preview6_System.IO.md)
+* [System.Net](6.0-preview6_System.Net.md)
+* [System.Net.Http.Headers](6.0-preview6_System.Net.Http.Headers.md)
+* [System.Net.Quic](6.0-preview6_System.Net.Quic.md)
+* [System.Net.Security](6.0-preview6_System.Net.Security.md)
+* [System.Net.Sockets](6.0-preview6_System.Net.Sockets.md)
+* [System.Numerics](6.0-preview6_System.Numerics.md)
+* [System.Runtime.CompilerServices](6.0-preview6_System.Runtime.CompilerServices.md)
+* [System.Runtime.InteropServices](6.0-preview6_System.Runtime.InteropServices.md)
+* [System.Runtime.Intrinsics.X86](6.0-preview6_System.Runtime.Intrinsics.X86.md)
+* [System.Security.Cryptography.X509Certificates](6.0-preview6_System.Security.Cryptography.X509Certificates.md)
+* [System.Text](6.0-preview6_System.Text.md)
+* [System.Text.Json.Nodes](6.0-preview6_System.Text.Json.Nodes.md)
+* [System.Threading](6.0-preview6_System.Threading.md)
+* [System.Threading.Channels](6.0-preview6_System.Threading.Channels.md)
\ No newline at end of file
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.IO.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.IO.md
new file mode 100644
index 0000000000..b8ddbd1fde
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.IO.md
@@ -0,0 +1,36 @@
+# System.IO
+
+``` diff
+ namespace System.IO {
+ public static class File {
++ public static FileStream Open(string path, FileStreamOptions options);
++ public static SafeFileHandle OpenHandle(string path, FileMode mode = FileMode.Open, FileAccess access = FileAccess.Read, FileShare share = FileShare.Read, FileOptions options = FileOptions.None, long preallocationSize = (long)0);
+ }
+ public sealed class FileInfo : FileSystemInfo {
++ public FileStream Open(FileStreamOptions options);
+ }
+ public sealed class FileStreamOptions {
++ public int BufferSize { get; set; }
+ }
++ public static class RandomAccess {
++ public static long GetLength(SafeFileHandle handle);
++ public static long Read(SafeFileHandle handle, IReadOnlyList> buffers, long fileOffset);
++ public static int Read(SafeFileHandle handle, Span buffer, long fileOffset);
++ public static ValueTask ReadAsync(SafeFileHandle handle, IReadOnlyList> buffers, long fileOffset, CancellationToken cancellationToken = default(CancellationToken));
++ public static ValueTask ReadAsync(SafeFileHandle handle, Memory buffer, long fileOffset, CancellationToken cancellationToken = default(CancellationToken));
++ public static long Write(SafeFileHandle handle, IReadOnlyList> buffers, long fileOffset);
++ public static int Write(SafeFileHandle handle, ReadOnlySpan buffer, long fileOffset);
++ public static ValueTask WriteAsync(SafeFileHandle handle, IReadOnlyList> buffers, long fileOffset, CancellationToken cancellationToken = default(CancellationToken));
++ public static ValueTask WriteAsync(SafeFileHandle handle, ReadOnlyMemory buffer, long fileOffset, CancellationToken cancellationToken = default(CancellationToken));
++ }
+ public class StreamReader : TextReader {
++ public StreamReader(string path, FileStreamOptions options);
++ public StreamReader(string path, Encoding encoding, bool detectEncodingFromByteOrderMarks, FileStreamOptions options);
+ }
+ public class StreamWriter : TextWriter {
++ public StreamWriter(string path, FileStreamOptions options);
++ public StreamWriter(string path, Encoding encoding, FileStreamOptions options);
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.Http.Headers.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.Http.Headers.md
new file mode 100644
index 0000000000..ebbd82d94e
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.Http.Headers.md
@@ -0,0 +1,44 @@
+# System.Net.Http.Headers
+
+``` diff
+ namespace System.Net.Http.Headers {
++ public readonly struct HeaderStringValues : IEnumerable, IEnumerable, IReadOnlyCollection {
++ public int Count { get; }
++ public HeaderStringValues.Enumerator GetEnumerator();
++ IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator();
++ IEnumerator System.Collections.IEnumerable.GetEnumerator();
++ public override string ToString();
++ public struct Enumerator : IDisposable, IEnumerator, IEnumerator {
++ public string Current { get; }
++ object System.Collections.IEnumerator.Current { get; }
++ public void Dispose();
++ public bool MoveNext();
++ void System.Collections.IEnumerator.Reset();
++ }
++ }
+ public abstract class HttpHeaders : IEnumerable, IEnumerable>> {
++ public HttpHeadersNonValidated NonValidated { get; }
+ }
++ public readonly struct HttpHeadersNonValidated : IEnumerable, IEnumerable>, IReadOnlyCollection>, IReadOnlyDictionary {
++ public int Count { get; }
++ IEnumerable System.Collections.Generic.IReadOnlyDictionary.Keys { get; }
++ IEnumerable System.Collections.Generic.IReadOnlyDictionary.Values { get; }
++ public HeaderStringValues this[string headerName] { get; }
++ public bool Contains(string headerName);
++ public HttpHeadersNonValidated.Enumerator GetEnumerator();
++ IEnumerator> System.Collections.Generic.IEnumerable>.GetEnumerator();
++ bool System.Collections.Generic.IReadOnlyDictionary.ContainsKey(string key);
++ bool System.Collections.Generic.IReadOnlyDictionary.TryGetValue(string key, out HeaderStringValues value);
++ IEnumerator System.Collections.IEnumerable.GetEnumerator();
++ public bool TryGetValues(string headerName, out HeaderStringValues values);
++ public struct Enumerator : IDisposable, IEnumerator, IEnumerator> {
++ public KeyValuePair Current { get; }
++ object System.Collections.IEnumerator.Current { get; }
++ public void Dispose();
++ public bool MoveNext();
++ void System.Collections.IEnumerator.Reset();
++ }
++ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.Quic.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.Quic.md
new file mode 100644
index 0000000000..cc2e9490fc
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.Quic.md
@@ -0,0 +1,23 @@
+# System.Net.Quic
+
+``` diff
+ namespace System.Net.Quic {
+ public sealed class QuicConnection : IDisposable {
+- public long GetRemoteAvailableBidirectionalStreamCount();
+
++ public int GetRemoteAvailableBidirectionalStreamCount();
+- public long GetRemoteAvailableUnidirectionalStreamCount();
+
++ public int GetRemoteAvailableUnidirectionalStreamCount();
++ public ValueTask WaitForAvailableBidirectionalStreamsAsync(CancellationToken cancellationToken = default(CancellationToken));
++ public ValueTask WaitForAvailableUnidirectionalStreamsAsync(CancellationToken cancellationToken = default(CancellationToken));
+ }
+ public class QuicOptions {
+- public long MaxBidirectionalStreams { get; set; }
++ public int MaxBidirectionalStreams { get; set; }
+- public long MaxUnidirectionalStreams { get; set; }
++ public int MaxUnidirectionalStreams { get; set; }
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.Security.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.Security.md
new file mode 100644
index 0000000000..06cb27244d
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.Security.md
@@ -0,0 +1,10 @@
+# System.Net.Security
+
+``` diff
+ namespace System.Net.Security {
+ public class SslStream : AuthenticatedStream {
++ public virtual Task NegotiateClientCertificateAsync(CancellationToken cancellationToken = default(CancellationToken));
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.Sockets.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.Sockets.md
new file mode 100644
index 0000000000..2ff4407ae6
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.Sockets.md
@@ -0,0 +1,15 @@
+# System.Net.Sockets
+
+``` diff
+ namespace System.Net.Sockets {
+ public class Socket : IDisposable {
++ public ValueTask AcceptAsync(Socket acceptSocket, CancellationToken cancellationToken);
++ public ValueTask AcceptAsync(CancellationToken cancellationToken);
+ }
+ public class TcpListener {
++ public ValueTask AcceptSocketAsync(CancellationToken cancellationToken);
++ public ValueTask AcceptTcpClientAsync(CancellationToken cancellationToken);
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.md
new file mode 100644
index 0000000000..432b761196
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Net.md
@@ -0,0 +1,10 @@
+# System.Net
+
+``` diff
+ namespace System.Net {
+ public class CookieContainer {
++ public CookieCollection GetAllCookies();
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Numerics.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Numerics.md
new file mode 100644
index 0000000000..bbaffb8598
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Numerics.md
@@ -0,0 +1,14 @@
+# System.Numerics
+
+``` diff
+ namespace System.Numerics {
+ public static class BitOperations {
++ public static uint RoundUpToPowerOf2(uint value);
++ public static ulong RoundUpToPowerOf2(ulong value);
+ }
+ public static class Vector {
++ public static T Sum(Vector value) where T : struct;
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Runtime.CompilerServices.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Runtime.CompilerServices.md
new file mode 100644
index 0000000000..fd6bd20b23
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Runtime.CompilerServices.md
@@ -0,0 +1,67 @@
+# System.Runtime.CompilerServices
+
+``` diff
+ namespace System.Runtime.CompilerServices {
++ public ref struct DefaultInterpolatedStringHandler {
++ public DefaultInterpolatedStringHandler(int literalLength, int formattedCount);
++ public DefaultInterpolatedStringHandler(int literalLength, int formattedCount, IFormatProvider provider);
++ public DefaultInterpolatedStringHandler(int literalLength, int formattedCount, IFormatProvider provider, Span initialBuffer);
++ public void AppendFormatted(object value, int alignment = 0, string format = null);
++ public void AppendFormatted(ReadOnlySpan value);
++ public void AppendFormatted(ReadOnlySpan value, int alignment = 0, string format = null);
++ public void AppendFormatted(string value);
++ public void AppendFormatted(string value, int alignment = 0, string format = null);
++ public void AppendFormatted(T value);
++ public void AppendFormatted(T value, int alignment);
++ public void AppendFormatted(T value, int alignment, string format);
++ public void AppendFormatted(T value, string format);
++ public void AppendLiteral(string value);
++ public override string ToString();
++ public string ToStringAndClear();
++ }
+- public ref struct InterpolatedStringBuilder {
+ {
+- public void AppendFormatted(object value, int alignment = 0, string format = null);
+
+- public void AppendFormatted(ReadOnlySpan value);
+
+- public void AppendFormatted(ReadOnlySpan value, int alignment = 0, string format = null);
+
+- public void AppendFormatted(string value);
+
+- public void AppendFormatted(string value, int alignment = 0, string format = null);
+
+- public void AppendFormatted(T value);
+
+- public void AppendFormatted(T value, int alignment);
+
+- public void AppendFormatted(T value, int alignment, string format);
+
+- public void AppendFormatted(T value, string format);
+
+- public void AppendLiteral(string value);
+
+- public static InterpolatedStringBuilder Create(int literalLength, int formattedCount);
+
+- public static InterpolatedStringBuilder Create(int literalLength, int formattedCount, IFormatProvider provider);
+
+- public static InterpolatedStringBuilder Create(int literalLength, int formattedCount, IFormatProvider provider, Span scratchBuffer);
+
+- public static InterpolatedStringBuilder Create(int literalLength, int formattedCount, Span scratchBuffer);
+
+- public override string ToString();
+
+- public string ToStringAndClear();
+
+- }
++ public sealed class InterpolatedStringHandlerArgumentAttribute : Attribute {
++ public InterpolatedStringHandlerArgumentAttribute(string argument);
++ public InterpolatedStringHandlerArgumentAttribute(params string[] arguments);
++ public string[] Arguments { get; }
++ }
++ public sealed class InterpolatedStringHandlerAttribute : Attribute {
++ public InterpolatedStringHandlerAttribute();
++ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Runtime.InteropServices.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Runtime.InteropServices.md
new file mode 100644
index 0000000000..ccb6475651
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Runtime.InteropServices.md
@@ -0,0 +1,17 @@
+# System.Runtime.InteropServices
+
+``` diff
+ namespace System.Runtime.InteropServices {
+ public enum Architecture {
++ S390x = 5,
+ }
+ public static class MemoryMarshal {
++ public static ref byte GetArrayDataReference(Array array);
+ }
++ public sealed class UnmanagedCallConvAttribute : Attribute {
++ public Type[] CallConvs;
++ public UnmanagedCallConvAttribute();
++ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Runtime.Intrinsics.X86.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Runtime.Intrinsics.X86.md
new file mode 100644
index 0000000000..7b6f3ae487
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Runtime.Intrinsics.X86.md
@@ -0,0 +1,21 @@
+# System.Runtime.Intrinsics.X86
+
+``` diff
+ namespace System.Runtime.Intrinsics.X86 {
++ public abstract class AvxVnni : Avx2 {
++ public static new bool IsSupported { get; }
++ public static Vector128 MultiplyWideningAndAdd(Vector128 addend, Vector128 left, Vector128 right);
++ public static Vector128 MultiplyWideningAndAdd(Vector128 addend, Vector128 left, Vector128 right);
++ public static Vector256 MultiplyWideningAndAdd(Vector256 addend, Vector256 left, Vector256 right);
++ public static Vector256 MultiplyWideningAndAdd(Vector256 addend, Vector256 left, Vector256 right);
++ public static Vector128 MultiplyWideningAndAddSaturate(Vector128 addend, Vector128 left, Vector128 right);
++ public static Vector128 MultiplyWideningAndAddSaturate(Vector128 addend, Vector128 left, Vector128 right);
++ public static Vector256 MultiplyWideningAndAddSaturate(Vector256 addend, Vector256 left, Vector256 right);
++ public static Vector256 MultiplyWideningAndAddSaturate(Vector256 addend, Vector256 left, Vector256 right);
++ public new abstract class X64 : Avx2.X64 {
++ public static new bool IsSupported { get; }
++ }
++ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Security.Cryptography.X509Certificates.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Security.Cryptography.X509Certificates.md
new file mode 100644
index 0000000000..6f2643b273
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Security.Cryptography.X509Certificates.md
@@ -0,0 +1,37 @@
+# System.Security.Cryptography.X509Certificates
+
+``` diff
+ namespace System.Security.Cryptography.X509Certificates {
+ public sealed class PublicKey {
++ public DSA GetDSAPublicKey();
++ public ECDiffieHellman GetECDiffieHellmanPublicKey();
++ public ECDsa GetECDsaPublicKey();
++ public RSA GetRSAPublicKey();
+ }
+- public class X509Certificate2Collection : X509CertificateCollection {
++ public class X509Certificate2Collection : X509CertificateCollection, IEnumerable, IEnumerable {
++ IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator();
+ }
+- public sealed class X509Certificate2Enumerator : IEnumerator {
++ public sealed class X509Certificate2Enumerator : IDisposable, IEnumerator, IEnumerator {
++ void System.IDisposable.Dispose();
+ }
+- public sealed class X509ChainElementCollection : ICollection, IEnumerable {
++ public sealed class X509ChainElementCollection : ICollection, IEnumerable, IEnumerable {
++ IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator();
+ }
+- public sealed class X509ChainElementEnumerator : IEnumerator {
++ public sealed class X509ChainElementEnumerator : IDisposable, IEnumerator, IEnumerator {
++ void System.IDisposable.Dispose();
+ }
+- public sealed class X509ExtensionCollection : ICollection, IEnumerable {
++ public sealed class X509ExtensionCollection : ICollection, IEnumerable, IEnumerable {
++ IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator();
+ }
+- public sealed class X509ExtensionEnumerator : IEnumerator {
++ public sealed class X509ExtensionEnumerator : IDisposable, IEnumerator, IEnumerator {
++ void System.IDisposable.Dispose();
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Text.Json.Nodes.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Text.Json.Nodes.md
new file mode 100644
index 0000000000..08fe2c40b8
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Text.Json.Nodes.md
@@ -0,0 +1,45 @@
+# System.Text.Json.Nodes
+
+``` diff
+ namespace System.Text.Json.Nodes {
+ public abstract class JsonValue : JsonNode {
++ public static JsonValue Create(bool value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(byte value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(char value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(DateTime value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(DateTimeOffset value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(decimal value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(double value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(Guid value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(short value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(int value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(long value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(bool? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(byte? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(char? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(DateTime? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(DateTimeOffset? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(decimal? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(double? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(Guid? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(short? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(int? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(long? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(sbyte? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(float? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(JsonElement? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(ushort? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(uint? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(ulong? value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(sbyte value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(float value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(string value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(JsonElement value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(ushort value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(uint value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(ulong value, JsonNodeOptions? options = default(JsonNodeOptions?));
++ public static JsonValue Create(T value, JsonTypeInfo jsonTypeInfo, JsonNodeOptions? options = default(JsonNodeOptions?));
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Text.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Text.md
new file mode 100644
index 0000000000..33102622da
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Text.md
@@ -0,0 +1,12 @@
+# System.Text
+
+``` diff
+ namespace System.Text {
++ public ref struct SpanLineEnumerator {
++ public ReadOnlySpan Current { get; }
++ public SpanLineEnumerator GetEnumerator();
++ public bool MoveNext();
++ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Threading.Channels.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Threading.Channels.md
new file mode 100644
index 0000000000..8153b79da4
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Threading.Channels.md
@@ -0,0 +1,11 @@
+# System.Threading.Channels
+
+``` diff
+ namespace System.Threading.Channels {
+ public abstract class ChannelReader {
++ public virtual bool CanPeek { get; }
++ public virtual bool TryPeek(out T item);
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Threading.md b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Threading.md
new file mode 100644
index 0000000000..9370573b80
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/.Net/6.0-preview6_System.Threading.md
@@ -0,0 +1,13 @@
+# System.Threading
+
+``` diff
+ namespace System.Threading {
+ public sealed class PreAllocatedOverlapped : IDisposable {
++ public static PreAllocatedOverlapped UnsafeCreate(IOCompletionCallback callback, object state, object pinData);
+ }
+ public sealed class ThreadPoolBoundHandle : IDisposable {
++ public unsafe NativeOverlapped* UnsafeAllocateNativeOverlapped(IOCompletionCallback callback, object state, object pinData);
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6.md
new file mode 100644
index 0000000000..98b2cedf15
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6.md
@@ -0,0 +1,18 @@
+# API Difference 6.0.0-preview5 vs D:\Microsoft.AspNetCore.App.Ref.6.0.0-preview6
+
+API listing follows standard diff formatting. Lines preceded by a '+' are
+additions and a '-' indicates removal.
+
+* [Microsoft.AspNetCore.Authentication.Cookies](6.0-preview_Microsoft.AspNetCore.Authentication.Cookies.md)
+* [Microsoft.AspNetCore.Builder](6.0-preview_Microsoft.AspNetCore.Builder.md)
+* [Microsoft.AspNetCore.Components](6.0-preview_Microsoft.AspNetCore.Components.md)
+* [Microsoft.AspNetCore.Components.Routing](6.0-preview_Microsoft.AspNetCore.Components.Routing.md)
+* [Microsoft.AspNetCore.Http](6.0-preview_Microsoft.AspNetCore.Http.md)
+* [Microsoft.AspNetCore.Http.Features](6.0-preview_Microsoft.AspNetCore.Http.Features.md)
+* [Microsoft.AspNetCore.Mvc](6.0-preview_Microsoft.AspNetCore.Mvc.md)
+* [Microsoft.AspNetCore.Server.Kestrel.Https](6.0-preview_Microsoft.AspNetCore.Server.Kestrel.Https.md)
+* [Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets](6.0-preview_Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.md)
+* [Microsoft.AspNetCore.WebSockets](6.0-preview_Microsoft.AspNetCore.WebSockets.md)
+* [Microsoft.AspNetCore.WebUtilities](6.0-preview_Microsoft.AspNetCore.WebUtilities.md)
+* [Microsoft.Extensions.DependencyInjection](6.0-preview6_Microsoft.Extensions.DependencyInjection.md)
+* [Microsoft.Extensions.Primitives](6.0-preview6_Microsoft.Extensions.Primitives.md)
\ No newline at end of file
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Authentication.Cookies.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Authentication.Cookies.md
new file mode 100644
index 0000000000..1380c986f7
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Authentication.Cookies.md
@@ -0,0 +1,16 @@
+# Microsoft.AspNetCore.Authentication.Cookies
+
+``` diff
+ namespace Microsoft.AspNetCore.Authentication.Cookies {
+ public class CookieAuthenticationEvents {
++ public Func OnCheckSlidingExpiration { get; set; }
+ }
++ public class CookieSlidingExpirationContext : PrincipalContext {
++ public CookieSlidingExpirationContext(HttpContext context, AuthenticationScheme scheme, CookieAuthenticationOptions options, AuthenticationTicket ticket, TimeSpan elapsedTime, TimeSpan remainingTime);
++ public TimeSpan ElapsedTime { get; }
++ public TimeSpan RemainingTime { get; }
++ public bool ShouldRenew { get; set; }
++ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Builder.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Builder.md
new file mode 100644
index 0000000000..995eaf1cde
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Builder.md
@@ -0,0 +1,11 @@
+# Microsoft.AspNetCore.Builder
+
+``` diff
+ namespace Microsoft.AspNetCore.Builder {
+- public sealed class Configuration : IConfiguration, IConfigurationBuilder, IConfigurationRoot {
++ public sealed class Configuration : IConfiguration, IConfigurationBuilder, IConfigurationRoot, IDisposable {
++ void System.IDisposable.Dispose();
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Components.Routing.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Components.Routing.md
new file mode 100644
index 0000000000..69c248869a
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Components.Routing.md
@@ -0,0 +1,14 @@
+# Microsoft.AspNetCore.Components.Routing
+
+``` diff
+ namespace Microsoft.AspNetCore.Components.Routing {
++ public class FocusOnNavigate : ComponentBase {
++ public FocusOnNavigate();
++ public RouteData RouteData { get; set; }
++ public string Selector { get; set; }
++ protected override Task OnAfterRenderAsync(bool firstRender);
++ protected override void OnParametersSet();
++ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Components.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Components.md
new file mode 100644
index 0000000000..41028586b1
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Components.md
@@ -0,0 +1,10 @@
+# Microsoft.AspNetCore.Components
+
+``` diff
+ namespace Microsoft.AspNetCore.Components {
++ public sealed class EditorRequiredAttribute : Attribute {
++ public EditorRequiredAttribute();
++ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Http.Features.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Http.Features.md
new file mode 100644
index 0000000000..05e9711348
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Http.Features.md
@@ -0,0 +1,10 @@
+# Microsoft.AspNetCore.Http.Features
+
+``` diff
+ namespace Microsoft.AspNetCore.Http.Features {
++ public interface IHttpActivityFeature {
++ Activity Activity { get; set; }
++ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Http.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Http.md
new file mode 100644
index 0000000000..a3528f64af
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Http.md
@@ -0,0 +1,37 @@
+# Microsoft.AspNetCore.Http
+
+``` diff
+ namespace Microsoft.AspNetCore.Http {
+ public abstract class ConnectionInfo {
++ public virtual void RequestClose();
+ }
+ public static class HttpProtocol {
++ public static readonly string Http09;
++ public static bool IsHttp09(string protocol);
+ }
+ public interface IHeaderDictionary : ICollection>, IDictionary, IEnumerable, IEnumerable> {
++ StringValues SecWebSocketExtensions { get; set; }
+ }
+ public static class RequestDelegateFactory {
+- public static RequestDelegate Create(Delegate action);
+
++ public static RequestDelegate Create(Delegate action, IServiceProvider serviceProvider);
+- public static RequestDelegate Create(MethodInfo methodInfo);
+
+- public static RequestDelegate Create(MethodInfo methodInfo, Func targetFactory);
+
++ public static RequestDelegate Create(MethodInfo methodInfo, IServiceProvider serviceProvider);
++ public static RequestDelegate Create(MethodInfo methodInfo, IServiceProvider serviceProvider, Func targetFactory);
+ }
+ public class WebSocketAcceptContext {
++ public bool DangerousEnableCompression { get; set; }
++ public bool DisableServerContextTakeover { get; set; }
++ public virtual TimeSpan? KeepAliveInterval { get; set; }
++ public int ServerMaxWindowBits { get; set; }
+ }
+ public abstract class WebSocketManager {
++ public virtual Task AcceptWebSocketAsync(WebSocketAcceptContext acceptContext);
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Mvc.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Mvc.md
new file mode 100644
index 0000000000..13c161dd21
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Mvc.md
@@ -0,0 +1,23 @@
+# Microsoft.AspNetCore.Mvc
+
+``` diff
+ namespace Microsoft.AspNetCore.Mvc {
+- public class FileContentResult : FileResult {
++ public class FileContentResult : FileResult, IResult {
++ Task Microsoft.AspNetCore.Http.IResult.ExecuteAsync(HttpContext httpContext);
+ }
+- public class PhysicalFileResult : FileResult {
++ public class PhysicalFileResult : FileResult, IResult {
++ Task Microsoft.AspNetCore.Http.IResult.ExecuteAsync(HttpContext httpContext);
+ }
+- public class RedirectResult : ActionResult, IActionResult, IKeepTempDataResult {
++ public class RedirectResult : ActionResult, IActionResult, IKeepTempDataResult, IResult {
++ Task Microsoft.AspNetCore.Http.IResult.ExecuteAsync(HttpContext httpContext);
+ }
+- public class VirtualFileResult : FileResult {
++ public class VirtualFileResult : FileResult, IResult {
++ Task Microsoft.AspNetCore.Http.IResult.ExecuteAsync(HttpContext httpContext);
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Server.Kestrel.Https.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Server.Kestrel.Https.md
new file mode 100644
index 0000000000..31339cbfeb
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Server.Kestrel.Https.md
@@ -0,0 +1,10 @@
+# Microsoft.AspNetCore.Server.Kestrel.Https
+
+``` diff
+ namespace Microsoft.AspNetCore.Server.Kestrel.Https {
+ public enum ClientCertificateMode {
++ DelayCertificate = 3,
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.md
new file mode 100644
index 0000000000..7c485b36b9
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.md
@@ -0,0 +1,11 @@
+# Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets
+
+``` diff
+ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets {
+ public class SocketTransportOptions {
++ public Func CreateBoundListenSocket { get; set; }
++ public static Socket CreateDefaultBoundListenSocket(EndPoint endpoint);
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.WebSockets.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.WebSockets.md
new file mode 100644
index 0000000000..03d0daa8a6
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.WebSockets.md
@@ -0,0 +1,11 @@
+# Microsoft.AspNetCore.WebSockets
+
+``` diff
+ namespace Microsoft.AspNetCore.WebSockets {
+ public class ExtendedWebSocketAcceptContext : WebSocketAcceptContext {
+- public TimeSpan? KeepAliveInterval { get; set; }
++ public new TimeSpan? KeepAliveInterval { get; set; }
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.WebUtilities.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.WebUtilities.md
new file mode 100644
index 0000000000..277877a3eb
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.AspNetCore.WebUtilities.md
@@ -0,0 +1,13 @@
+# Microsoft.AspNetCore.WebUtilities
+
+``` diff
+ namespace Microsoft.AspNetCore.WebUtilities {
+ public class BufferedReadStream : Stream {
++ public override ValueTask ReadAsync(Memory buffer, CancellationToken cancellationToken);
+ }
+ public sealed class FileBufferingWriteStream : Stream {
++ public override ValueTask WriteAsync(ReadOnlyMemory buffer, CancellationToken cancellationToken = default(CancellationToken));
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.Extensions.DependencyInjection.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.Extensions.DependencyInjection.md
new file mode 100644
index 0000000000..87a840edfe
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.Extensions.DependencyInjection.md
@@ -0,0 +1,13 @@
+# Microsoft.Extensions.DependencyInjection
+
+``` diff
+ namespace Microsoft.Extensions.DependencyInjection {
++ public static class EndpointMetadataApiExplorerServiceCollectionExtensions {
++ public static void AddEndpointsApiExplorer(this IServiceCollection services);
++ }
++ public interface IServiceProviderIsService {
++ bool IsService(Type serviceType);
++ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.Extensions.Primitives.md b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.Extensions.Primitives.md
new file mode 100644
index 0000000000..d036c4d633
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/Asp.Net/6.0-preview6_Microsoft.Extensions.Primitives.md
@@ -0,0 +1,11 @@
+# Microsoft.Extensions.Primitives
+
+``` diff
+ namespace Microsoft.Extensions.Primitives {
+ public readonly struct StringSegment : IEquatable, IEquatable {
++ public ReadOnlySpan AsSpan(int start);
++ public ReadOnlySpan AsSpan(int start, int length);
+ }
+ }
+```
+
diff --git a/release-notes/6.0/preview/api-diff/preview6/README.md b/release-notes/6.0/preview/api-diff/preview6/README.md
new file mode 100644
index 0000000000..b8c64fa996
--- /dev/null
+++ b/release-notes/6.0/preview/api-diff/preview6/README.md
@@ -0,0 +1,6 @@
+# .NET 6.0 Preview 6 API Changes
+
+The following API changes were made in .NET 6.0 Preview 5:
+
+- [.NET](./.Net/6.0-preview6.md)
+- [ASP.NET](./Asp.Net/6.0-preview6.md)
\ No newline at end of file
diff --git a/release-notes/6.0/supported-os.md b/release-notes/6.0/supported-os.md
index 678016dd8f..52d4e78403 100644
--- a/release-notes/6.0/supported-os.md
+++ b/release-notes/6.0/supported-os.md
@@ -8,8 +8,8 @@ OS | Version | Architectures
--------------------------------------|-------------------------|-----------------|----------
[Windows Client][Windows-client] | 7 SP1(**\***), 8.1 | x64, x86 | [Windows][Windows-lifecycle]
[Windows 10 Client][Windows-client] | Version 1607+ | x64, x86, Arm64 | [Windows][Windows-lifecycle]
-[Windows Server][Windows-Server] | 2012 R2+ | x64, x86 | [Windows Server][Windows-Server-lifecycle]
-[Windows Server Core][Windows-Server] | 2012 R2+ | x64, x86 | [Windows Server][Windows-Server-lifecycle]
+[Windows Server][Windows-Server] | 2012+ | x64, x86 | [Windows Server][Windows-Server-lifecycle]
+[Windows Server Core][Windows-Server] | 2012+ | x64, x86 | [Windows Server][Windows-Server-lifecycle]
[Nano Server][Nano-Server] | Version 1809+ | x64 | [Windows Server][Windows-Server-lifecycle]
**\*** Windows 7 SP1 is supported with [Extended Security Updates](https://docs.microsoft.com/troubleshoot/windows-client/windows-7-eos-faq/windows-7-extended-security-updates-faq) installed.
diff --git a/release-policies.md b/release-policies.md
index 7677f21328..7573743272 100644
--- a/release-policies.md
+++ b/release-policies.md
@@ -11,7 +11,7 @@ New major .NET versions are released annually in November. .NET 5.0 was the firs
Each .NET release is defined (prior to initial release) as either **Preview**, **Current**, or **Long Term Support (LTS)**. The difference is support time frame, as defined below:
* **Preview** releases are not supported but are offered for public testing. A Preview or Release Candidate release may be considered "go live" and have its own specific ad-hoc support terms that aren't covered by this general policy.
-* **Current** releases are supported for (typically) fifteen months. They are intended for users that want to take advantage of the newest features and improvements and to stay on the leading edge of .NET innovation. Current release users need to upgrade to later .NET releases more often to stay in support.
+* **Current** releases are supported for (typically) eighteen months. They are intended for users that want to take advantage of the newest features and improvements and to stay on the leading edge of .NET innovation. Current release users need to upgrade to later .NET releases more often to stay in support.
* **LTS** releases are supported for three years. They are intended for users that want the stability and lower cost of maintaining an application on a single (major.minor) .NET version for an extended period.
LTS and Current releases have many similarities. The .NET team follows the same software engineering and release processes for both release types, including for security, compatibility, and reliability. Both releases may contain major new features and breaking changes. The .NET team aspires to enable straightforward migration from one release to another (LTS or Current, in either direction), and has processes in place to achieve that intention.
@@ -39,7 +39,7 @@ Functional improvements are typically very targeted, and may address the followi
During the maintenance support period, .NET releases are updated to mitigate security vulnerabilities, only.
-* Current releases are supported for fifteen months, the last three months of which is maintenance.
+* Current releases are supported for eighteen months, the last six months of which is maintenance.
* LTS releases are supported for three years, the last year of which is maintenance.
After the maintenance period ends, the release is out of support.
diff --git a/releases.md b/releases.md
index 68b29f5a05..4d2f3595b8 100644
--- a/releases.md
+++ b/releases.md
@@ -12,7 +12,7 @@ The following table lists in-support .NET releases.
| Version | Release Date | Support | Latest Patch Version | End of Support |
| :-- | :-- | :-- | :-- | :-- |
| [.NET 6](release-notes/6.0/README.md) | [November, 2021](https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-5/) | [Preview][policies] | [6.0 Preview 5][6.0 Preview 5] | November, 2024 |
-| [.NET 5](release-notes/5.0/README.md) | [November 10, 2020](https://devblogs.microsoft.com/dotnet/announcing-net-5-0/) | [Current][policies] | [5.0.7][5.0.7] | February, 2022 |
+| [.NET 5](release-notes/5.0/README.md) | [November 10, 2020](https://devblogs.microsoft.com/dotnet/announcing-net-5-0/) | [Current][policies] | [5.0.7][5.0.7] | May, 2022 |
| [.NET Core 3.1](release-notes/3.1/README.md) | [December 3, 2019](https://devblogs.microsoft.com/dotnet/announcing-net-core-3-1/) | [LTS][policies] | [3.1.16][3.1.16] | December 3, 2022 |
| [.NET Core 2.1](release-notes/2.1/README.md) | [May 30, 2018](https://devblogs.microsoft.com/dotnet/announcing-net-core-2-1/) | [LTS][policies] | [2.1.28][2.1.28] | [August 21, 2021](https://devblogs.microsoft.com/dotnet/net-core-2-1-will-reach-end-of-support-on-august-21-2021/) |