|
1 | 1 | # Changelog |
| 2 | + |
2 | 3 | All notable changes to this project will be documented in this file. |
3 | 4 |
|
4 | 5 | The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) |
5 | 6 | and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). |
6 | 7 |
|
| 8 | +## [5.0.0] - 2025-12-12 |
| 9 | + |
| 10 | +### Added |
| 11 | + |
| 12 | +- Added `docker-compose.yml` to run mailpit for manual end-to-end testing. |
| 13 | +- Added test emails in `scripts/` to be run agains mailpit. |
| 14 | + |
| 15 | +### Migrated |
| 16 | + |
| 17 | +- Migrated project to latest TypeScript (v5.x) with strict typing. |
| 18 | +- Migrated all tests from AVA to Vitest. |
| 19 | +- Refactored project structure to `src/` for source code and co-located tests. |
| 20 | + |
| 21 | +### Changed |
| 22 | + |
| 23 | +- Updated core dependencies to their latest versions. |
| 24 | +- Updated `tsconfig.json` and adopted `tsc` for builds. |
| 25 | +- Updated ESLint and Prettier configurations. |
| 26 | + |
| 27 | +### Removed |
| 28 | + |
| 29 | +- AVA testing framework and its associated configurations. |
| 30 | +- Rollup build system and its configurations. |
| 31 | +- Removed JSDoc comments. |
| 32 | +- Legacy source files and build artifacts (`email.js`, `email.ts`, `smtp/` directory). |
| 33 | + |
7 | 34 | ## [4.0.2] - 2023-05-12 |
| 35 | + |
8 | 36 | ### Fixed |
| 37 | + |
9 | 38 | - redact passwords in error messages [#339](https://github.com/eleith/emailjs/issues/339) |
10 | 39 |
|
11 | 40 | ## [4.0.0] - 2022-04-20 |
| 41 | + |
12 | 42 | ### Added |
| 43 | + |
13 | 44 | - support `isolatedModules` and `preserveValueImports` compilation scenarios [#305](https://github.com/eleith/emailjs/pull/305) |
14 | 45 |
|
15 | 46 | ### Fixed |
| 47 | + |
16 | 48 | - support `typescript@3.8.3` [#307](https://github.com/eleith/emailjs/issues/307) |
17 | | - - the types change in `v3.8.0` for `Client#send` & `Client#sendAsync` unintentionally raised the minimum `typescript` requirement. fixing this involved weakening the types for those functions, which may require modifying your code. this change will be reverted for `v4.0.0`. |
| 49 | + - the types change in `v3.8.0` for `Client#send` & `Client#sendAsync` unintentionally raised the minimum `typescript` requirement. fixing this involved weakening the types for those functions, which may require modifying your code. this change will be reverted for `v4.0.0`. |
18 | 50 |
|
19 | 51 | ## [3.8.0] - 2022-03-17 |
| 52 | + |
20 | 53 | ### Added |
| 54 | + |
21 | 55 | - support `typescript@4.6` |
22 | 56 | - type allow `Client#send` & `Client#sendAsync` to accept message headers instead of a `Message` |
23 | | - - no behavior change: this was previously allowed, but the types didn't acknowledge it |
| 57 | + - no behavior change: this was previously allowed, but the types didn't acknowledge it |
24 | 58 |
|
25 | 59 | ## [3.7.0] - 2021-11-19 |
| 60 | + |
26 | 61 | ### Added |
| 62 | + |
27 | 63 | - support `typescript@4.5` |
28 | 64 |
|
29 | 65 | ## [3.6.0] - 2021-09-03 |
| 66 | + |
30 | 67 | ### Added |
| 68 | + |
31 | 69 | - support `tsc` compilation without `--esModuleInterop` or `--allowSyntheticDefaultImports` [#296](https://github.com/eleith/emailjs/pull/296) |
32 | 70 | - `Message#readAsync` API [#297](https://github.com/eleith/emailjs/pull/297) |
33 | 71 | - `Message#checkValidity` API [#298](https://github.com/eleith/emailjs/pull/298) |
34 | 72 |
|
35 | 73 | ### Deprecated |
| 74 | + |
36 | 75 | - `Message#valid` API [#298](https://github.com/eleith/emailjs/pull/298) |
37 | 76 |
|
38 | 77 | ## [3.5.0] - 2021-06-28 |
| 78 | + |
39 | 79 | ### Added |
| 80 | + |
40 | 81 | - support `tsc --noPropertyAccessFromIndexSignature` [#290](https://github.com/eleith/emailjs/pull/290) |
41 | 82 |
|
42 | 83 | ### Fixed |
| 84 | + |
43 | 85 | - use `engines` field in `package.json` to signal node version support |
44 | 86 |
|
45 | 87 | ## [3.4.0] - 2020-12-01 |
| 88 | + |
46 | 89 | ### Added |
| 90 | + |
47 | 91 | - `SMTPClient#sendAsync` API [#267](https://github.com/eleith/emailjs/issues/267) |
48 | 92 | - `isRFC2822Date` API |
49 | 93 |
|
50 | 94 | ### Changed |
| 95 | + |
51 | 96 | - use `WeakSet` instead of `WeakMap` for greylist tracking |
52 | 97 |
|
53 | 98 | ### Fixed |
| 99 | + |
54 | 100 | - use camelCase style for internal function names |
55 | 101 | - use correct types in jsdoc comments |
56 | 102 |
|
57 | 103 | ## [3.3.0] - 2020-08-08 |
| 104 | + |
58 | 105 | ### Added |
| 106 | + |
59 | 107 | - greylist support [#202](https://github.com/eleith/emailjs/issues/202) |
60 | 108 |
|
61 | 109 | ### Fixed |
| 110 | + |
62 | 111 | - check socket is writable before sending [#205](https://github.com/eleith/emailjs/issues/205) |
63 | 112 |
|
64 | 113 | ## [3.2.1] - 2020-06-27 |
| 114 | + |
65 | 115 | ### Fixed |
| 116 | + |
66 | 117 | - use correct type for `MessageAttachment.stream` [#261](https://github.com/eleith/emailjs/issues/261) |
67 | 118 | - add missing types in mime functions [#262](https://github.com/eleith/emailjs/pull/262) |
68 | 119 |
|
69 | 120 | ## [3.2.0] - 2020-06-19 |
| 121 | + |
70 | 122 | ### Added |
| 123 | + |
71 | 124 | - `addressparser` API (forked from dropped dependency) [#259](https://github.com/eleith/emailjs/issues/259) |
72 | 125 | - `mimeEncode`/`mimeWordEncode` APIs (forked from dropped dependency) [#247](https://github.com/eleith/emailjs/issues/247) |
73 | 126 |
|
74 | 127 | ### Changed |
| 128 | + |
75 | 129 | - drop dependency on `addressparser` [#259](https://github.com/eleith/emailjs/issues/259) |
76 | 130 | - drop dependency on `emailjs-mime-codec` [#247](https://github.com/eleith/emailjs/issues/247) |
77 | 131 |
|
78 | 132 | ### Fixed |
| 133 | + |
79 | 134 | - make `MessageAttachment` interface usable [#254](https://github.com/eleith/emailjs/issues/254) |
80 | 135 | - mend regression in address type validation [#252](https://github.com/eleith/emailjs/pull/252) |
81 | 136 |
|
82 | 137 | ## [3.1.0] - 2020-06-19 [YANKED] |
83 | 138 |
|
84 | 139 | ## [3.0.0] - 2020-05-28 |
| 140 | + |
85 | 141 | ### Added |
| 142 | + |
86 | 143 | - convert source to strict typescript, listed under the `types` field in `package.json` |
87 | 144 | - support "dual-package" ESM + CJS via [conditional exports](https://nodejs.org/docs/latest-v14.x/api/esm.html#esm_conditional_exports) & `rollup`-generated bundles |
88 | 145 | - `SMTPClient#creatMessageStack` API [#229](https://github.com/eleith/emailjs/issues/229) |
89 | 146 | - `SMTPError` API |
90 | 147 |
|
91 | 148 | ### Changed |
| 149 | + |
92 | 150 | - simplify public API [#249](https://github.com/eleith/emailjs/issues/249) |
93 | 151 | - rename `Client` -> `SMTPClient` [#249](https://github.com/eleith/emailjs/issues/249) |
94 | 152 | - rename `SMTPResponse` -> `SMTPResponseMonitor` [#249](https://github.com/eleith/emailjs/issues/249) |
95 | 153 |
|
96 | 154 | ### Removed |
| 155 | + |
97 | 156 | - `Message#attach_alternative` API |
98 | 157 | - `makeSMTPError` API |
99 | 158 |
|
100 | 159 | ### Fixed |
| 160 | + |
101 | 161 | - filter duplicate message recipients [#242](https://github.com/eleith/emailjs/issues/242) |
102 | 162 | - error when passing `password` without `user` [#199](https://github.com/eleith/emailjs/issues/199) |
103 | 163 | - trim `host` before connecting [#136](https://github.com/eleith/emailjs/issues/136) |
104 | 164 |
|
105 | 165 | ## [2.2.0] - 2018-07-06 |
| 166 | + |
106 | 167 | ### Added |
| 168 | + |
107 | 169 | - expose rfc2822 date module |
108 | 170 | - annotate code with typescript-compatible jsdoc tags |
109 | 171 |
|
110 | 172 | ### Changed |
| 173 | + |
111 | 174 | - drop dependency on `moment` |
112 | 175 | - drop dependency on `starttls` |
113 | 176 |
|
114 | 177 | ### Fixed |
| 178 | + |
115 | 179 | - ensure timeout is set to default value [#225](https://github.com/eleith/emailjs/issues/225) |
116 | 180 |
|
117 | 181 | ## [2.1.0] - 2018-06-09 |
| 182 | + |
118 | 183 | ### Added |
| 184 | + |
119 | 185 | - expose error module |
120 | 186 |
|
121 | 187 | ### Changed |
| 188 | + |
122 | 189 | - handle errors with `fs.closeSync` instead of `fs.close` |
123 | 190 | - refactor to ES2015+ constructs |
124 | 191 | - lint & format with eslint + prettier |
125 | 192 | - drop optional dependency on `bufferjs` |
126 | 193 |
|
127 | 194 | ### Fixed |
| 195 | + |
128 | 196 | - remove `new Buffer` calls |
129 | 197 |
|
130 | 198 | ## [2.0.1] - 2018-02-11 |
| 199 | + |
131 | 200 | ### Added |
| 201 | + |
132 | 202 | - a new changelog |
0 commit comments