diff --git a/.npmignore b/.npmignore
index 1f7f740..cf5970a 100644
--- a/.npmignore
+++ b/.npmignore
@@ -10,6 +10,7 @@ example
env-turing
env-turing2
env-vbox
+env-vbox2
env-win10
.eslintrc.js
.mocharc.js
diff --git a/README.md b/README.md
index 1d110af..f193be1 100644
--- a/README.md
+++ b/README.md
@@ -1,94 +1,96 @@
# Table of Contents
-1. [SSH2 SFTP Client](#org1ad6fa1)
-2. [Installation](#org60eddc8)
-3. [Basic Usage](#orgd5c393f)
-4. [Version 5.x](#orga383afe)
- 1. [Breaking Changes in Version 5.x](#org455b379)
- 1. [Error Event Handling](#org43b7b37)
- 2. [Technical Details](#orgbd461e6)
- 2. [New Methods](#orgcdb0555)
- 3. [Version 5.0.1](#orgad590a3)
- 4. [Version 5.0.2](#orgf391d3c)
- 5. [Version 5.1.0](#orgf4b2c86)
- 6. [Version 5.1.1](#org79422ee)
- 7. [Version 5.1.2](#org9d53885)
-5. [Documentation](#org2eeb5af)
- 1. [Specifying Paths](#org81f499a)
- 2. [Methods](#org29c15d2)
- 1. [new SftpClient(name) ===> SFTP client object](#org4d86d8e)
- 2. [connect(config) ===> SFTPstream](#org1ff0f58)
- 3. [list(path, pattern) ==> Array[object]](#org8703568)
- 4. [exists(path) ==> boolean](#org62ac504)
- 5. [stat(path) ==> object](#org4c30788)
- 6. [get(path, dst, options) ==> String|Stream|Buffer](#org0b9ca27)
- 7. [fastGet(remotePath, localPath, options) ===> string](#orgde9c383)
- 8. [put(src, remotePath, options) ==> string](#orgbbb7529)
- 9. [fastPut(localPath, remotePath, options) ==> string](#org28a5719)
- 10. [append(input, remotePath, options) ==> string](#org395f9b0)
- 11. [mkdir(path, recursive) ==> string](#orgaa2e982)
- 12. [rmdir(path, recursive) ==> string](#org36887b6)
- 13. [delete(path) ==> string](#org2a7da63)
- 14. [rename(fromPath, toPath) ==> string](#org418ebcc)
- 15. [chmod(path, mode) ==> string](#org1c076b7)
- 16. [realPath(path) ===> string](#org39dfe89)
- 17. [cwd() ==> string](#orgb9fbf50)
- 18. [uploadDir(srcDir, dstDir) ==> string](#org98dcbdd)
- 19. [downloadDir(srcDir, dstDir) ==> string](#org74a33a7)
- 20. [end() ==> boolean](#org52089bf)
- 21. [Add and Remove Listeners](#orgbe02de2)
-6. [FAQ](#orge5a2aba)
- 1. [Remote server drops connections with only an end event](#org768a3b0)
- 2. [How can you pass writable stream as dst for get method?](#orgf82bb81)
- 3. [How can I upload files without having to specify a password?](#org8925da2)
- 4. [How can I connect through a Socks Proxy](#orgf0883f5)
- 5. [Timeout while waiting for handshake or handshake errors](#orgb31c9b4)
-7. [Examples](#orge495c38)
-8. [Change Log](#orgcf098cf)
- 1. [v5.1.2 (Prod Version)](#orgde757e6)
- 2. [v5.1.1](#org0763156)
- 3. [v5.1.0](#orgdf456b3)
- 4. [v5.0.2](#org21c093f)
- 5. [v5.0.1](#org3504144)
- 6. [v5.0.0](#orga233623)
- 7. [v4.3.1](#org42f4261)
- 8. [v4.3.0](#org0f94900)
- 9. [v4.2.4](#orgb867fe3)
- 10. [v4.2.3](#org0a6560e)
- 11. [v4.2.2](#org994bcd2)
- 12. [v4.2.1](#orgd791721)
- 13. [v4.2.0](#org4fd1c2b)
- 14. [v4.1.0](#orgf28756d)
- 15. [v4.0.4](#orgfb7d945)
- 16. [v4.0.3](#org7997fc7)
- 17. [v4.0.2](#org2075221)
- 18. [v4.0.0](#orgcd475d9)
- 19. [v2.5.2](#orgaf9beb7)
- 20. [v2.5.1](#org6b724ff)
- 21. [v2.5.0](#orgda5969c)
- 22. [v2.4.3](#org87f39dc)
- 23. [v2.4.2](#org074dd10)
- 24. [v2.4.1](#org64c8439)
- 25. [v2.4.0](#org792492e)
- 26. [v2.3.0](#org956e073)
- 27. [v3.0.0 – deprecate this version](#orgaaf3542)
- 28. [v2.1.1](#org3e692f4)
- 29. [v2.0.1](#orgc529ba2)
- 30. [v1.1.0](#orgfb1570f)
- 31. [v1.0.5:](#orga1ce9a9)
-9. [Troubleshooting](#orgef2a7e9)
- 1. [Common Errors](#org256a570)
- 1. [Not returning the promise in a `then()` block](#orgcec4e71)
- 2. [Mixing Promise Chains and Async/Await](#orgffde808)
- 3. [Try/catch and Error Handlers](#org5cd8951)
- 2. [Debugging Support](#org8bf8325)
-10. [Logging Issues](#org101671b)
-11. [Pull Requests](#org5fd4dfc)
-12. [Contributors](#org16be7be)
-
-
-
+1. [SSH2 SFTP Client](#org817c449)
+2. [Installation](#org0eb9834)
+3. [Basic Usage](#org14a896b)
+4. [Version 5.x](#org0dbbcb2)
+ 1. [Breaking Changes in Version 5.x](#orgdfd1c90)
+ 1. [Error Event Handling](#org0d66d5b)
+ 2. [Technical Details](#org364c9a6)
+ 2. [New Methods](#org6c43c80)
+ 3. [Version 5.0.1](#org7610374)
+ 4. [Version 5.0.2](#org2cac326)
+ 5. [Version 5.1.0](#org7a66880)
+ 6. [Version 5.1.1](#org74ded7b)
+ 7. [Version 5.1.2](#org3398122)
+ 8. [Version 5.1.3](#org78f7f9b)
+5. [Documentation](#org1fe4c7b)
+ 1. [Specifying Paths](#orgba93adb)
+ 2. [Methods](#org6886609)
+ 1. [new SftpClient(name) ===> SFTP client object](#org2c18421)
+ 2. [connect(config) ===> SFTPstream](#orgfaa440c)
+ 3. [list(path, pattern) ==> Array[object]](#org4f3bf06)
+ 4. [exists(path) ==> boolean](#org92e158e)
+ 5. [stat(path) ==> object](#org32bc828)
+ 6. [get(path, dst, options) ==> String|Stream|Buffer](#org923d83e)
+ 7. [fastGet(remotePath, localPath, options) ===> string](#org0d24ba1)
+ 8. [put(src, remotePath, options) ==> string](#orge585f36)
+ 9. [fastPut(localPath, remotePath, options) ==> string](#org12220b0)
+ 10. [append(input, remotePath, options) ==> string](#org0180b9a)
+ 11. [mkdir(path, recursive) ==> string](#orgd067418)
+ 12. [rmdir(path, recursive) ==> string](#orgd3f123a)
+ 13. [delete(path) ==> string](#org69be9f3)
+ 14. [rename(fromPath, toPath) ==> string](#org8d919b1)
+ 15. [chmod(path, mode) ==> string](#orgc330621)
+ 16. [realPath(path) ===> string](#org66bee8c)
+ 17. [cwd() ==> string](#orgd9e2fe1)
+ 18. [uploadDir(srcDir, dstDir) ==> string](#orga9b9bbb)
+ 19. [downloadDir(srcDir, dstDir) ==> string](#org2635adb)
+ 20. [end() ==> boolean](#org4f13080)
+ 21. [Add and Remove Listeners](#orgb111ac1)
+6. [FAQ](#orgdfc9a77)
+ 1. [Remote server drops connections with only an end event](#orga5e9ff3)
+ 2. [How can you pass writable stream as dst for get method?](#org392ed36)
+ 3. [How can I upload files without having to specify a password?](#org3cdd59a)
+ 4. [How can I connect through a Socks Proxy](#org175aa98)
+ 5. [Timeout while waiting for handshake or handshake errors](#orgbe77e2c)
+7. [Examples](#orgc2dedcc)
+8. [Change Log](#org7100c74)
+ 1. [v5.1.3 (Prod Version)](#org1247671)
+ 2. [v5.1.2](#org60071d2)
+ 3. [v5.1.1](#orge044f5a)
+ 4. [v5.1.0](#org41bc615)
+ 5. [v5.0.2](#org414cfd0)
+ 6. [v5.0.1](#org9a73980)
+ 7. [v5.0.0](#org4135728)
+ 8. [v4.3.1](#orgee32db2)
+ 9. [v4.3.0](#orgbafeeaa)
+ 10. [v4.2.4](#org6613403)
+ 11. [v4.2.3](#org2ba5e37)
+ 12. [v4.2.2](#org9dd003a)
+ 13. [v4.2.1](#orge71a506)
+ 14. [v4.2.0](#org8a42572)
+ 15. [v4.1.0](#orgad1aca1)
+ 16. [v4.0.4](#orgdbd85c3)
+ 17. [v4.0.3](#orge83d01d)
+ 18. [v4.0.2](#orgcb76f61)
+ 19. [v4.0.0](#org332fddb)
+ 20. [v2.5.2](#orgcb7140a)
+ 21. [v2.5.1](#org0fc2247)
+ 22. [v2.5.0](#org0067297)
+ 23. [v2.4.3](#orgc107b01)
+ 24. [v2.4.2](#org8181847)
+ 25. [v2.4.1](#org28b3c6b)
+ 26. [v2.4.0](#org2b2a2ec)
+ 27. [v2.3.0](#org422a6a5)
+ 28. [v3.0.0 – deprecate this version](#orgb79562c)
+ 29. [v2.1.1](#orgd4575a6)
+ 30. [v2.0.1](#orgded1628)
+ 31. [v1.1.0](#org22bb045)
+ 32. [v1.0.5:](#orga4a5d0c)
+9. [Troubleshooting](#orgb9e0ec7)
+ 1. [Common Errors](#org058762e)
+ 1. [Not returning the promise in a `then()` block](#org16f7365)
+ 2. [Mixing Promise Chains and Async/Await](#org99740c4)
+ 3. [Try/catch and Error Handlers](#org341d24a)
+ 2. [Debugging Support](#org62acaa5)
+10. [Logging Issues](#org3d76281)
+11. [Pull Requests](#org01b6de9)
+12. [Contributors](#org5eed057)
+
+
+
# SSH2 SFTP Client
@@ -98,21 +100,30 @@ convenience abstraction as well as a Promise based API.
Documentation on the methods and available options in the underlying modules can
be found on the [SSH2](https://github.com/mscdex/ssh2) and [SSH2-STREAMS](https://github.com/mscdex/ssh2-streams/blob/master/SFTPStream.md) project pages.
-Current stable release is **v5.1.1**.
+Current stable release is **v5.1.3**.
-Code has been tested against Node versions 10.18.1, 12.14.1 and 13.6.0
+Code has been tested against Node versions 12.18.0 and 13.14.0
Node versions < 10.x are not supported.
+WARNING There is currently an issue with both the fastPut() and fastGet()
+methods when using Node versions greater than 14.0.0. This is a bug in the
+underlying ssh2-streams library and needs to be fixed upstream. The issue
+appears to be related to the concurrency operations of these two functions. A
+workaround is to set concurrency to 1 using the options object. Alternatively,
+use get() or put(), which do not use concurrency and which will provide the same
+performance as fastGet() or fastPut() when they are set to use a concurrency
+of 1. A bug report has been logged against the ssh2-streams library as [issue 156](https://github.com/mscdex/ssh2-streams/issues/156).
-
+
+
# Installation
npm install ssh2-sftp-client
-
+
# Basic Usage
@@ -133,12 +144,12 @@ Node versions < 10.x are not supported.
});
-
+
# Version 5.x
-
+
## Breaking Changes in Version 5.x
@@ -167,7 +178,7 @@ Node versions < 10.x are not supported.
occur during a call to end the connection.
-
+
### Error Event Handling
@@ -263,7 +274,7 @@ want to end, then you can just ignore the error, perform any necessary
cleanup work and exit successfully.
-
+
### Technical Details
@@ -283,7 +294,7 @@ further attempts to use it and finally, ensure the `this.errorHandler` flag is
reset to false in preparation for the next error.
-
+
## New Methods
@@ -299,7 +310,7 @@ reset to false in preparation for the next error.
any local files in the directories.
-
+
## Version 5.0.1
@@ -309,7 +320,7 @@ reset to false in preparation for the next error.
this issue.
-
+
## Version 5.0.2
@@ -318,7 +329,7 @@ reset to false in preparation for the next error.
the use of path.posix.parse() instead of path.parse().
-
+
## Version 5.1.0
@@ -331,7 +342,7 @@ reset to false in preparation for the next error.
you cannot determine parent directory.
-
+
## Version 5.1.1
@@ -351,7 +362,7 @@ reset to false in preparation for the next error.
called before the transfer has completed.
-
+
## Version 5.1.2
@@ -363,7 +374,16 @@ reset to false in preparation for the next error.
listener 'leakage' due to failure to remove listeners when no longer required.
-
+
+
+## Version 5.1.3
+
+- Fix issue with permissions for writing to root directory
+- Cleanup tests to use less connections and eliminate need for test delays
+- Bumped some dependencies to latest versions
+
+
+
# Documentation
@@ -374,7 +394,7 @@ All the methods will return a Promise, except for `on()` and
`removeListener()`, which are typically only used in special use cases.
-
+
## Specifying Paths
@@ -418,12 +438,12 @@ This will copy the local file `test.txt` to the remote file `test-copy.txt` in
the directory `/remote/dir`.
-
+
## Methods
-
+
### new SftpClient(name) ===> SFTP client object
@@ -462,7 +482,7 @@ client has thrown the error.
});
-
+
### connect(config) ===> SFTPstream
@@ -532,7 +552,7 @@ available [here](https://github.com/mscdex/ssh2#user-content-client-methods)
});
-
+
### list(path, pattern) ==> Array[object]
@@ -605,7 +625,7 @@ directory.
anchor matches to the beginning/end of the string etc.
-
+
### exists(path) ==> boolean
@@ -640,7 +660,7 @@ if it exists or false if it does not.
});
-
+
### stat(path) ==> object
@@ -687,7 +707,7 @@ Returns the attributes associated with the object pointed to by `path`.
});
-
+
### get(path, dst, options) ==> String|Stream|Buffer
@@ -748,7 +768,7 @@ better off using the `fastGet()` method.
decompress a gzip file 'on the fly'.
-
+
### fastGet(remotePath, localPath, options) ===> string
@@ -791,7 +811,7 @@ throughput. This is the simplest method if you just want to download a file.
});
-
+
### put(src, remotePath, options) ==> string
@@ -844,7 +864,7 @@ stream are piped to the `remotePath` on the server.
- **Tip:** If the src argument is a path string, consider just using `fastPut()`.
-
+
### fastPut(localPath, remotePath, options) ==> string
@@ -887,7 +907,7 @@ Uploads the data in file at `localPath` to a new file on remote server at
});
-
+
### append(input, remotePath, options) ==> string
@@ -932,7 +952,7 @@ in to the file.
});
-
+
### mkdir(path, recursive) ==> string
@@ -961,7 +981,7 @@ defaults to false.
});
-
+
### rmdir(path, recursive) ==> string
@@ -991,7 +1011,7 @@ action will fail.
});
-
+
### delete(path) ==> string
@@ -1016,7 +1036,7 @@ Delete a file on the remote server.
});
-
+
### rename(fromPath, toPath) ==> string
@@ -1041,7 +1061,7 @@ necessary permissions to modify the remote file.
});
-
+
### chmod(path, mode) ==> string
@@ -1069,7 +1089,7 @@ directory.
});
-
+
### realPath(path) ===> string
@@ -1081,14 +1101,14 @@ path is not valid.
does not expand '~'.
-
+
### cwd() ==> string
Returns what the server believes is the current remote working directory.
-
+
### uploadDir(srcDir, dstDir) ==> string
@@ -1154,7 +1174,7 @@ using the `on()` method.
});
-
+
### downloadDir(srcDir, dstDir) ==> string
@@ -1220,7 +1240,7 @@ the `on()` method.
});
-
+
### end() ==> boolean
@@ -1243,7 +1263,7 @@ resources. This function also removes all listeners associated with the client.
});
-
+
### Add and Remove Listeners
@@ -1269,12 +1289,12 @@ them have any meaning in the context of SFTP. These are
the `end()` method automatically removes all listeners from the client object.
-
+
# FAQ
-
+
## Remote server drops connections with only an end event
@@ -1304,7 +1324,7 @@ that the 1st connection has completed authentication before the 11th connection
is attempted.
-
+
## How can you pass writable stream as dst for get method?
@@ -1368,7 +1388,7 @@ bring them across before saving to local file system.
});
-
+
## How can I upload files without having to specify a password?
@@ -1403,7 +1423,7 @@ configuration.
}
-
+
## How can I connect through a Socks Proxy
@@ -1437,7 +1457,7 @@ This solution was provided by @jmorino.
// client is connected
-
+
## Timeout while waiting for handshake or handshake errors
@@ -1452,7 +1472,7 @@ documentation for details. Getting these parameters correct usually resolves the
issue.
-
+
# Examples
@@ -1463,20 +1483,31 @@ handling and may contain errors. However, I think they are still useful for
helping developers see how the module and API can be used.
-
+
# Change Log
-
+
+
+## v5.1.3 (Prod Version)
+
+- Fix bug when writing to root directory and failure due to not being able to
+ determine parent
+- Refactor some tests to eliminate need to have artificial delays between
+ tests
+- Bumped some dependency versions to latest version
+
+
+
-## v5.1.2 (Prod Version)
+## v5.1.2
- Added back global close handler
- Added dumpListeners() method
-
+
## v5.1.1
@@ -1486,7 +1517,7 @@ helping developers see how the module and API can be used.
common errors.
-
+
## v5.1.0
@@ -1497,7 +1528,7 @@ helping developers see how the module and API can be used.
- Bump ssh2 version to v0.8.8
-
+
## v5.0.2
@@ -1505,7 +1536,7 @@ helping developers see how the module and API can be used.
- Fix problem with parsing of file paths
-
+
## v5.0.1
@@ -1513,7 +1544,7 @@ helping developers see how the module and API can be used.
where user does not have read permission on parent directory.
-
+
## v5.0.0
@@ -1532,7 +1563,7 @@ helping developers see how the module and API can be used.
- Any error events fired during an `end()` call are now ignored.
-
+
## v4.3.1
@@ -1542,7 +1573,7 @@ helping developers see how the module and API can be used.
causing uncaughtException erros and causing the process to exit.
-
+
## v4.3.0
@@ -1552,7 +1583,7 @@ helping developers see how the module and API can be used.
`error.message`.
-
+
## v4.2.4
@@ -1561,7 +1592,7 @@ helping developers see how the module and API can be used.
- Clarify documentation on get() method
-
+
## v4.2.3
@@ -1570,7 +1601,7 @@ helping developers see how the module and API can be used.
- Clean up mkdir example
-
+
## v4.2.2
@@ -1578,7 +1609,7 @@ helping developers see how the module and API can be used.
- Added additional examples in the `example` directory
-
+
## v4.2.1
@@ -1592,7 +1623,7 @@ helping developers see how the module and API can be used.
debugging
-
+
## v4.2.0
@@ -1603,7 +1634,7 @@ helping developers see how the module and API can be used.
- Added additional examples in `example` directory
-
+
## v4.1.0
@@ -1620,7 +1651,7 @@ helping developers see how the module and API can be used.
- Add `cwd()` method
-
+
## v4.0.4
@@ -1628,7 +1659,7 @@ helping developers see how the module and API can be used.
- Fix return value from `get()`
-
+
## v4.0.3
@@ -1636,14 +1667,14 @@ helping developers see how the module and API can be used.
- Modify exists() to always return 'd' if path is '.'
-
+
## v4.0.2
- Fix some minor packaging issues
-
+
## v4.0.0
@@ -1661,7 +1692,7 @@ helping developers see how the module and API can be used.
- Added the `removeListener()` method to compliment the existing `on()` method.
-
+
## v2.5.2
@@ -1669,21 +1700,21 @@ helping developers see how the module and API can be used.
- Fix error in package.json pointing to wrong repository
-
+
## v2.5.1
- Apply 4 pull requests to address minor issues prior to transfer
-
+
## v2.5.0
- ???
-
+
## v2.4.3
@@ -1691,7 +1722,7 @@ helping developers see how the module and API can be used.
- fix connect promise if connection ends
-
+
## v2.4.2
@@ -1699,7 +1730,7 @@ helping developers see how the module and API can be used.
- fix windows path
-
+
## v2.4.1
@@ -1707,7 +1738,7 @@ helping developers see how the module and API can be used.
- bug fix
-
+
## v2.4.0
@@ -1720,7 +1751,7 @@ helping developers see how the module and API can be used.
- Added new 'exists' method and re-factored mkdir/rmdir
-
+
## v2.3.0
@@ -1729,7 +1760,7 @@ helping developers see how the module and API can be used.
- fix: `mkdir` file exists decision logic
-
+
## v3.0.0 – deprecate this version
@@ -1737,7 +1768,7 @@ helping developers see how the module and API can be used.
- fix: get readable not emitting data events in node 10.0.0
-
+
## v2.1.1
@@ -1745,7 +1776,7 @@ helping developers see how the module and API can be used.
- add: `get` or `put` method add extra options [pr#52](https://github.com/jyu213/ssh2-sftp-client/pull/52)
-
+
## v2.0.1
@@ -1755,14 +1786,14 @@ helping developers see how the module and API can be used.
- fix: return Error object on promise rejection [pr#20](https://github.com/jyu213/ssh2-sftp-client/pull/20)
-
+
## v1.1.0
- fix: add encoding control support for binary stream
-
+
## v1.0.5:
@@ -1770,7 +1801,7 @@ helping developers see how the module and API can be used.
- change: remove `this.client.sftp` to `connect` function
-
+
# Troubleshooting
@@ -1811,7 +1842,7 @@ trying to determine if the issue is with the underlying `ssh2` and
`ssh2-streams` modules.
-
+
## Common Errors
@@ -1821,7 +1852,7 @@ against this module. Please check for some of these before logging your
issue.
-
+
### Not returning the promise in a `then()` block
@@ -1873,7 +1904,7 @@ happening is that the connection is being ended before the transfer has
completed.
-
+
### Mixing Promise Chains and Async/Await
@@ -1943,7 +1974,7 @@ as either
}
-
+
### Try/catch and Error Handlers
@@ -1972,7 +2003,7 @@ and find where errors are raised asynchronously and use an event handler or
some other mechanism to manage any errors raised.
-
+
## Debugging Support
@@ -1991,7 +2022,7 @@ using shell redirection e.g.
node script.js 2> debug.log
-
+
# Logging Issues
@@ -2016,7 +2047,7 @@ Perhaps the best assistance is a minimal reproducible example of the issue. Once
the issue can be readily reproduced, it can usually be fixed very quickly.
-
+
# Pull Requests
@@ -2036,7 +2067,7 @@ your pull request what level of change it represents i.e.
bug.
-
+
# Contributors
diff --git a/README.org b/README.org
index 50d00cb..b0f7ebc 100644
--- a/README.org
+++ b/README.org
@@ -6,12 +6,21 @@ convenience abstraction as well as a Promise based API.
Documentation on the methods and available options in the underlying modules can
be found on the [[https://github.com/mscdex/ssh2][SSH2]] and [[https://github.com/mscdex/ssh2-streams/blob/master/SFTPStream.md][SSH2-STREAMS]] project pages.
-Current stable release is *v5.1.1*.
+Current stable release is *v5.1.3*.
-Code has been tested against Node versions 10.18.1, 12.14.1 and 13.6.0
+Code has been tested against Node versions 12.18.0 and 13.14.0
Node versions < 10.x are not supported.
+_WARNING_ There is currently an issue with both the fastPut() and fastGet()
+methods when using Node versions greater than 14.0.0. This is a bug in the
+underlying ssh2-streams library and needs to be fixed upstream. The issue
+appears to be related to the concurrency operations of these two functions. A
+workaround is to set concurrency to 1 using the options object. Alternatively,
+use get() or put(), which do not use concurrency and which will provide the same
+performance as fastGet() or fastPut() when they are set to use a concurrency
+of 1. A bug report has been logged against the ssh2-streams library as [[https://github.com/mscdex/ssh2-streams/issues/156][issue 156]].
+
* Installation
#+begin_src shell
@@ -225,7 +234,7 @@ reset to false in preparation for the next error.
upload/download. What is really happening is that the end method is being
called before the transfer has completed.
-** Version 5.1.2
+** Version 5.1.2
- Mainly a bug fix. We needed to add back a global close listener to ensure
the sftp object is unset whenever a close event occurs. As close events can
occur outside main method calls, only having method based listeners was not
@@ -233,6 +242,10 @@ reset to false in preparation for the next error.
- Also added a utils.dumpListeners() method, useful when debugging issues with
listener 'leakage' due to failure to remove listeners when no longer required.
+** Version 5.1.3
+ - Fix issue with permissions for writing to root directory
+ - Cleanup tests to use less connections and eliminate need for test delays
+ - Bumped some dependencies to latest versions
* Documentation
The connection options are the same as those offered by the underlying SSH2
@@ -1311,7 +1324,13 @@ handling and may contain errors. However, I think they are still useful for
helping developers see how the module and API can be used.
* Change Log
-** v5.1.2 (Prod Version)
+** v5.1.3 (Prod Version)
+ - Fix bug when writing to root directory and failure due to not being able to
+ determine parent
+ - Refactor some tests to eliminate need to have artificial delays between
+ tests
+ - Bumped some dependency versions to latest version
+** v5.1.2
- Added back global close handler
- Added dumpListeners() method
diff --git a/package.json b/package.json
index 7953ea9..bc732f2 100644
--- a/package.json
+++ b/package.json
@@ -1,17 +1,13 @@
{
"name": "ssh2-sftp-client",
- "version": "5.1.2",
+ "version": "5.1.3",
"description": "ssh2 sftp client for node",
"main": "src/index.js",
"repository": {
"type": "git",
"url": "https://github.com/theophilusx/ssh2-sftp-client"
},
- "keywords": [
- "sftp",
- "nodejs",
- "promises"
- ],
+ "keywords": ["sftp", "nodejs", "promises"],
"scripts": {
"test": "mocha"
},
@@ -37,6 +33,6 @@
"checksum": "^0.1.1",
"dotenv": "^8.2.0",
"moment": "^2.27.0",
- "through2": "^3.0.1"
+ "through2": "^3.0.2"
}
}