API Differences between 2024.0.0 and 2025.1.0
	
		299 Additions
	
	
		101 Removals
	
Renci.SshNet
	- 
		public abstract class AuthenticationMethod : IAuthenticationMethod
		
	
 
	- 
		public class CipherInfo
		
	
 
	- 
		public class CommandAsyncResult : IAsyncResult
		
	
 
	- 
		public class ConnectionInfo : IConnectionInfoInternal, IConnectionInfo
		
			- public IOrderedDictionary<string, Func<Compressor>> CompressionAlgorithms { get; }
 
			- public IDictionary<string, Func<Compressor>> CompressionAlgorithms { get; }
 
			- public IOrderedDictionary<string, CipherInfo> Encryptions { get; }
 
			- public IOrderedDictionary<string, HashInfo> HmacAlgorithms { get; }
 
			- public IDictionary<string, CipherInfo> Encryptions { get; }
 
			- public IDictionary<string, HashInfo> HmacAlgorithms { get; }
 
			- public IOrderedDictionary<string, Func<byte[], KeyHostAlgorithm>> HostKeyAlgorithms { get; }
 
			- public IDictionary<string, Func<byte[], KeyHostAlgorithm>> HostKeyAlgorithms { get; }
 
			- public IOrderedDictionary<string, Func<IKeyExchange>> KeyExchangeAlgorithms { get; }
 
			- public ILoggerFactory LoggerFactory { get; set; }
 
			- public IDictionary<string, Func<IKeyExchange>> KeyExchangeAlgorithms { get; }
 
		
	 
	- 
		public interface IBaseClient : IDisposable
		
	
 
	- 
		public interface IOrderedDictionary<TKey, TValue> : IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable, IReadOnlyDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>
		
	
 
	- 
		public interface ISftpClient : IBaseClient, IDisposable
		
			- Task ChangeDirectoryAsync(string path, CancellationToken cancellationToken = default)
 
			- Task CreateDirectoryAsync(string path, CancellationToken cancellationToken = default)
 
			- Task DeleteAsync(string path, CancellationToken cancellationToken = default)
 
			- Task DeleteDirectoryAsync(string path, CancellationToken cancellationToken = default)
 
			- Task DownloadFileAsync(string path, Stream output, CancellationToken cancellationToken = default)
 
			- Task<bool> ExistsAsync(string path, CancellationToken cancellationToken = default)
 
			- Task<ISftpFile> GetAsync(string path, CancellationToken cancellationToken)
 
			- Task<SftpFileAttributes> GetAttributesAsync(string path, CancellationToken cancellationToken)
 
			- SftpFileSystemInformation GetStatus(string path)
 
			- Task<SftpFileSystemInformation> GetStatusAsync(string path, CancellationToken cancellationToken)
 
			- SftpFileSytemInformation GetStatus(string path)
 
			- Task<SftpFileSytemInformation> GetStatusAsync(string path, CancellationToken cancellationToken)
 
			- Task UploadFileAsync(Stream input, string path, CancellationToken cancellationToken = default)
 
		
	 
	- 
		public interface ISshClient : IBaseClient, IDisposable
		
	
 
	- 
		public class KeyboardInteractiveAuthenticationMethod : AuthenticationMethod, IDisposable
		
	
 
	- 
		public class NoneAuthenticationMethod : AuthenticationMethod, IDisposable
		
	
 
	- 
		public class PasswordAuthenticationMethod : AuthenticationMethod, IDisposable
		
	
 
	- 
		public class PrivateKeyAuthenticationMethod : AuthenticationMethod, IDisposable
		
	
 
	- 
		public class PrivateKeyConnectionInfo : ConnectionInfo, IDisposable
		
	
 
	- 
		public class PrivateKeyFile : IPrivateKeySource, IDisposable
		
	
 
	- 
		public class Session : ISession, IDisposable
		
	
 
	- 
		public class SftpClient : BaseClient, ISftpClient, IBaseClient, IDisposable
		
			- public Task ChangeDirectoryAsync(string path, CancellationToken cancellationToken = default)
 
			- public Task CreateDirectoryAsync(string path, CancellationToken cancellationToken = default)
 
			- public Task DeleteAsync(string path, CancellationToken cancellationToken = default)
 
			- public Task DeleteDirectoryAsync(string path, CancellationToken cancellationToken = default)
 
			- public Task DownloadFileAsync(string path, Stream output, CancellationToken cancellationToken = default)
 
			- public Task<bool> ExistsAsync(string path, CancellationToken cancellationToken = default)
 
			- public Task<ISftpFile> GetAsync(string path, CancellationToken cancellationToken)
 
			- public Task<SftpFileAttributes> GetAttributesAsync(string path, CancellationToken cancellationToken)
 
			- public SftpFileSystemInformation GetStatus(string path)
 
			- public Task<SftpFileSystemInformation> GetStatusAsync(string path, CancellationToken cancellationToken)
 
			- public SftpFileSytemInformation GetStatus(string path)
 
			- public Task<SftpFileSytemInformation> GetStatusAsync(string path, CancellationToken cancellationToken)
 
			- public Task UploadFileAsync(Stream input, string path, CancellationToken cancellationToken = default)
 
		
	 
	- 
		public class Shell : IDisposable
		
			- protected virtual void Dispose(bool disposing)
 
		
	 
	- 
		public class ShellStream : Stream
		
	
 
	- 
		public class SshClient : BaseClient
		
	
 
	- 
		public class SshCommand : IDisposable
		
	
 
	- 
		public static class SshNetLoggingConfiguration
		
	
 
Renci.SshNet.Abstractions
Renci.SshNet.Common
	- 
		public struct BigInteger : IComparable, IFormattable, IComparable<BigInteger>, IEquatable<BigInteger>
		
			- public static BigInteger MinusOne { get; }
 
			- public static BigInteger One { get; }
 
			- public static BigInteger Zero { get; }
 
			- public int BitLength { get; }
 
			- public bool IsEven { get; }
 
			- public bool IsOne { get; }
 
			- public bool IsPowerOfTwo { get; }
 
			- public bool IsZero { get; }
 
			- public int Sign { get; }
 
			- public BigInteger(int value)
 
			- public BigInteger(uint value)
 
			- public BigInteger(long value)
 
			- public BigInteger(ulong value)
 
			- public BigInteger(double value)
 
			- public BigInteger(float value)
 
			- public BigInteger(decimal value)
 
			- public BigInteger(byte[] value)
 
			- public static BigInteger Abs(BigInteger value)
 
			- public static BigInteger Add(BigInteger left, BigInteger right)
 
			- public static int Compare(BigInteger left, BigInteger right)
 
			- public static BigInteger Divide(BigInteger dividend, BigInteger divisor)
 
			- public static BigInteger DivRem(BigInteger dividend, BigInteger divisor, out BigInteger remainder)
 
			- public static BigInteger GreatestCommonDivisor(BigInteger left, BigInteger right)
 
			- public static double Log(BigInteger value, double baseValue)
 
			- public static double Log(BigInteger value)
 
			- public static double Log10(BigInteger value)
 
			- public static BigInteger Max(BigInteger left, BigInteger right)
 
			- public static BigInteger Min(BigInteger left, BigInteger right)
 
			- public static BigInteger ModInverse(BigInteger bi, BigInteger modulus)
 
			- public static BigInteger ModPow(BigInteger value, BigInteger exponent, BigInteger modulus)
 
			- public static BigInteger Multiply(BigInteger left, BigInteger right)
 
			- public static BigInteger Negate(BigInteger value)
 
			- public static BigInteger op_Addition(BigInteger left, BigInteger right)
 
			- public static BigInteger op_BitwiseAnd(BigInteger left, BigInteger right)
 
			- public static BigInteger op_BitwiseOr(BigInteger left, BigInteger right)
 
			- public static BigInteger op_Decrement(BigInteger value)
 
			- public static BigInteger op_Division(BigInteger dividend, BigInteger divisor)
 
			- public static bool op_Equality(BigInteger left, BigInteger right)
 
			- public static bool op_Equality(BigInteger left, long right)
 
			- public static bool op_Equality(long left, BigInteger right)
 
			- public static bool op_Equality(BigInteger left, ulong right)
 
			- public static bool op_Equality(ulong left, BigInteger right)
 
			- public static BigInteger op_ExclusiveOr(BigInteger left, BigInteger right)
 
			- public static int op_Explicit(BigInteger value)
 
			- public static uint op_Explicit(BigInteger value)
 
			- public static short op_Explicit(BigInteger value)
 
			- public static ushort op_Explicit(BigInteger value)
 
			- public static byte op_Explicit(BigInteger value)
 
			- public static sbyte op_Explicit(BigInteger value)
 
			- public static long op_Explicit(BigInteger value)
 
			- public static ulong op_Explicit(BigInteger value)
 
			- public static double op_Explicit(BigInteger value)
 
			- public static float op_Explicit(BigInteger value)
 
			- public static decimal op_Explicit(BigInteger value)
 
			- public static BigInteger op_Explicit(double value)
 
			- public static BigInteger op_Explicit(float value)
 
			- public static BigInteger op_Explicit(decimal value)
 
			- public static bool op_GreaterThan(BigInteger left, BigInteger right)
 
			- public static bool op_GreaterThan(BigInteger left, long right)
 
			- public static bool op_GreaterThan(long left, BigInteger right)
 
			- public static bool op_GreaterThan(BigInteger left, ulong right)
 
			- public static bool op_GreaterThan(ulong left, BigInteger right)
 
			- public static bool op_GreaterThanOrEqual(BigInteger left, BigInteger right)
 
			- public static bool op_GreaterThanOrEqual(BigInteger left, long right)
 
			- public static bool op_GreaterThanOrEqual(long left, BigInteger right)
 
			- public static bool op_GreaterThanOrEqual(BigInteger left, ulong right)
 
			- public static bool op_GreaterThanOrEqual(ulong left, BigInteger right)
 
			- public static BigInteger op_Implicit(int value)
 
			- public static BigInteger op_Implicit(uint value)
 
			- public static BigInteger op_Implicit(short value)
 
			- public static BigInteger op_Implicit(ushort value)
 
			- public static BigInteger op_Implicit(byte value)
 
			- public static BigInteger op_Implicit(sbyte value)
 
			- public static BigInteger op_Implicit(long value)
 
			- public static BigInteger op_Implicit(ulong value)
 
			- public static BigInteger op_Increment(BigInteger value)
 
			- public static bool op_Inequality(BigInteger left, BigInteger right)
 
			- public static bool op_Inequality(BigInteger left, long right)
 
			- public static bool op_Inequality(long left, BigInteger right)
 
			- public static bool op_Inequality(BigInteger left, ulong right)
 
			- public static bool op_Inequality(ulong left, BigInteger right)
 
			- public static BigInteger op_LeftShift(BigInteger value, int shift)
 
			- public static bool op_LessThan(BigInteger left, BigInteger right)
 
			- public static bool op_LessThan(BigInteger left, long right)
 
			- public static bool op_LessThan(long left, BigInteger right)
 
			- public static bool op_LessThan(BigInteger left, ulong right)
 
			- public static bool op_LessThan(ulong left, BigInteger right)
 
			- public static bool op_LessThanOrEqual(BigInteger left, BigInteger right)
 
			- public static bool op_LessThanOrEqual(BigInteger left, long right)
 
			- public static bool op_LessThanOrEqual(long left, BigInteger right)
 
			- public static bool op_LessThanOrEqual(BigInteger left, ulong right)
 
			- public static bool op_LessThanOrEqual(ulong left, BigInteger right)
 
			- public static BigInteger op_Modulus(BigInteger dividend, BigInteger divisor)
 
			- public static BigInteger op_Multiply(BigInteger left, BigInteger right)
 
			- public static BigInteger op_OnesComplement(BigInteger value)
 
			- public static BigInteger op_RightShift(BigInteger value, int shift)
 
			- public static BigInteger op_Subtraction(BigInteger left, BigInteger right)
 
			- public static BigInteger op_UnaryNegation(BigInteger value)
 
			- public static BigInteger op_UnaryPlus(BigInteger value)
 
			- public static BigInteger Parse(string value)
 
			- public static BigInteger Parse(string value, NumberStyles style)
 
			- public static BigInteger Parse(string value, IFormatProvider provider)
 
			- public static BigInteger Parse(string value, NumberStyles style, IFormatProvider provider)
 
			- public static BigInteger PositiveMod(BigInteger dividend, BigInteger divisor)
 
			- public static BigInteger Pow(BigInteger value, int exponent)
 
			- public static BigInteger Random(int bitLength)
 
			- public static BigInteger Remainder(BigInteger dividend, BigInteger divisor)
 
			- public static BigInteger Subtract(BigInteger left, BigInteger right)
 
			- public static bool TryParse(string value, out BigInteger result)
 
			- public static bool TryParse(string value, NumberStyles style, IFormatProvider provider, out BigInteger result)
 
			- public int CompareTo(object obj)
 
			- public int CompareTo(BigInteger other)
 
			- public int CompareTo(ulong other)
 
			- public int CompareTo(long other)
 
			- public bool Equals(BigInteger other)
 
			- public bool Equals(long other)
 
			- public bool Equals(ulong other)
 
			- public byte[] ToByteArray()
 
			- public string ToString(string format)
 
			- public string ToString(IFormatProvider provider)
 
			- public string ToString(string format, IFormatProvider formatProvider)
 
		
	 
	- 
		public class DerData
		
	
 
	- 
		public class HostKeyEventArgs : EventArgs
		
	
 
	- 
		public struct ObjectIdentifier
		
	
 
	- 
		public class PipeStream : Stream
		
	
 
	- 
		public class SftpException : SshException
		
	
 
	- 
		public class SftpPathNotFoundException : SshException
		
	
 
	- 
		public abstract class SshData
		
	
 
	- 
		public class SshDataStream : MemoryStream
		
	
 
