1# Node.js 0.10 ChangeLog 2 3<!--lint disable prohibited-strings--> 4<!--lint disable maximum-line-length--> 5<!--lint disable no-literal-urls--> 6 7<table> 8<tr> 9<th colspan="2">Stable</th> 10</tr> 11<tr> 12<td valign="top"> 13<a href="#0.10.48">0.10.48</a><br/> 14<a href="#0.10.47">0.10.47</a><br/> 15<a href="#0.10.46">0.10.46</a><br/> 16<a href="#0.10.45">0.10.45</a><br/> 17<a href="#0.10.44">0.10.44</a><br/> 18<a href="#0.10.43">0.10.43</a><br/> 19<a href="#0.10.42">0.10.42</a><br/> 20<a href="#0.10.41">0.10.41</a><br/> 21<a href="#0.10.40">0.10.40</a><br/> 22<a href="#0.10.39">0.10.39</a><br/> 23<a href="#0.10.38">0.10.38</a><br/> 24<a href="#0.10.37">0.10.37</a><br/> 25<a href="#0.10.36">0.10.36</a><br/> 26<a href="#0.10.35">0.10.35</a><br/> 27<a href="#0.10.34">0.10.34</a><br/> 28<a href="#0.10.33">0.10.33</a><br/> 29<a href="#0.10.32">0.10.32</a><br/> 30<a href="#0.10.31">0.10.31</a><br/> 31<a href="#0.10.30">0.10.30</a><br/> 32<a href="#0.10.29">0.10.29</a><br/> 33<a href="#0.10.28">0.10.28</a><br/> 34<a href="#0.10.27">0.10.27</a><br/> 35<a href="#0.10.26">0.10.26</a><br/> 36<a href="#0.10.25">0.10.25</a><br/> 37<a href="#0.10.24">0.10.24</a><br/> 38<a href="#0.10.23">0.10.23</a><br/> 39</td> 40<td valign="top"> 41<a href="#0.10.22">0.10.22</a><br/> 42<a href="#0.10.21">0.10.21</a><br/> 43<a href="#0.10.20">0.10.20</a><br/> 44<a href="#0.10.19">0.10.19</a><br/> 45<a href="#0.10.18">0.10.18</a><br/> 46<a href="#0.10.17">0.10.17</a><br/> 47<a href="#0.10.16">0.10.16</a><br/> 48<a href="#0.10.15">0.10.15</a><br/> 49<a href="#0.10.14">0.10.14</a><br/> 50<a href="#0.10.13">0.10.13</a><br/> 51<a href="#0.10.12">0.10.12</a><br/> 52<a href="#0.10.11">0.10.11</a><br/> 53<a href="#0.10.10">0.10.10</a><br/> 54<a href="#0.10.9">0.10.9</a><br/> 55<a href="#0.10.8">0.10.8</a><br/> 56<a href="#0.10.7">0.10.7</a><br/> 57<a href="#0.10.6">0.10.6</a><br/> 58<a href="#0.10.5">0.10.5</a><br/> 59<a href="#0.10.4">0.10.4</a><br/> 60<a href="#0.10.3">0.10.3</a><br/> 61<a href="#0.10.2">0.10.2</a><br/> 62<a href="#0.10.1">0.10.1</a><br/> 63<a href="#0.10.0">0.10.0</a><br/> 64</td> 65</tr> 66</table> 67 68* Other Versions 69 * [12.x](CHANGELOG_V12.md) 70 * [11.x](CHANGELOG_V11.md) 71 * [10.x](CHANGELOG_V10.md) 72 * [9.x](CHANGELOG_V9.md) 73 * [8.x](CHANGELOG_V8.md) 74 * [7.x](CHANGELOG_V7.md) 75 * [6.x](CHANGELOG_V6.md) 76 * [5.x](CHANGELOG_V5.md) 77 * [4.x](CHANGELOG_V4.md) 78 * [0.12.x](CHANGELOG_V012.md) 79 * [io.js](CHANGELOG_IOJS.md) 80 * [Archive](CHANGELOG_ARCHIVE.md) 81 82*Note*: Node.js v0.10 is covered by the 83[Node.js Long Term Support Plan](https://github.com/nodejs/LTS) and 84will be maintained until October 2016. 85 86<a id="0.10.48"></a> 87## 2016-10-18, Version 0.10.48 (Maintenance), @rvagg 88 89This is a security release. All Node.js users should consult the security release summary at https://nodejs.org/en/blog/vulnerability/october-2016-security-releases/ for details on patched vulnerabilities. 90 91### Notable changes 92 93* c-ares: fix for single-byte buffer overwrite, CVE-2016-5180, more information at https://c-ares.haxx.se/adv_20160929.html (Rod Vagg) 94 95### Commits 96 97* [[`a14a6a3a11`](https://github.com/nodejs/node/commit/a14a6a3a11)] - deps: c-ares, avoid single-byte buffer overwrite (Rod Vagg) https://github.com/nodejs/node/pull/9108 98* [[`b798f598af`](https://github.com/nodejs/node/commit/b798f598af)] - tls: fix minor jslint failure (Rod Vagg) https://github.com/nodejs/node/pull/9107 99* [[`92b232ba01`](https://github.com/nodejs/node/commit/92b232ba01)] - win,build: try multiple timeservers when signing (Rod Vagg) https://github.com/nodejs/node/pull/9155 100 101<a id="0.10.47"></a> 102## 2016-09-27, Version 0.10.47 (Maintenance), @rvagg 103 104This is a security release. All Node.js users should consult the security release summary at https://nodejs.org/en/blog/vulnerability/september-2016-security-releases/ for details on patched vulnerabilities. 105 106### Notable changes: 107 108* buffer: Zero-fill excess bytes in new `Buffer` objects created with `Buffer.concat()` while providing a `totalLength` parameter that exceeds the total length of the original `Buffer` objects being concatenated. (Сковорода Никита Андреевич) 109* http: 110 * CVE-2016-5325 - Properly validate for allowable characters in the `reason` argument in `ServerResponse#writeHead()`. Fixes a possible response splitting attack vector. This introduces a new case where `throw` may occur when configuring HTTP responses, users should already be adopting try/catch here. Originally reported independently by Evan Lucas and Romain Gaucher. (Evan Lucas) 111 * Invalid status codes can no longer be sent. Limited to 3 digit numbers between 100 - 999. Lack of proper validation may also serve as a potential response splitting attack vector. Backported from v4.x. (Brian White) 112* openssl: Upgrade to 1.0.1u, fixes a number of defects impacting Node.js: CVE-2016-6304 ("OCSP Status Request extension unbounded memory growth", high severity), CVE-2016-2183, CVE-2016-2183, CVE-2016-2178 and CVE-2016-6306. 113* tls: CVE-2016-7099 - Fix invalid wildcard certificate validation check whereby a TLS server may be able to serve an invalid wildcard certificate for its hostname due to improper validation of `*.` in the wildcard string. Originally reported by Alexander Minozhenko and James Bunton (Atlassian) (Ben Noordhuis) 114 115### Commits: 116 117* [[`fc259c7dc4`](https://github.com/nodejs/node/commit/fc259c7dc4)] - buffer: zero-fill uninitialized bytes in .concat() (Сковорода Никита Андреевич) https://github.com/nodejs/node-private/pull/67 118* [[`35b49ed4bb`](https://github.com/nodejs/node/commit/35b49ed4bb)] - build: turn on -fno-delete-null-pointer-checks (Ben Noordhuis) https://github.com/nodejs/node/pull/6738 119* [[`03f4920d6a`](https://github.com/nodejs/node/commit/03f4920d6a)] - crypto: don't build hardware engines (Rod Vagg) https://github.com/nodejs/node-private/pull/68 120* [[`1cbdb1957d`](https://github.com/nodejs/node/commit/1cbdb1957d)] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) https://github.com/nodejs/node-v0.x-archive/pull/25368 121* [[`c66408cd0c`](https://github.com/nodejs/node/commit/c66408cd0c)] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) https://github.com/nodejs/node-v0.x-archive/pull/25654 122* [[`68f88ea792`](https://github.com/nodejs/node/commit/68f88ea792)] - deps: separate sha256/sha512-x86_64.pl for openssl (Shigeki Ohtsu) https://github.com/nodejs/node-v0.x-archive/pull/25654 123* [[`884d50b348`](https://github.com/nodejs/node/commit/884d50b348)] - deps: copy all openssl header files to include dir (Shigeki Ohtsu) https://github.com/nodejs/node/pull/8718 124* [[`bfd6cb5699`](https://github.com/nodejs/node/commit/bfd6cb5699)] - deps: upgrade openssl sources to 1.0.1u (Shigeki Ohtsu) https://github.com/nodejs/node/pull/8718 125* [[`3614a173d0`](https://github.com/nodejs/node/commit/3614a173d0)] - http: check reason chars in writeHead (Evan Lucas) https://github.com/nodejs/node-private/pull/48 126* [[`f2433430ca`](https://github.com/nodejs/node/commit/f2433430ca)] - http: disallow sending obviously invalid status codes (Evan Lucas) https://github.com/nodejs/node-private/pull/48 127* [[`0d7e21ee7b`](https://github.com/nodejs/node/commit/0d7e21ee7b)] - lib: make tls.checkServerIdentity() more strict (Ben Noordhuis) https://github.com/nodejs/node-private/pull/62 128* [[`1f4a6f5bd1`](https://github.com/nodejs/node/commit/1f4a6f5bd1)] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) https://github.com/nodejs/node-v0.x-archive/pull/25654 129* [[`88dcc7f5bb`](https://github.com/nodejs/node/commit/88dcc7f5bb)] - v8: fix -Wsign-compare warning in Zone::New() (Ben Noordhuis) https://github.com/nodejs/node-private/pull/62 130* [[`fd8ac56c75`](https://github.com/nodejs/node/commit/fd8ac56c75)] - v8: fix build errors with g++ 6.1.1 (Ben Noordhuis) https://github.com/nodejs/node-private/pull/62 131 132<a id="0.10.46"></a> 133## 2016-06-23, Version 0.10.46 (Maintenance), @rvagg 134 135### Notable changes: 136 137This is a security release. All Node.js users should consult the security release summary at https://nodejs.org/en/blog/vulnerability/june-2016-security-releases/ for details on patched vulnerabilities. 138 139* libuv: (CVE-2014-9748) Fixes a bug in the read/write locks implementation for Windows XP and Windows 2003 that can lead to undefined and potentially unsafe behaviour. More information can be found at https://github.com/libuv/libuv/issues/515 or at https://nodejs.org/en/blog/vulnerability/june-2016-security-releases/. 140* V8: (CVE-2016-1669) Fixes a potential Buffer overflow vulnerability discovered in V8, more details can be found in the CVE at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1669 or at https://nodejs.org/en/blog/vulnerability/june-2016-security-releases/. 141 142### Commits: 143 144* [[`3374f57973`](https://github.com/nodejs/node/commit/3374f57973)] - deps: update libuv to 0.10.37 (Saúl Ibarra Corretgé) https://github.com/nodejs/node/pull/7293 145* [[`fcb9145e29`](https://github.com/nodejs/node/commit/fcb9145e29)] - deps: backport 3a9bfec from v8 upstream (Myles Borins) https://github.com/nodejs/node-private/pull/43 146 147<a id="0.10.45"></a> 148## 2016-05-06, Version 0.10.45 (Maintenance), @rvagg 149 150### Notable changes: 151 152* npm: Correct erroneous version number in v2.15.1 code (Forrest L Norvell) https://github.com/nodejs/node/pull/5987 153* openssl: Upgrade to v1.0.1t, addressing security vulnerabilities (Shigeki Ohtsu) https://github.com/nodejs/node/pull/6553 154 * Fixes CVE-2016-2107 "Padding oracle in AES-NI CBC MAC check" 155 * See https://nodejs.org/en/blog/vulnerability/openssl-may-2016/ for full details 156 157### Commits: 158 159* [[`3cff81c7d6`](https://github.com/nodejs/node/commit/3cff81c7d6)] - deps: completely upgrade npm in LTS to 2.15.1 (Forrest L Norvell) https://github.com/nodejs/node/pull/5987 160* [[`7c22f19009`](https://github.com/nodejs/node/commit/7c22f19009)] - deps: add -no_rand_screen to openssl s_client (Shigeki Ohtsu) https://github.com/joyent/node/pull/25368 161* [[`5d78366937`](https://github.com/nodejs/node/commit/5d78366937)] - deps: update openssl asm files (Shigeki Ohtsu) https://github.com/nodejs/node/pull/6553 162* [[`2bc2427cb7`](https://github.com/nodejs/node/commit/2bc2427cb7)] - deps: fix openssl assembly error on ia32 win32 (Fedor Indutny) https://github.com/joyent/node/pull/25654 163* [[`8df4b0914c`](https://github.com/nodejs/node/commit/8df4b0914c)] - deps: separate sha256/sha512-x86_64.pl for openssl (Shigeki Ohtsu) https://github.com/joyent/node/pull/25654 164* [[`11eefefb17`](https://github.com/nodejs/node/commit/11eefefb17)] - deps: copy all openssl header files to include dir (Shigeki Ohtsu) https://github.com/nodejs/node/pull/6553 165* [[`61ccc27b54`](https://github.com/nodejs/node/commit/61ccc27b54)] - deps: upgrade openssl sources to 1.0.1t (Shigeki Ohtsu) https://github.com/nodejs/node/pull/6553 166* [[`aa02438274`](https://github.com/nodejs/node/commit/aa02438274)] - openssl: fix keypress requirement in apps on win32 (Shigeki Ohtsu) https://github.com/joyent/node/pull/25654 167 168<a id="0.10.44"></a> 169## 2016-03-31, Version 0.10.44 (Maintenance), @rvagg 170 171### Notable changes 172 173* npm: Upgrade to v2.15.1. Fixes a security flaw in the use of authentication tokens in HTTP requests that would allow an attacker to set up a server that could collect tokens from users of the command-line interface. Authentication tokens have previously been sent with every request made by the CLI for logged-in users, regardless of the destination of the request. This update fixes this by only including those tokens for requests made against the registry or registries used for the current install. IMPORTANT: This is a major upgrade to npm v2 LTS from the previously deprecated npm v1. (Forrest L Norvell) https://github.com/nodejs/node/pull/5967 174* openssl: OpenSSL v1.0.1s disables the EXPORT and LOW ciphers as they are obsolete and not considered safe. This release of Node.js turns on `OPENSSL_NO_WEAK_SSL_CIPHERS` to fully disable the 27 ciphers included in these lists which can be used in SSLv3 and higher. Full details can be found in our LTS discussion on the matter (https://github.com/nodejs/LTS/issues/85). (Shigeki Ohtsu) https://github.com/nodejs/node/pull/5712 175 176### Commits 177 178* [[`feceb77d7e`](https://github.com/nodejs/node/commit/feceb77d7e)] - deps: upgrade npm in LTS to 2.15.1 (Forrest L Norvell) https://github.com/nodejs/node/pull/5968 179* [[`0847954331`](https://github.com/nodejs/node/commit/0847954331)] - deps: Disable EXPORT and LOW ciphers in openssl (Shigeki Ohtsu) https://github.com/nodejs/node/pull/5712 180* [[`6bb86e727a`](https://github.com/nodejs/node/commit/6bb86e727a)] - test: change tls tests not to use LOW cipher (Shigeki Ohtsu) https://github.com/nodejs/node/pull/5712 181* [[`905bec29ad`](https://github.com/nodejs/node/commit/905bec29ad)] - win,build: support Visual C++ Build Tools 2015 (João Reis) https://github.com/nodejs/node/pull/5627 182 183<a id="0.10.43"></a> 184## 2016-03-04, Version 0.10.43 (Maintenance), @rvagg 185 186### Notable changes: 187 188* http_parser: Update to http-parser 1.2 to fix an unintentionally strict limitation of allowable header characters. (James M Snell) https://github.com/nodejs/node/pull/5242 189* domains: 190 * Prevent an exit due to an exception being thrown rather than emitting an `'uncaughtException'` event on the `process` object when no error handler is set on the domain within which an error is thrown and an `'uncaughtException'` event listener is set on `process`. (Julien Gilli) https://github.com/nodejs/node/pull/3887 191 * Fix an issue where the process would not abort in the proper function call if an error is thrown within a domain with no error handler and `--abort-on-uncaught-exception` is used. (Julien Gilli) https://github.com/nodejs/node/pull/3887 192* openssl: Upgrade from 1.0.1r to 1.0.1s (Ben Noordhuis) https://github.com/nodejs/node/pull/5508 193 * Fix a double-free defect in parsing malformed DSA keys that may potentially be used for DoS or memory corruption attacks. It is likely to be very difficult to use this defect for a practical attack and is therefore considered low severity for Node.js users. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0705 194 * Fix a defect that can cause memory corruption in certain very rare cases relating to the internal `BN_hex2bn()` and `BN_dec2bn()` functions. It is believed that Node.js is not invoking the code paths that use these functions so practical attacks via Node.js using this defect are _unlikely_ to be possible. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0797 195 * Fix a defect that makes the CacheBleed Attack (https://ssrg.nicta.com.au/projects/TS/cachebleed/) possible. This defect enables attackers to execute side-channel attacks leading to the potential recovery of entire RSA private keys. It only affects the Intel Sandy Bridge (and possibly older) microarchitecture when using hyper-threading. Newer microarchitectures, including Haswell, are unaffected. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0702 196 * Remove SSLv2 support, the `--enable-ssl2` command line argument will now produce an error. The DROWN Attack (https://drownattack.com/) creates a vulnerability where SSLv2 is enabled by a server, even if a client connection is not using SSLv2. The SSLv2 protocol is widely considered unacceptably broken and should not be supported. More information is available at https://www.openssl.org/news/vulnerabilities.html#2016-0800 197 198### Commits: 199 200* [[`164157abbb`](https://github.com/nodejs/node/commit/164157abbb)] - build: update Node.js logo on OSX installer (Rod Vagg) https://github.com/nodejs/node/pull/5401 201* [[`f8cb0dcf67`](https://github.com/nodejs/node/commit/f8cb0dcf67)] - crypto,tls: remove SSLv2 support (Ben Noordhuis) https://github.com/nodejs/node/pull/5529 202* [[`42ded2a590`](https://github.com/nodejs/node/commit/42ded2a590)] - deps: upgrade openssl to 1.0.1s (Ben Noordhuis) https://github.com/nodejs/node/pull/5508 203* [[`1e45a6111c`](https://github.com/nodejs/node/commit/1e45a6111c)] - deps: update http-parser to version 1.2 (James M Snell) https://github.com/nodejs/node/pull/5242 204* [[`6db377b2f4`](https://github.com/nodejs/node/commit/6db377b2f4)] - doc: remove SSLv2 descriptions (Shigeki Ohtsu) https://github.com/nodejs/node/pull/5541 205* [[`563c359f5c`](https://github.com/nodejs/node/commit/563c359f5c)] - domains: fix handling of uncaught exceptions (Julien Gilli) https://github.com/nodejs/node/pull/3887 206* [[`e483f3fd26`](https://github.com/nodejs/node/commit/e483f3fd26)] - test: fix hanging http obstext test (Ben Noordhuis) https://github.com/nodejs/node/pull/5511 207 208<a id="0.10.42"></a> 209## 2016-02-09, Version 0.10.42 (Maintenance), @jasnell 210 211This is an important security release. All Node.js users should consult the security release summary at nodejs.org for details on patched vulnerabilities. 212 213### Notable changes 214 215* http: fix defects in HTTP header parsing for requests and responses that can allow request smuggling (CVE-2016-2086) or response splitting (CVE-2016-2216). HTTP header parsing now aligns more closely with the HTTP spec including restricting the acceptable characters. 216* http-parser: upgrade from 1.0 to 1.1 217* openssl: upgrade from 1.0.1q to 1.0.1r. To mitigate against the Logjam attack, TLS clients now reject Diffie-Hellman handshakes with parameters shorter than 1024-bits, up from the previous limit of 768-bits. 218* src: 219 * introduce new `--security-revert={cvenum}` command line flag for selective reversion of specific CVE fixes 220 * allow the fix for CVE-2016-2216 to be selectively reverted using `--security-revert=CVE-2016-2216` 221* build: 222 * xz compressed tar files will be made available from nodejs.org for v0.10 builds from v0.10.42 onward 223 * A headers.tar.gz file will be made available from nodejs.org for v0.10 builds from v0.10.42 onward, a future change to node-gyp will be required to make use of these 224 225### Commits 226 227* [[`fdc332183e`](https://github.com/nodejs/node/commit/fdc332183e)] - build: enable xz compressed tarballs where possible (Rod Vagg) https://github.com/nodejs/node/pull/4894 228* [[`2d35b421b5`](https://github.com/nodejs/node/commit/2d35b421b5)] - deps: upgrade openssl sources to 1.0.1r (Shigeki Ohtsu) https://github.com/joyent/node/pull/25368 229* [[`b31c0f3ea4`](https://github.com/nodejs/node/commit/b31c0f3ea4)] - deps: update http-parser to version 1.1 (James M Snell) 230* [[`616ec1d6b0`](https://github.com/nodejs/node/commit/616ec1d6b0)] - doc: clarify v0.10.41 openssl tls security impact (Rod Vagg) https://github.com/nodejs/node/pull/4153 231* [[`ccb3c2377c`](https://github.com/nodejs/node/commit/ccb3c2377c)] - http: strictly forbid invalid characters from headers (James M Snell) 232* [[`f0af0d1f96`](https://github.com/nodejs/node/commit/f0af0d1f96)] - src: avoid compiler warning in node_revert.cc (James M Snell) 233* [[`df80e856c6`](https://github.com/nodejs/node/commit/df80e856c6)] - src: add --security-revert command line flag (James M Snell) 234* [[`ff58dcdd74`](https://github.com/nodejs/node/commit/ff58dcdd74)] - tools: backport tools/install.py for headers (Richard Lau) https://github.com/nodejs/node/pull/4149 235 236<a id="0.10.41"></a> 237## 2015-12-04, Version 0.10.41 (Maintenance), @rvagg 238 239Security Update 240 241### Notable changes 242 243* build: Add support for Microsoft Visual Studio 2015 244* npm: Upgrade to v1.4.29 from v1.4.28. A special one-off release as part of the strategy to get a version of npm into Node.js v0.10.x that works with the current registry (https://github.com/nodejs/LTS/issues/37). This version of npm prints out a banner each time it is run. The banner warns that the next standard release of Node.js v0.10.x will ship with a version of npm v2. 245* openssl: Upgrade to 1.0.1q, containing fixes CVE-2015-3194 "Certificate verify crash with missing PSS parameter", a potential denial-of-service vector for Node.js TLS servers using client certificate authentication; TLS clients are also impacted. Details are available at <http://openssl.org/news/secadv/20151203.txt>. (Ben Noordhuis) https://github.com/nodejs/node/pull/4133 246 247### Commits 248 249* [[`16ca0779f5`](https://github.com/nodejs/node/commit/16ca0779f5)] - src/node.cc: fix build error without OpenSSL support (Jörg Krause) https://github.com/nodejs/node-v0.x-archive/pull/25862 250* [[`c559c7911d`](https://github.com/nodejs/node/commit/c559c7911d)] - build: backport tools/release.sh (Rod Vagg) https://github.com/nodejs/node/pull/3965 251* [[`268d2b4637`](https://github.com/nodejs/node/commit/268d2b4637)] - build: backport config for new CI infrastructure (Rod Vagg) https://github.com/nodejs/node/pull/3965 252* [[`c88a0b26da`](https://github.com/nodejs/node/commit/c88a0b26da)] - build: update manifest to include Windows 10 (Lucien Greathouse) https://github.com/nodejs/node/pull/2838 253* [[`8564a9f5f7`](https://github.com/nodejs/node/commit/8564a9f5f7)] - build: gcc version detection on openSUSE Tumbleweed (Henrique Aparecido Lavezzo) https://github.com/nodejs/node-v0.x-archive/pull/25671 254* [[`9c7bd6de56`](https://github.com/nodejs/node/commit/9c7bd6de56)] - build: run-ci makefile rule (Alexis Campailla) https://github.com/nodejs/node-v0.x-archive/pull/25686 255* [[`ffa1e1f31d`](https://github.com/nodejs/node/commit/ffa1e1f31d)] - build: support flaky tests in test-ci (Alexis Campailla) https://github.com/nodejs/node-v0.x-archive/pull/25686 256* [[`100dd19e61`](https://github.com/nodejs/node/commit/100dd19e61)] - build: support Jenkins via test-ci (Alexis Campailla) https://github.com/nodejs/node-v0.x-archive/pull/25686 257* [[`ec861f6f90`](https://github.com/nodejs/node/commit/ec861f6f90)] - build: make release process easier for multi users (Julien Gilli) https://github.com/nodejs/node-v0.x-archive/pull/25638 258* [[`d7ae79a452`](https://github.com/nodejs/node/commit/d7ae79a452)] - build,win: fix node.exe resource version (João Reis) https://github.com/nodejs/node/pull/3053 259* [[`6ac47aa9f5`](https://github.com/nodejs/node/commit/6ac47aa9f5)] - build,win: try next MSVS version on failure (João Reis) https://github.com/nodejs/node/pull/2910 260* [[`e669b27740`](https://github.com/nodejs/node/commit/e669b27740)] - crypto: replace rwlocks with simple mutexes (Ben Noordhuis) https://github.com/nodejs/node/pull/2723 261* [[`ce0a48826e`](https://github.com/nodejs/node/commit/ce0a48826e)] - deps: upgrade to openssl 1.0.1q (Ben Noordhuis) https://github.com/nodejs/node/pull/4132 262* [[`b68781e500`](https://github.com/nodejs/node/commit/b68781e500)] - deps: upgrade npm to 1.4.29 (Forrest L Norvell) https://github.com/nodejs/node/pull/3639 263* [[`7cf0d9c1d9`](https://github.com/nodejs/node/commit/7cf0d9c1d9)] - deps: fix openssl for MSVS 2015 (Andy Polyakov) https://github.com/nodejs/node-v0.x-archive/pull/25857 264* [[`9ee8a14f9e`](https://github.com/nodejs/node/commit/9ee8a14f9e)] - deps: fix gyp to work on MacOSX without XCode (Shigeki Ohtsu) https://github.com/nodejs/node-v0.x-archive/pull/25857 265* [[`a525c7244e`](https://github.com/nodejs/node/commit/a525c7244e)] - deps: update gyp to 25ed9ac (João Reis) https://github.com/nodejs/node-v0.x-archive/pull/25857 266* [[`6502160294`](https://github.com/nodejs/node/commit/6502160294)] - dns: allow v8 to optimize lookup() (Brian White) https://github.com/nodejs/node-v0.x-archive/pull/8942 267* [[`5d829a63ab`](https://github.com/nodejs/node/commit/5d829a63ab)] - doc: backport README.md (Rod Vagg) https://github.com/nodejs/node/pull/3965 268* [[`62c8948109`](https://github.com/nodejs/node/commit/62c8948109)] - doc: fix Folders as Modules omission of index.json (Elan Shanker) https://github.com/nodejs/node-v0.x-archive/pull/8868 269* [[`572663f303`](https://github.com/nodejs/node/commit/572663f303)] - https: don't overwrite servername option (skenqbx) https://github.com/nodejs/node-v0.x-archive/pull/9368 270* [[`75c84b2439`](https://github.com/nodejs/node/commit/75c84b2439)] - test: add test for https agent servername option (skenqbx) https://github.com/nodejs/node-v0.x-archive/pull/9368 271* [[`841a6dd264`](https://github.com/nodejs/node/commit/841a6dd264)] - test: mark more tests as flaky (Alexis Campailla) https://github.com/nodejs/node-v0.x-archive/pull/25807 272* [[`a7fee30da1`](https://github.com/nodejs/node/commit/a7fee30da1)] - test: mark test-tls-securepair-server as flaky (Alexis Campailla) https://github.com/nodejs/node-v0.x-archive/pull/25807 273* [[`7df57703dd`](https://github.com/nodejs/node/commit/7df57703dd)] - test: mark test-net-error-twice flaky on SmartOS (Julien Gilli) https://github.com/nodejs/node-v0.x-archive/pull/25760 274* [[`e10892cccc`](https://github.com/nodejs/node/commit/e10892cccc)] - test: make test-abort-fatal-error non flaky (Julien Gilli) https://github.com/nodejs/node-v0.x-archive/pull/25755 275* [[`a2f879f197`](https://github.com/nodejs/node/commit/a2f879f197)] - test: mark recently failing tests as flaky (Alexis Campailla) https://github.com/nodejs/node-v0.x-archive/pull/25686 276* [[`e7010bdf92`](https://github.com/nodejs/node/commit/e7010bdf92)] - test: runner should return 0 on flaky tests (Alexis Campailla) https://github.com/nodejs/node-v0.x-archive/pull/25686 277* [[`c283c9bbb3`](https://github.com/nodejs/node/commit/c283c9bbb3)] - test: support writing test output to file (Alexis Campailla) https://github.com/nodejs/node-v0.x-archive/pull/25686 278* [[`eeaed586bb`](https://github.com/nodejs/node/commit/eeaed586bb)] - test: runner support for flaky tests (Alexis Campailla) https://github.com/nodejs/node-v0.x-archive/pull/25686 279* [[`3bb8174b94`](https://github.com/nodejs/node/commit/3bb8174b94)] - test: refactor to use common testcfg (Timothy J Fontaine) https://github.com/nodejs/node-v0.x-archive/pull/25686 280* [[`df59d43586`](https://github.com/nodejs/node/commit/df59d43586)] - tools: pass constant to logger instead of string (Johan Bergström) https://github.com/nodejs/node-v0.x-archive/pull/25686 281* [[`d103d4ed9a`](https://github.com/nodejs/node/commit/d103d4ed9a)] - tools: fix test.py after v8 upgrade (Ben Noordhuis) https://github.com/nodejs/node-v0.x-archive/pull/25686 282* [[`8002192b4e`](https://github.com/nodejs/node/commit/8002192b4e)] - win: manifest node.exe for Windows 8.1 (Alexis Campailla) https://github.com/nodejs/node/pull/2838 283* [[`66ec1dae8f`](https://github.com/nodejs/node/commit/66ec1dae8f)] - win: add MSVS 2015 support (Rod Vagg) https://github.com/nodejs/node-v0.x-archive/pull/25857 284* [[`e192f61514`](https://github.com/nodejs/node/commit/e192f61514)] - win: fix custom actions for WiX older than 3.9 (João Reis) https://github.com/nodejs/node-v0.x-archive/pull/25569 285* [[`16bcd68dc5`](https://github.com/nodejs/node/commit/16bcd68dc5)] - win: fix custom actions on Visual Studio != 2013 (Julien Gilli) https://github.com/nodejs/node-v0.x-archive/pull/25569 286* [[`517986c2f4`](https://github.com/nodejs/node/commit/517986c2f4)] - win: backport bringing back xp/2k3 support (Bert Belder) https://github.com/nodejs/node-v0.x-archive/pull/25569 287* [[`10f251e8dd`](https://github.com/nodejs/node/commit/10f251e8dd)] - win: backport set env before generating projects (Alexis Campailla) https://github.com/nodejs/node-v0.x-archive/pull/25569 288 289<a id="0.10.40"></a> 290## 2015-07-09, Version 0.10.40 (Maintenance) 291 292### Commits 293 294* [[`0cf9f27703`](https://github.com/nodejs/node/commit/0cf9f27703)] - **openssl**: upgrade to 1.0.1p [#25654](https://github.com/joyent/node/pull/25654) 295* [[`5a60e0d904`](https://github.com/nodejs/node/commit/5a60e0d904)] - **V8**: back-port JitCodeEvent patch from upstream (Ben Noordhuis) [#25588](https://github.com/joyent/node/pull/25588) 296* [[`18d413d299`](https://github.com/nodejs/node/commit/18d413d299)] - **win,msi**: create npm folder in AppData directory (Steven Rockarts) [#8838](https://github.com/joyent/node/pull/8838) 297 298<a id="0.10.39"></a> 299## 2015-06-18, Version 0.10.39 (Maintenance) 300 301### Commits 302 303* [[`456c22f63f`](https://github.com/nodejs/node/commit/456c22f63f)] - **openssl**: upgrade to 1.0.1o (Addressing multiple CVEs) [#25523](https://github.com/joyent/node/pull/25523) 304* [[`9d19dfbfdb`](https://github.com/nodejs/node/commit/9d19dfbfdb)] - **install**: fix source path for openssl headers (Oguz Bastemur) [#14089](https://github.com/joyent/node/pull/14089) 305* [[`4028669531`](https://github.com/nodejs/node/commit/4028669531)] - **install**: make sure opensslconf.h is overwritten (Oguz Bastemur) [#14089](https://github.com/joyent/node/pull/14089) 306* [[`d38e865fce`](https://github.com/nodejs/node/commit/d38e865fce)] - **timers**: fix timeout when added in timer's callback (Julien Gilli) [#17203](https://github.com/joyent/node/pull/17203) 307* [[`e7c84f82c7`](https://github.com/nodejs/node/commit/e7c84f82c7)] - **windows**: broadcast WM_SETTINGCHANGE after install (Mathias Küsel) [#25100](https://github.com/joyent/node/pull/25100) 308 309<a id="0.10.38"></a> 310## 2015-03-23, Version 0.10.38 (Maintenance) 311 312### Commits 313 314* [[`3b511a8ccd`](https://github.com/nodejs/node/commit/3b511a8ccd)] - **openssl**: upgrade to 1.0.1m (Addressing multiple CVES) 315 316<a id="0.10.37"></a> 317## 2015-03-11, Version 0.10.37 (Maintenance) 318 319### Commits 320 321* [[`dcff5d565c`](https://github.com/nodejs/node/commit/dcff5d565c)] - uv: update to 0.10.36 (CVE-2015-0278) [#9274](https://github.com/joyent/node/pull/9274) 322* [[`f2a45caf2e`](https://github.com/nodejs/node/commit/f2a45caf2e)] - domains: fix stack clearing after error handled (Jonas Dohse) [#9364](https://github.com/joyent/node/pull/9364) 323* [[`d01a900078`](https://github.com/nodejs/node/commit/d01a900078)] - buffer: reword Buffer.concat error message (Chris Dickinson) [#8723](https://github.com/joyent/node/pull/8723) 324* [[`c8239c08d7`](https://github.com/nodejs/node/commit/c8239c08d7)] - console: allow Object.prototype fields as labels (Julien Gilli) [#9215](https://github.com/joyent/node/pull/9215) 325* [[`431eb172f9`](https://github.com/nodejs/node/commit/431eb172f9)] - V8: log version in profiler log file (Ben Noordhuis) [#9043](https://github.com/joyent/node/pull/9043) 326* [[`8bcd0a4c4a`](https://github.com/nodejs/node/commit/8bcd0a4c4a)] - http: fix performance regression for GET requests (Florin-Cristian Gavrila) [#9026](https://github.com/joyent/node/pull/9026) 327 328<a id="0.10.36"></a> 329## 2015-01-26, Version 0.10.36 (Stable) 330 331### Commits 332 333* [[`deef605085`](https://github.com/nodejs/node/commit/deef605085)] - **openssl**: update to 1.0.1l 334* [[`45f1330425`](https://github.com/nodejs/node/commit/45f1330425)] - **v8**: Fix debugger and strict mode regression (Julien Gilli) 335* [[`6ebd85e105`](https://github.com/nodejs/node/commit/6ebd85e105)] - **v8**: don't busy loop in cpu profiler thread (Ben Noordhuis) [#8789](https://github.com/joyent/node/pull/8789) 336 337<a id="0.10.35"></a> 338## 2014.12.22, Version 0.10.35 (Stable) 339 340* tls: re-add 1024-bit SSL certs removed by f9456a2 (Chris Dickinson) 341* timers: don't close interval timers when unrefd (Julien Gilli) 342* timers: don't mutate unref list while iterating it (Julien Gilli) 343 344<a id="0.10.34"></a> 345## 2014.12.17, Version 0.10.34 (Stable) 346 347https://github.com/nodejs/node/commit/52795f8fcc2de77cf997e671ea58614e5e425dfe 348 349* uv: update to v0.10.30 350* zlib: upgrade to v1.2.8 351* child_process: check execFile args is an array (Sam Roberts) 352* child_process: check fork args is an array (Sam Roberts) 353* crypto: update root certificates (Ben Noordhuis) 354* domains: fix issues with abort on uncaught (Julien Gilli) 355* timers: Avoid linear scan in _unrefActive. (Julien Gilli) 356* timers: fix unref() memory leak (Trevor Norris) 357* v8: add api for aborting on uncaught exception (Julien Gilli) 358* debugger: fix when using "use strict" (Julien Gilli) 359 360<a id="0.10.33"></a> 361## 2014.10.20, Version 0.10.33 (Stable) 362 363https://github.com/nodejs/node/commit/8d045a30e95602b443eb259a5021d33feb4df079 364 365* openssl: Update to 1.0.1j (Addressing multiple CVEs) 366* uv: Update to v0.10.29 367* child_process: properly support optional args (cjihrig) 368* crypto: Disable autonegotiation for SSLv2/3 by default (Fedor Indutny, 369 Timothy J Fontaine, Alexis Campailla) 370 371 This is a behavior change, by default we will not allow the negotiation to 372 SSLv2 or SSLv3. If you want this behavior, run Node.js with either 373 `--enable-ssl2` or `--enable-ssl3` respectively. 374 375 This does not change the behavior for users specifically requesting 376 `SSLv2_method` or `SSLv3_method`. While this behavior is not advised, it is 377 assumed you know what you're doing since you're specifically asking to use 378 these methods. 379 380<a id="0.10.32"></a> 381## 2014.09.16, Version 0.10.32 (Stable) 382 383https://github.com/nodejs/node/commit/0fe0d121551593c23a565db8397f85f17bb0f00e 384 385* npm: Update to 1.4.28 386* v8: fix a crash introduced by previous release (Fedor Indutny) 387* configure: add --openssl-no-asm flag (Fedor Indutny) 388* crypto: use domains for any callback-taking method (Chris Dickinson) 389* http: do not send `0\r\n\r\n` in TE HEAD responses (Fedor Indutny) 390* querystring: fix unescape override (Tristan Berger) 391* url: Add support for RFC 3490 separators (Mathias Bynens) 392 393<a id="0.10.31"></a> 394## 2014.08.19, Version 0.10.31 (Stable) 395 396https://github.com/nodejs/node/commit/7fabdc23d843cb705d2d0739e7bbdaaf50aa3292 397 398* v8: backport CVE-2013-6668 399* openssl: Update to v1.0.1i 400* npm: Update to v1.4.23 401* cluster: disconnect should not be synchronous (Sam Roberts) 402* fs: fix fs.readFileSync fd leak when get RangeError (Jackson Tian) 403* stream: fix Readable.wrap objectMode falsy values (James Halliday) 404* timers: fix timers with non-integer delay hanging. (Julien Gilli) 405 406<a id="0.10.30"></a> 407## 2014.07.31, Version 0.10.30 (Stable) 408 409https://github.com/nodejs/node/commit/bc0ff830aff1e016163d855e86ded5c98b0899e8 410 411* uv: Upgrade to v0.10.28 412* npm: Upgrade to v1.4.21 413* v8: Interrupts must not mask stack overflow. 414* Revert "stream: start old-mode read in a next tick" (Fedor Indutny) 415* buffer: fix sign overflow in `readUIn32BE` (Fedor Indutny) 416* buffer: improve {read,write}{U}Int* methods (Nick Apperson) 417* child_process: handle writeUtf8String error (Fedor Indutny) 418* deps: backport 4ed5fde4f from v8 upstream (Fedor Indutny) 419* deps: cherry-pick eca441b2 from OpenSSL (Fedor Indutny) 420* lib: remove and restructure calls to isNaN() (cjihrig) 421* module: eliminate double `getenv()` (Maciej Małecki) 422* stream2: flush extant data on read of ended stream (Chris Dickinson) 423* streams: remove unused require('assert') (Rod Vagg) 424* timers: backport f8193ab (Julien Gilli) 425* util.h: interface compatibility (Oguz Bastemur) 426* zlib: do not crash on write after close (Fedor Indutny) 427 428<a id="0.10.29"></a> 429## 2014.06.05, Version 0.10.29 (Stable) 430 431https://github.com/nodejs/node/commit/ce82d6b8474bde7ac7df6d425fb88fb1bcba35bc 432 433* openssl: to 1.0.1h (CVE-2014-0224) 434* npm: upgrade to 1.4.14 435* utf8: Prevent Node from sending invalid UTF-8 (Felix Geisendörfer) 436 * *NOTE* this introduces a breaking change, previously you could construct 437 invalid UTF-8 and invoke an error in a client that was expecting valid 438 UTF-8, now unmatched surrogate pairs are replaced with the unknown UTF-8 439 character. To restore the old functionality simply have NODE_INVALID_UTF8 440 environment variable set. 441 442* child_process: do not set args before throwing (Greg Sabia Tucker) 443* child_process: spawn() does not throw TypeError (Greg Sabia Tucker) 444* constants: export O_NONBLOCK (Fedor Indutny) 445* crypto: improve memory usage (Alexis Campailla) 446* fs: close file if fstat() fails in readFile() (cjihrig) 447* lib: name EventEmitter prototype methods (Ben Noordhuis) 448* tls: fix performance issue (Alexis Campailla) 449 450<a id="0.10.28"></a> 451## 2014.05.01, Version 0.10.28 (Stable) 452 453https://github.com/nodejs/node/commit/b148cbe09d4657766fdb61575ba985734c2ff0a8 454 455* npm: upgrade to v1.4.9 456 457<a id="0.10.27"></a> 458## 2014.05.01, Version 0.10.27 (Stable) 459 460https://github.com/nodejs/node/commit/cb7911f78ae96ef7a540df992cc1359ba9636e86 461 462* npm: upgrade to v1.4.8 463* openssl: upgrade to 1.0.1g 464* uv: update to v0.10.27 465* dns: fix certain txt entries (Fedor Indutny) 466* assert: Ensure reflexivity of deepEqual (Mike Pennisi) 467* child_process: fix deadlock when sending handles (Fedor Indutny) 468* child_process: fix sending handle twice (Fedor Indutny) 469* crypto: do not lowercase cipher/hash names (Fedor Indutny) 470* dtrace: workaround linker bug on FreeBSD (Fedor Indutny) 471* http: do not emit EOF non-readable socket (Fedor Indutny) 472* http: invoke createConnection when no agent (Nathan Rajlich) 473* stream: remove useless check (Brian White) 474* timer: don't reschedule timer bucket in a domain (Greg Brail) 475* url: treat \ the same as / (isaacs) 476* util: format as Error if instanceof Error (Rod Vagg) 477 478<a id="0.10.26"></a> 479## 2014.02.18, Version 0.10.26 (Stable) 480 481https://github.com/nodejs/node/commit/cc56c62ed879ad4f93b1fdab3235c43e60f48b7e 482 483* uv: Upgrade to v0.10.25 (Timothy J Fontaine) 484* npm: upgrade to 1.4.3 (isaacs) 485* v8: support compiling with VS2013 (Fedor Indutny) 486* cares: backport TXT parsing fix (Fedor Indutny) 487* crypto: throw on SignFinal failure (Fedor Indutny) 488* crypto: update root certificates (Ben Noordhuis) 489* debugger: Fix breakpoint not showing after restart (Farid Neshat) 490* fs: make unwatchFile() insensitive to path (iamdoron) 491* net: do not re-emit stream errors (Fedor Indutny) 492* net: make Socket destroy() re-entrance safe (Jun Ma) 493* net: reset `endEmitted` on reconnect (Fedor Indutny) 494* node: do not close stdio implicitly (Fedor Indutny) 495* zlib: avoid assertion in close (Fedor Indutny) 496 497<a id="0.10.25"></a> 498## 2014.01.23, Version 0.10.25 (Stable) 499 500https://github.com/nodejs/node/commit/b0e5f195dfce3e2b99f5091373d49f6616682596 501 502* uv: Upgrade to v0.10.23 503* npm: Upgrade to v1.3.24 504* v8: Fix enumeration for objects with lots of properties 505* child_process: fix spawn() optional arguments (Sam Roberts) 506* cluster: report more errors to workers (Fedor Indutny) 507* domains: exit() only affects active domains (Ryan Graham) 508* src: OnFatalError handler must abort() (Timothy J Fontaine) 509* stream: writes may return false but forget to emit drain (Yang Tianyang) 510 511<a id="0.10.24"></a> 512## 2013.12.18, Version 0.10.24 (Stable) 513 514https://github.com/nodejs/node/commit/b7fd6bc899ccb629d790c47aee06aba87e535c41 515 516* uv: Upgrade to v0.10.21 517* npm: upgrade to 1.3.21 518* v8: backport fix for CVE-2013-{6639|6640} 519* build: unix install node and dep library headers (Timothy J Fontaine) 520* cluster, v8: fix --logfile=%p.log (Ben Noordhuis) 521* module: only cache package main (Wyatt Preul) 522 523<a id="0.10.23"></a> 524## 2013.12.12, Version 0.10.23 (Stable) 525 526https://github.com/nodejs/node/commit/0462bc23564e7e950a70ae4577a840b04db6c7c6 527 528* uv: Upgrade to v0.10.20 (Timothy J Fontaine) 529* npm: Upgrade to 1.3.17 (isaacs) 530* gyp: update to 78b26f7 (Timothy J Fontaine) 531* build: include postmortem symbols on linux (Timothy J Fontaine) 532* crypto: Make Decipher._flush() emit errors. (Kai Groner) 533* dgram: fix abort when getting `fd` of closed dgram (Fedor Indutny) 534* events: do not accept NaN in setMaxListeners (Fedor Indutny) 535* events: avoid calling `once` functions twice (Tim Wood) 536* events: fix TypeError in removeAllListeners (Jeremy Martin) 537* fs: report correct path when EEXIST (Fedor Indutny) 538* process: enforce allowed signals for kill (Sam Roberts) 539* tls: emit 'end' on .receivedShutdown (Fedor Indutny) 540* tls: fix potential data corruption (Fedor Indutny) 541* tls: handle `ssl.start()` errors appropriately (Fedor Indutny) 542* tls: reset NPN callbacks after SNI (Fedor Indutny) 543 544<a id="0.10.22"></a> 545## 2013.11.12, Version 0.10.22 (Stable) 546 547https://github.com/nodejs/node/commit/cbff8f091c22fb1df6b238c7a1b9145db950fa65 548 549* npm: Upgrade to 1.3.14 550* uv: Upgrade to v0.10.19 551* child_process: don't assert on stale file descriptor events (Fedor Indutny) 552* darwin: Fix "Not Responding" in Mavericks activity monitor (Fedor Indutny) 553* debugger: Fix bug in sb() with unnamed script (Maxim Bogushevich) 554* repl: do not insert duplicates into completions (Maciej Małecki) 555* src: Fix memory leak on closed handles (Timothy J Fontaine) 556* tls: prevent stalls by using read(0) (Fedor Indutny) 557* v8: use correct timezone information on Solaris (Maciej Małecki) 558 559<a id="0.10.21"></a> 560## 2013.10.18, Version 0.10.21 (Stable) 561 562https://github.com/nodejs/node/commit/e2da042844a830fafb8031f6c477eb4f96195210 563 564* uv: Upgrade to v0.10.18 565* crypto: clear errors from verify failure (Timothy J Fontaine) 566* dtrace: interpret two byte strings (Dave Pacheco) 567* fs: fix fs.truncate() file content zeroing bug (Ben Noordhuis) 568* http: provide backpressure for pipeline flood (isaacs) 569* tls: fix premature connection termination (Ben Noordhuis) 570 571<a id="0.10.20"></a> 572## 2013.09.30, Version 0.10.20 (Stable) 573 574https://github.com/nodejs/node/commit/d7234c8d50a1af73f60d2d3c0cc7eed17429a481 575 576* tls: fix sporadic hang and partial reads (Fedor Indutny) 577 * fixes "npm ERR! cb() never called!" 578 579<a id="0.10.19"></a> 580## 2013.09.24, Version 0.10.19 (Stable) 581 582https://github.com/nodejs/node/commit/6b5e6a5a3ec8d994c9aab3b800b9edbf1b287904 583 584* uv: Upgrade to v0.10.17 585* npm: upgrade to 1.3.11 586* readline: handle input starting with control chars (Eric Schrock) 587* configure: add mips-float-abi (soft, hard) option (Andrei Sedoi) 588* stream: objectMode transforms allow falsey values (isaacs) 589* tls: prevent duplicate values returned from read (Nathan Rajlich) 590* tls: NPN protocols are now local to connections (Fedor Indutny) 591 592<a id="0.10.18"></a> 593## 2013.09.04, Version 0.10.18 (Stable) 594 595https://github.com/nodejs/node/commit/67a1f0c52e0708e2596f3f2134b8386d6112561e 596 597* uv: Upgrade to v0.10.15 598* stream: Don't crash on unset _events property (isaacs) 599* stream: Pass 'buffer' encoding with decoded writable chunks (isaacs) 600 601<a id="0.10.17"></a> 602## 2013.08.21, Version 0.10.17 (Stable) 603 604https://github.com/nodejs/node/commit/469a4a5091a677df62be319675056b869c31b35c 605 606* uv: Upgrade v0.10.14 607* http_parser: Do not accept PUN/GEM methods as PUT/GET (Chris Dickinson) 608* tls: fix assertion when ssl is destroyed at read (Fedor Indutny) 609* stream: Throw on 'error' if listeners removed (isaacs) 610* dgram: fix assertion on bad send() arguments (Ben Noordhuis) 611* readline: pause stdin before turning off terminal raw mode (Daniel Chatfield) 612 613<a id="0.10.16"></a> 614## 2013.08.16, Version 0.10.16 (Stable) 615 616https://github.com/nodejs/node/commit/50b4c905a4425430ae54db4906f88982309e128d 617 618* v8: back-port fix for CVE-2013-2882 619* npm: Upgrade to 1.3.8 620* crypto: fix assert() on malformed hex input (Ben Noordhuis) 621* crypto: fix memory leak in randomBytes() error path (Ben Noordhuis) 622* events: fix memory leak, don't leak event names (Ben Noordhuis) 623* http: Handle hex/base64 encodings properly (isaacs) 624* http: improve chunked res.write(buf) performance (Ben Noordhuis) 625* stream: Fix double pipe error emit (Eran Hammer) 626 627<a id="0.10.15"></a> 628## 2013.07.25, Version 0.10.15 (Stable) 629 630https://github.com/nodejs/node/commit/2426d65af860bda7be9f0832a99601cc43c6cf63 631 632* src: fix process.getuid() return value (Ben Noordhuis) 633 634<a id="0.10.14"></a> 635## 2013.07.25, Version 0.10.14 (Stable) 636 637https://github.com/nodejs/node/commit/fdf57f811f9683a4ec49a74dc7226517e32e6c9d 638 639* uv: Upgrade to v0.10.13 640* npm: Upgrade to v1.3.5 641* os: Don't report negative times in cpu info (Ben Noordhuis) 642* fs: Handle large UID and GID (Ben Noordhuis) 643* url: Fix edge-case when protocol is non-lowercase (Shuan Wang) 644* doc: Streams API Doc Rewrite (isaacs) 645* node: call MakeDomainCallback in all domain cases (Trevor Norris) 646* crypto: fix memory leak in LoadPKCS12 (Fedor Indutny) 647 648<a id="0.10.13"></a> 649## 2013.07.09, Version 0.10.13 (Stable) 650 651https://github.com/nodejs/node/commit/e32660a984427d46af6a144983cf7b8045b7299c 652 653* uv: Upgrade to v0.10.12 654* npm: Upgrade to 1.3.2 655* windows: get proper errno (Ben Noordhuis) 656* tls: only wait for finish if we haven't seen it (Timothy J Fontaine) 657* http: Dump response when request is aborted (isaacs) 658* http: use an unref'd timer to fix delay in exit (Peter Rust) 659* zlib: level can be negative (Brian White) 660* zlib: allow zero values for level and strategy (Brian White) 661* buffer: add comment explaining buffer alignment (Ben Noordhuis) 662* string_bytes: properly detect 64bit (Timothy J Fontaine) 663* src: fix memory leak in UsingDomains() (Ben Noordhuis) 664 665<a id="0.10.12"></a> 666## 2013.06.18, Version 0.10.12 (Stable) 667 668https://github.com/nodejs/node/commit/a088cf4f930d3928c97d239adf950ab43e7794aa 669 670* npm: Upgrade to 1.2.32 671* readline: make `ctrl + L` clear the screen (Yuan Chuan) 672* v8: add setVariableValue debugger command (Ben Noordhuis) 673* net: Do not destroy socket mid-write (isaacs) 674* v8: fix build for mips32r2 architecture (Andrei Sedoi) 675* configure: fix cross-compilation host_arch_cc() (Andrei Sedoi) 676 677<a id="0.10.11"></a> 678## 2013.06.13, Version 0.10.11 (Stable) 679 680https://github.com/nodejs/node/commit/d9d5bc465450ae5d60da32e9ffcf71c2767f1fad 681 682* uv: upgrade to 0.10.11 683* npm: Upgrade to 1.2.30 684* openssl: add missing configuration pieces for MIPS (Andrei Sedoi) 685* Revert "http: remove bodyHead from 'upgrade' events" (isaacs) 686* v8: fix pointer arithmetic undefined behavior (Trevor Norris) 687* crypto: fix utf8/utf-8 encoding check (Ben Noordhuis) 688* net: Fix busy loop on POLLERR|POLLHUP on older linux kernels (Ben Noordhuis, isaacs) 689 690<a id="0.10.10"></a> 691## 2013.06.04, Version 0.10.10 (Stable) 692 693https://github.com/nodejs/node/commit/25e51c396aa23018603baae2b1d9390f5d9db496 694 695* uv: Upgrade to 0.10.10 696* npm: Upgrade to 1.2.25 697* url: Properly parse certain oddly formed urls (isaacs) 698* stream: unshift('') is a noop (isaacs) 699 700<a id="0.10.9"></a> 701## 2013.05.30, Version 0.10.9 (Stable) 702 703https://github.com/nodejs/node/commit/878ffdbe6a8eac918ef3a7f13925681c3778060b 704 705* npm: Upgrade to 1.2.24 706* uv: Upgrade to v0.10.9 707* repl: fix JSON.parse error check (Brian White) 708* tls: proper .destroySoon (Fedor Indutny) 709* tls: invoke write cb only after opposite read end (Fedor Indutny) 710* tls: ignore .shutdown() syscall error (Fedor Indutny) 711 712<a id="0.10.8"></a> 713## 2013.05.24, Version 0.10.8 (Stable) 714 715https://github.com/nodejs/node/commit/30d9e9fdd9d4c33d3d95a129d021cd8b5b91eddb 716 717* v8: update to 3.14.5.9 718* uv: upgrade to 0.10.8 719* npm: Upgrade to 1.2.23 720* http: remove bodyHead from 'upgrade' events (Nathan Zadoks) 721* http: Return true on empty writes, not false (isaacs) 722* http: save roundtrips, convert buffers to strings (Ben Noordhuis) 723* configure: respect the --dest-os flag consistently (Nathan Rajlich) 724* buffer: throw when writing beyond buffer (Trevor Norris) 725* crypto: Clear error after DiffieHellman key errors (isaacs) 726* string_bytes: strip padding from base64 strings (Trevor Norris) 727 728<a id="0.10.7"></a> 729## 2013.05.17, Version 0.10.7 (Stable) 730 731https://github.com/nodejs/node/commit/d2fdae197ac542f686ee06835d1153dd43b862e5 732 733* uv: upgrade to v0.10.7 734* npm: Upgrade to 1.2.21 735* crypto: Don't ignore verify encoding argument (isaacs) 736* buffer, crypto: fix default encoding regression (Ben Noordhuis) 737* timers: fix setInterval() assert (Ben Noordhuis) 738 739<a id="0.10.6"></a> 740## 2013.05.14, Version 0.10.6 (Stable) 741 742https://github.com/nodejs/node/commit/5deb1672f2b5794f8be19498a425ea4dc0b0711f 743 744* module: Deprecate require.extensions (isaacs) 745* stream: make Readable.wrap support objectMode, empty streams (Daniel Moore) 746* child_process: fix handle delivery (Ben Noordhuis) 747* crypto: Fix performance regression (isaacs) 748* src: DRY string encoding/decoding (isaacs) 749 750<a id="0.10.5"></a> 751## 2013.04.23, Version 0.10.5 (Stable) 752 753https://github.com/nodejs/node/commit/deeaf8fab978e3cadb364e46fb32dafdebe5f095 754 755* uv: Upgrade to 0.10.5 (isaacs) 756* build: added support for Visual Studio 2012 (Miroslav Bajtoš) 757* http: Don't try to destroy nonexistent sockets (isaacs) 758* crypto: LazyTransform on properties, not methods (isaacs) 759* assert: put info in err.message, not err.name (Ryan Doenges) 760* dgram: fix no address bind() (Ben Noordhuis) 761* handle_wrap: fix NULL pointer dereference (Ben Noordhuis) 762* os: fix unlikely buffer overflow in os.type() (Ben Noordhuis) 763* stream: Fix unshift() race conditions (isaacs) 764 765<a id="0.10.4"></a> 766## 2013.04.11, Version 0.10.4 (Stable) 767 768https://github.com/nodejs/node/commit/9712aa9f76073c30850b20a188b1ed12ffb74d17 769 770* uv: Upgrade to 0.10.4 771* npm: Upgrade to 1.2.18 772* v8: Avoid excessive memory growth in JSON.parse (Fedor Indutny) 773* child_process, cluster: fix O(n*m) scan of cmd string (Ben Noordhuis) 774* net: fix socket.bytesWritten Buffers support (Fedor Indutny) 775* buffer: fix offset checks (Łukasz Walukiewicz) 776* stream: call write cb before finish event (isaacs) 777* http: Support write(data, 'hex') (isaacs) 778* crypto: dh secret should be left-padded (Fedor Indutny) 779* process: expose NODE_MODULE_VERSION in process.versions (Rod Vagg) 780* crypto: fix constructor call in crypto streams (Andreas Madsen) 781* net: account for encoding in .byteLength (Fedor Indutny) 782* net: fix buffer iteration in bytesWritten (Fedor Indutny) 783* crypto: zero is not an error if writing 0 bytes (Fedor Indutny) 784* tls: Re-enable check of CN-ID in cert verification (Tobias Müllerleile) 785 786<a id="0.10.3"></a> 787## 2013.04.03, Version 0.10.3 (Stable) 788 789https://github.com/nodejs/node/commit/d4982f6f5e4a9a703127489a553b8d782997ea43 790 791* npm: Upgrade to 1.2.17 792* child_process: acknowledge sent handles (Fedor Indutny) 793* etw: update prototypes to match dtrace provider (Timothy J Fontaine) 794* dtrace: pass more arguments to probes (Dave Pacheco) 795* build: allow building with dtrace on osx (Dave Pacheco) 796* http: Remove legacy ECONNRESET workaround code (isaacs) 797* http: Ensure socket cleanup on client response end (isaacs) 798* tls: Destroy socket when encrypted side closes (isaacs) 799* repl: isSyntaxError() catches "strict mode" errors (Nathan Rajlich) 800* crypto: Pass options to ctor calls (isaacs) 801* src: tie process.versions.uv to uv_version_string() (Ben Noordhuis) 802 803<a id="0.10.2"></a> 804## 2013.03.28, Version 0.10.2 (Stable) 805 806https://github.com/nodejs/node/commit/1e0de9c426e07a260bbec2d2196c2d2db8eb8886 807 808* npm: Upgrade to 1.2.15 809* uv: Upgrade to 0.10.3 810* tls: handle SSL_ERROR_ZERO_RETURN (Fedor Indutny) 811* tls: handle errors before calling C++ methods (Fedor Indutny) 812* tls: remove harmful unnecessary bounds checking (Marcel Laverdet) 813* crypto: make getCiphers() return non-SSL ciphers (Ben Noordhuis) 814* crypto: check randomBytes() size argument (Ben Noordhuis) 815* timers: do not calculate Timeout._when property (Alexey Kupershtokh) 816* timers: fix off-by-one ms error (Alexey Kupershtokh) 817* timers: handle signed int32 overflow in enroll() (Fedor Indutny) 818* stream: Fix stall in Transform under very specific conditions (Gil Pedersen) 819* stream: Handle late 'readable' event listeners (isaacs) 820* stream: Fix early end in Writables on zero-length writes (isaacs) 821* domain: fix domain callback from MakeCallback (Trevor Norris) 822* child_process: don't emit same handle twice (Ben Noordhuis) 823* child_process: fix sending utf-8 to child process (Ben Noordhuis) 824 825<a id="0.10.1"></a> 826## 2013.03.21, Version 0.10.1 (Stable) 827 828https://github.com/nodejs/node/commit/c274d1643589bf104122674a8c3fd147527a667d 829 830* npm: upgrade to 1.2.15 831* crypto: Improve performance of non-stream APIs (Fedor Indutny) 832* tls: always reset this.ssl.error after handling (Fedor Indutny) 833* tls: Prevent mid-stream hangs (Fedor Indutny, isaacs) 834* net: improve arbitrary tcp socket support (Ben Noordhuis) 835* net: handle 'finish' event only after 'connect' (Fedor Indutny) 836* http: Don't hot-path end() for large buffers (isaacs) 837* fs: Missing cb errors are deprecated, not a throw (isaacs) 838* fs: make write/appendFileSync correctly set file mode (Raymond Feng) 839* stream: Return self from readable.wrap (isaacs) 840* stream: Never call decoder.end() multiple times (Gil Pedersen) 841* windows: enable watching signals with process.on('SIGXYZ') (Bert Belder) 842* node: revert removal of MakeCallback (Trevor Norris) 843* node: Unwrap without aborting in handle fd getter (isaacs) 844 845<a id="0.10.0"></a> 846## 2013.03.11, Version 0.10.0 (Stable) 847 848https://github.com/nodejs/node/commit/163ca274230fce536afe76c64676c332693ad7c1 849 850* npm: Upgrade to 1.2.14 851* core: Append filename properly in dlopen on windows (isaacs) 852* zlib: Manage flush flags appropriately (isaacs) 853* domains: Handle errors thrown in nested error handlers (isaacs) 854* buffer: Strip high bits when converting to ascii (Ben Noordhuis) 855* win/msi: Enable modify and repair (Bert Belder) 856* win/msi: Add feature selection for various node parts (Bert Belder) 857* win/msi: use consistent registry key paths (Bert Belder) 858* child_process: support sending dgram socket (Andreas Madsen) 859* fs: Raise EISDIR on Windows when calling fs.read/write on a dir (isaacs) 860* unix: fix strict aliasing warnings, macro-ify functions (Ben Noordhuis) 861* unix: honor UV_THREADPOOL_SIZE environment var (Ben Noordhuis) 862* win/tty: fix typo in color attributes enumeration (Bert Belder) 863* win/tty: don't touch insert mode or quick edit mode (Bert Belder) 864