2014.06.05, Version 0.10.29 (Stable)
openssl: to 1.0.1h (CVE-2014-0224)
npm: upgrade to 1.4.14
utf8: Prevent Node from sending invalid UTF-8 (Felix Geisendörfer)
- NOTE this introduces a breaking change, previously you could construct invalid UTF-8 and invoke an error in a client that was expecting valid UTF-8, now unmatched surrogate pairs are replaced with the unknown UTF-8 character. To restore the old functionality simply have NODE_INVALID_UTF8 environment variable set.
child_process: do not set args before throwing (Greg Sabia Tucker)
child_process: spawn() does not throw TypeError (Greg Sabia Tucker)
constants: export O_NONBLOCK (Fedor Indutny)
crypto: improve memory usage (Alexis Campailla)
fs: close file if fstat() fails in readFile() (cjihrig)
lib: name EventEmitter prototype methods (Ben Noordhuis)
tls: fix performance issue (Alexis Campailla)
Source Code: http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz
Macintosh Installer (Universal): http://nodejs.org/dist/v0.10.29/node-v0.10.29.pkg
Windows Installer: http://nodejs.org/dist/v0.10.29/node-v0.10.29-x86.msi
Windows x64 Installer: http://nodejs.org/dist/v0.10.29/x64/node-v0.10.29-x64.msi
Windows x64 Files: http://nodejs.org/dist/v0.10.29/x64/
Linux 32-bit Binary: http://nodejs.org/dist/v0.10.29/node-v0.10.29-linux-x86.tar.gz
Linux 64-bit Binary: http://nodejs.org/dist/v0.10.29/node-v0.10.29-linux-x64.tar.gz
Solaris 32-bit Binary: http://nodejs.org/dist/v0.10.29/node-v0.10.29-sunos-x86.tar.gz
Solaris 64-bit Binary: http://nodejs.org/dist/v0.10.29/node-v0.10.29-sunos-x64.tar.gz
Other release files: http://nodejs.org/dist/v0.10.29/
45a26f4c01086275dba4657e3c347eb8648beda5 node-v0.10.29-darwin-x64.tar.gz cdfd3cbb5b4a5c99fed4b5f29bb0d9f39af0ad15 node-v0.10.29-darwin-x86.tar.gz 570c45653fec04d29d2208bb2967bc88b2821537 node-v0.10.29-linux-x64.tar.gz 81a0f08f9b4485d0a7ed0c049c79110b93ae03bc node-v0.10.29-linux-x86.tar.gz 44cf39e6eba77b23abf31f0780b85d83f6e8d93a node-v0.10.29-sunos-x64.tar.gz c91a5b34dec50f91102a1cc846b79cb50d6460af node-v0.10.29-sunos-x86.tar.gz dd512e5ceb74988ede95517554888f2b3d716ff4 node-v0.10.29-x86.msi 7401f3047373813cf788fa4de487d0766cef76f7 node-v0.10.29.pkg 0d5dc62090404f7c903f29779295758935529242 node-v0.10.29.tar.gz 7e1fc5162e177aa32d626635e941aa2791092035 node.exe 9f83dbfc6db23f1fa701259359cbb8593e6edb58 node.exp b9090fd83fcd66a91ecde139acb14c741c4b4af7 node.lib 2599a5723ea8aac115f72e48f053e0d7ac1dd5c7 node.pdb 9387d64902a3c7ff97ce3bc07f519b238ab9df4f pkgsrc/nodejs-ia32-0.10.29.tgz cc4c90afe93456176c9ea984a08aefd065d85b34 pkgsrc/nodejs-x64-0.10.29.tgz c6ae603f73ccb2e33fed2d34fbcf55fd8d952775 x64/node-v0.10.29-x64.msi 1bf313dfb5259e8712ed1f0783739070f5c1453d x64/node.exe 14c902ddaa40a1c37826691d691e594d0d657fe8 x64/node.exp 0bf14903526c93fcfe4bab57844b4046ce922b31 x64/node.lib af759c0b56d829439b08b46877641000bbff81d6 x64/node.pdb
Notes from the Road
As Project Lead for Node.js, I was excited to have the opportunity to go on the road and bring production stories to all of our users. We've had amazing speakers and turn out in San Francisco, Seattle, Portland, Boston, and New York. But I wanted to make sure we reached more than just our coasts, so soon we'll be in Minneapolis and I'll be returning to my home state of Ohio and doing an event in Cincinnati. The Node.js community is all over the world, and hopefully Node on the Road can reach as many of you as it can. Nominate your city to be a future stop on the Node.js on the Road series here.
These Node on the Road events are successful because of the incredible support from the community and the existing meetup organizations in their respective cities. But the biggest advantage is that the project gets to solicit feedback directly from our users about what is and isn't working for them in Node.js, what modules they're using, and where they need Node to do better.
Some of the feedback we've received has been about the upgrade process for Node. Veteran Node.js alums will occasionally sit around campfires and tell the stories of when things would break every release, or how long they stayed on 0.4 before upgrading to 0.6. Some production companies are still out there running on 0.8 afraid to make the jump to 0.10. While other companies advise people to avoid upgrading to a new release of a Node version until the patch number hits double digits. It's those sorts of stories that make it important for us to get the release for 0.12 right, from the get go.
Node is in a fantastic place right now, it's maturing quickly and finding its footing in new environments with new users and new use cases. The expectation for Node is getting higher each day with every release. There are multiple interests at stake, keeping Node lean, keeping it up to date with languages and standards, keeping it fast, and balanced with keeping it stable such that we don't upset the adoption rate. That means Node needs to make the right choices that balance the needs of all of our users without closing the doors to others.
All of these conversations are helping to shape the release process going forward, and helping to scope just what does go into a release and how fast people want to see those happen. In fact something we've been considering is eliminating the confusion around our Stable/Unstable branches, and instead moving to releases that are always stable. But it's important that the features and changes that go into a release are shaped by user feedback, which is why events like Node on the Road are vital.
Another key piece of feedback has consistently been around our documentation. Users need us to clean up our API reference documentation, there are lots of undocumented and under-documented methods and properties that are being used or should be used. Node needs to include what errors may be delivered as part of the operation of your application, as well as what methods will throw and under what circumstances.
But mostly users are looking for more general purpose documentation that can help both new and veteran Node.js users be more productive with Node. And the people who are most equipped to provide that documentation are the users themselves who've already been successful.
Aside from soliciting feedback from users of Node.js and bringing production stories to our users, Node on the Road has also been about highlighting the various ways you as a member of the community can contribute. There are many ways you can contribute from meetups and conferences, to publishing modules, to finding issues in modules or core, to fixing issues in modules or core, or even adding features to modules or core. Where ever you are passionate about Node.js there are ways you can contribute back to Node.
Node.js has inherited many things from our largest dependency V8, we've adopted their build system GYP, we use their test runner (which is unfortunately in python), and when we were structuring the project we brought along the Contributor License Agreement (CLA) that Google uses to manage contributions for Chromium and V8. The CLA is there as a way for a project to audit itself and to give itself the opportunity to relicense itself in the future if necessary. Node.js though is distributed under the venerable MIT license, and that's not going to change. The MIT license is one of the most permissible open source licenses out there, and has fostered a ton of development with Node.js and we want that to continue.
In an effort to make it easier for users to contribute to Node.js the project has decided to lift the requirement of signing the CLA before contributions are eligible for integration. Having to sign the CLA could at times be a stumbling block for a contribution. It could involve a long conversation with your legal department to ultimately contribute typo corrections.
I'm excited to see what contributions will be coming from the community in the future, excited to see where our users take Node.js, and excited to be participating with all of you on this project.
2014.05.01, Version 0.10.28 (Stable)
- npm: upgrade to v1.4.9
Source Code: http://nodejs.org/dist/v0.10.28/node-v0.10.28.tar.gz
Macintosh Installer (Universal): http://nodejs.org/dist/v0.10.28/node-v0.10.28.pkg
Windows Installer: http://nodejs.org/dist/v0.10.28/node-v0.10.28-x86.msi
Windows x64 Installer: http://nodejs.org/dist/v0.10.28/x64/node-v0.10.28-x64.msi
Windows x64 Files: http://nodejs.org/dist/v0.10.28/x64/
Linux 32-bit Binary: http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-x86.tar.gz
Linux 64-bit Binary: http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-x64.tar.gz
Solaris 32-bit Binary: http://nodejs.org/dist/v0.10.28/node-v0.10.28-sunos-x86.tar.gz
Solaris 64-bit Binary: http://nodejs.org/dist/v0.10.28/node-v0.10.28-sunos-x64.tar.gz
Other release files: http://nodejs.org/dist/v0.10.28/
6eff580cc8460741155d42ef1ef537961194443f node-v0.10.28-darwin-x64.tar.gz d95ed3e8305ba459015549ef8a925ffbb889ef35 node-v0.10.28-darwin-x86.tar.gz 4b9cf9437decea3d9913b694ea2e9b0a06ced2dd node-v0.10.28-linux-x64.tar.gz 3daec68e972abc299882b73fa6360387c5145a97 node-v0.10.28-linux-x86.tar.gz 17898dcf188d4b672bf5d2ec2f8e7a0abb6ccbcf node-v0.10.28-sunos-x64.tar.gz 19075b6ce07fb3a331b2f710ddddd07f86a5a5cd node-v0.10.28-sunos-x86.tar.gz 0c9ebeecf7cfad99fad1af7e7043fcd6fac8eef9 node-v0.10.28-x86.msi f94bb307f8c4aa408c4702704461533f1d4fa793 node-v0.10.28.pkg ef08a75f6359a16e672cae684e0804ca7f4554b7 node-v0.10.28.tar.gz 57e565d7a2c10dd9299c15b98ab752e01ab3b4e0 node.exe 97de4ea47677773ee21c2361b88fa8751f613bb3 node.exp 20614aa1b6505e3c6921897bab09117b86da9c29 node.lib 10bfcfa936d25a12f0778f472c3439c2aaac0ff9 node.pdb 9aa42387fb7d18a74059ffef85f9d8ca316525b6 pkgsrc/nodejs-ia32-0.10.28.tgz b987cd71d9ca1aeb513343b459a3e5f7b8c4df1d pkgsrc/nodejs-x64-0.10.28.tgz 6122b245f2237268a3ad10e8b008752888713906 x64/node-v0.10.28-x64.msi 8017b24d8e6955bbfc2dc28f7a57c3d03e159020 x64/node.exe 8da812d32830442a0aafa3c3be85ca3ee7ce43c4 x64/node.exp 8961ea28d99d05dd85c3bf1ac4dd88fb4e23be3b x64/node.lib 02d57f356d754da2e5ba8885243ad7a9a67bad38 x64/node.pdb
2014.05.01, Version 0.10.27 (Stable)
npm: upgrade to v1.4.8
openssl: upgrade to 1.0.1g
uv: update to v0.10.27
dns: fix certain txt entries (Fedor Indutny)
assert: Ensure reflexivity of deepEqual (Mike Pennisi)
child_process: fix deadlock when sending handles (Fedor Indutny)
child_process: fix sending handle twice (Fedor Indutny)
crypto: do not lowercase cipher/hash names (Fedor Indutny)
dtrace: workaround linker bug on FreeBSD (Fedor Indutny)
http: do not emit EOF non-readable socket (Fedor Indutny)
http: invoke createConnection when no agent (Nathan Rajlich)
stream: remove useless check (Brian White)
timer: don't reschedule timer bucket in a domain (Greg Brail)
url: treat the same as / (isaacs)
util: format as Error if instanceof Error (Rod Vagg)
Source Code: http://nodejs.org/dist/v0.10.27/node-v0.10.27.tar.gz
Macintosh Installer (Universal): http://nodejs.org/dist/v0.10.27/node-v0.10.27.pkg
Windows Installer: http://nodejs.org/dist/v0.10.27/node-v0.10.27-x86.msi
Windows x64 Installer: http://nodejs.org/dist/v0.10.27/x64/node-v0.10.27-x64.msi
Windows x64 Files: http://nodejs.org/dist/v0.10.27/x64/
Linux 32-bit Binary: http://nodejs.org/dist/v0.10.27/node-v0.10.27-linux-x86.tar.gz
Linux 64-bit Binary: http://nodejs.org/dist/v0.10.27/node-v0.10.27-linux-x64.tar.gz
Solaris 32-bit Binary: http://nodejs.org/dist/v0.10.27/node-v0.10.27-sunos-x86.tar.gz
Solaris 64-bit Binary: http://nodejs.org/dist/v0.10.27/node-v0.10.27-sunos-x64.tar.gz
Other release files: http://nodejs.org/dist/v0.10.27/
74a33b3a095370b6a42f74527817ad4c57110c21 node-v0.10.27-darwin-x64.tar.gz 77c76d4433d9d2ebdf3b6b41da61ef869b9c080c node-v0.10.27-darwin-x86.tar.gz 5e5328172491bb6861376a751b530ed35a45d128 node-v0.10.27-linux-x64.tar.gz 6e5b2d22dc720398fc52266395ad04da61df564f node-v0.10.27-linux-x86.tar.gz bd441a809c2256cca4f23d0d53f7599d1684da1f node-v0.10.27-sunos-x64.tar.gz 7a116e9f128cbc2e46ae9c21bc5adc9054ef4c0d node-v0.10.27-sunos-x86.tar.gz 36771e0712ccc5363bb97674d44c36d784901cb7 node-v0.10.27-x86.msi a0ff5292c46e7ea984362e9fd54fa7f8ae981760 node-v0.10.27.pkg b9429a86d774d06cccd840e6bd189f9106928a87 node-v0.10.27.tar.gz 6d61a07a184d1103fe8f801ca75053a44ab514fc node.exe 618c4152b7729cf41b3e53b2bb8f172ba017e128 node.exp 65845a7ef3582c1ccd3943f6b2d8e804a8317f31 node.lib 3eacd9aef672410ed42ccc807f81a79ec130013e node.pdb f8e8097df171f108c6f8925d2fce061ac5caf9de pkgsrc/nodejs-ia32-0.10.27.tgz 323e2d72943381bb89fa29f8305697854b423537 pkgsrc/nodejs-x64-0.10.27.tgz 911832602bf8e65bc7e2b2e34c7dd1af17b427e5 x64/node-v0.10.27-x64.msi 92f3aa0c7664489d7e796206be04fa2dec1f61e3 x64/node.exe 82f6409c91d2294c7e450a5b83701c9988a40a45 x64/node.exp 181c71e5277614dd60b2c04067008d38030708eb x64/node.lib 12855dc1d77372367d2ef917dd06e9db3a628a71 x64/node.pdb