- BREAKING:
privateKey
config parameter no longer accepts file system paths. Please use the newprivateKeyPath
parameter instead
- Fixed manifest config for Typescript typings. #431 (Thanks @Sikarii)
- Potential fix for unhandled error events
- Fix handling of error events in
requestShell
,requestSFTP
andexecCommand
. #417 (Thanks @jackpap)
- Bump min semver version of
ssh2
tov1.5.0
- Fix exit code handling (Thanks @maquak)
- Upgrade
ssh2
tov1.1.0
- Upgrade all dev dependencies
- Minimum required version of Node.js is now v10
- Add support for Readable stream in
options.stdin
inexec
- Minor doc fixup. #340 (Thanks @smali-kazmi)
- Automatically close stdin for executed programs even when no stdin is provided. #341 (Thanks @wmertens)
- Add support for
options
inwithShell
andrequestShell
- Add ESM module exports for upcoming Node.js versions
- BREAKING: Changed export to named, so it becomes
const {NodeSSH} = require('node-ssh')
andimport {NodeSSH} from 'node-ssh'
- Export Typescript types from package
- Set default concurrency to
1
to ensure compatibility with wider array of servers
- Prefer arrow callbacks - Fixes #304 (Thanks @ururk)
- Fix unixification of paths in more places (Thanks @mbr4477)
- Unixy all paths before passing onwards
- Add
isConnected
method
- Add support for Putty private key files
- Add
getDirectory
method - Add
onChannel
support toexecCommand
- Rename
options.options
inexecCommand
to beoptions.execOptions
- Rename
options.sftpOptions
tooptions.transferOptions
inputFiles
- Add
withSFTP
andwithShell
methods - Connection timed out error is now an instance of
SSHError
- Invalid argument errors are now
AssertionError
instances onKeyboardInteractive
default will only be set if aconfig.password
is provided
- Stop swallowing non-existent cwd errors in
execCommand
#272 (Thanks @dadamssg)
- Do not include privateKey path in error message
- Potential breaking upgrade to
ssh2
dependency
- Breaking upgrade to
ssh2
dependency - Internal cleanup / testing system overhaul
- Fix timeout issue with authentication
- Fixed an issue with keyboard authentication validation
- Add keyboard authentication support (Thanks @dominiklessel)
- Add
onStdout
,onStderr
toexec{,Command}
- Change signature of
put{Files,Directory}
methods - Create empty directories remotely in
putDirectory
- Fix passing options in
execCommand
- Fix put directory for long paths
- Add tests for long paths in test suite
- Remove
mkdirp
in favor of homegrown solution to fix compatibility with SSH servers running on Windows
- Fix a typo in README
- Add support for passing direct options to
ssh2.exec
- Add sftp
opts
support ingetFile
,putFile
,putFiles
andputDirectory
- Fix support for
config.sock
- Fix a bug where
.getFile
parameters were reversed. Published as a major change because it is API breaking
- Implement sftp-backed
mkdir
- Implement
maxAtOnce
inputFiles()
- Fix a bug for windows users where
.putDirectory()
wouldn't convert paths properly ( Thanks @lanxenet )
- Rename
.end
to.dispose
- Rename
.get
to.getFile
- Rename
.put
to.putFile
- Rename
.putMulti
to.putFiles
- Add
.putDirectory
function to copy entire directories - Change order of
.getFile
parameters - Extended parameter validation in
.putFiles
- Close SFTP connections after they are used
- Hide errors from
cd
whencwd
is supplied but it does not exist - Do not throw sync errors in async functions, return a rejected promise instead
- Propagate the private key read error if it's not ENOENT (ie. permissions issue)
- Changed the signature of input in
.putFiles
(ie. lowercase the props, from Local to local and from Remote to remote)
- Escape
cwd
parameter - Escape shell parameters
- Fix more typos
- Fix
.get
's promise never resolving
- Fix some typos
- Fix
stdin
support in.exec
and.execCommand
- Return
code
andsignal
in.execCommand
ifstream
is set toboth
and in.exec
- Fix a publishing issue
- Fix method name in README
- Stricter validation of config
- Rewrite from CoffeeScript to JS
- Rename
.exec
to.execCommand
- Accept config in
.connect
instead of constructor - Add new
.exec
method that formats given parameters automatically - Do not return file contents in
.get
because we already write it to a file
- Initial release