dartssh2 2.17.0
dartssh2: ^2.17.0 copied to clipboard
SSH and SFTP client written in pure Dart, aiming to be feature-rich as well as easy to use.
2.17.0 - 2026-03-28 #
- Improved Web/WASM compatibility by updating
SSHSocketconditional imports so web runtimes consistently use the web socket shim and avoid incorrect native socket selection #88. Thanks @vicajilau. - Added local dynamic forwarding (
SSHClient.forwardDynamic) with SOCKS5NO AUTH+CONNECT, including configurable handshake/connect timeouts and connection limits. - Added AES-GCM (
aes128-gcm@openssh.com,aes256-gcm@openssh.com) AEAD groundwork in transport and cipher negotiation; currently opt-in (not enabled by default yet).chacha20-poly1305@openssh.comremains pending #26. Thanks @vicajilau.
2.16.0 - 2026-03-24 #
- BREAKING: Changed
SSHChannelController.sendEnv()fromvoidtoFuture<bool>to properly await environment variable setup responses and avoid race conditions with PTY requests #102. Thanks @itzhoujun and @vicajilau. - Clarified shell stdio wiring for CLI-only usage and guarded
example/shell.dartagainst missing local terminal handles (for example GUI-launched Windows.exe) #121. Thanks @bradmartin333 and @vicajilau. - Added support for parsing legacy unencrypted
EC PRIVATE KEYPEM format inSSHKeyPair.fromPem#109. Thanks @jooy2 and @vicajilau. - Added
SSHClient.runWithResult()to expose command output together withexitCodeandexitSignalwhile keepingrun()as a convenience API #99. Thanks @falrom and @vicajilau. - Added non-breaking high-level SFTP
download()/downloadTo()APIs and read pipeline tuning knobs (chunkSize,maxPendingRequests) for improved large-file throughput while preserving stream compatibility #124. Thanks @vicajilau. - Made SFTP directory/file name parsing tolerant to malformed UTF-8 bytes to avoid
FormatExceptionon non-UTF-8 server filenames #95. Thanks @vicajilau.
2.15.0 - 2026-03-20 #
- Updated
pointycastledependency to^4.0.0#131. Thanks @vicajilau. - Added foundational X11 forwarding support with session x11-req API, incoming x11 channel handling, and protocol tests #1. Thanks @vicajilau.
- Exposed SSH ident configuration from
SSHClient#135. Thanks @Remulic and @vicajilau. - Propagated the underlying exception in
SSHAuthAbortErrorthroughreasonfor better diagnostics #133. Thanks @james-thorpe and @vicajilau. - Accepted
SSH-1.99-*server banners as SSH-2 compatible during version exchange and added regression tests #132. Thanks @james-thorpe and @vicajilau. - Added SSH agent forwarding support (
auth-agent-req@openssh.com) with in-memory agent handling and RSA sign-request flag support #139. Thanks @Wackymax and @vicajilau. - Normalized HTTP response line parsing in
SSHHttpClientResponseto handle CRLF endings consistently and avoid trailing line-ending artifacts in parsed status/header fields #145. Thanks @vicajilau. - Fixed SFTP packet encoding/decoding consistency:
SftpInitPacket.decodenow parses extension pairs correctly andSftpExtendedReplyPacket.encodenow preserves raw payload bytes #145. Thanks @vicajilau.
2.14.0 - 2026-03-19 #
- Fixed SSH connections through bastion hosts where the target server sends its version string immediately upon connection (which is standard behavior per RFC 4253) #141. Thanks [@shihuili1218].
- Adds a new forwardLocalUnix() function, which is an equivalent of ssh -L localPort:remoteSocketPath #140. Thanks [@isegal].
2.13.0 - 2025-06-22 #
- docs: Update NoPorts naming [#115]. @XavierChanth.
- Add parameter disableHostkeyVerification #123. Thanks @alexander-irion.
- Add support for server initiated re-keying #125. Thanks @MarBazuz.
- Add support for new algorithms "mac-sha2-256-96", "hmac-sha2-512-96", "hmac-sha2-256-etm@openssh.com", "hmac-sha2-512-etm@openssh.com" #126 #127. Thanks @reinbeumer.
2.12.0 - 2025-02-08 #
- Fixed streams and channel not closing after receiving SSH_Message_Channel_Close [#116]. [@cbenhagen].
- Fixed lint issues.
- Added tests.
- Updated dependencies.
2.11.0 - 2024-11-19 #
- Fixed Type 'Uint8' not found issue.
2.10.0 - 2024-08-29 #
2.9.1-pre - 2023-04-02 #
- Make the type of
SSHForwardChannel.sinktoStreamSink<List<int>>to match its super class. - Added
SSHHttpClientfor easy http request forwarding.
2.9.0-pre - 2023-03-31 #
- Better handling of channel close.
- Make
SSHForwardChannelimplementSSHSocketfor better interoperability.
2.8.2 - 2023-03-07 #
- Make
SftpFileWriterimplementFuture<void>for backward compatibility.
2.8.1 - 2023-03-07 #
- Export
SftpFileWriter
2.8.0 - 2023-03-06 #
SftpFile.writenow returns aSftpFileWriterthat can be used to control the writing process.- Support
SftpClient.statvfsandSftpFile.statvfs. - Support automatic keepalive.
2.7.3 #
- Update README.md
- Move cli into separate package.
- Properly handle chunk read error during stream read.
2.7.2+3 #
- Update README.md
2.7.2+2 #
- Update README.md
2.7.2+1 #
- Update README.md
2.7.1 #
- Upgrade rsa authentication algorithm to rsa-sha2-256.
2.7.0 #
- Support encrypted RSA format private key
2.6.0 #
- Allow ignoring stdout or stderr in
SSHClient.run. - Add
SSHAuthFailErrorandSSHAuthAbortError. - Fix file type detection.
- Fix empty identity handling #21
- Add connection reset handing.
- Add more tests
2.4.4 #
- Fix lint errors
2.4.3 #
- Remove unused dependencies
- Fix lint errors
2.4.1 #
- More examples in README.md
- Limit the maximum size of channel packets
2.4.0 #
- Support session stdin streaming and EOF
2.3.1-pre #
- Add remoteVersion field to SSHClient
2.3.0-pre #
- Add description field in SSHChannelOpenError
2.2.0 #
- Update README.md
- Support export keypair to PEM
2.1.0-pre #
- Update README.md
- Support loading OpenSSH encrypted pem files.
2.0.0-pre #
- Implements local port forwarding
- Implements remote port forwarding
- Implements SFTP client
- More supported algorithms
- Added
dartsftpcommand
1.2.0-pre #
- Rework login logic.
dartsshcommand now supports login with public key.
1.1.4-pre #
dartsshcommand now supports terminal window resize.
1.1.3-pre #
- Add
--verboseoption indartsshcommand.
1.1.2-pre #
- Fix typos.
1.1.1-pre #
- Organize exports.
1.1.0-pre #
1.0.4+4 #
- Increase test coverage and documentation.
1.0.3+3 #
- Fix tunneled WebSocket issue.
1.0.2+2 #
- Add example/README.md
1.0.1+1 #
- Add SSHTunneledSocketImpl, SSHTunneledWebSocketImpl, and SSHTunneledBaseClient.
1.0.0+0 #
- Initial release.