Avg Release Cycle
- ➕ Added: Support for leading whitespace in file and directory names.
- 🛠 Fixed: Make package scripts easier to understand.
- 🛠 Fixed: Republish to (maybe) fix NPM issue of wrong stats.
- 🔄 Changed: Source is now written in Typescript, fixes #49.
- 🛠 Fixed: Switch seamlessly between control and data connection for tracking timeout.
- ➕ Added: Full type-checking as part of CI with Typescript and JSDoc type declarations. Check is rigourous, settings include 'strict' or 'noImplicitAny'.
- 🔄 Changed: Improved handling of unexpected server requests during transfer.
🚀 This release contains the following breaking changes:
- 🔄 Changed:
Clientis now single-use only. It can't be used anymore once it closes and a new client has to be instantiated.
- 🔄 Changed: All exceptions are now instances of
Error, not custom error objects. Introduced
FTPErrorfor errors specific to FTP. (#37)
- ➕ Added: If there is a socket error outside of a task, the following task will receive it. (#43)
- 🔄 Changed: Improved feedback if a developer forgets to use
.then()for tasks. (#36)
Special thanks to @broofa for feedback and reviews.
- 🔄 Changed:
- 🛠 Fixed: Multibyte UTF-8 arriving in multiple chunks (#38)
- 🛠 Fixed: Unit test throws unhandled exception (#44)
- 🛠 Fixed: Provide stack trace when closing due to multiple tasks running
- 👕 Internal improvements to linting (@broofa)
- ➕ Added: Get last modification time of a file. (#32, @AnsonYeung)
- 🛠 Fixed: Closing client during task will reject associated promise. (#34)