- Made
SSHPem.decodeaccept CRLF (\r\n) line endings in addition to LF when parsing PEM content #157. Thanks @gkc.
- 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.
- 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.
- 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.
- 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].
- 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.
- Fixed streams and channel not closing after receiving SSH_Message_Channel_Close [#116]. [@cbenhagen].
- Fixed lint issues.
- Added tests.
- Updated dependencies.
- Fixed Type 'Uint8' not found issue.
- Improved Readme.
- Bug fix in SftpFileWriter for #50, #71, #100.
- Added DartShell product #101.
- Fixed dynamic return on SftpFileOpenMode in | operator #80.
- DCM updated.
- Fixed warnings related with new DCM version.
- Dependencies updated.
- Fixed Flutter 3.24 issue.
- Make the type of
SSHForwardChannel.sinktoStreamSink<List<int>>to match its super class. - Added
SSHHttpClientfor easy http request forwarding.
- Better handling of channel close.
- Make
SSHForwardChannelimplementSSHSocketfor better interoperability.
- Make
SftpFileWriterimplementFuture<void>for backward compatibility.
- Export
SftpFileWriter
SftpFile.writenow returns aSftpFileWriterthat can be used to control the writing process.- Support
SftpClient.statvfsandSftpFile.statvfs. - Support automatic keepalive.
- Update README.md
- Move cli into separate package.
- Properly handle chunk read error during stream read.
- Update README.md
- Update README.md
- Update README.md
- Upgrade
pinenaclto0.5.0. - Fix bug in exporting openssh private key to pem, thanks @PIDAMI
- Upgrade rsa authentication algorithm to rsa-sha2-256.
- Support encrypted RSA format private key
- Allow username with
@indartssh2command #24
- 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
- Fix js import path #18.
- Ignore remote data after channel closed.
- Fix lint errors
- Remove unused dependencies
- Fix lint errors
- Fix null check error in
kill()#17 - More examples in README.md
- More examples in README.md
- Limit the maximum size of channel packets
- Support session stdin streaming and EOF
- Add remoteVersion field to SSHClient
- Add description field in SSHChannelOpenError
- Update README.md
- Support export keypair to PEM
- Update README.md
- Support loading OpenSSH encrypted pem files.
- Implements local port forwarding
- Implements remote port forwarding
- Implements SFTP client
- More supported algorithms
- Added
dartsftpcommand
- Rework login logic.
dartsshcommand now supports login with public key.
dartsshcommand now supports terminal window resize.
- Add
--verboseoption indartsshcommand.
- Fix typos.
- Organize exports.
- Dependency update.
- Sound null safety.
- Replace deprecated
pedanticwithpackage:lints - Fix crash running vim by @linhanyu. #1
- Increase test coverage and documentation.
- Fix tunneled WebSocket issue.
- Add example/README.md
- Add SSHTunneledSocketImpl, SSHTunneledWebSocketImpl, and SSHTunneledBaseClient.
- Initial release.