Renci.SshNet.Compression
Renci.SshNet.Messages.Transport
Renci.SshNet.Security
	- 
		public class Certificate
		
	
 
	- 
		public class CertificateHostAlgorithm : HostAlgorithm
		
			- public Certificate Certificate { get; }
 
			- public CertificateHostAlgorithm(string name, Key privateKey, Certificate certificate)
 
			- public CertificateHostAlgorithm(string name, Key privateKey, Certificate certificate, DigitalSignature digitalSignature)
 
			- public CertificateHostAlgorithm(string name, Certificate certificate, IReadOnlyDictionary<string, Func<byte[], KeyHostAlgorithm>> keyAlgorithms)
 
			- public CertificateHostAlgorithm(string name, Certificate certificate, DigitalSignature digitalSignature, IReadOnlyDictionary<string, Func<byte[], KeyHostAlgorithm>> keyAlgorithms)
 
			- public CertificateHostAlgorithm(string name)
 
		
	 
	- 
		public class DsaKey : Key, IDisposable
		
	
 
	- 
		public interface IKeyExchange : IDisposable
		
	
 
	- 
		public abstract class Key
		
	
 
	- 
		public abstract class KeyExchange : Algorithm, IKeyExchange, IDisposable
		
	
 
	- 
		public class KeyExchangeDiffieHellman : KeyExchange
		
	
 
	- 
		public class KeyExchangeDiffieHellmanGroupExchange : KeyExchange
		
	
 
	- 
		public class RsaKey : Key, IDisposable
		
			- public BigInteger D { get; }
 
			- public BigInteger DP { get; }
 
			- public BigInteger DQ { get; }
 
			- public BigInteger Exponent { get; }
 
			- public BigInteger InverseQ { get; }
 
			- public BigInteger Modulus { get; }
 
			- public BigInteger P { get; }
 
			- public BigInteger Q { get; }
 
			- public BigInteger D { get; }
 
			- public BigInteger DP { get; }
 
			- public BigInteger DQ { get; }
 
			- public BigInteger Exponent { get; }
 
			- public BigInteger InverseQ { get; }
 
			- public BigInteger Modulus { get; }
 
			- public BigInteger P { get; }
 
			- public BigInteger Q { get; }
 
			- public RsaKey(BigInteger modulus, BigInteger exponent, BigInteger d, BigInteger p, BigInteger q, BigInteger inverseQ)
 
			- public RsaKey(BigInteger modulus, BigInteger exponent, BigInteger d, BigInteger p, BigInteger q, BigInteger inverseQ)
 
		
	 
	- 
		public sealed class SshKeyData : SshData
		
	
 
