Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Mono.Data.Sqlite.dll
Namespace Mono.Data.Sqlite
Type Changed: Mono.Data.Sqlite.SqliteCommand
Added interface:
System.IAsyncDisposable
Type Changed: Mono.Data.Sqlite.SqliteConnection
Added interface:
System.IAsyncDisposable
Type Changed: Mono.Data.Sqlite.SqliteDataReader
Added interface:
System.IAsyncDisposable
Type Changed: Mono.Data.Sqlite.SqliteTransaction
Added interface:
System.IAsyncDisposable
Mono.Security.dll
Namespace Mono.Security.Protocol.Tls
Type Changed: Mono.Security.Protocol.Tls.SslClientStream
Added interface:
System.IAsyncDisposable
Type Changed: Mono.Security.Protocol.Tls.SslServerStream
Added interface:
System.IAsyncDisposable
Type Changed: Mono.Security.Protocol.Tls.SslStreamBase
Added interface:
System.IAsyncDisposable
mscorlib.dll
Namespace System
Type Changed: System.AppDomainSetup
Added properties:
public string AppDomainManagerAssembly { get; set; }
public string AppDomainManagerType { get; set; }
public string[] PartialTrustVisibleAssemblies { get; set; }
Type Changed: System.Decimal
Modified methods:
-public Decimal Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style = 7, IFormatProvider provider = NULL)
+public Decimal Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style = 111, IFormatProvider provider = NULL)
Type Changed: System.MemoryExtensions
Added methods:
public static System.ReadOnlyMemory<char> AsMemory (this string text, Index startIndex);
public static System.ReadOnlyMemory<char> AsMemory (this string text, Range range);
public static System.Memory<T> AsMemory<T> (this T[] array, Index startIndex);
public static System.Memory<T> AsMemory<T> (this T[] array, Range range);
public static System.Span<T> AsSpan<T> (this System.ArraySegment<T> segment, Index startIndex);
public static System.Span<T> AsSpan<T> (this System.ArraySegment<T> segment, Range range);
public static System.Span<T> AsSpan<T> (this T[] array, Index startIndex);
public static System.Span<T> AsSpan<T> (this T[] array, Range range);
Type Changed: System.Memory`1
Added interface:
System.IEquatable<System.Memory<T>>
Type Changed: System.ReadOnlyMemory`1
Added interface:
System.IEquatable<System.ReadOnlyMemory<T>>
New Type: System.Index
public struct Index, System.IEquatable<Index> {
// constructors
public Index (int value, bool fromEnd);
// properties
public static Index End { get; }
public bool IsFromEnd { get; }
public static Index Start { get; }
public int Value { get; }
// methods
public virtual bool Equals (Index other);
public override bool Equals (object value);
public static Index FromEnd (int value);
public static Index FromStart (int value);
public override int GetHashCode ();
public int GetOffset (int length);
public override string ToString ();
public static Index op_Implicit (int value);
}
New Type: System.Range
public struct Range, System.IEquatable<Range> {
// constructors
public Range (Index start, Index end);
// properties
public static Range All { get; }
public Index End { get; }
public Index Start { get; }
// methods
public static Range EndAt (Index end);
public override bool Equals (object value);
public virtual bool Equals (Range other);
public override int GetHashCode ();
public System.ValueTuple<Int32,System.Int32> GetOffsetAndLength (int length);
public static Range StartAt (Index start);
public override string ToString ();
}
Namespace System.Diagnostics.Tracing
Type Changed: System.Diagnostics.Tracing.EventCounter
Modified base type:
-System.Object
+System.Diagnostics.Tracing.DiagnosticCounter
Removed method:
public virtual void Dispose ();
Added method:
public void WriteMetric (double value);
Type Changed: System.Diagnostics.Tracing.EventWrittenEventArgs
Added properties:
public long OSThreadId { get; }
public System.DateTime TimeStamp { get; }
New Type: System.Diagnostics.Tracing.DiagnosticCounter
public abstract class DiagnosticCounter : System.IDisposable {
// properties
public string DisplayName { get; set; }
public string DisplayUnits { get; set; }
public EventSource EventSource { get; }
public string Name { get; }
// methods
public void AddMetadata (string key, string value);
public virtual void Dispose ();
}
New Type: System.Diagnostics.Tracing.IncrementingEventCounter
public class IncrementingEventCounter : System.Diagnostics.Tracing.DiagnosticCounter, System.IDisposable {
// constructors
public IncrementingEventCounter (string name, EventSource eventSource);
// properties
public System.TimeSpan DisplayRateTimeScale { get; set; }
// methods
public void Increment (double increment);
}
New Type: System.Diagnostics.Tracing.IncrementingPollingCounter
public class IncrementingPollingCounter : System.Diagnostics.Tracing.DiagnosticCounter, System.IDisposable {
// constructors
public IncrementingPollingCounter (string name, EventSource eventSource, System.Func<double> totalValueProvider);
// properties
public System.TimeSpan DisplayRateTimeScale { get; set; }
}
New Type: System.Diagnostics.Tracing.PollingCounter
public class PollingCounter : System.Diagnostics.Tracing.DiagnosticCounter, System.IDisposable {
// constructors
public PollingCounter (string name, EventSource eventSource, System.Func<double> metricProvider);
}
Namespace System.IO
Type Changed: System.IO.BinaryReader
Added methods:
public virtual int Read (System.Span<byte> buffer);
public virtual int Read (System.Span<char> buffer);
Type Changed: System.IO.BinaryWriter
Added interface:
System.IAsyncDisposable
Added methods:
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
public virtual void Write (System.ReadOnlySpan<byte> buffer);
public virtual void Write (System.ReadOnlySpan<char> buffer);
Type Changed: System.IO.BufferedStream
Added interface:
System.IAsyncDisposable
Added method:
public override System.Threading.Tasks.ValueTask DisposeAsync ();
Type Changed: System.IO.FileStream
Added interface:
System.IAsyncDisposable
Modified properties:
public ---virtual--- string Name { get; }
Type Changed: System.IO.MemoryStream
Added interface:
System.IAsyncDisposable
Type Changed: System.IO.Path
Added methods:
public static System.ReadOnlySpan<char> GetExtension (System.ReadOnlySpan<char> path);
public static System.ReadOnlySpan<char> GetFileNameWithoutExtension (System.ReadOnlySpan<char> path);
public static string GetFullPath (string path, string basePath);
public static System.ReadOnlySpan<char> GetPathRoot (System.ReadOnlySpan<char> path);
public static string GetRelativePath (string relativeTo, string path);
public static bool HasExtension (System.ReadOnlySpan<char> path);
public static bool IsPathFullyQualified (System.ReadOnlySpan<char> path);
public static bool IsPathFullyQualified (string path);
Type Changed: System.IO.Stream
Added interface:
System.IAsyncDisposable
Added method:
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
Type Changed: System.IO.StreamWriter
Added interface:
System.IAsyncDisposable
Added method:
public override System.Threading.Tasks.ValueTask DisposeAsync ();
Type Changed: System.IO.StringWriter
Added interface:
System.IAsyncDisposable
Type Changed: System.IO.TextWriter
Added interface:
System.IAsyncDisposable
Added method:
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
Type Changed: System.IO.UnmanagedMemoryStream
Added interface:
System.IAsyncDisposable
Namespace System.IO.IsolatedStorage
Type Changed: System.IO.IsolatedStorage.IsolatedStorage
Modified methods:
-protected abstract System.Security.Permissions.IsolatedStoragePermission GetPermission (System.Security.PermissionSet ps)
+protected virtual System.Security.Permissions.IsolatedStoragePermission GetPermission (System.Security.PermissionSet ps)
Type Changed: System.IO.IsolatedStorage.IsolatedStorageFileStream
Added interface:
System.IAsyncDisposable
Namespace System.Numerics
Type Changed: System.Numerics.Vector`1
Added constructor:
public Vector`1 (System.Span<T> values);
Namespace System.Reflection
Type Changed: System.Reflection.Assembly
Modified constructors:
-protected Assembly ()
+public Assembly ()
Added method:
public virtual System.Type[] GetForwardedTypes ();
Namespace System.Reflection.Emit
Type Changed: System.Reflection.Emit.AssemblyBuilder
Added properties:
public override string EscapedCodeBase { get; }
public override System.Security.Policy.Evidence Evidence { get; }
Added method:
public override string ToString ();
Type Changed: System.Reflection.Emit.EventToken
Added interface:
System.IEquatable<EventToken>
Type Changed: System.Reflection.Emit.FieldToken
Added interface:
System.IEquatable<FieldToken>
Type Changed: System.Reflection.Emit.Label
Added interface:
System.IEquatable<Label>
Type Changed: System.Reflection.Emit.MethodToken
Added interface:
System.IEquatable<MethodToken>
Type Changed: System.Reflection.Emit.OpCode
Added interface:
System.IEquatable<OpCode>
Type Changed: System.Reflection.Emit.ParameterToken
Added interface:
System.IEquatable<ParameterToken>
Type Changed: System.Reflection.Emit.PropertyToken
Added interface:
System.IEquatable<PropertyToken>
Type Changed: System.Reflection.Emit.SignatureToken
Added interface:
System.IEquatable<SignatureToken>
Type Changed: System.Reflection.Emit.StringToken
Added interface:
System.IEquatable<StringToken>
Type Changed: System.Reflection.Emit.TypeToken
Added interface:
System.IEquatable<TypeToken>
Namespace System.Runtime
New Type: System.Runtime.AmbiguousImplementationException
[Serializable]
public sealed class AmbiguousImplementationException : System.Exception, Serialization.ISerializable {
// constructors
public AmbiguousImplementationException ();
public AmbiguousImplementationException (string message);
public AmbiguousImplementationException (string message, System.Exception innerException);
}
Namespace System.Runtime.CompilerServices
Type Changed: System.Runtime.CompilerServices.RuntimeFeature
Added field:
public static const string DefaultImplementationsOfInterfaces = "DefaultImplementationsOfInterfaces";
Added properties:
public static bool IsDynamicCodeCompiled { get; }
public static bool IsDynamicCodeSupported { get; }
Type Changed: System.Runtime.CompilerServices.RuntimeHelpers
Added method:
public static T[] GetSubArray<T> (T[] array, System.Range range);
New Type: System.Runtime.CompilerServices.EnumeratorCancellationAttribute
public sealed class EnumeratorCancellationAttribute : System.Attribute {
// constructors
public EnumeratorCancellationAttribute ();
}
New Type: System.Runtime.CompilerServices.SwitchExpressionException
[Serializable]
public sealed class SwitchExpressionException : System.InvalidOperationException, System.Runtime.Serialization.ISerializable {
// constructors
public SwitchExpressionException ();
public SwitchExpressionException (System.Exception innerException);
public SwitchExpressionException (object unmatchedValue);
public SwitchExpressionException (string message);
public SwitchExpressionException (string message, System.Exception innerException);
// properties
public override string Message { get; }
public object UnmatchedValue { get; }
// methods
public override void GetObjectData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
}
Namespace System.Runtime.InteropServices
Type Changed: System.Runtime.InteropServices.Marshal
Added method:
public static IntPtr StringToCoTaskMemUTF8 (string s);
Namespace System.Security.Cryptography
Type Changed: System.Security.Cryptography.AsymmetricAlgorithm
Added methods:
public virtual byte[] ExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<byte> passwordBytes, PbeParameters pbeParameters);
public virtual byte[] ExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<char> password, PbeParameters pbeParameters);
public virtual byte[] ExportPkcs8PrivateKey ();
public virtual byte[] ExportSubjectPublicKeyInfo ();
public virtual void ImportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<byte> passwordBytes, System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<char> password, System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportPkcs8PrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportSubjectPublicKeyInfo (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual bool TryExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<byte> passwordBytes, PbeParameters pbeParameters, System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<char> password, PbeParameters pbeParameters, System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportPkcs8PrivateKey (System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportSubjectPublicKeyInfo (System.Span<byte> destination, out int bytesWritten);
Type Changed: System.Security.Cryptography.CryptoStream
Added constructor:
public CryptoStream (System.IO.Stream stream, ICryptoTransform transform, CryptoStreamMode mode, bool leaveOpen);
Added interface:
System.IAsyncDisposable
Added methods:
public override System.IAsyncResult BeginRead (byte[] buffer, int offset, int count, System.AsyncCallback callback, object state);
public override System.IAsyncResult BeginWrite (byte[] buffer, int offset, int count, System.AsyncCallback callback, object state);
public override int EndRead (System.IAsyncResult asyncResult);
public override void EndWrite (System.IAsyncResult asyncResult);
public override int ReadByte ();
public override void WriteByte (byte value);
Type Changed: System.Security.Cryptography.DSA
Added methods:
public static DSA Create (int keySizeInBits);
public static DSA Create (DSAParameters parameters);
public virtual bool TryCreateSignature (System.ReadOnlySpan<byte> hash, System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool VerifyData (System.ReadOnlySpan<byte> data, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm);
public virtual bool VerifySignature (System.ReadOnlySpan<byte> hash, System.ReadOnlySpan<byte> signature);
Type Changed: System.Security.Cryptography.RSA
Added methods:
public static RSA Create (int keySizeInBits);
public static RSA Create (RSAParameters parameters);
public virtual byte[] ExportRSAPrivateKey ();
public virtual byte[] ExportRSAPublicKey ();
public virtual void ImportRSAPrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportRSAPublicKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual bool TryDecrypt (System.ReadOnlySpan<byte> data, System.Span<byte> destination, RSAEncryptionPadding padding, out int bytesWritten);
public virtual bool TryEncrypt (System.ReadOnlySpan<byte> data, System.Span<byte> destination, RSAEncryptionPadding padding, out int bytesWritten);
public virtual bool TryExportRSAPrivateKey (System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportRSAPublicKey (System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding, out int bytesWritten);
public virtual bool TrySignHash (System.ReadOnlySpan<byte> hash, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding, out int bytesWritten);
public virtual bool VerifyData (System.ReadOnlySpan<byte> data, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding);
public virtual bool VerifyHash (System.ReadOnlySpan<byte> hash, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding);
Type Changed: System.Security.Cryptography.RandomNumberGenerator
Added methods:
public virtual void GetBytes (System.Span<byte> data);
public static int GetInt32 (int toExclusive);
public static int GetInt32 (int fromInclusive, int toExclusive);
public virtual void GetNonZeroBytes (System.Span<byte> data);
Type Changed: System.Security.Cryptography.Rfc2898DeriveBytes
Added constructors:
public Rfc2898DeriveBytes (byte[] password, byte[] salt, int iterations, HashAlgorithmName hashAlgorithm);
public Rfc2898DeriveBytes (string password, byte[] salt, int iterations, HashAlgorithmName hashAlgorithm);
public Rfc2898DeriveBytes (string password, int saltSize, int iterations, HashAlgorithmName hashAlgorithm);
Added property:
public HashAlgorithmName HashAlgorithm { get; }
New Type: System.Security.Cryptography.AesCcm
public sealed class AesCcm : System.IDisposable {
// constructors
public AesCcm (byte[] key);
public AesCcm (System.ReadOnlySpan<byte> key);
// properties
public static KeySizes NonceByteSizes { get; }
public static KeySizes TagByteSizes { get; }
// methods
public void Decrypt (byte[] nonce, byte[] ciphertext, byte[] tag, byte[] plaintext, byte[] associatedData);
public void Decrypt (System.ReadOnlySpan<byte> nonce, System.ReadOnlySpan<byte> ciphertext, System.ReadOnlySpan<byte> tag, System.Span<byte> plaintext, System.ReadOnlySpan<byte> associatedData);
public virtual void Dispose ();
public void Encrypt (byte[] nonce, byte[] plaintext, byte[] ciphertext, byte[] tag, byte[] associatedData);
public void Encrypt (System.ReadOnlySpan<byte> nonce, System.ReadOnlySpan<byte> plaintext, System.Span<byte> ciphertext, System.Span<byte> tag, System.ReadOnlySpan<byte> associatedData);
}
New Type: System.Security.Cryptography.AesGcm
public sealed class AesGcm : System.IDisposable {
// constructors
public AesGcm (byte[] key);
public AesGcm (System.ReadOnlySpan<byte> key);
// properties
public static KeySizes NonceByteSizes { get; }
public static KeySizes TagByteSizes { get; }
// methods
public void Decrypt (byte[] nonce, byte[] ciphertext, byte[] tag, byte[] plaintext, byte[] associatedData);
public void Decrypt (System.ReadOnlySpan<byte> nonce, System.ReadOnlySpan<byte> ciphertext, System.ReadOnlySpan<byte> tag, System.Span<byte> plaintext, System.ReadOnlySpan<byte> associatedData);
public virtual void Dispose ();
public void Encrypt (byte[] nonce, byte[] plaintext, byte[] ciphertext, byte[] tag, byte[] associatedData);
public void Encrypt (System.ReadOnlySpan<byte> nonce, System.ReadOnlySpan<byte> plaintext, System.Span<byte> ciphertext, System.Span<byte> tag, System.ReadOnlySpan<byte> associatedData);
}
New Type: System.Security.Cryptography.PbeEncryptionAlgorithm
[Serializable]
public enum PbeEncryptionAlgorithm {
Aes128Cbc = 1,
Aes192Cbc = 2,
Aes256Cbc = 3,
TripleDes3KeyPkcs12 = 4,
Unknown = 0,
}
New Type: System.Security.Cryptography.PbeParameters
public sealed class PbeParameters {
// constructors
public PbeParameters (PbeEncryptionAlgorithm encryptionAlgorithm, HashAlgorithmName hashAlgorithm, int iterationCount);
// properties
public PbeEncryptionAlgorithm EncryptionAlgorithm { get; }
public HashAlgorithmName HashAlgorithm { get; }
public int IterationCount { get; }
}
Namespace System.Threading
Type Changed: System.Threading.CancellationTokenRegistration
Added interface:
System.IAsyncDisposable
Added method:
public virtual Tasks.ValueTask DisposeAsync ();
Type Changed: System.Threading.Interlocked
Added method:
public static void MemoryBarrierProcessWide ();
Type Changed: System.Threading.Timer
Added interface:
System.IAsyncDisposable
Added method:
public virtual Tasks.ValueTask DisposeAsync ();
Namespace System.Threading.Tasks
New Type: System.Threading.Tasks.TaskAsyncEnumerableExtensions
public static class TaskAsyncEnumerableExtensions {
// methods
public static System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> ConfigureAwait<T> (this System.Collections.Generic.IAsyncEnumerable<T> source, bool continueOnCapturedContext);
public static System.Runtime.CompilerServices.ConfiguredAsyncDisposable ConfigureAwait (this System.IAsyncDisposable source, bool continueOnCapturedContext);
public static System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> WithCancellation<T> (this System.Collections.Generic.IAsyncEnumerable<T> source, System.Threading.CancellationToken cancellationToken);
}
System.Core.dll
Namespace System.IO.MemoryMappedFiles
Type Changed: System.IO.MemoryMappedFiles.MemoryMappedViewStream
Added interface:
System.IAsyncDisposable
Namespace System.IO.Pipes
Type Changed: System.IO.Pipes.AnonymousPipeClientStream
Added interface:
System.IAsyncDisposable
Type Changed: System.IO.Pipes.AnonymousPipeServerStream
Added interface:
System.IAsyncDisposable
Type Changed: System.IO.Pipes.NamedPipeClientStream
Added interface:
System.IAsyncDisposable
Type Changed: System.IO.Pipes.NamedPipeServerStream
Added interface:
System.IAsyncDisposable
Type Changed: System.IO.Pipes.PipeStream
Added interface:
System.IAsyncDisposable
Namespace System.Security.Cryptography
Type Changed: System.Security.Cryptography.ECDsa
Added methods:
public virtual byte[] ExportECPrivateKey ();
public virtual void ImportECPrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual bool TryExportECPrivateKey (System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignHash (System.ReadOnlySpan<byte> hash, System.Span<byte> destination, out int bytesWritten);
public virtual bool VerifyData (System.ReadOnlySpan<byte> data, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm);
public virtual bool VerifyHash (System.ReadOnlySpan<byte> hash, System.ReadOnlySpan<byte> signature);
Type Changed: System.Security.Cryptography.IncrementalHash
Added methods:
public void AppendData (System.ReadOnlySpan<byte> data);
public bool TryGetHashAndReset (System.Span<byte> destination, out int bytesWritten);
New Type: System.Security.Cryptography.ECDiffieHellman
public abstract class ECDiffieHellman : System.Security.Cryptography.AsymmetricAlgorithm, System.IDisposable {
// constructors
protected ECDiffieHellman ();
// properties
public override string KeyExchangeAlgorithm { get; }
public virtual ECDiffieHellmanPublicKey PublicKey { get; }
public override string SignatureAlgorithm { get; }
// methods
public static ECDiffieHellman Create ();
public static ECDiffieHellman Create (ECCurve curve);
public static ECDiffieHellman Create (ECParameters parameters);
public static ECDiffieHellman Create (string algorithm);
public byte[] DeriveKeyFromHash (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm);
public virtual byte[] DeriveKeyFromHash (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[] secretPrepend, byte[] secretAppend);
public byte[] DeriveKeyFromHmac (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[] hmacKey);
public virtual byte[] DeriveKeyFromHmac (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[] hmacKey, byte[] secretPrepend, byte[] secretAppend);
public virtual byte[] DeriveKeyMaterial (ECDiffieHellmanPublicKey otherPartyPublicKey);
public virtual byte[] DeriveKeyTls (ECDiffieHellmanPublicKey otherPartyPublicKey, byte[] prfLabel, byte[] prfSeed);
public virtual byte[] ExportECPrivateKey ();
public virtual ECParameters ExportExplicitParameters (bool includePrivateParameters);
public virtual ECParameters ExportParameters (bool includePrivateParameters);
public virtual void GenerateKey (ECCurve curve);
public virtual void ImportECPrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportParameters (ECParameters parameters);
public virtual bool TryExportECPrivateKey (System.Span<byte> destination, out int bytesWritten);
}
Namespace System.Security.Cryptography.X509Certificates
Type Changed: System.Security.Cryptography.X509Certificates.ECDsaCertificateExtensions
Added method:
public static X509Certificate2 CopyWithPrivateKey (this X509Certificate2 certificate, System.Security.Cryptography.ECDsa privateKey);
Namespace System.Threading.Tasks
Type Changed: System.Threading.Tasks.TaskExtensions
Removed methods:
public static System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> ConfigureAwait<T> (this System.Collections.Generic.IAsyncEnumerable<T> source, bool continueOnCapturedContext);
public static System.Runtime.CompilerServices.ConfiguredAsyncDisposable ConfigureAwait (this System.IAsyncDisposable source, bool continueOnCapturedContext);
public static System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> WithCancellation<T> (this System.Collections.Generic.IAsyncEnumerable<T> source, System.Threading.CancellationToken cancellationToken);
New Namespace System.Net.Sockets
New Type: System.Net.Sockets.UnixDomainSocketEndPoint
public sealed class UnixDomainSocketEndPoint : System.Net.EndPoint {
// constructors
public UnixDomainSocketEndPoint (string path);
// properties
public override AddressFamily AddressFamily { get; }
// methods
public override System.Net.EndPoint Create (System.Net.SocketAddress socketAddress);
public override System.Net.SocketAddress Serialize ();
public override string ToString ();
}
New Namespace System.Reflection
New Type: System.Reflection.DispatchProxy
public abstract class DispatchProxy {
// constructors
protected DispatchProxy ();
// methods
public static T Create<T, TProxy> ();
protected virtual object Invoke (MethodInfo targetMethod, object[] args);
}
System.Data.dll
Namespace System.Data
Type Changed: System.Data.DataTableReader
Added interface:
System.IAsyncDisposable
New Type: System.Data.DataReaderExtensions
public static class DataReaderExtensions {
// methods
public static bool GetBoolean (this Common.DbDataReader reader, string name);
public static byte GetByte (this Common.DbDataReader reader, string name);
public static long GetBytes (this Common.DbDataReader reader, string name, long dataOffset, byte[] buffer, int bufferOffset, int length);
public static char GetChar (this Common.DbDataReader reader, string name);
public static long GetChars (this Common.DbDataReader reader, string name, long dataOffset, char[] buffer, int bufferOffset, int length);
public static Common.DbDataReader GetData (this Common.DbDataReader reader, string name);
public static string GetDataTypeName (this Common.DbDataReader reader, string name);
public static System.DateTime GetDateTime (this Common.DbDataReader reader, string name);
public static System.Decimal GetDecimal (this Common.DbDataReader reader, string name);
public static double GetDouble (this Common.DbDataReader reader, string name);
public static System.Type GetFieldType (this Common.DbDataReader reader, string name);
public static T GetFieldValue<T> (this Common.DbDataReader reader, string name);
public static System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (this Common.DbDataReader reader, string name, System.Threading.CancellationToken cancellationToken);
public static float GetFloat (this Common.DbDataReader reader, string name);
public static System.Guid GetGuid (this Common.DbDataReader reader, string name);
public static short GetInt16 (this Common.DbDataReader reader, string name);
public static int GetInt32 (this Common.DbDataReader reader, string name);
public static long GetInt64 (this Common.DbDataReader reader, string name);
public static System.Type GetProviderSpecificFieldType (this Common.DbDataReader reader, string name);
public static object GetProviderSpecificValue (this Common.DbDataReader reader, string name);
public static System.IO.Stream GetStream (this Common.DbDataReader reader, string name);
public static string GetString (this Common.DbDataReader reader, string name);
public static System.IO.TextReader GetTextReader (this Common.DbDataReader reader, string name);
public static object GetValue (this Common.DbDataReader reader, string name);
public static bool IsDBNull (this Common.DbDataReader reader, string name);
public static System.Threading.Tasks.Task<bool> IsDBNullAsync (this Common.DbDataReader reader, string name, System.Threading.CancellationToken cancellationToken);
}
Namespace System.Data.Common
Type Changed: System.Data.Common.DbCommand
Added interface:
System.IAsyncDisposable
Added methods:
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
public virtual System.Threading.Tasks.Task PrepareAsync (System.Threading.CancellationToken cancellationToken);
Type Changed: System.Data.Common.DbConnection
Added interface:
System.IAsyncDisposable
Added methods:
protected virtual System.Threading.Tasks.ValueTask<DbTransaction> BeginDbTransactionAsync (System.Data.IsolationLevel isolationLevel, System.Threading.CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask<DbTransaction> BeginTransactionAsync (System.Threading.CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask<DbTransaction> BeginTransactionAsync (System.Data.IsolationLevel isolationLevel, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task ChangeDatabaseAsync (string databaseName, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task CloseAsync ();
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
Type Changed: System.Data.Common.DbDataReader
Added interface:
System.IAsyncDisposable
Added methods:
public virtual System.Threading.Tasks.Task CloseAsync ();
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
Type Changed: System.Data.Common.DbProviderFactory
Added properties:
public virtual bool CanCreateCommandBuilder { get; }
public virtual bool CanCreateDataAdapter { get; }
Type Changed: System.Data.Common.DbTransaction
Added interface:
System.IAsyncDisposable
Added methods:
public virtual System.Threading.Tasks.Task CommitAsync (System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
public virtual System.Threading.Tasks.Task RollbackAsync (System.Threading.CancellationToken cancellationToken);
New Type: System.Data.Common.DbProviderFactories
public static class DbProviderFactories {
// methods
public static DbProviderFactory GetFactory (DbConnection connection);
public static DbProviderFactory GetFactory (System.Data.DataRow providerRow);
public static DbProviderFactory GetFactory (string providerInvariantName);
public static System.Data.DataTable GetFactoryClasses ();
public static System.Collections.Generic.IEnumerable<string> GetProviderInvariantNames ();
public static void RegisterFactory (string providerInvariantName, DbProviderFactory factory);
public static void RegisterFactory (string providerInvariantName, string factoryTypeAssemblyQualifiedName);
public static void RegisterFactory (string providerInvariantName, System.Type providerFactoryClass);
public static bool TryGetFactory (string providerInvariantName, out DbProviderFactory factory);
public static bool UnregisterFactory (string providerInvariantName);
}
Namespace System.Data.SqlClient
Type Changed: System.Data.SqlClient.SqlCommand
Added interface:
System.IAsyncDisposable
Type Changed: System.Data.SqlClient.SqlConnection
Added interface:
System.IAsyncDisposable
Type Changed: System.Data.SqlClient.SqlDataReader
Added interface:
System.IAsyncDisposable
Type Changed: System.Data.SqlClient.SqlTransaction
Added interface:
System.IAsyncDisposable
System.IO.Compression.dll
Namespace System.IO.Compression
New Type: System.IO.Compression.BrotliDecoder
public struct BrotliDecoder, System.IDisposable {
// methods
public System.Buffers.OperationStatus Decompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesConsumed, out int bytesWritten);
public virtual void Dispose ();
public static bool TryDecompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten);
}
New Type: System.IO.Compression.BrotliEncoder
public struct BrotliEncoder, System.IDisposable {
// constructors
public BrotliEncoder (int quality, int window);
// methods
public System.Buffers.OperationStatus Compress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock);
public virtual void Dispose ();
public System.Buffers.OperationStatus Flush (System.Span<byte> destination, out int bytesWritten);
public static int GetMaxCompressedLength (int length);
public static bool TryCompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten);
public static bool TryCompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten, int quality, int window);
}
New Type: System.IO.Compression.BrotliStream
public sealed class BrotliStream : System.IO.Stream, System.IAsyncDisposable, System.IDisposable {
// constructors
public BrotliStream (System.IO.Stream stream, CompressionLevel compressionLevel);
public BrotliStream (System.IO.Stream stream, CompressionMode mode);
public BrotliStream (System.IO.Stream stream, CompressionLevel compressionLevel, bool leaveOpen);
public BrotliStream (System.IO.Stream stream, CompressionMode mode, bool leaveOpen);
// properties
public System.IO.Stream BaseStream { get; }
public override bool CanRead { get; }
public override bool CanSeek { get; }
public override bool CanWrite { get; }
public override long Length { get; }
public override long Position { get; set; }
// methods
public override System.IAsyncResult BeginRead (byte[] buffer, int offset, int count, System.AsyncCallback asyncCallback, object asyncState);
public override System.IAsyncResult BeginWrite (byte[] buffer, int offset, int count, System.AsyncCallback asyncCallback, object asyncState);
protected override void Dispose (bool disposing);
public override int EndRead (System.IAsyncResult asyncResult);
public override void EndWrite (System.IAsyncResult asyncResult);
public override void Flush ();
public override System.Threading.Tasks.Task FlushAsync (System.Threading.CancellationToken cancellationToken);
public override int Read (System.Span<byte> buffer);
public override int Read (byte[] buffer, int offset, int count);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
public override long Seek (long offset, System.IO.SeekOrigin origin);
public override void SetLength (long value);
public override void Write (System.ReadOnlySpan<byte> buffer);
public override void Write (byte[] buffer, int offset, int count);
public override System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
}
System.dll
Namespace System.CodeDom.Compiler
Type Changed: System.CodeDom.Compiler.IndentedTextWriter
Added interface:
System.IAsyncDisposable
Namespace System.Diagnostics
Type Changed: System.Diagnostics.ProcessStartInfo
Added properties:
public System.Collections.ObjectModel.Collection<string> ArgumentList { get; }
public System.Text.Encoding StandardInputEncoding { get; set; }
Namespace System.IO.Compression
Type Changed: System.IO.Compression.DeflateStream
Added interface:
System.IAsyncDisposable
Added method:
protected override void ~DeflateStream ();
Type Changed: System.IO.Compression.GZipStream
Added interface:
System.IAsyncDisposable
Namespace System.Net
Type Changed: System.Net.HttpWebResponse
Added constructor:
public HttpWebResponse ();
Type Changed: System.Net.IPAddress
Added constructors:
public IPAddress (System.ReadOnlySpan<byte> address);
public IPAddress (System.ReadOnlySpan<byte> address, long scopeid);
Added methods:
public static IPAddress Parse (System.ReadOnlySpan<char> ipSpan);
public bool TryFormat (System.Span<char> destination, out int charsWritten);
public static bool TryParse (System.ReadOnlySpan<char> ipSpan, out IPAddress address);
public bool TryWriteBytes (System.Span<byte> destination, out int bytesWritten);
Type Changed: System.Net.SecurityProtocolType
Added value:
Tls13 = 12288,
Namespace System.Net.Security
Type Changed: System.Net.Security.AuthenticatedStream
Added interface:
System.IAsyncDisposable
Type Changed: System.Net.Security.NegotiateStream
Added interface:
System.IAsyncDisposable
Type Changed: System.Net.Security.SslStream
Added interface:
System.IAsyncDisposable
Added property:
public SslApplicationProtocol NegotiatedApplicationProtocol { get; }
Namespace System.Net.Sockets
Type Changed: System.Net.Sockets.NetworkStream
Added interface:
System.IAsyncDisposable
Type Changed: System.Net.Sockets.Socket
Added methods:
public int Receive (System.Span<byte> buffer, SocketFlags socketFlags, out SocketError errorCode);
public int Send (System.ReadOnlySpan<byte> buffer, SocketFlags socketFlags, out SocketError errorCode);
Type Changed: System.Net.Sockets.SocketAsyncEventArgs
Added method:
public void SetBuffer (System.Memory<byte> buffer);
Type Changed: System.Net.Sockets.SocketTaskExtensions
Added methods:
public static System.Threading.Tasks.ValueTask<int> ReceiveAsync (this Socket socket, System.Memory<byte> memory, SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.ValueTask<int> SendAsync (this Socket socket, System.ReadOnlyMemory<byte> buffer, SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken);
Namespace System.Security.Authentication
Type Changed: System.Security.Authentication.SslProtocols
Added value:
Tls13 = 12288,
Namespace System.Security.Cryptography
Removed Type System.Security.Cryptography.CryptographicOperations
Namespace System.Security.Cryptography.X509Certificates
Type Changed: System.Security.Cryptography.X509Certificates.X509Store
Added constructors:
public X509Store (StoreName storeName, StoreLocation storeLocation, OpenFlags openFlags);
public X509Store (string storeName, StoreLocation storeLocation, OpenFlags openFlags);
Added property:
public bool IsOpen { get; }
New Type: System.Security.Cryptography.X509Certificates.CertificateRequest
public sealed class CertificateRequest {
// constructors
public CertificateRequest (X500DistinguishedName subjectName, System.Security.Cryptography.ECDsa key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
public CertificateRequest (X500DistinguishedName subjectName, PublicKey publicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
public CertificateRequest (string subjectName, System.Security.Cryptography.ECDsa key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
public CertificateRequest (X500DistinguishedName subjectName, System.Security.Cryptography.RSA key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.RSASignaturePadding padding);
public CertificateRequest (string subjectName, System.Security.Cryptography.RSA key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.RSASignaturePadding padding);
// properties
public System.Collections.ObjectModel.Collection<X509Extension> CertificateExtensions { get; }
public System.Security.Cryptography.HashAlgorithmName HashAlgorithm { get; }
public PublicKey PublicKey { get; }
public X500DistinguishedName SubjectName { get; }
// methods
public X509Certificate2 Create (X509Certificate2 issuerCertificate, System.DateTimeOffset notBefore, System.DateTimeOffset notAfter, byte[] serialNumber);
public X509Certificate2 Create (X500DistinguishedName issuerName, X509SignatureGenerator generator, System.DateTimeOffset notBefore, System.DateTimeOffset notAfter, byte[] serialNumber);
public X509Certificate2 CreateSelfSigned (System.DateTimeOffset notBefore, System.DateTimeOffset notAfter);
public byte[] CreateSigningRequest ();
public byte[] CreateSigningRequest (X509SignatureGenerator signatureGenerator);
}
New Type: System.Security.Cryptography.X509Certificates.SubjectAlternativeNameBuilder
public sealed class SubjectAlternativeNameBuilder {
// constructors
public SubjectAlternativeNameBuilder ();
// methods
public void AddDnsName (string dnsName);
public void AddEmailAddress (string emailAddress);
public void AddIpAddress (System.Net.IPAddress ipAddress);
public void AddUri (System.Uri uri);
public void AddUserPrincipalName (string upn);
public X509Extension Build (bool critical);
}
New Type: System.Security.Cryptography.X509Certificates.X509SignatureGenerator
public abstract class X509SignatureGenerator {
// constructors
protected X509SignatureGenerator ();
// properties
public PublicKey PublicKey { get; }
// methods
protected virtual PublicKey BuildPublicKey ();
public static X509SignatureGenerator CreateForECDsa (System.Security.Cryptography.ECDsa key);
public static X509SignatureGenerator CreateForRSA (System.Security.Cryptography.RSA key, System.Security.Cryptography.RSASignaturePadding signaturePadding);
public virtual byte[] GetSignatureAlgorithmIdentifier (System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
public virtual byte[] SignData (byte[] data, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
}
Removed Namespace System.IO.Enumeration
Removed Type System.IO.Enumeration.FileSystemName
System.Xml.dll
Namespace System.Xml.Serialization
Type Changed: System.Xml.Serialization.XmlSchemaImporter
Modified base type:
-System.Object
+System.Xml.Serialization.SchemaImporter
New Type: System.Xml.Serialization.SchemaImporter
public abstract class SchemaImporter {
// constructors
protected SchemaImporter ();
}
Xamarin.Mac.dll
Namespace AppKit
Type Changed: AppKit.NSGridView
Obsoleted methods:
[Obsolete ("You should use either 'NSGridView.Create(NSView [][] rowsAndColumns)' or 'NSGridView.Create(NSView [,] rowsAndColumns)'.")]
public static NSGridView Create (NSView[] rows);
Added methods:
public static NSGridView Create (NSView[0...,0...] rowsAndColumns);
public static NSGridView Create (NSView[][] rowsAndColumns);
Type Changed: AppKit.NSView
Added method:
public void SortSubviews (System.Func<NSView,AppKit.NSView,Foundation.NSComparisonResult> comparer);
Namespace Compression
Type Changed: Compression.CompressionStream
Added interface:
System.IAsyncDisposable
Namespace CoreFoundation
Type Changed: CoreFoundation.CFNetwork
Added methods:
public static CFProxy[] ExecuteProxyAutoConfigurationScript (string proxyAutoConfigurationScript, System.Uri targetUrl, out Foundation.NSError outError);
public static System.Threading.Tasks.Task<System.ValueTuple<CFProxy[],Foundation.NSError>> ExecuteProxyAutoConfigurationScriptAsync (string proxyAutoConfigurationScript, System.Uri targetUrl, System.Threading.CancellationToken cancellationToken);
public static CFProxy[] ExecuteProxyAutoConfigurationUrl (System.Uri proxyAutoConfigurationUrl, System.Uri targetUrl, out Foundation.NSError outError);
public static System.Threading.Tasks.Task<System.ValueTuple<CFProxy[],Foundation.NSError>> ExecuteProxyAutoConfigurationUrlAsync (System.Uri proxyAutoConfigurationUrl, System.Uri targetUrl, System.Threading.CancellationToken cancellationToken);
Namespace Foundation
Type Changed: Foundation.NSArray
Added methods:
public static NSArray FromNSObjects<T> (T[0...,0...] items);
public static NSArray FromNSObjects<T> (T[][] items);
Type Changed: Foundation.NSUrlSessionHandler
Added property:
public bool AllowsCellularAccess { get; set; }
Namespace Metal
Type Changed: Metal.MTLDevice_Extensions
Obsoleted methods:
[Obsolete ("Use the overload that takes an IntPtr instead. The 'data' parameter must be page-aligned and allocated using vm_allocate or mmap, which won't be the case for managed arrays, so this method will always fail.")]
public static IMTLBuffer CreateBufferNoCopy<T> (this IMTLDevice This, T[] data, MTLResourceOptions options, MTLDeallocator deallocator);
Namespace ObjCRuntime
Type Changed: ObjCRuntime.Constants
Modified fields:
-public const string Version = "5.14.0";
+public const string Version = "5.16.1";