Skip to content

Releases: tmds/Tmds.Ssh

0.20.1

18 May 04:36
edaace7

Choose a tag to compare

Improvements/fixes

  • SFTP: truncate overwritten remote file when upload source is smaller. (#471)
  • HostKeyVerification: support wildcard patterns for principal matching, reject certs with empty principals (#462)

0.20.0

12 Mar 05:26

Choose a tag to compare

Breaking

  • RemoteProcess: remove obsolete ExitCode/ExitSignal/WaitForExitAsync members. (#452)

New features

  • UploadEntriesOptions: implement ShouldInclude. (#448)

Improvements/fixes

  • Add a collection debug view for the AlgorithmList. (#447)
  • Various fixes. (#453)
  • PublicKey: fix Equals always returning false. (#454)
  • Connect: support IPv6 connections. (#455)
  • ClientCertificateParser: fix Trim. (#458)
  • SshConfig: fix inverted logic in ThrowUnsupportedWhenKeywordValueIsNot. (#456)
  • SshConfig: fix CertificateFile "none" checking against IdentityFiles. (#457)
  • HostCertificateInfo: do case-insensitive certificate principal matching. (#459)
  • HMac: use constant-time comparison. (#461)
  • KnownHostsFile: fix ? pattern matching. (#460)

0.19.0

12 Dec 13:46
4f2c0cc

Choose a tag to compare

Tmds.Ssh:

  • RemoteProcess: add GetExit{Code,Status}Async methods which obsolete ExitCode/ExitSignal/WaitForExitAsync. (#443)
  • SshClientSettings: support configuring the connection algorithms. (#445)

0.18.1

08 Dec 12:56
486c2c7

Choose a tag to compare

Tmds.Ssh:

  • RemoteProcess.{StandardInputStream/StandardOutputStream}: only wrap SshExceptions in IOException. (#441)

0.18.0

06 Dec 11:22

Choose a tag to compare

Tmds.Ssh:

  • RemoteProcess: add APIs for reading stdout via Stream/StreamReader. (#432)
  • KeyExchange: refactor the implementations to share the TryExchangeAsync control flow. (#431)
  • Add API documentation (#433, #434, #435, #436)

Documentation:

0.17.2

24 Jul 11:01
c9c85fa

Choose a tag to compare

ssh-cp:

  • Release global tool to copy files using SFTP (#423)

ssh:

  • logging and exceptions are written to stdout (#422)

0.17.1

11 Jul 15:57
8ba5d82

Choose a tag to compare

  • ssh: handle Window size changes on Windows (#421)

0.17.0

10 Jul 16:16
dae7987

Choose a tag to compare

SshClient:

  • On .NET 10, use the BCL MLKem class for mlkem768x25519-sha256 (#403)
  • ssh_config options: support PasswordAuthentication (#405) and BatchMode (#407),

SftpClient:

  • Use limits@openssh.com server limits for packet size, read and write length (#399)
  • Support Upload/Download for special file systems that report non-empty files with a zero length (#401)
  • Download/UploadDirectoryEntriesAsync: support creating the target directory (#413)

ssh:

  • The ssh example application (which provides a CLI similar to OpenSSH ssh) is provided as a .NET global tool.

Breaking API changes:

  • HostAuthentication delegate arguments have moved to the HostAuthenticationContext struct (#406)
  • PasswordCredential: the constructor that accepts a prompt was replaced by another constructor that accepts a PasswordPrompt delegate (#407)
  • Download/UploadEntriesOptions: the RecurseSubdirectories property was renamed to IncludeSubdirectories, and when set to false empty directories are no longer created (#412)

Behavior changes:

  • Download/UploadDirectoryEntriesAsync no longer fails for existing directories when Overwrite is set to false (#417)
  • Download/UploadDirectoryEntriesAsync defaults to create the target directory (#418)

0.16.0

26 Mar 07:41

Choose a tag to compare

  • SftpClient: support recursive directory delete. (#396)
  • Remove obsolete members. (#397)

0.15.0

13 Mar 12:03

Choose a tag to compare

  • SshClient: add ExecuteShell. (#382)
  • RemoteProcess:: Support terminal allocation. (#373)
  • RemoteProcess: add API to read into char[] buffers. (#375)
  • RemoteProcess: support changing the terminal size. (#381)
  • RemoteProcess: add SendSignal API. (#384)
  • RemoteProcess: Support setting envvars for execute. (#388)
  • SftpClient: Map unrecognized file types to 'WeirdFile' instead of throwing. (#370)
  • SftpClient: [breaking] allow extended attributes to be binary blobs. (#372)
  • SftpClient: Add interface that represents an SFTP working directory. (#389)
  • SftpClient: by default, don't read any extended attributes. (#391)

Breaking changes: due to some refactorings the library is not binary compatible with the previous version. Except for the change to handle extended attributes as binary blobs, the API is source compatible.