Renci.SshNet.Security.Cryptography
	- 
		public abstract class AsymmetricCipher : Cipher
		
	
 
	- 
		public abstract class BlockCipher : SymmetricCipher
		
			- protected BlockCipher(byte[] key, byte blockSize, CipherMode mode, IBlockCipherPadding padding)
 
			- public abstract int DecryptBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset)
 
			- public abstract int EncryptBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset)
 
			- protected BlockCipher(byte[] key, byte blockSize, CipherMode mode, CipherPadding padding)
 
		
	 
	- 
		public abstract class Cipher
		
			- public virtual int TagSize { get; }
 
		
	 
	- 
		public abstract class CipherDigitalSignature : DigitalSignature
		
	
 
	- 
		public class DsaDigitalSignature : DigitalSignature, IDisposable
		
	
 
	- 
		public class HMACMD5 : HMACMD5
		
	
 
	- 
		public class HMACSHA1 : HMACSHA1
		
	
 
	- 
		public class HMACSHA256 : HMACSHA256
		
	
 
	- 
		public class HMACSHA384 : HMACSHA384
		
	
 
	- 
		public class HMACSHA512 : HMACSHA512
		
	
 
	- 
		public abstract class StreamCipher : SymmetricCipher
		
	
 
	- 
		public abstract class SymmetricCipher : Cipher
		
			- public abstract int DecryptBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset)
 
			- public abstract int EncryptBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset)
 
		
	 
Renci.SshNet.Security.Cryptography.Ciphers
	- 
		public sealed class AesCipher : BlockCipher, IDisposable
		
			- public void Dispose(bool disposing)
 
		
	 
	- 
		public sealed class Arc4Cipher : StreamCipher
		
			- public Arc4Cipher(byte[] key, bool dischargeFirstBytes)
 
		
	 
	- 
		public sealed class BlowfishCipher : BlockCipher
		
	
 
	- 
		public sealed class CastCipher : BlockCipher
		
	
 
	- 
		public abstract class CipherPadding
		
			- protected CipherPadding()
 
			- public byte[] Pad(int blockSize, byte[] input)
 
			- public abstract byte[] Pad(int blockSize, byte[] input, int offset, int length)
 
			- public byte[] Pad(byte[] input, int paddinglength)
 
			- public abstract byte[] Pad(byte[] input, int offset, int length, int paddinglength)
 
		
	 
	- 
		public class DesCipher : BlockCipher
		
	
 
	- 
		public class RsaCipher : AsymmetricCipher
		
	
 
	- 
		public sealed class SerpentCipher : BlockCipher
		
	
 
	- 
		public sealed class TripleDesCipher : DesCipher
		
	
 
	- 
		public sealed class TwofishCipher : BlockCipher
		
	
 
Renci.SshNet.Security.Cryptography.Ciphers.Paddings
Renci.SshNet.Sftp