All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- redact passwords in error messages #339
- support
isolatedModules
andpreserveValueImports
compilation scenarios #305
- support
typescript@3.8.3
#307- the types change in
v3.8.0
forClient#send
&Client#sendAsync
unintentionally raised the minimumtypescript
requirement. fixing this involved weakening the types for those functions, which may require modifying your code. this change will be reverted forv4.0.0
.
- the types change in
- support
typescript@4.6
- type allow
Client#send
&Client#sendAsync
to accept message headers instead of aMessage
- no behavior change: this was previously allowed, but the types didn't acknowledge it
- support
typescript@4.5
- support
tsc
compilation without--esModuleInterop
or--allowSyntheticDefaultImports
#296 Message#readAsync
API #297Message#checkValidity
API #298
Message#valid
API #298
- support
tsc --noPropertyAccessFromIndexSignature
#290
- use
engines
field inpackage.json
to signal node version support
SMTPClient#sendAsync
API #267isRFC2822Date
API
- use
WeakSet
instead ofWeakMap
for greylist tracking
- use camelCase style for internal function names
- use correct types in jsdoc comments
- greylist support #202
- check socket is writable before sending #205
addressparser
API (forked from dropped dependency) #259mimeEncode
/mimeWordEncode
APIs (forked from dropped dependency) #247
- convert source to strict typescript, listed under the
types
field inpackage.json
- support "dual-package" ESM + CJS via conditional exports &
rollup
-generated bundles SMTPClient#creatMessageStack
API #229SMTPError
API
- simplify public API #249
- rename
Client
->SMTPClient
#249 - rename
SMTPResponse
->SMTPResponseMonitor
#249
Message#attach_alternative
APImakeSMTPError
API
- filter duplicate message recipients #242
- error when passing
password
withoutuser
#199 - trim
host
before connecting #136
- expose rfc2822 date module
- annotate code with typescript-compatible jsdoc tags
- drop dependency on
moment
- drop dependency on
starttls
- ensure timeout is set to default value #225
- expose error module
- handle errors with
fs.closeSync
instead offs.close
- refactor to ES2015+ constructs
- lint & format with eslint + prettier
- drop optional dependency on
bufferjs
- remove
new Buffer
calls
- a new changelog