Skip to content

Bump SSH.NET from 2016.1.0 to 2026.0.0 - #4

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/nuget/SSH.NET-2026.0.0
Open

Bump SSH.NET from 2016.1.0 to 2026.0.0#4
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/nuget/SSH.NET-2026.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 13, 2026

Copy link
Copy Markdown
Contributor

Updated SSH.NET from 2016.1.0 to 2026.0.0.

Release notes

Sourced from SSH.NET's releases.

2026.0.0

Highlights

  • Add overloads of DownloadFileAsync and UploadFileAsync taking an IProgress argument (#​1771)
  • Significantly reduced memory allocations in all scenarios. For SFTP:
Operation File size Version Allocated
SFTP Download 1MB 2025.1.0 3.2MB
SFTP Download 1MB 2026.0.0 0.1MB
SFTP Download 8MB 2025.1.0 24.8MB
SFTP Download 8MB 2026.0.0 0.7MB
SFTP Download 64MB 2025.1.0 197.8MB
SFTP Download 64MB 2026.0.0 4.8MB
SFTP Upload 1MB 2025.1.0 4.1MB
SFTP Upload 1MB 2026.0.0 0.0MB
SFTP Upload 8MB 2025.1.0 32.5MB
SFTP Upload 8MB 2026.0.0 0.3MB
SFTP Upload 64MB 2025.1.0 259.5MB
SFTP Upload 64MB 2026.0.0 1.9MB

Breaking changes

  • None known

What's Changed

2025.1.0

Highlights

  • Add DownloadFileAsync and UploadFileAsync to SftpClient (#​1634)
  • Much improved performance of SftpFileStream in consecutive read (e.g. SftpFileStream.CopyTo) scenarios (#​1705)

Breaking changes:

  • SftpFileStream previously had some incomplete synchronisation for multi-threaded access, but was not advertised nor fully functioning as thread safe. This synchronisation was removed in #​1705. When accessing an SftpFileStream instance from multiple threads simultaneously, ensure there exists appropriate synchronisation.
  • SftpClient.CreateText and WriteAll{Bytes/Text/Lines} were changed in #​1686 to truncate the file before writing if it exists, to align with the equivalent methods on System.IO.File. Given that the prior behaviour was 14 years old, the change treads the line between breaking change and bug fix.
  • IEnumerable<string> ReadLines on SftpClient was updated in #​1681 to download and yield lines during enumeration rather than reading them all up front and returning the result. This means that the connection must be active during enumeration. When storing the result of ReadLines for later use, consider using string[] ReadAllLines instead.

What's Changed

2025.0.0

Highlights

  • Add support for post-quantum key exchange methods sntrup761x25519-sha512 and mlkem768x25519-sha256
  • Add support for PuTTY private key files
  • Add logging capability via Microsoft.Extensions.Logging

Breaking changes

  • Support for DSA was dropped in #​1558
  • CipherPadding was deleted in #​1546 and uses replaced with Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding
  • See the full API diff at the end

What's Changed

2024.2.0

New features

  • Add support for PKCS#​8 private key files
  • Add additional async overloads on SftpClient
  • Add support for OpenSSH certificates
  • Add support for chacha20-poly1305@​openssh.com cipher algorithm
  • Increase support for aes*-gcm@​openssh.com and zlib@​openssh.com on lower targets

This release takes a dependency on BouncyCastle in an effort to eliminate primitive crypto code from the library. It also takes a dependency on System.Formats.Asn1 on lower targets.

Breaking changes

  • A number of legacy algorithms were dropped in #​1442
  • The implementation of DSA was changed from using handwritten code to using System.Cryptography in #​1458. See the PR description for behaviour changes this could cause.
  • Renci.SshNet.Common.BigInteger was deleted and its uses replaced with System.Numerics.BigInteger in #​1469
  • Renci.SshNet.Common.DerData and Renci.SshNet.Common.ObjectIdentifier were deleted in #​1490 and uses replaced with System.Formats.Asn1
  • See the full API diff at the end

What's Changed

2024.1.0

New features:

  • Add support for aes*-gcm@​openssh.com cipher algorithms on .NET 6+
  • Add cancellation of SshCommand via signals
  • Add SshCommand.ExecuteAsync
  • Add support for zlib@​openssh.com compression algorithm on .NET 6+

Breaking changes:

  • SshCommand.ExitStatus was changed in #​1423 from returning int to returning int? to reflect the fact that an exit status may not always be returned.
  • PipeStream (which provides the implementation of SshCommand.OutputStream and ExtendedOutputStream) was rewritten in #​1399 to fix a number of bugs and become more "stream-like". As such:
    • It may now block where previously it may have returned 0 prematurely
    • It may now return partial data where previously it may have blocked until a certain amount of data was available.
    • The properties BlockLastReadBuffer and MaxBufferLength have been removed.
  • CommandAsyncResult was deleted in #​1426
  • RsaCipher, AsymmetricCipher and CipherDigitalSignature were deleted in #​1373
  • Encrypt/DecryptBlock were moved down from SymmetricCipher to BlockCipher in #​1369
  • The previously nonfunctional ZlibStream was deleted and the API of Compressor was changed in #​1326
  • SftpFileSytemInformation was renamed to SftpFileSystemInformation in #​1425
  • See the full API diff at the end

What's Changed

2024.0.0

New features:

  • ShellStream has been completely rewritten, all bugs fixed and performance improved.
  • Allow writing to stdin of SshCommand
  • Support for Trimming and AOT
  • Add new MAC algorithms:
    • hmac-md5-etm@​openssh.com
    • hmac-md5-96-etm@​openssh.com
    • hmac-sha1-etm@​openssh.com
    • hmac-sha1-96-etm@​openssh.com
    • hmac-sha2-256-etm@​openssh.com
    • hmac-sha2-512-etm@​openssh.com
  • Drop old MAC algorithms:
    • hmac-ripemd160
    • hmac-ripemd160@​openssh.com

The list of changes:

New Contributors

... (truncated)

2023.0.1

New features:

  • Improve SFTP performance on medium/high latency connections
  • Use System.Security.Cryptography in AesCipher
  • Use hardware-accelerated AES
  • Add support for .NET 8.0
  • Reduces heap allocations
  • And many more.

The list of changes:

2023.0.0

New features:

  • Support for .NET 6, 7, and .NET Standard 2.1
  • Support for RSA-SHA256/512 signature algorithms
  • Support for parsing OpenSSH keys with ECDSA 256/384/521 and RSA
  • Support for SHA256 and MD5 fingerprints for host key validation
  • Added async support to SftpClient and SftpFileStream
  • Added ISftpFile interface to SftpFile
  • Removed support for old target frameworks
  • Improved performance and stability
  • Added the ability to set the last write and access time for Sftp files

The list of changes:

2020.0.2

This release fixes a security vulnerability in our X25519 key exchange that could allow an attacker to eavesdrop the
communications to decrypt them.

More information is available in advisory CVE-2022-29245.

2020.0.1

Fixes

General

  • Support LF as line ending for banner and identification string

    Even though RFC 4253 requires that an identification string MUST be terminated by a carriage return and line feed, this fix restores support for banners and identification strings that are only terminated by a line feed.
    This is a workaround for an issue in version 7.4 of OpenSSH which was fixed in version 7.5.

    Fixes issue #​761.

Feedback

Target framework support

While our list of supported target frameworks is impressive, it does come with a cost. Some of these target frameworks are no longer supported by Microsoft and even required software that is no longer available for download.

We'd like to gather feedback from our users through this issue to learn how important it is to continue supporting all these target frameworks.

Twitter

Do you want to keep track of general progress and annoucements for SSH.NET? You can now follow us on Twitter.

Supporting SSH.NET

Do you or your company rely on SSH.NET in your projects? If you want to encourage us to keep on going and show us that you appreciate our work, please consider becoming a sponsor through GitHub Sponsors.

2020.0.0

Changes

Target framework support

This release of SSH.NET adds support for .NET Standard 2.0.
This brings the full list of the supported target frameworks to:

  • .NET Framework 3.5
  • .NET Framework 4.0 (and higher)
  • .NET Standard 1.3
  • .NET Standard 2.0
  • Silverlight 4
  • Silverlight 5
  • Windows Phone 7.1
  • Windows Phone 8.0
  • Universal Windows Platform 10

Fixes issue #​357, #​436 and #​474.

Key exchange algorithms

SSH.NET now supports the following additional key exchange algorithms:

  • curve25519-sha256
  • curve25519-sha256@​libssh.org
  • ecdh-sha2-nistp256
  • ecdh-sha2-nistp384
  • ecdh-sha2-nistp521
  • diffie-hellman-group14-sha256
  • diffie-hellman-group16-sha512

Fixes issue #​53, #​406 and #​504.

Host key algorithms

The following additional host key algorithms are now supported:

  • ssh-ed25519
  • ecdsa-sha2-nistp256
  • ecdsa-sha2-nistp384
  • ecdsa-sha2-nistp521

Public key authentication

SSH.NET now supports the following private key formats:

  • RSA in OpenSSL PEM and ssh.com format
  • DSA in OpenSSL PEM and ssh.com format
  • ECDSA 256/384/521 in OpenSSL PEM format
  • ED25519 in OpenSSH key format

Fixes issue #​485.

Troubleshooting

Until now any issue related to Protocol Version Exchange would be reported using a single message:

... (truncated)

2020.0.0-beta1

Changes

Target framework support

This release of SSH.NET adds support for .NET Standard 2.0.
This brings the full list of the supported target frameworks to:

  • .NET Framework 3.5
  • .NET Framework 4.0 (and higher)
  • .NET Standard 1.3
  • .NET Standard 2.0
  • Silverlight 4
  • Silverlight 5
  • Windows Phone 7.1
  • Windows Phone 8.0
  • Universal Windows Platform 10

Fixes issue #​357, #​436 and #​474.

Key exchange algorithms

SSH.NET now supports the following additional key exchange algorithms:

  • curve25519-sha256
  • curve25519-sha256@​libssh.org
  • ecdh-sha2-nistp256
  • ecdh-sha2-nistp384
  • ecdh-sha2-nistp521
  • diffie-hellman-group14-sha256
  • diffie-hellman-group16-sha512

Fixes issue #​53, #​406 and #​504.

Host key algorithms

The following additional host key algorithms are now supported:

  • ssh-ed25519
  • ecdsa-sha2-nistp256
  • ecdsa-sha2-nistp384
  • ecdsa-sha2-nistp521

Public key authentication

SSH.NET now supports the following private key formats:

  • RSA in OpenSSL PEM and ssh.com format
  • DSA in OpenSSL PEM and ssh.com format
  • ECDSA 256/384/521 in OpenSSL PEM format
  • ED25519 in OpenSSH key format

Fixes issue #​485.

Channel close timeout

A ChannelCloseTimeout property has been introduced on ConnectionInfo that controls the timeout to apply when waiting for a server to acknowledge closing a channel. The default value is 1 second.

... (truncated)

Commits viewable in compare view.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

---
updated-dependencies:
- dependency-name: SSH.NET
  dependency-version: 2026.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code labels Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants