|
| 1 | +date: Fri Feb 6 14:03:56 PST 2015 |
| 2 | +version: 0.12.0 |
| 3 | +category: release |
| 4 | +title: Node v0.12.0 (Stable) |
| 5 | +slug: node-v0-12-0-stable |
| 6 | + |
| 7 | +We are excited to announce the availability of Node.js v0.12! It has been a |
| 8 | +long process, and we want to thank contributors and all of the community who |
| 9 | +waited patiently for this event. Node.js has such a vibrant and enthusiastic |
| 10 | +community, and we're very lucky to have you all supporting us. |
| 11 | + |
| 12 | +Node.js has seen many changes between v0.10 and v0.12. There is [a listing of |
| 13 | +changes documented on the wiki](https://github.com/joyent/node/wiki/API-changes-between-v0.10-and-v0.12). Note that this release includes API updates |
| 14 | +that may require dependency updates. Following are some highlights: |
| 15 | + |
| 16 | + * Streams 3 |
| 17 | + - The Streams implementation now works the way you thought it already should, |
| 18 | + without introducing any changes to the API. Basically this means no more |
| 19 | + getting stuck in "old mode", there are only streams that are flowing or not. |
| 20 | + - Streams now support the use of cork and uncork mechanisms to prevent |
| 21 | + flushing writes out to the system if an application is going to be |
| 22 | + performing many writes in a row. There is an implicit uncork performed when |
| 23 | + you end a writable stream. |
| 24 | + * HTTP |
| 25 | + - `maxSockets` are no longer limited to 5. The default is now set to |
| 26 | + `Infinity` with the developer and the operating system given control over |
| 27 | + how many simultaneous connections an application can keep open to a given |
| 28 | + host. |
| 29 | + - Proper KeepAlive support means that sockets will stay open until they |
| 30 | + timeout at the configured time, are closed by the remote side, or the |
| 31 | + process exits. Developer's no longer have to make sure requests have been |
| 32 | + pipelined to keep the socket open, or use an alternative module to get that |
| 33 | + support. |
| 34 | + - Developers can also now explicitly `flushHeaders` to ensure time to first |
| 35 | + byte is low and proxied connections are held open. |
| 36 | + * Cluster |
| 37 | + - Now has two modes of operation, the new default is a round robin |
| 38 | + distribution mechanism where the master accepts new connections and |
| 39 | + distributes them to your workers. If you want you can still opt back into |
| 40 | + the old method where your workers are responsible for acception connections. |
| 41 | + * TLS |
| 42 | + - We have the new TLSWrap mechanism under the hood, this eliminates quite a |
| 43 | + few of the hops back and forth between JavaScript and our C++ |
| 44 | + implementations. |
| 45 | + - Added APIs for asynchronous SNI callbacks, OCSP stapling, and storage |
| 46 | + events. |
| 47 | + * Buffer |
| 48 | + - We use a more accurate mechanism for allocating memory for buffers now, |
| 49 | + which means you'll see less overhead and impact from holding onto to small |
| 50 | + slices of Buffers. This reduces the amount of memory pressure on the system, |
| 51 | + which means GC runs are quicker, which means Node.js is on CPU less, and |
| 52 | + thus lower latency for your applications. |
| 53 | + * child_process |
| 54 | + - `spawnSync`/`execSync` have been added to facilitate synchronous child |
| 55 | + processes, warning your node process won't make forward progress while |
| 56 | + waiting for the child to exit, caveat emptor! |
| 57 | + * Crypto |
| 58 | + - Added APIs for loading custom engines for use with compiled in OpenSSL. |
| 59 | + - More APIs support supplying the pass phrases. |
| 60 | + - Added APIs for RSA public/private key encryption/decryption. |
| 61 | + * VM |
| 62 | + - The module is now based on the Contextify module, which shares values from |
| 63 | + the sandbox to avoid missing changes inside the execution from appearing in |
| 64 | + the parent context. |
| 65 | + * Initial support for [ECMAScript Internationalization API 1.0 |
| 66 | + (ECMA-402)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl) |
| 67 | + - By default, Node.js v0.12.0 binaries are shipped with ECMA-402 support, |
| 68 | + but only for the English language. In other words, the ECMA-402 API is |
| 69 | + working as you would expect, but only data for the English language is |
| 70 | + included. You can find more info on how to include more languages [in |
| 71 | + the Wiki](https://github.com/joyent/node/wiki/Intl). |
| 72 | + |
| 73 | +These are just *some* of the changes you can find in this release of v0.12, |
| 74 | +and it's thanks to the hard work of the community and the members of team |
| 75 | +curating Node.js. |
| 76 | + |
| 77 | +We are also pleased to report that this release of Node.js has tests passing |
| 78 | +on all of our supported platforms. On the one hand, this seems obvious (what |
| 79 | +are tests for if not to verify before you release it?!), but this is actually |
| 80 | +the first release of Node.js that has operated under this constraint. |
| 81 | +Requiring that all tests pass before releasing Node.js marks an important |
| 82 | +development for the project, and is essential for building a solid path moving |
| 83 | +forward. |
| 84 | + |
| 85 | +We'll obviously be spending a couple weeks firefighting any immediate issues |
| 86 | +for v0.12, but the team is excited to start pulling in the items and |
| 87 | +discussing what the roadmap will look like next for Node.js. We want to make |
| 88 | +sure we're scoping future versions of Node.js so we can have confidence in |
| 89 | +knowing we're on the right path and that we're ready to release based on the |
| 90 | +standards we have set for ourselves. |
| 91 | + |
| 92 | +Quite a few members of the team will be attending |
| 93 | +[NodeSummit](http://nodesummit.com) February 9th through the 11th in San |
| 94 | +Francisco. If you're around for that event please make sure to find us and |
| 95 | +give us feedback on what you would like to see from Node.js. |
| 96 | + |
| 97 | +Source Code: http://nodejs.org/dist/v0.12.0/node-v0.12.0.tar.gz |
| 98 | + |
| 99 | +Macintosh Installer (Universal): http://nodejs.org/dist/v0.12.0/node-v0.12.0.pkg |
| 100 | + |
| 101 | +Windows Installer: http://nodejs.org/dist/v0.12.0/node-v0.12.0-x86.msi |
| 102 | + |
| 103 | +Windows x64 Installer: http://nodejs.org/dist/v0.12.0/x64/node-v0.12.0-x64.msi |
| 104 | + |
| 105 | +Windows x64 Files: http://nodejs.org/dist/v0.12.0/x64/ |
| 106 | + |
| 107 | +Linux 32-bit Binary: http://nodejs.org/dist/v0.12.0/node-v0.12.0-linux-x86.tar.gz |
| 108 | + |
| 109 | +Linux 64-bit Binary: http://nodejs.org/dist/v0.12.0/node-v0.12.0-linux-x64.tar.gz |
| 110 | + |
| 111 | +Solaris 32-bit Binary: http://nodejs.org/dist/v0.12.0/node-v0.12.0-sunos-x86.tar.gz |
| 112 | + |
| 113 | +Solaris 64-bit Binary: http://nodejs.org/dist/v0.12.0/node-v0.12.0-sunos-x64.tar.gz |
| 114 | + |
| 115 | +Other release files: http://nodejs.org/dist/v0.12.0/ |
| 116 | + |
| 117 | +Website: http://nodejs.org/docs/v0.12.0/ |
| 118 | + |
| 119 | +Documentation: http://nodejs.org/docs/v0.12.0/api/ |
| 120 | + |
| 121 | +Shasums: |
| 122 | +``` |
| 123 | +-----BEGIN PGP SIGNED MESSAGE----- |
| 124 | +Hash: SHA512 |
| 125 | +
|
| 126 | +4f53a1dac68057d700964707adb5e54302969dab genccode.exe |
| 127 | +146930a2bdb88a3e12cb8d3a359e7197bbbde695 genccode.pdb |
| 128 | +6ec82639faae028e5d9c90e123f7220e7e915187 genrb.exe |
| 129 | +817c5b18f4cd8d2eed80815fc030a1342b4f88cd genrb.pdb |
| 130 | +151036790bd98204764d302f3df2ab2685db6f54 iculslocs.exe |
| 131 | +228a3dcf968f6c552788fafc1ef84baee3e7450e iculslocs.pdb |
| 132 | +8665404bb5cf3e730ba633c5b8184250bae1cafd icupkg.exe |
| 133 | +819de4c86d0aad67cf62e5f4913910f1112ef1c9 icupkg.pdb |
| 134 | +596eff06fefc11ef10f345ea37e7e05f72533c67 node-v0.12.0-darwin-x64.tar.gz |
| 135 | +dddd5306a0c7e551aae8a8685b365f8c25a9d63a node-v0.12.0-darwin-x86.tar.gz |
| 136 | +64fb5260a4a0f914b62a80066d7955856a04703a node-v0.12.0-linux-x64.tar.gz |
| 137 | +765cb24d17625221ecdd8518907c265b99ce18d2 node-v0.12.0-linux-x86.tar.gz |
| 138 | +6964fe9bd299eea2844e0dc0bb6f5cae70e1f03c node-v0.12.0-sunos-x64.tar.gz |
| 139 | +3988db298cfe614370481ab5abba3bd83b65570f node-v0.12.0-sunos-x86.tar.gz |
| 140 | +20d936afd83f819c92826afdc87815a3c96884d2 node-v0.12.0-x86.msi |
| 141 | +8879163ab75f611abb49e250f3158c6a98e37d25 node-v0.12.0.pkg |
| 142 | +d08810034d170c19759cb38bfc9442ab6b0ebc7a node-v0.12.0.tar.gz |
| 143 | +c54021b701cebc3ba713c920531ca4fdc96cf9fe node.exe |
| 144 | +cce4bba695a8d4953977b3bf5193a9f16b24e003 node.exp |
| 145 | +4983bf4ef56b1af2e5e9db9e67c62250b5455016 node.lib |
| 146 | +ffa621154420292dcdd39cc4bd91a5e08bc5f622 node.pdb |
| 147 | +05bbc6228fb49005b2fd0858544d0dc42e6b6f0c openssl-cli.exe |
| 148 | +0bd5916cbadeab0f5995728142279049e6e9d866 openssl-cli.pdb |
| 149 | +84bce5da7c5cc563d224d0d80e05a9c9fc3614b2 x64/genccode.exe |
| 150 | +9bc57d86caba460d6b0dc864db832956cf68096c x64/genccode.pdb |
| 151 | +4ae96a5ec2619f9cd60e127cb4ad9e0147dcf58c x64/genrb.exe |
| 152 | +4ff14345e733f266ed86679e88e8461825bc0c2d x64/genrb.pdb |
| 153 | +4ba7525312c7e7d1d489f89af8d9b98d743d2397 x64/iculslocs.exe |
| 154 | +1a2cebefcaee90e81be67bc079b48a37b5a7f63a x64/iculslocs.pdb |
| 155 | +251d768eba9543da5ae9a8d5617c9fc58069d413 x64/icupkg.exe |
| 156 | +f4647ad8db148b89475634000e0c0cd7f8f47b04 x64/icupkg.pdb |
| 157 | +a34650db220cb1886bb497edb72474e83a4dbe77 x64/node-v0.12.0-x64.msi |
| 158 | +71cf52c0ff9e1457364962697fb8798925241828 x64/node.exe |
| 159 | +dbd4614bf15b037c0ed2cb631bad0282e420c3ff x64/node.exp |
| 160 | +709ff6f74f10b184e09c45e893a77248455fb452 x64/node.lib |
| 161 | +e14399d9cc5df344e6c4dd557ec2a8c62973b6d3 x64/node.pdb |
| 162 | +a014b76f8c36768a15532ccb5e8d5e904bc4dbb0 x64/openssl-cli.exe |
| 163 | +0827c6819bc7a2b100f14ffbe0b431e955c73b89 x64/openssl-cli.pdb |
| 164 | +-----BEGIN PGP SIGNATURE----- |
| 165 | +Comment: GPGTools - https://gpgtools.org |
| 166 | +
|
| 167 | +iQIcBAEBCgAGBQJU1To8AAoJEFCjBR+IjGKNPIQQAJOepQMZctwstD1iiUcrKRo4 |
| 168 | +iZMgdHUe4bcBcGfkeB2X8RD4WYIoYxfL/6EF7IfjapiQc8W3Zo1IlTQqRFR1RqRz |
| 169 | +HayhDQu5qPSE6EygT0le6eFbVsn7V1SdP+91umZ+kJVlUal0Li0ZWzSs94iFaok/ |
| 170 | +SBgV92WegQBzGwYTxHa/tN2nJ8xkSJDSaqxmiavj+5Ve2phOuKo+vxYnP9viXIT4 |
| 171 | +MsohnZyovm4BaOg/DWj8Jn5X42SVzhEiLDjZQxxku64IzjZPjflsYbuBIM8hMnb8 |
| 172 | +FwIp92Cp48qsm/l4EX8PN6FLoXo+M82kT3i4rY2XLl7MxwUv4jrh4LTTHG+pPi9X |
| 173 | +LEu58em/xgp/IN+cobc4vs5yWKB98FQNOL+F6ketqyLQwfyr20kDuovcNqiuJX5V |
| 174 | +SIaeU7qyykFoj2qERU0Mk1v0FgLUTjlwwH5h9IcjagV4JFywcIJiNriibz/Ta6rA |
| 175 | +d2KzKyva3rnj4eL4Wa4F9yyLCX9j3sWCE/ZMuVb2NJnYl7RPgr3M+PEcMQVJbdUx |
| 176 | +b1lz+Yyo+NuXUXR9j9OtXscXVrSa8Bqxtc3heXajDzWbGdU8ZPW3DhULtQcPFAth |
| 177 | +DLolLXEcJn6QOQSC06Y+D3LZ3jJbSX0jGb6bvQLksRkPltSSI5VgHSBjlGGkyEVt |
| 178 | +UpmTqbfBdzs1UfeGwL6N |
| 179 | +=nSHJ |
| 180 | +-----END PGP SIGNATURE----- |
| 181 | +``` |
0 commit comments