From: isaacs Date: Wed, 1 Aug 2012 17:14:17 +0000 (-0700) Subject: blog: Remove all windows line endings once and for all X-Git-Tag: v0.8.5~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fd56981b4c3a2de866f9cbeda09df0458d0f51b1;p=platform%2Fupstream%2Fnodejs.git blog: Remove all windows line endings once and for all --- diff --git a/doc/blog/Uncategorized/an-easy-way-to-build-scalable-network-programs.md b/doc/blog/Uncategorized/an-easy-way-to-build-scalable-network-programs.md index e1a509e..a555ac6 100644 --- a/doc/blog/Uncategorized/an-easy-way-to-build-scalable-network-programs.md +++ b/doc/blog/Uncategorized/an-easy-way-to-build-scalable-network-programs.md @@ -5,12 +5,12 @@ status: publish category: Uncategorized slug: an-easy-way-to-build-scalable-network-programs -Suppose you're writing a web server which does video encoding on each file upload. Video encoding is very much compute bound. Some recent blog posts suggest that Node.js would fail miserably at this. - -Using Node does not mean that you have to write a video encoding algorithm in JavaScript (a language without even 64 bit integers) and crunch away in the main server event loop. The suggested approach is to separate the I/O bound task of receiving uploads and serving downloads from the compute bound task of video encoding. In the case of video encoding this is accomplished by forking out to ffmpeg. Node provides advanced means of asynchronously controlling subprocesses for work like this. - -It has also been suggested that Node does not take advantage of multicore machines. Node has long supported load-balancing connections over multiple processes in just a few lines of code - in this way a Node server will use the available cores. In coming releases we'll make it even easier: just pass --balance on the command line and Node will manage the cluster of processes. - -Node has a clear purpose: provide an easy way to build scalable network programs. It is not a tool for every problem. Do not write a ray tracer with Node. Do not write a web browser with Node. Do however reach for Node if tasked with writing a DNS server, DHCP server, or even a video encoding server. - +Suppose you're writing a web server which does video encoding on each file upload. Video encoding is very much compute bound. Some recent blog posts suggest that Node.js would fail miserably at this. + +Using Node does not mean that you have to write a video encoding algorithm in JavaScript (a language without even 64 bit integers) and crunch away in the main server event loop. The suggested approach is to separate the I/O bound task of receiving uploads and serving downloads from the compute bound task of video encoding. In the case of video encoding this is accomplished by forking out to ffmpeg. Node provides advanced means of asynchronously controlling subprocesses for work like this. + +It has also been suggested that Node does not take advantage of multicore machines. Node has long supported load-balancing connections over multiple processes in just a few lines of code - in this way a Node server will use the available cores. In coming releases we'll make it even easier: just pass --balance on the command line and Node will manage the cluster of processes. + +Node has a clear purpose: provide an easy way to build scalable network programs. It is not a tool for every problem. Do not write a ray tracer with Node. Do not write a web browser with Node. Do however reach for Node if tasked with writing a DNS server, DHCP server, or even a video encoding server. + By relying on the kernel to schedule and preempt computationally expensive tasks and to load balance incoming connections, Node appears less magical than server platforms that employ userland scheduling. So far, our focus on simplicity and transparency has paid off: the number of success stories from developers and corporations who are adopting the technology continues to grow. diff --git a/doc/blog/Uncategorized/development-environment.md b/doc/blog/Uncategorized/development-environment.md index f714181..e6015e0 100644 --- a/doc/blog/Uncategorized/development-environment.md +++ b/doc/blog/Uncategorized/development-environment.md @@ -5,21 +5,21 @@ status: publish category: Uncategorized slug: development-environment -If you're compiling a software package because you need a particular version (e.g. the latest), then it requires a little bit more maintenance than using a package manager like dpkg. Software that you compile yourself should *not* go into /usr, it should go into your home directory. This is part of being a software developer. - -One way of doing this is to install everything into $HOME/local/$PACKAGE. Here is how I install node on my machine:
./configure --prefix=$HOME/local/node-v0.4.5 && make install
- -To have my paths automatically set I put this inside my $HOME/.zshrc:
PATH="$HOME/local/bin:/opt/local/bin:/usr/bin:/sbin:/bin"
-LD_LIBRARY_PATH="/opt/local/lib:/usr/local/lib:/usr/lib"
-for i in $HOME/local/*; do
-  [ -d $i/bin ] && PATH="${i}/bin:${PATH}"
-  [ -d $i/sbin ] && PATH="${i}/sbin:${PATH}"
-  [ -d $i/include ] && CPATH="${i}/include:${CPATH}"
-  [ -d $i/lib ] && LD_LIBRARY_PATH="${i}/lib:${LD_LIBRARY_PATH}"
-  [ -d $i/lib/pkgconfig ] && PKG_CONFIG_PATH="${i}/lib/pkgconfig:${PKG_CONFIG_PATH}"
-  [ -d $i/share/man ] && MANPATH="${i}/share/man:${MANPATH}"
-done
- -Node is under sufficiently rapid development that everyone should be compiling it themselves. A corollary of this is that npm (which should be installed alongside Node) does not require root to install packages. - +If you're compiling a software package because you need a particular version (e.g. the latest), then it requires a little bit more maintenance than using a package manager like dpkg. Software that you compile yourself should *not* go into /usr, it should go into your home directory. This is part of being a software developer. + +One way of doing this is to install everything into $HOME/local/$PACKAGE. Here is how I install node on my machine:
./configure --prefix=$HOME/local/node-v0.4.5 && make install
+ +To have my paths automatically set I put this inside my $HOME/.zshrc:
PATH="$HOME/local/bin:/opt/local/bin:/usr/bin:/sbin:/bin"
+LD_LIBRARY_PATH="/opt/local/lib:/usr/local/lib:/usr/lib"
+for i in $HOME/local/*; do
+  [ -d $i/bin ] && PATH="${i}/bin:${PATH}"
+  [ -d $i/sbin ] && PATH="${i}/sbin:${PATH}"
+  [ -d $i/include ] && CPATH="${i}/include:${CPATH}"
+  [ -d $i/lib ] && LD_LIBRARY_PATH="${i}/lib:${LD_LIBRARY_PATH}"
+  [ -d $i/lib/pkgconfig ] && PKG_CONFIG_PATH="${i}/lib/pkgconfig:${PKG_CONFIG_PATH}"
+  [ -d $i/share/man ] && MANPATH="${i}/share/man:${MANPATH}"
+done
+ +Node is under sufficiently rapid development that everyone should be compiling it themselves. A corollary of this is that npm (which should be installed alongside Node) does not require root to install packages. + CPAN and RubyGems have blurred the lines between development tools and system package managers. With npm we wish to draw a clear line: it is not a system package manager. It is not for installing firefox or ffmpeg or OpenSSL; it is for rapidly downloading, building, and setting up Node packages. npm is a development tool. When a program written in Node becomes sufficiently mature it should be distributed as a tarball, .deb, .rpm, or other package system. It should not be distributed to end users with npm. diff --git a/doc/blog/Uncategorized/evolving-the-node-js-brand.md b/doc/blog/Uncategorized/evolving-the-node-js-brand.md index dbb7f85..e631a22 100644 --- a/doc/blog/Uncategorized/evolving-the-node-js-brand.md +++ b/doc/blog/Uncategorized/evolving-the-node-js-brand.md @@ -5,30 +5,30 @@ status: publish category: Uncategorized slug: evolving-the-node-js-brand -To echo Node’s evolutionary nature, we have refreshed the identity to help mark an exciting time for developers, businesses and users who benefit from the pioneering technology. - -Building a brand - -We began exploring elements to express Node.js and jettisoned preconceived notions about what we thought Node should look like, and focused on what Node is: kinetic,connected, scalable, modular, mechanical and organic. Working with designer Chris Glass, our explorations emphasized Node's dynamism and formed a visual language based on structure, relationships and interconnectedness. - - - -Inspired by process visualization, we discovered pattern, form, and by relief, the hex shape. The angled infrastructure encourages energy to move through the letterforms. - - - -This language can expand into the organic network topography of Node or distill down into a single hex connection point. - -This scaling represents the dynamic nature of Node in a simple, distinct manner. - - - -We look forward to exploring this visual language as the technology charges into a very promising future. - - - -We hope you'll have fun using it. - -To download the new logo, visit nodejs.org/logos. - +To echo Node’s evolutionary nature, we have refreshed the identity to help mark an exciting time for developers, businesses and users who benefit from the pioneering technology. + +Building a brand + +We began exploring elements to express Node.js and jettisoned preconceived notions about what we thought Node should look like, and focused on what Node is: kinetic,connected, scalable, modular, mechanical and organic. Working with designer Chris Glass, our explorations emphasized Node's dynamism and formed a visual language based on structure, relationships and interconnectedness. + + + +Inspired by process visualization, we discovered pattern, form, and by relief, the hex shape. The angled infrastructure encourages energy to move through the letterforms. + + + +This language can expand into the organic network topography of Node or distill down into a single hex connection point. + +This scaling represents the dynamic nature of Node in a simple, distinct manner. + + + +We look forward to exploring this visual language as the technology charges into a very promising future. + + + +We hope you'll have fun using it. + +To download the new logo, visit nodejs.org/logos. + diff --git a/doc/blog/Uncategorized/growing-up.md b/doc/blog/Uncategorized/growing-up.md index 6faff59..10e1d58 100644 --- a/doc/blog/Uncategorized/growing-up.md +++ b/doc/blog/Uncategorized/growing-up.md @@ -5,8 +5,8 @@ status: publish category: Uncategorized slug: growing-up -This week Microsoft announced support for Node in Windows Azure, their cloud computing platform. For the Node core team and the community, this is an important milestone. We've worked hard over the past six months reworking Node's machinery to support IO completion ports and Visual Studio to provide a good native port to Windows. The overarching goal of the port was to expand our user base to the largest number of developers. Happily, this has paid off in the form of being a first class citizen on Azure. Many users who would have never used Node as a pure unix tool are now up and running on the Windows platform. More users translates into a deeper and better ecosystem of modules, which makes for a better experience for everyone. - -We also redesigned our website - something that we've put off for a long time because we felt that Node was too nascent to dedicate marketing to it. But now that we have binary distributions for Macintosh and Windows, have bundled npm, and are serving millions of users at various companies, we felt ready to indulge in a new website and share of a few of our success stories on the home page. - +This week Microsoft announced support for Node in Windows Azure, their cloud computing platform. For the Node core team and the community, this is an important milestone. We've worked hard over the past six months reworking Node's machinery to support IO completion ports and Visual Studio to provide a good native port to Windows. The overarching goal of the port was to expand our user base to the largest number of developers. Happily, this has paid off in the form of being a first class citizen on Azure. Many users who would have never used Node as a pure unix tool are now up and running on the Windows platform. More users translates into a deeper and better ecosystem of modules, which makes for a better experience for everyone. + +We also redesigned our website - something that we've put off for a long time because we felt that Node was too nascent to dedicate marketing to it. But now that we have binary distributions for Macintosh and Windows, have bundled npm, and are serving millions of users at various companies, we felt ready to indulge in a new website and share of a few of our success stories on the home page. + Work is on-going. We continue to improve the software, making performance improvements and adding isolate support, but Node is growing up. diff --git a/doc/blog/Uncategorized/jobs-nodejs-org.md b/doc/blog/Uncategorized/jobs-nodejs-org.md index bf8278b..fe20efe 100644 --- a/doc/blog/Uncategorized/jobs-nodejs-org.md +++ b/doc/blog/Uncategorized/jobs-nodejs-org.md @@ -5,10 +5,10 @@ status: publish category: Uncategorized slug: jobs-nodejs-org -We are starting an official jobs board for Node. There are two goals for this - -1. Promote the small emerging economy around this platform by having a central space for employers to find Node programmers. - -2. Make some money. We work hard to build this platform and taking a small tax for job posts seems a like reasonable "tip jar". - +We are starting an official jobs board for Node. There are two goals for this + +1. Promote the small emerging economy around this platform by having a central space for employers to find Node programmers. + +2. Make some money. We work hard to build this platform and taking a small tax for job posts seems a like reasonable "tip jar". + jobs.nodejs.org diff --git a/doc/blog/Uncategorized/ldapjs-a-reprise-of-ldap.md b/doc/blog/Uncategorized/ldapjs-a-reprise-of-ldap.md index 57d4af7..7174e2b 100644 --- a/doc/blog/Uncategorized/ldapjs-a-reprise-of-ldap.md +++ b/doc/blog/Uncategorized/ldapjs-a-reprise-of-ldap.md @@ -5,80 +5,80 @@ status: publish category: Uncategorized slug: ldapjs-a-reprise-of-ldap -This post has been about 10 years in the making. My first job out of college was at IBM working on the Tivoli Directory Server, and at the time I had a preconceived notion that working on anything related to Internet RFCs was about as hot as you could get. I spent a lot of time back then getting "down and dirty" with everything about LDAP: the protocol, performance, storage engines, indexing and querying, caching, customer use cases and patterns, general network server patterns, etc. Basically, I soaked up as much as I possibly could while I was there. On top of that, I listened to all the "gray beards" tell me about the history of LDAP, which was a bizarre marriage of telecommunications conglomerates and graduate students. The point of this blog post is to give you a crash course in LDAP, and explain what makes ldapjs different. Allow me to be the gray beard for a bit... -

What is LDAP and where did it come from?

- -Directory services were largely pioneered by the telecommunications companies (e.g., AT&T) to allow fast information retrieval of all the crap you'd expect would be in a telephone book and directory. That is, given a name, or an address, or an area code, or a number, or a foo support looking up customer records, billing information, routing information, etc. The efforts of several telcos came to exist in the X.500 standard(s). An X.500 directory is one of the most complicated beasts you can possibly imagine, but on a high note, there's -probably not a thing you can imagine in a directory service that wasn't thought of in there. It is literally the kitchen sink. Oh, and it doesn't run over IP (it's actually on the OSI model). - -Several years after X.500 had been deployed (at telcos, academic institutions, etc.), it became clear that the Internet was "for real." LDAP, the "Lightweight Directory Access Protocol," was invented to act purely as an IP-accessible gateway to an X.500 directory. - -At some point in the early 90's, a graduate student at the University of Michigan (with some help) cooked up the "grandfather" implementation of the LDAP protocol, which wasn't actually a "gateway," but rather a stand-alone implementation of LDAP. Said implementation, like many things at the time, was a process-per-connection concurrency model, and had "backends" (aka storage engine) for the file system and the Unix DB API. At some point the Berkeley Database (BDB) was put in, and still remains the de facto storage engine for most LDAP directories. - -Ok, so some a graduate student at UM wrote an LDAP server that wasn't a gateway. So what? Well, that UM code base turns out to be the thing that pretty much every vendor did a source license for. Those graduate students went off to Netscape later in the 90's, and largely dominated the market of LDAP middleware until Active Directory came along many years later (as far as I know, Active Directory is "from scratch", since while it's "almost" LDAP, it's different in a lot of ways). That Netscape code base was further bought and sold over the years to iPlanet, Sun Microsystems, and Red Hat (I'm probably missing somebody in that chain). It now lives in the Fedora umbrella as '389 Directory Server.' Probably the most popular fork of that code base now is OpenLDAP. - -IBM did the same thing, and the Directory Server I worked on was a fork of the UM code too, but it heavily diverged from the Netscape branches. The divergence was primarily due to: (1) backing to DB2 as opposed to BDB, and (2) needing to run on IBM's big iron like OS/400 and Z series mainframes. - -Macro point is that there have actually been very few "fresh" implementations of LDAP, and it gets a pretty bad reputation because at the end of the day you've got 20 years of "bolt-ons" to grad student code. Oh, and it was born out of ginormous telcos, so of course the protocol is overly complex. - -That said, while there certainly is some wacky stuff in the LDAP protocol itself, it really suffered from poor and buggy implementations more than the fact that LDAP itself was fundamentally flawed. As engine yard pointed out a few years back, you can think of LDAP as the original NoSQL store. -

LDAP: The Good Parts

- -So what's awesome about LDAP? Since it's a directory system it maintains a hierarchy of your data, which as an information management pattern aligns -with _a lot_ of use case (the quintessential example is white pages for people in your company, but subscriptions to SaaS applications, "host groups" -for tracking machines/instances, physical goods tracking, etc., all have use cases that fit that organization scheme). For example, presumably at your job -you have a "reporting chain." Let's say a given record in LDAP (I'll use myself as a guinea pig here) looks like: -
    firstName: Mark
-    lastName: Cavage
-    city: Seattle
-    uid: markc
-    state: Washington
-    mail: mcavagegmailcom
-    phone: (206) 555-1212
-    title: Software Engineer
-    department: 123456
-    objectclass: joyentPerson
-The record for me would live under the tree of engineers I report to (and as an example some other popular engineers under said vice president) would look like: -
                   uid=david
-                    /
-               uid=bryan
-            /      |      \
-      uid=markc  uid=ryah  uid=isaacs
-Ok, so we've got a tree. It's not tremendously different from your filesystem, but how do we find people? LDAP has a rich search filter syntax that makes a lot of sense for key/value data (far more than tacking Map Reduce jobs on does, imo), and all search queries take a "start point" in the tree. Here's an example: let's say I wanted to find all "Software Engineers" in the entire company, a filter would look like: -
     (title="Software Engineer")
-And I'd just start my search from 'uid=david' in the example above. Let's say I wanted to find all software engineers who worked in Seattle: -
     (&(title="Software Engineer")(city=Seattle))
-I could keep going, but the gist is that LDAP has "full" boolean predicate logic, wildcard filters, etc. It's really rich. - -Oh, and on top of the technical merits, better or worse, it's an established standard for both administrators and applications (i.e., most "shipped" intranet software has either a local user repository or the ability to leverage an LDAP server somewhere). So there's a lot of compelling reasons to look at leveraging LDAP. -

ldapjs: Why do I care?

- -As I said earlier, I spent a lot of time at IBM observing how customers used LDAP, and the real items I took away from that experience were: - - -For all the good parts of LDAP, those are really damned big failing points, and even I eventually abandoned LDAP for the greener pastures of NoSQL somewhere -along the way. But it always nagged at me that LDAP didn't get it's due because of a lot of implementation problems (to be clear, if I could, I'd change some -aspects of the protocol itself too, but that's a lot harder). - -Well, in the last year, I went to work for Joyent, and like everyone else, we have several use problems that are classic directory service problems. If you break down the list I outlined above: - - -So that's the crux of ldapjs right there. Giving you the ability to put LDAP back into your application while nailing those 4 fundamental problems that plague most existing LDAP deployments. - -The obvious question is how it turned out, and the answer is, honestly, better than I thought it would. When I set out to do this, I actually assumed I'd be shipping a much smaller percentage of the RFC than is there. There's actually about 95% of the core RFC implemented. I wasn't sure if the marriage of this protocol to node/JavaScript would work out, but if you've used express ever, this should be _really_ familiar. And I tried to make it as natural as possible to use "pure" JavaScript objects, rather than requiring the developer to understand ASN.1 (the binary wire protocol) or the LDAP RFC in detail (this one mostly worked out; ldap_modify is still kind of a PITA). - -Within 24 hours of releasing ldapjs on Twitter, there was an implementation of an address book that works with Thunderbird/Evolution, by the end of that weekend there was some slick integration with CouchDB, and ldapjs even got used in one of the node knockout apps. Off to a pretty good start! - -

The Road Ahead

- -Hopefully you've been motivated to learn a little bit more about LDAP and try out ldapjs. The best place to start is probably the guide. After that you'll probably need to pick up a book from back in the day. ldapjs itself is still in its infancy; there's quite a bit of room to add some slick client-side logic (e.g., connection pools, automatic reconnects), easy to use schema validation, backends, etc. By the time this post is live, there will be experimental dtrace support if you're running on Mac OS X or preferably Joyent's SmartOS (shameless plug). And that nagging percentage of the protocol I didn't do will get filled in over time I suspect. If you've got an interest in any of this, send me some pull requests, but most importantly, I just want to see LDAP not just be a skeleton in the closet and get used in places where you should be using it. So get out there and write you some LDAP. +This post has been about 10 years in the making. My first job out of college was at IBM working on the Tivoli Directory Server, and at the time I had a preconceived notion that working on anything related to Internet RFCs was about as hot as you could get. I spent a lot of time back then getting "down and dirty" with everything about LDAP: the protocol, performance, storage engines, indexing and querying, caching, customer use cases and patterns, general network server patterns, etc. Basically, I soaked up as much as I possibly could while I was there. On top of that, I listened to all the "gray beards" tell me about the history of LDAP, which was a bizarre marriage of telecommunications conglomerates and graduate students. The point of this blog post is to give you a crash course in LDAP, and explain what makes ldapjs different. Allow me to be the gray beard for a bit... +

What is LDAP and where did it come from?

+ +Directory services were largely pioneered by the telecommunications companies (e.g., AT&T) to allow fast information retrieval of all the crap you'd expect would be in a telephone book and directory. That is, given a name, or an address, or an area code, or a number, or a foo support looking up customer records, billing information, routing information, etc. The efforts of several telcos came to exist in the X.500 standard(s). An X.500 directory is one of the most complicated beasts you can possibly imagine, but on a high note, there's +probably not a thing you can imagine in a directory service that wasn't thought of in there. It is literally the kitchen sink. Oh, and it doesn't run over IP (it's actually on the OSI model). + +Several years after X.500 had been deployed (at telcos, academic institutions, etc.), it became clear that the Internet was "for real." LDAP, the "Lightweight Directory Access Protocol," was invented to act purely as an IP-accessible gateway to an X.500 directory. + +At some point in the early 90's, a graduate student at the University of Michigan (with some help) cooked up the "grandfather" implementation of the LDAP protocol, which wasn't actually a "gateway," but rather a stand-alone implementation of LDAP. Said implementation, like many things at the time, was a process-per-connection concurrency model, and had "backends" (aka storage engine) for the file system and the Unix DB API. At some point the Berkeley Database (BDB) was put in, and still remains the de facto storage engine for most LDAP directories. + +Ok, so some a graduate student at UM wrote an LDAP server that wasn't a gateway. So what? Well, that UM code base turns out to be the thing that pretty much every vendor did a source license for. Those graduate students went off to Netscape later in the 90's, and largely dominated the market of LDAP middleware until Active Directory came along many years later (as far as I know, Active Directory is "from scratch", since while it's "almost" LDAP, it's different in a lot of ways). That Netscape code base was further bought and sold over the years to iPlanet, Sun Microsystems, and Red Hat (I'm probably missing somebody in that chain). It now lives in the Fedora umbrella as '389 Directory Server.' Probably the most popular fork of that code base now is OpenLDAP. + +IBM did the same thing, and the Directory Server I worked on was a fork of the UM code too, but it heavily diverged from the Netscape branches. The divergence was primarily due to: (1) backing to DB2 as opposed to BDB, and (2) needing to run on IBM's big iron like OS/400 and Z series mainframes. + +Macro point is that there have actually been very few "fresh" implementations of LDAP, and it gets a pretty bad reputation because at the end of the day you've got 20 years of "bolt-ons" to grad student code. Oh, and it was born out of ginormous telcos, so of course the protocol is overly complex. + +That said, while there certainly is some wacky stuff in the LDAP protocol itself, it really suffered from poor and buggy implementations more than the fact that LDAP itself was fundamentally flawed. As engine yard pointed out a few years back, you can think of LDAP as the original NoSQL store. +

LDAP: The Good Parts

+ +So what's awesome about LDAP? Since it's a directory system it maintains a hierarchy of your data, which as an information management pattern aligns +with _a lot_ of use case (the quintessential example is white pages for people in your company, but subscriptions to SaaS applications, "host groups" +for tracking machines/instances, physical goods tracking, etc., all have use cases that fit that organization scheme). For example, presumably at your job +you have a "reporting chain." Let's say a given record in LDAP (I'll use myself as a guinea pig here) looks like: +
    firstName: Mark
+    lastName: Cavage
+    city: Seattle
+    uid: markc
+    state: Washington
+    mail: mcavagegmailcom
+    phone: (206) 555-1212
+    title: Software Engineer
+    department: 123456
+    objectclass: joyentPerson
+The record for me would live under the tree of engineers I report to (and as an example some other popular engineers under said vice president) would look like: +
                   uid=david
+                    /
+               uid=bryan
+            /      |      \
+      uid=markc  uid=ryah  uid=isaacs
+Ok, so we've got a tree. It's not tremendously different from your filesystem, but how do we find people? LDAP has a rich search filter syntax that makes a lot of sense for key/value data (far more than tacking Map Reduce jobs on does, imo), and all search queries take a "start point" in the tree. Here's an example: let's say I wanted to find all "Software Engineers" in the entire company, a filter would look like: +
     (title="Software Engineer")
+And I'd just start my search from 'uid=david' in the example above. Let's say I wanted to find all software engineers who worked in Seattle: +
     (&(title="Software Engineer")(city=Seattle))
+I could keep going, but the gist is that LDAP has "full" boolean predicate logic, wildcard filters, etc. It's really rich. + +Oh, and on top of the technical merits, better or worse, it's an established standard for both administrators and applications (i.e., most "shipped" intranet software has either a local user repository or the ability to leverage an LDAP server somewhere). So there's a lot of compelling reasons to look at leveraging LDAP. +

ldapjs: Why do I care?

+ +As I said earlier, I spent a lot of time at IBM observing how customers used LDAP, and the real items I took away from that experience were: + + +For all the good parts of LDAP, those are really damned big failing points, and even I eventually abandoned LDAP for the greener pastures of NoSQL somewhere +along the way. But it always nagged at me that LDAP didn't get it's due because of a lot of implementation problems (to be clear, if I could, I'd change some +aspects of the protocol itself too, but that's a lot harder). + +Well, in the last year, I went to work for Joyent, and like everyone else, we have several use problems that are classic directory service problems. If you break down the list I outlined above: + + +So that's the crux of ldapjs right there. Giving you the ability to put LDAP back into your application while nailing those 4 fundamental problems that plague most existing LDAP deployments. + +The obvious question is how it turned out, and the answer is, honestly, better than I thought it would. When I set out to do this, I actually assumed I'd be shipping a much smaller percentage of the RFC than is there. There's actually about 95% of the core RFC implemented. I wasn't sure if the marriage of this protocol to node/JavaScript would work out, but if you've used express ever, this should be _really_ familiar. And I tried to make it as natural as possible to use "pure" JavaScript objects, rather than requiring the developer to understand ASN.1 (the binary wire protocol) or the LDAP RFC in detail (this one mostly worked out; ldap_modify is still kind of a PITA). + +Within 24 hours of releasing ldapjs on Twitter, there was an implementation of an address book that works with Thunderbird/Evolution, by the end of that weekend there was some slick integration with CouchDB, and ldapjs even got used in one of the node knockout apps. Off to a pretty good start! + +

The Road Ahead

+ +Hopefully you've been motivated to learn a little bit more about LDAP and try out ldapjs. The best place to start is probably the guide. After that you'll probably need to pick up a book from back in the day. ldapjs itself is still in its infancy; there's quite a bit of room to add some slick client-side logic (e.g., connection pools, automatic reconnects), easy to use schema validation, backends, etc. By the time this post is live, there will be experimental dtrace support if you're running on Mac OS X or preferably Joyent's SmartOS (shameless plug). And that nagging percentage of the protocol I didn't do will get filled in over time I suspect. If you've got an interest in any of this, send me some pull requests, but most importantly, I just want to see LDAP not just be a skeleton in the closet and get used in places where you should be using it. So get out there and write you some LDAP. diff --git a/doc/blog/Uncategorized/libuv-status-report.md b/doc/blog/Uncategorized/libuv-status-report.md index 68637a4..4d7f3e9 100644 --- a/doc/blog/Uncategorized/libuv-status-report.md +++ b/doc/blog/Uncategorized/libuv-status-report.md @@ -5,41 +5,41 @@ status: publish category: Uncategorized slug: libuv-status-report -We announced back in July that with Microsoft's support Joyent would be porting Node to Windows. This effort is ongoing but I thought it would be nice to make a status report post about the new platform library libuv which has resulted from porting Node to Windows. - -libuv's purpose is to abstract platform-dependent code in Node into one place where it can be tested for correctness and performance before bindings to V8 are added. Since Node is totally non-blocking, libuv turns out to be a rather useful library itself: a BSD-licensed, minimal, high-performance, cross-platform networking library. - -We attempt to not reinvent the wheel where possible. The entire Unix backend sits heavily on Marc Lehmann's beautiful libraries libev and libeio. For DNS we integrated with Daniel Stenberg's C-Ares. For cross-platform build-system support we're relying on Chrome's GYP meta-build system. - -The current implmented features are: - -The features we are working on still are - -For complete documentation see the header file: include/uv.h. There are a number of tests in the test directory which demonstrate the API. - -libuv supports Microsoft Windows operating systems since Windows XP SP2. It can be built with either Visual Studio or MinGW. Solaris 121 and later using GCC toolchain. Linux 2.6 or better using the GCC toolchain. Macinotsh Darwin using the GCC or XCode toolchain. It is known to work on the BSDs but we do not check the build regularly. - -In addition to Node v0.5, a number of projects have begun to use libuv: - +We announced back in July that with Microsoft's support Joyent would be porting Node to Windows. This effort is ongoing but I thought it would be nice to make a status report post about the new platform library libuv which has resulted from porting Node to Windows. + +libuv's purpose is to abstract platform-dependent code in Node into one place where it can be tested for correctness and performance before bindings to V8 are added. Since Node is totally non-blocking, libuv turns out to be a rather useful library itself: a BSD-licensed, minimal, high-performance, cross-platform networking library. + +We attempt to not reinvent the wheel where possible. The entire Unix backend sits heavily on Marc Lehmann's beautiful libraries libev and libeio. For DNS we integrated with Daniel Stenberg's C-Ares. For cross-platform build-system support we're relying on Chrome's GYP meta-build system. + +The current implmented features are: + +The features we are working on still are + +For complete documentation see the header file: include/uv.h. There are a number of tests in the test directory which demonstrate the API. + +libuv supports Microsoft Windows operating systems since Windows XP SP2. It can be built with either Visual Studio or MinGW. Solaris 121 and later using GCC toolchain. Linux 2.6 or better using the GCC toolchain. Macinotsh Darwin using the GCC or XCode toolchain. It is known to work on the BSDs but we do not check the build regularly. + +In addition to Node v0.5, a number of projects have begun to use libuv: + We hope to see more people contributing and using libuv in the future! diff --git a/doc/blog/Uncategorized/node-meetup-this-thursday.md b/doc/blog/Uncategorized/node-meetup-this-thursday.md index 0dfb98d..6f38e99 100644 --- a/doc/blog/Uncategorized/node-meetup-this-thursday.md +++ b/doc/blog/Uncategorized/node-meetup-this-thursday.md @@ -5,7 +5,7 @@ status: publish category: Uncategorized slug: node-meetup-this-thursday -http://nodejs.org/meetup/ -http://nodemeetup.eventbrite.com/ - +http://nodejs.org/meetup/ +http://nodemeetup.eventbrite.com/ + Three companies will describe their distributed Node applications. Sign up soon, space is limited! diff --git a/doc/blog/Uncategorized/node-office-hours-cut-short.md b/doc/blog/Uncategorized/node-office-hours-cut-short.md index 48d0344..7433944 100644 --- a/doc/blog/Uncategorized/node-office-hours-cut-short.md +++ b/doc/blog/Uncategorized/node-office-hours-cut-short.md @@ -5,8 +5,8 @@ status: publish category: Uncategorized slug: node-office-hours-cut-short -This week office hours are only from 4pm to 6pm. Isaac will be in the Joyent office in SF - everyone else is out of town. Sign up at http://nodeworkup.eventbrite.com/ if you would like to come. - -The week after, Thursday May 5th, we will all be at NodeConf in Portland. - +This week office hours are only from 4pm to 6pm. Isaac will be in the Joyent office in SF - everyone else is out of town. Sign up at http://nodeworkup.eventbrite.com/ if you would like to come. + +The week after, Thursday May 5th, we will all be at NodeConf in Portland. + Normal office hours resume Thursday May 12th. diff --git a/doc/blog/Uncategorized/office-hours.md b/doc/blog/Uncategorized/office-hours.md index e4c9499..fc27690 100644 --- a/doc/blog/Uncategorized/office-hours.md +++ b/doc/blog/Uncategorized/office-hours.md @@ -5,8 +5,8 @@ status: publish category: Uncategorized slug: office-hours -Starting next Thursday Isaac, Tom, and I will be holding weekly office hours at Joyent HQ in San Francisco. Office hours are meant to be subdued working time - there are no talks and no alcohol. Bring your bugs or just come and hack with us. - -Our building requires that everyone attending be on a list so you must sign up at Event Brite. - +Starting next Thursday Isaac, Tom, and I will be holding weekly office hours at Joyent HQ in San Francisco. Office hours are meant to be subdued working time - there are no talks and no alcohol. Bring your bugs or just come and hack with us. + +Our building requires that everyone attending be on a list so you must sign up at Event Brite. + We start at 4p and end promptly at 8p. diff --git a/doc/blog/Uncategorized/porting-node-to-windows-with-microsoft%e2%80%99s-help.md b/doc/blog/Uncategorized/porting-node-to-windows-with-microsoft%e2%80%99s-help.md index d2be3e3..cea3e88 100644 --- a/doc/blog/Uncategorized/porting-node-to-windows-with-microsoft%e2%80%99s-help.md +++ b/doc/blog/Uncategorized/porting-node-to-windows-with-microsoft%e2%80%99s-help.md @@ -5,8 +5,8 @@ status: publish category: Uncategorized slug: porting-node-to-windows-with-microsoft%e2%80%99s-help -I'm pleased to announce that Microsoft is partnering with Joyent in formally contributing resources towards porting Node to Windows. As you may have heard in a talk we gave earlier this year, we have started the undertaking of a native port to Windows - targeting the high-performance IOCP API. - -This requires a rather large modification of the core structure, and we're very happy to have official guidance and engineering resources from Microsoft. Rackspace is also contributing Bert Belder's time to this undertaking. - +I'm pleased to announce that Microsoft is partnering with Joyent in formally contributing resources towards porting Node to Windows. As you may have heard in a talk we gave earlier this year, we have started the undertaking of a native port to Windows - targeting the high-performance IOCP API. + +This requires a rather large modification of the core structure, and we're very happy to have official guidance and engineering resources from Microsoft. Rackspace is also contributing Bert Belder's time to this undertaking. + The result will be an official binary node.exe releases on nodejs.org, which will work on Windows Azure and other Windows versions as far back as Server 2003. diff --git a/doc/blog/Uncategorized/some-new-node-projects.md b/doc/blog/Uncategorized/some-new-node-projects.md index 77515af..2590f54 100644 --- a/doc/blog/Uncategorized/some-new-node-projects.md +++ b/doc/blog/Uncategorized/some-new-node-projects.md @@ -5,9 +5,9 @@ status: publish category: Uncategorized slug: some-new-node-projects - +Download: http://nodejs.org/dist/node-v0.5.0.tar.gz + +Website: http://nodejs.org/docs/v0.5.0/ + Documentation: http://nodejs.org/docs/v0.5.0/api/ diff --git a/doc/blog/release/node-v0-5-1.md b/doc/blog/release/node-v0-5-1.md index f9799d4..8137e8c 100644 --- a/doc/blog/release/node-v0-5-1.md +++ b/doc/blog/release/node-v0-5-1.md @@ -6,25 +6,25 @@ status: publish category: release slug: node-v0-5-1 -2011.07.14, Version 0.5.1 (unstable) - - - - - -Download: http://nodejs.org/dist/v0.5.1/node-v0.5.1.tar.gz - -Windows Build: http://nodejs.org/dist/v0.5.1/node.exe - -Documentation: http://nodejs.org/dist/v0.5.1/docs/api/ - +2011.07.14, Version 0.5.1 (unstable) + + + + + +Download: http://nodejs.org/dist/v0.5.1/node-v0.5.1.tar.gz + +Windows Build: http://nodejs.org/dist/v0.5.1/node.exe + +Documentation: http://nodejs.org/dist/v0.5.1/docs/api/ + Website: http://nodejs.org/dist/v0.5.1/docs diff --git a/doc/blog/release/node-v0-5-10.md b/doc/blog/release/node-v0-5-10.md index 47fb926..305813e 100644 --- a/doc/blog/release/node-v0-5-10.md +++ b/doc/blog/release/node-v0-5-10.md @@ -6,36 +6,36 @@ status: publish category: release slug: node-v0-5-10 -2011.10.21, Version 0.5.10 (unstable) - - - - -Download: http://nodejs.org/dist/v0.5.10/node-v0.5.10.tar.gz - -Windows Executable: http://nodejs.org/dist/v0.5.10/node.exe - -Website: http://nodejs.org/docs/v0.5.10/ - +2011.10.21, Version 0.5.10 (unstable) + + + + +Download: http://nodejs.org/dist/v0.5.10/node-v0.5.10.tar.gz + +Windows Executable: http://nodejs.org/dist/v0.5.10/node.exe + +Website: http://nodejs.org/docs/v0.5.10/ + Documentation: http://nodejs.org/docs/v0.5.10/api/ diff --git a/doc/blog/release/node-v0-5-2.md b/doc/blog/release/node-v0-5-2.md index c44690f..e87fda3 100644 --- a/doc/blog/release/node-v0-5-2.md +++ b/doc/blog/release/node-v0-5-2.md @@ -6,22 +6,22 @@ status: publish category: release slug: node-v0-5-2 -2011.07.22, Version 0.5.2 (unstable) - - -Download: http://nodejs.org/dist/v0.5.2/node-v0.5.2.tar.gz - -Windows Executable: http://nodejs.org/dist/v0.5.2/node.exe - -Website: http://nodejs.org/dist/v0.5.2/docs/ - +2011.07.22, Version 0.5.2 (unstable) + + +Download: http://nodejs.org/dist/v0.5.2/node-v0.5.2.tar.gz + +Windows Executable: http://nodejs.org/dist/v0.5.2/node.exe + +Website: http://nodejs.org/dist/v0.5.2/docs/ + Documentation: http://nodejs.org/dist/v0.5.2/docs/api diff --git a/doc/blog/release/node-v0-5-3.md b/doc/blog/release/node-v0-5-3.md index f84a955..0b9e7b8 100644 --- a/doc/blog/release/node-v0-5-3.md +++ b/doc/blog/release/node-v0-5-3.md @@ -6,48 +6,48 @@ status: publish category: release slug: node-v0-5-3 -2011.08.01, Version 0.5.3 (unstable) - - - - - -Download: http://nodejs.org/dist/v0.5.3/node-v0.5.3.tar.gz - -Windows Executable: http://nodejs.org/dist/v0.5.3/node.exe - -Website: http://nodejs.org/dist/v0.5.3/docs - +2011.08.01, Version 0.5.3 (unstable) + + + + + +Download: http://nodejs.org/dist/v0.5.3/node-v0.5.3.tar.gz + +Windows Executable: http://nodejs.org/dist/v0.5.3/node.exe + +Website: http://nodejs.org/dist/v0.5.3/docs + Documentation: http://nodejs.org/dist/v0.5.3/docs/api diff --git a/doc/blog/release/node-v0-5-4.md b/doc/blog/release/node-v0-5-4.md index 2dd02e1..9f5f4e2 100644 --- a/doc/blog/release/node-v0-5-4.md +++ b/doc/blog/release/node-v0-5-4.md @@ -6,31 +6,31 @@ status: publish category: release slug: node-v0-5-4 -2011.08.12, Version 0.5.4 (unstable) - - - - -Download: http://nodejs.org/dist/v0.5.4/node-v0.5.4.tar.gz - -Windows Executable: http://nodejs.org/dist/v0.5.4/node.exe - -Website: http://nodejs.org/dist/v0.5.4/docs - +2011.08.12, Version 0.5.4 (unstable) + + + + +Download: http://nodejs.org/dist/v0.5.4/node-v0.5.4.tar.gz + +Windows Executable: http://nodejs.org/dist/v0.5.4/node.exe + +Website: http://nodejs.org/dist/v0.5.4/docs + Documentation: http://nodejs.org/dist/v0.5.4/docs/api diff --git a/doc/blog/release/node-v0-5-5.md b/doc/blog/release/node-v0-5-5.md index 886fac9..683fed4 100644 --- a/doc/blog/release/node-v0-5-5.md +++ b/doc/blog/release/node-v0-5-5.md @@ -6,35 +6,35 @@ status: publish category: release slug: node-v0-5-5 -

2011.08.26, Version 0.5.5 (unstable)

- -

Download: http://nodejs.org/dist/node-v0.5.5.tar.gz

-

Windows Executable: http://nodejs.org/dist/v0.5.5/node.exe

-

Website: http://nodejs.org/docs/v0.5.5/

-

Documentation: http://nodejs.org/docs/v0.5.5/api/

-

- +

2011.08.26, Version 0.5.5 (unstable)

+ +

Download: http://nodejs.org/dist/node-v0.5.5.tar.gz

+

Windows Executable: http://nodejs.org/dist/v0.5.5/node.exe

+

Website: http://nodejs.org/docs/v0.5.5/

+

Documentation: http://nodejs.org/docs/v0.5.5/api/

+

+ Update: The .exe has a bug that results in incompatibility with Windows XP and Server 2003. This has been reported in issue #1592 and fixed. A new binary was made that is compatibile with the older Windows: http://nodejs.org/dist/v0.5.5/node-186364e.exe. diff --git a/doc/blog/release/node-v0-5-6.md b/doc/blog/release/node-v0-5-6.md index ca1a392..452878c 100644 --- a/doc/blog/release/node-v0-5-6.md +++ b/doc/blog/release/node-v0-5-6.md @@ -6,44 +6,44 @@ status: publish category: release slug: node-v0-5-6 -2011.09.08, Version 0.5.6 (unstable) - -Download: http://nodejs.org/dist/v0.5.6/node-v0.5.6.tar.gz - -Windows Executable: http://nodejs.org/dist/v0.5.6/node.exe - -Website: http://nodejs.org/docs/v0.5.6/ - +2011.09.08, Version 0.5.6 (unstable) + +Download: http://nodejs.org/dist/v0.5.6/node-v0.5.6.tar.gz + +Windows Executable: http://nodejs.org/dist/v0.5.6/node.exe + +Website: http://nodejs.org/docs/v0.5.6/ + Documentation: http://nodejs.org/docs/v0.5.6/api/ diff --git a/doc/blog/release/node-v0-5-7-unstable.md b/doc/blog/release/node-v0-5-7-unstable.md index 1b640e7..b125a14 100644 --- a/doc/blog/release/node-v0-5-7-unstable.md +++ b/doc/blog/release/node-v0-5-7-unstable.md @@ -6,30 +6,30 @@ status: publish category: release slug: node-v0-5-7-unstable -2011.09.16, Version 0.5.7 (unstable) - - - - -Download: http://nodejs.org/dist/v0.5.7/node-v0.5.7.tar.gz - -Windows Executable: http://nodejs.org/dist/v0.5.7/node.exe - -Website: http://nodejs.org/docs/v0.5.7/ - +2011.09.16, Version 0.5.7 (unstable) + + + + +Download: http://nodejs.org/dist/v0.5.7/node-v0.5.7.tar.gz + +Windows Executable: http://nodejs.org/dist/v0.5.7/node.exe + +Website: http://nodejs.org/docs/v0.5.7/ + Documentation: http://nodejs.org/docs/v0.5.7/api/ diff --git a/doc/blog/release/node-v0-5-8.md b/doc/blog/release/node-v0-5-8.md index 9f0fc14..6924ff3 100644 --- a/doc/blog/release/node-v0-5-8.md +++ b/doc/blog/release/node-v0-5-8.md @@ -6,21 +6,21 @@ status: publish category: release slug: node-v0-5-8 -2011.09.30, Version 0.5.8 (unstable) - -Download: http://nodejs.org/dist/v0.5.8/node-v0.5.8.tar.gz - -Windows Executable: http://nodejs.org/dist/v0.5.8/node.exe - -Website: http://nodejs.org/docs/v0.5.8/ - +2011.09.30, Version 0.5.8 (unstable) + +Download: http://nodejs.org/dist/v0.5.8/node-v0.5.8.tar.gz + +Windows Executable: http://nodejs.org/dist/v0.5.8/node.exe + +Website: http://nodejs.org/docs/v0.5.8/ + Documentation: http://nodejs.org/docs/v0.5.8/api/ diff --git a/doc/blog/release/node-v0-5-9.md b/doc/blog/release/node-v0-5-9.md index 6e361bc..8cf7e81 100644 --- a/doc/blog/release/node-v0-5-9.md +++ b/doc/blog/release/node-v0-5-9.md @@ -6,22 +6,22 @@ status: publish category: release slug: node-v0-5-9 -2011.10.10, Version 0.5.9 (unstable) - - - -Download: http://nodejs.org/dist/v0.5.9/node-v0.5.9.tar.gz - -Windows Executable: http://nodejs.org/dist/v0.5.9/node.exe - -Website: http://nodejs.org/docs/v0.5.9/ - +2011.10.10, Version 0.5.9 (unstable) + + + +Download: http://nodejs.org/dist/v0.5.9/node-v0.5.9.tar.gz + +Windows Executable: http://nodejs.org/dist/v0.5.9/node.exe + +Website: http://nodejs.org/docs/v0.5.9/ + Documentation: http://nodejs.org/docs/v0.5.9/api/ diff --git a/doc/blog/release/node-v0-6-0.md b/doc/blog/release/node-v0-6-0.md index ea0e713..5c796e7 100644 --- a/doc/blog/release/node-v0-6-0.md +++ b/doc/blog/release/node-v0-6-0.md @@ -6,75 +6,75 @@ status: publish category: release slug: node-v0-6-0 -We are happy to announce the third stable branch of Node v0.6. We will be freezing JavaScript, C++, and binary interfaces for all v0.6 releases. - -The major differences between v0.4 and v0.6 are - -In order to support Windows we reworked much of the core architecture. There was some fear that our work would degrade performance on UNIX systems but this was not the case. Here is a Linux system we benched for demonstration: - - - - - -
v0.4.12 (linux)v0.6.0 (linux)
http_simple.js /bytes/1024 5461 r/s 6263 r/s
io.js read 19.75 mB/s 26.63 mB/s
io.js write 21.60 mB/s 17.40 mB/s
startup.js 74.7 ms 49.6 ms
- -Bigger is better in http and io benchmarks, smaller is better in startup. The http benchmark was done with 600 clients on a 10GE network served from three load generation machines. - -In the last version of Node, v0.4, we could only run Node on Windows with Cygwin. Therefore we've gotten massive improvements by targeting the native APIs. Benchmarks on the same machine: - - - - - -
v0.4.12 (windows)v0.6.0 (windows)
http_simple.js /bytes/1024 3858 r/s 5823 r/s
io.js read 12.41 mB/s 26.51 mB/s
io.js write 12.61 mB/s 33.58 mB/s
startup.js 152.81 ms 52.04 ms
- -We consider this a good intermediate stage for the Windows port. There is still work to be done. For example, we are not yet providing users with a blessed path for building addon modules in MS Visual Studio. Work will continue in later releases. - -For users upgrading code bases from v0.4 to v0.6 we've documented most of the issues that you will run into. Most people find the change painless. Despite the long list of changes most core APIs remain untouched. - -Our release cycle will be tightened dramatically now. Expect to see a new stable branch in January. We wish to eventually have our releases in sync with Chrome and V8's 6 week cycle. - -Thank you to everyone who contributed code, tests, docs, or sent in bug reports. - -Here are the changes between v0.5.12 and v0.6.0: - -2011.11.04, Version 0.6.0 (stable) - - -Download: http://nodejs.org/dist/v0.6.0/node-v0.6.0.tar.gz - -Windows Executable: http://nodejs.org/dist/v0.6.0/node.exe - -Website: http://nodejs.org/docs/v0.6.0/ - +We are happy to announce the third stable branch of Node v0.6. We will be freezing JavaScript, C++, and binary interfaces for all v0.6 releases. + +The major differences between v0.4 and v0.6 are + +In order to support Windows we reworked much of the core architecture. There was some fear that our work would degrade performance on UNIX systems but this was not the case. Here is a Linux system we benched for demonstration: + + + + + +
v0.4.12 (linux)v0.6.0 (linux)
http_simple.js /bytes/1024 5461 r/s 6263 r/s
io.js read 19.75 mB/s 26.63 mB/s
io.js write 21.60 mB/s 17.40 mB/s
startup.js 74.7 ms 49.6 ms
+ +Bigger is better in http and io benchmarks, smaller is better in startup. The http benchmark was done with 600 clients on a 10GE network served from three load generation machines. + +In the last version of Node, v0.4, we could only run Node on Windows with Cygwin. Therefore we've gotten massive improvements by targeting the native APIs. Benchmarks on the same machine: + + + + + +
v0.4.12 (windows)v0.6.0 (windows)
http_simple.js /bytes/1024 3858 r/s 5823 r/s
io.js read 12.41 mB/s 26.51 mB/s
io.js write 12.61 mB/s 33.58 mB/s
startup.js 152.81 ms 52.04 ms
+ +We consider this a good intermediate stage for the Windows port. There is still work to be done. For example, we are not yet providing users with a blessed path for building addon modules in MS Visual Studio. Work will continue in later releases. + +For users upgrading code bases from v0.4 to v0.6 we've documented most of the issues that you will run into. Most people find the change painless. Despite the long list of changes most core APIs remain untouched. + +Our release cycle will be tightened dramatically now. Expect to see a new stable branch in January. We wish to eventually have our releases in sync with Chrome and V8's 6 week cycle. + +Thank you to everyone who contributed code, tests, docs, or sent in bug reports. + +Here are the changes between v0.5.12 and v0.6.0: + +2011.11.04, Version 0.6.0 (stable) + + +Download: http://nodejs.org/dist/v0.6.0/node-v0.6.0.tar.gz + +Windows Executable: http://nodejs.org/dist/v0.6.0/node.exe + +Website: http://nodejs.org/docs/v0.6.0/ + Documentation: http://nodejs.org/docs/v0.6.0/api/ diff --git a/doc/blog/release/node-v0-6-1.md b/doc/blog/release/node-v0-6-1.md index 14a0db4..d7fb09c 100644 --- a/doc/blog/release/node-v0-6-1.md +++ b/doc/blog/release/node-v0-6-1.md @@ -6,28 +6,28 @@ status: publish category: release slug: node-v0-6-1 -2011.11.11, Version 0.6.1 (stable) - - - -Source Code: http://nodejs.org/dist/v0.6.1/node-v0.6.1.tar.gz - -Windows Installer: http://nodejs.org/dist/v0.6.1/node-v0.6.1.msi - -Macintosh Installer: http://nodejs.org/dist/v0.6.1/node-v0.6.1.pkg - -Website: http://nodejs.org/docs/v0.6.1/ - +2011.11.11, Version 0.6.1 (stable) + + + +Source Code: http://nodejs.org/dist/v0.6.1/node-v0.6.1.tar.gz + +Windows Installer: http://nodejs.org/dist/v0.6.1/node-v0.6.1.msi + +Macintosh Installer: http://nodejs.org/dist/v0.6.1/node-v0.6.1.pkg + +Website: http://nodejs.org/docs/v0.6.1/ + Documentation: http://nodejs.org/docs/v0.6.1/api/ diff --git a/doc/blog/release/node-v0-6-10.md b/doc/blog/release/node-v0-6-10.md index a0ca4e4..7d48993 100644 --- a/doc/blog/release/node-v0-6-10.md +++ b/doc/blog/release/node-v0-6-10.md @@ -6,25 +6,25 @@ status: publish category: release slug: node-v0-6-10 -

2012.02.02, Version 0.6.10 (stable)

- -

Source Code: http://nodejs.org/dist/v0.6.10/node-v0.6.10.tar.gz

- -

Windows Installer: http://nodejs.org/dist/v0.6.10/node-v0.6.10.msi

- -

Macintosh Installer: http://nodejs.org/dist/v0.6.10/node-v0.6.10.pkg

- -

Website: http://nodejs.org/docs/v0.6.10/

- +

2012.02.02, Version 0.6.10 (stable)

+ +

Source Code: http://nodejs.org/dist/v0.6.10/node-v0.6.10.tar.gz

+ +

Windows Installer: http://nodejs.org/dist/v0.6.10/node-v0.6.10.msi

+ +

Macintosh Installer: http://nodejs.org/dist/v0.6.10/node-v0.6.10.pkg

+ +

Website: http://nodejs.org/docs/v0.6.10/

+

Documentation: http://nodejs.org/docs/v0.6.10/api/

diff --git a/doc/blog/release/node-v0-6-2.md b/doc/blog/release/node-v0-6-2.md index b405268..9a75dcb 100644 --- a/doc/blog/release/node-v0-6-2.md +++ b/doc/blog/release/node-v0-6-2.md @@ -6,22 +6,22 @@ status: publish category: release slug: node-v0-6-2 -

2011.11.18, Version 0.6.2 (stable)

- -

Source Code: http://nodejs.org/dist/v0.6.2/node-v0.6.2.tar.gz

-

Windows Installer: http://nodejs.org/dist/v0.6.2/node-v0.6.2.msi

-

Macintosh Installer: http://nodejs.org/dist/v0.6.2/node-v0.6.2.pkg

-

Website: http://nodejs.org/docs/v0.6.2/

+

2011.11.18, Version 0.6.2 (stable)

+ +

Source Code: http://nodejs.org/dist/v0.6.2/node-v0.6.2.tar.gz

+

Windows Installer: http://nodejs.org/dist/v0.6.2/node-v0.6.2.msi

+

Macintosh Installer: http://nodejs.org/dist/v0.6.2/node-v0.6.2.pkg

+

Website: http://nodejs.org/docs/v0.6.2/

Documentation: http://nodejs.org/docs/v0.6.2/api/

diff --git a/doc/blog/release/node-v0-6-3.md b/doc/blog/release/node-v0-6-3.md index 559c3d3..e61c5f7 100644 --- a/doc/blog/release/node-v0-6-3.md +++ b/doc/blog/release/node-v0-6-3.md @@ -6,25 +6,25 @@ status: publish category: release slug: node-v0-6-3 -2011.11.25, Version 0.6.3 (stable) - -Source Code: http://nodejs.org/dist/v0.6.3/node-v0.6.3.tar.gz - -Windows Installer: http://nodejs.org/dist/v0.6.3/node-v0.6.3.msi - -Macintosh Installer: http://nodejs.org/dist/v0.6.3/node-v0.6.3.pkg - -Website: http://nodejs.org/docs/v0.6.3/ - +2011.11.25, Version 0.6.3 (stable) + +Source Code: http://nodejs.org/dist/v0.6.3/node-v0.6.3.tar.gz + +Windows Installer: http://nodejs.org/dist/v0.6.3/node-v0.6.3.msi + +Macintosh Installer: http://nodejs.org/dist/v0.6.3/node-v0.6.3.pkg + +Website: http://nodejs.org/docs/v0.6.3/ + Documentation: http://nodejs.org/docs/v0.6.3/api/ diff --git a/doc/blog/release/node-v0-6-4.md b/doc/blog/release/node-v0-6-4.md index f99f15f..ee5f633 100644 --- a/doc/blog/release/node-v0-6-4.md +++ b/doc/blog/release/node-v0-6-4.md @@ -6,26 +6,26 @@ status: publish category: release slug: node-v0-6-4 -2011.12.02, Version 0.6.4 (stable) - -Source Code: http://nodejs.org/dist/v0.6.4/node-v0.6.4.tar.gz - -Windows Installer: http://nodejs.org/dist/v0.6.4/node-v0.6.4.msi - -Macintosh Installer: http://nodejs.org/dist/v0.6.4/node-v0.6.4.pkg - -Website: http://nodejs.org/docs/v0.6.4/ - +2011.12.02, Version 0.6.4 (stable) + +Source Code: http://nodejs.org/dist/v0.6.4/node-v0.6.4.tar.gz + +Windows Installer: http://nodejs.org/dist/v0.6.4/node-v0.6.4.msi + +Macintosh Installer: http://nodejs.org/dist/v0.6.4/node-v0.6.4.pkg + +Website: http://nodejs.org/docs/v0.6.4/ + Documentation: http://nodejs.org/docs/v0.6.4/api/ diff --git a/doc/blog/release/node-v0-6-5.md b/doc/blog/release/node-v0-6-5.md index 832da74..3035894 100644 --- a/doc/blog/release/node-v0-6-5.md +++ b/doc/blog/release/node-v0-6-5.md @@ -6,16 +6,16 @@ status: publish category: release slug: node-v0-6-5 -2011.12.04, Version 0.6.5 (stable) - - -Source Code: http://nodejs.org/dist/v0.6.5/node-v0.6.5.tar.gz - -Windows Installer: http://nodejs.org/dist/v0.6.5/node-v0.6.5.msi - -Macintosh Installer: http://nodejs.org/dist/v0.6.5/node-v0.6.5.pkg - -Website: http://nodejs.org/docs/v0.6.5/ - +2011.12.04, Version 0.6.5 (stable) + + +Source Code: http://nodejs.org/dist/v0.6.5/node-v0.6.5.tar.gz + +Windows Installer: http://nodejs.org/dist/v0.6.5/node-v0.6.5.msi + +Macintosh Installer: http://nodejs.org/dist/v0.6.5/node-v0.6.5.pkg + +Website: http://nodejs.org/docs/v0.6.5/ + Documentation: http://nodejs.org/docs/v0.6.5/api/ diff --git a/doc/blog/release/node-v0-6-6.md b/doc/blog/release/node-v0-6-6.md index c52169a..df53398 100644 --- a/doc/blog/release/node-v0-6-6.md +++ b/doc/blog/release/node-v0-6-6.md @@ -6,27 +6,27 @@ status: publish category: release slug: node-v0-6-6 -2011.12.14, Version 0.6.6 (stable) - - - -Source Code: http://nodejs.org/dist/v0.6.6/node-v0.6.6.tar.gz - -Windows Installer: http://nodejs.org/dist/v0.6.6/node-v0.6.6.msi - -Macintosh Installer: http://nodejs.org/dist/v0.6.6/node-v0.6.6.pkg - -Website: http://nodejs.org/docs/v0.6.6/ - +2011.12.14, Version 0.6.6 (stable) + + + +Source Code: http://nodejs.org/dist/v0.6.6/node-v0.6.6.tar.gz + +Windows Installer: http://nodejs.org/dist/v0.6.6/node-v0.6.6.msi + +Macintosh Installer: http://nodejs.org/dist/v0.6.6/node-v0.6.6.pkg + +Website: http://nodejs.org/docs/v0.6.6/ + Documentation: http://nodejs.org/docs/v0.6.6/api/ diff --git a/doc/blog/release/node-v0-6-7.md b/doc/blog/release/node-v0-6-7.md index 0346f51..06d9397 100644 --- a/doc/blog/release/node-v0-6-7.md +++ b/doc/blog/release/node-v0-6-7.md @@ -6,36 +6,36 @@ status: publish category: release slug: node-v0-6-7 -

2012.01.06, Version 0.6.7 (stable)

- - - -

Source Code: http://nodejs.org/dist/v0.6.7/node-v0.6.7.tar.gz

- -

Windows Installer: http://nodejs.org/dist/v0.6.7/node-v0.6.7.msi

- -

Macintosh Installer: http://nodejs.org/dist/v0.6.7/node-v0.6.7.pkg

- -

Website: http://nodejs.org/docs/v0.6.7/

- +

2012.01.06, Version 0.6.7 (stable)

+ + + +

Source Code: http://nodejs.org/dist/v0.6.7/node-v0.6.7.tar.gz

+ +

Windows Installer: http://nodejs.org/dist/v0.6.7/node-v0.6.7.msi

+ +

Macintosh Installer: http://nodejs.org/dist/v0.6.7/node-v0.6.7.pkg

+ +

Website: http://nodejs.org/docs/v0.6.7/

+

Documentation: http://nodejs.org/docs/v0.6.7/api/

diff --git a/doc/blog/release/node-v0-6-8.md b/doc/blog/release/node-v0-6-8.md index 55de31e..81f7ace 100644 --- a/doc/blog/release/node-v0-6-8.md +++ b/doc/blog/release/node-v0-6-8.md @@ -6,26 +6,26 @@ status: publish category: release slug: node-v0-6-8 -

2012.01.19, Version 0.6.8 (stable)

- -

Source Code: http://nodejs.org/dist/v0.6.8/node-v0.6.8.tar.gz

- -

Windows Installer: http://nodejs.org/dist/v0.6.8/node-v0.6.8.msi

- -

Macintosh Installer: http://nodejs.org/dist/v0.6.8/node-v0.6.8.pkg

- -

Website: http://nodejs.org/docs/v0.6.8/

- +

2012.01.19, Version 0.6.8 (stable)

+ +

Source Code: http://nodejs.org/dist/v0.6.8/node-v0.6.8.tar.gz

+ +

Windows Installer: http://nodejs.org/dist/v0.6.8/node-v0.6.8.msi

+ +

Macintosh Installer: http://nodejs.org/dist/v0.6.8/node-v0.6.8.pkg

+ +

Website: http://nodejs.org/docs/v0.6.8/

+

Documentation: http://nodejs.org/docs/v0.6.8/api/

diff --git a/doc/blog/release/node-v0-6-9.md b/doc/blog/release/node-v0-6-9.md index 05d992f..6e95bfd 100644 --- a/doc/blog/release/node-v0-6-9.md +++ b/doc/blog/release/node-v0-6-9.md @@ -6,25 +6,25 @@ status: publish category: release slug: node-v0-6-9 -

2012.01.27, Version 0.6.9 (stable)

- -

Source Code: http://nodejs.org/dist/v0.6.9/node-v0.6.9.tar.gz

- -

Windows Installer: http://nodejs.org/dist/v0.6.9/node-v0.6.9.msi

- -

Macintosh Installer: http://nodejs.org/dist/v0.6.9/node-v0.6.9.pkg

- -

Website: http://nodejs.org/docs/v0.6.9/

- +

2012.01.27, Version 0.6.9 (stable)

+ +

Source Code: http://nodejs.org/dist/v0.6.9/node-v0.6.9.tar.gz

+ +

Windows Installer: http://nodejs.org/dist/v0.6.9/node-v0.6.9.msi

+ +

Macintosh Installer: http://nodejs.org/dist/v0.6.9/node-v0.6.9.pkg

+ +

Website: http://nodejs.org/docs/v0.6.9/

+

Documentation: http://nodejs.org/docs/v0.6.9/api/

diff --git a/doc/blog/release/node-v0-7-0-unstable.md b/doc/blog/release/node-v0-7-0-unstable.md index 3036b92..2bf3ad5 100644 --- a/doc/blog/release/node-v0-7-0-unstable.md +++ b/doc/blog/release/node-v0-7-0-unstable.md @@ -6,24 +6,24 @@ status: publish category: release slug: node-v0-7-0-unstable -This is the first release in the unstable v0.7 series. Almost all users will want to remain using the stable v0.6 releases. - -2012.01.16, Version 0.7.0 (unstable) - - - -Source Code: http://nodejs.org/dist/v0.7.0/node-v0.7.0.tar.gz - -Windows Installer: http://nodejs.org/dist/v0.7.0/node-v0.7.0.msi - -Macintosh Installer: http://nodejs.org/dist/v0.7.0/node-v0.7.0.pkg - -Website: http://nodejs.org/docs/v0.7.0/ - +This is the first release in the unstable v0.7 series. Almost all users will want to remain using the stable v0.6 releases. + +2012.01.16, Version 0.7.0 (unstable) + + + +Source Code: http://nodejs.org/dist/v0.7.0/node-v0.7.0.tar.gz + +Windows Installer: http://nodejs.org/dist/v0.7.0/node-v0.7.0.msi + +Macintosh Installer: http://nodejs.org/dist/v0.7.0/node-v0.7.0.pkg + +Website: http://nodejs.org/docs/v0.7.0/ + Documentation: http://nodejs.org/docs/v0.7.0/api/ diff --git a/doc/blog/release/node-v0-7-1.md b/doc/blog/release/node-v0-7-1.md index efb89d0..cd3666d 100644 --- a/doc/blog/release/node-v0-7-1.md +++ b/doc/blog/release/node-v0-7-1.md @@ -6,25 +6,25 @@ status: publish category: release slug: node-v0-7-1 -

2012.01.23, Version 0.7.1 (unstable)

- - - -

Source: http://nodejs.org/dist/v0.7.1/node-v0.7.1.tar.gz

- -

Windows Installer: http://nodejs.org/dist/v0.7.1/node-v0.7.1.msi

- -

Macintosh Installer: http://nodejs.org/dist/v0.7.1/node-v0.7.1.pkg

- -

Website: http://nodejs.org/docs/v0.7.1/

- +

2012.01.23, Version 0.7.1 (unstable)

+ + + +

Source: http://nodejs.org/dist/v0.7.1/node-v0.7.1.tar.gz

+ +

Windows Installer: http://nodejs.org/dist/v0.7.1/node-v0.7.1.msi

+ +

Macintosh Installer: http://nodejs.org/dist/v0.7.1/node-v0.7.1.pkg

+ +

Website: http://nodejs.org/docs/v0.7.1/

+

Documentation: http://nodejs.org/docs/v0.7.1/api/

diff --git a/doc/blog/release/node-v0-7-2-unstable.md b/doc/blog/release/node-v0-7-2-unstable.md index d5c1f8f..e25e1b4 100644 --- a/doc/blog/release/node-v0-7-2-unstable.md +++ b/doc/blog/release/node-v0-7-2-unstable.md @@ -6,27 +6,27 @@ status: publish category: release slug: node-v0-7-2-unstable -

2012.02.01, Version 0.7.2 (unstable)

- -

Source Code: http://nodejs.org/dist/v0.7.2/node-v0.7.2.tar.gz

- -

Windows Installer: http://nodejs.org/dist/v0.7.2/node-v0.7.2.msi

- -

Macintosh Installer: http://nodejs.org/dist/v0.7.2/node-v0.7.2.pkg

- -

Website: http://nodejs.org/docs/v0.7.2/

- +

2012.02.01, Version 0.7.2 (unstable)

+ +

Source Code: http://nodejs.org/dist/v0.7.2/node-v0.7.2.tar.gz

+ +

Windows Installer: http://nodejs.org/dist/v0.7.2/node-v0.7.2.msi

+ +

Macintosh Installer: http://nodejs.org/dist/v0.7.2/node-v0.7.2.pkg

+ +

Website: http://nodejs.org/docs/v0.7.2/

+

Documentation: http://nodejs.org/docs/v0.7.2/api/

diff --git a/doc/blog/release/node-v0-7-3.md b/doc/blog/release/node-v0-7-3.md index a0d93df..e4942bd 100644 --- a/doc/blog/release/node-v0-7-3.md +++ b/doc/blog/release/node-v0-7-3.md @@ -6,34 +6,34 @@ status: publish category: release slug: node-v0-7-3 -

2012.02.07, Version 0.7.3 (unstable) - -

- -

Source Code: http://nodejs.org/dist/v0.7.3/node-v0.7.3.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.7.3/node-v0.7.3.msi - -

-

Macintosh Installer: http://nodejs.org/dist/v0.7.3/node-v0.7.3.pkg - -

-

Website: http://nodejs.org/docs/v0.7.3/ - -

-

Documentation: http://nodejs.org/docs/v0.7.3/api/ +

2012.02.07, Version 0.7.3 (unstable) + +

+ +

Source Code: http://nodejs.org/dist/v0.7.3/node-v0.7.3.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.7.3/node-v0.7.3.msi + +

+

Macintosh Installer: http://nodejs.org/dist/v0.7.3/node-v0.7.3.pkg + +

+

Website: http://nodejs.org/docs/v0.7.3/ + +

+

Documentation: http://nodejs.org/docs/v0.7.3/api/

diff --git a/doc/blog/release/node-version-0-6-19-stable.md b/doc/blog/release/node-version-0-6-19-stable.md index 3a29556..cb8febe 100644 --- a/doc/blog/release/node-version-0-6-19-stable.md +++ b/doc/blog/release/node-version-0-6-19-stable.md @@ -6,56 +6,56 @@ status: publish category: release slug: node-version-0-6-19-stable -

2012.06.06 Version 0.6.19 (stable) - -

- -

Source Code: http://nodejs.org/dist/v0.6.19/node-v0.6.19.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.6.19/node-v0.6.19.msi - -

-

Windows x64 Files: http://nodejs.org/dist/v0.6.19/x64/ - -

-

Macintosh Installer (Universal): http://nodejs.org/dist/v0.6.19/node-v0.6.19.pkg - -

-

Other release files: http://nodejs.org/dist/v0.6.19/ - -

-

Website: http://nodejs.org/docs/v0.6.19/ - -

-

Documentation: http://nodejs.org/docs/v0.6.19/api/ -

- -

Shasums:

-
ef4f5c1e5f12f6ef3478a794d6a81f59669332f9  node-v0.6.19.msi
-781616f33208f532f168633758a648c20e1ea68b  node-v0.6.19.pkg
-f6c5cfbadff4788ac3a95f8263a0c2f4e07444b6  node-v0.6.19.tar.gz
-10f729ca236825821d97556441fa64f994cb4ca8  node.exe
-5b8cd02e5f92ed6512aabdac11766ad8c1abc436  node.exp
-20037e4901de605e08e48d0c85531334912844e3  node.lib
-c44f62852918d449850014d9b29dd073cb6920a5  node.pdb
-04db25c93c5357394941dd2de12cb61959eb82d1  x64/node-v0.6.19.msi
-f77c77f2e470cfc9071853af2f277ba91d660b9c  x64/node.exe
-fcf26a3f984a3f19804e0567414604b77b1d3bac  x64/node.exp
-bfed2a24f253dbac99379d6f22fc8e9e85ade7ed  x64/node.lib
+

2012.06.06 Version 0.6.19 (stable) + +

+
    +
  • npm: upgrade to 1.1.24

    +
  • +
  • fs: no end emit after createReadStream.pause() (Andreas Madsen)

    +
  • +
  • vm: cleanup module memory leakage (Marcel Laverdet)

    +
  • +
  • unix: fix loop starvation under high network load (Ben Noordhuis)

    +
  • +
  • unix: remove abort() in ev_unref() (Ben Noordhuis)

    +
  • +
  • windows/tty: never report error after forcibly aborting line-buffered read (Bert Belder)

    +
  • +
  • windows: skip GetFileAttributes call when opening a file (Bert Belder)

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.6.19/node-v0.6.19.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.6.19/node-v0.6.19.msi + +

+

Windows x64 Files: http://nodejs.org/dist/v0.6.19/x64/ + +

+

Macintosh Installer (Universal): http://nodejs.org/dist/v0.6.19/node-v0.6.19.pkg + +

+

Other release files: http://nodejs.org/dist/v0.6.19/ + +

+

Website: http://nodejs.org/docs/v0.6.19/ + +

+

Documentation: http://nodejs.org/docs/v0.6.19/api/ +

+ +

Shasums:

+
ef4f5c1e5f12f6ef3478a794d6a81f59669332f9  node-v0.6.19.msi
+781616f33208f532f168633758a648c20e1ea68b  node-v0.6.19.pkg
+f6c5cfbadff4788ac3a95f8263a0c2f4e07444b6  node-v0.6.19.tar.gz
+10f729ca236825821d97556441fa64f994cb4ca8  node.exe
+5b8cd02e5f92ed6512aabdac11766ad8c1abc436  node.exp
+20037e4901de605e08e48d0c85531334912844e3  node.lib
+c44f62852918d449850014d9b29dd073cb6920a5  node.pdb
+04db25c93c5357394941dd2de12cb61959eb82d1  x64/node-v0.6.19.msi
+f77c77f2e470cfc9071853af2f277ba91d660b9c  x64/node.exe
+fcf26a3f984a3f19804e0567414604b77b1d3bac  x64/node.exp
+bfed2a24f253dbac99379d6f22fc8e9e85ade7ed  x64/node.lib
 95226c1cc5170ea05c2e54431040f06c3e95e99f  x64/node.pdb
diff --git a/doc/blog/release/node-version-0-7-9-unstable.md b/doc/blog/release/node-version-0-7-9-unstable.md index cb077d6..74076c0 100644 --- a/doc/blog/release/node-version-0-7-9-unstable.md +++ b/doc/blog/release/node-version-0-7-9-unstable.md @@ -6,68 +6,68 @@ status: publish category: release slug: node-version-0-7-9-unstable -

2012.05.28, Version 0.7.9 (unstable) - -

-
    -
  • Upgrade V8 to 3.11.1

    -
  • -
  • Upgrade npm to 1.1.23

    -
  • -
  • uv: rework reference counting scheme (Ben Noordhuis)

    -
  • -
  • uv: add interface for joining external event loops (Bert Belder)

    -
  • -
  • repl, readline: Handle Ctrl+Z and SIGCONT better (Nathan Rajlich)

    -
  • -
  • fs: 64bit offsets for fs calls (Igor Zinkovsky)

    -
  • -
  • fs: add sync open flags 'rs' and 'rs+' (Kevin Bowman)

    -
  • -
  • windows: enable creating directory junctions with fs.symlink (Igor Zinkovsky, Bert Belder)

    -
  • -
  • windows: fix fs.lstat to properly detect symlinks. (Igor Zinkovsky)

    -
  • -
  • Fix #3270 Escape url.parse delims (isaacs)

    -
  • -
  • http: make http.get() accept a URL (Adam Malcontenti-Wilson)

    -
  • -
  • Cleanup vm module memory leakage (Marcel Laverdet)

    -
  • -
  • Optimize writing strings with Socket.write (Bert Belder)

    -
  • -
  • add support for CESU-8 and UTF-16LE encodings (koichik)

    -
  • -
  • path: add path.sep to get the path separator. (Yi, EungJun)

    -
  • -
  • net, http: add backlog parameter to .listen() (Erik Dubbelboer)

    -
  • -
  • debugger: support mirroring Date objects (Fedor Indutny)

    -
  • -
  • addon: add AtExit() function (Ben Noordhuis)

    -
  • -
  • net: signal localAddress bind failure in connect (Brian Schroeder)

    -
  • -
  • util: handle non-string return value in .inspect() (Alex Kocharin)

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.7.9/node-v0.7.9.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.7.9/node-v0.7.9.msi - -

-

Windows x64 Files: http://nodejs.org/dist/v0.7.9/x64/ - -

-

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.9/node-v0.7.9.pkg - -

-

Other release files: http://nodejs.org/dist/v0.7.9/ - -

-

Website: http://nodejs.org/docs/v0.7.9/ - -

-

Documentation: http://nodejs.org/docs/v0.7.9/api/ +

2012.05.28, Version 0.7.9 (unstable) + +

+
    +
  • Upgrade V8 to 3.11.1

    +
  • +
  • Upgrade npm to 1.1.23

    +
  • +
  • uv: rework reference counting scheme (Ben Noordhuis)

    +
  • +
  • uv: add interface for joining external event loops (Bert Belder)

    +
  • +
  • repl, readline: Handle Ctrl+Z and SIGCONT better (Nathan Rajlich)

    +
  • +
  • fs: 64bit offsets for fs calls (Igor Zinkovsky)

    +
  • +
  • fs: add sync open flags 'rs' and 'rs+' (Kevin Bowman)

    +
  • +
  • windows: enable creating directory junctions with fs.symlink (Igor Zinkovsky, Bert Belder)

    +
  • +
  • windows: fix fs.lstat to properly detect symlinks. (Igor Zinkovsky)

    +
  • +
  • Fix #3270 Escape url.parse delims (isaacs)

    +
  • +
  • http: make http.get() accept a URL (Adam Malcontenti-Wilson)

    +
  • +
  • Cleanup vm module memory leakage (Marcel Laverdet)

    +
  • +
  • Optimize writing strings with Socket.write (Bert Belder)

    +
  • +
  • add support for CESU-8 and UTF-16LE encodings (koichik)

    +
  • +
  • path: add path.sep to get the path separator. (Yi, EungJun)

    +
  • +
  • net, http: add backlog parameter to .listen() (Erik Dubbelboer)

    +
  • +
  • debugger: support mirroring Date objects (Fedor Indutny)

    +
  • +
  • addon: add AtExit() function (Ben Noordhuis)

    +
  • +
  • net: signal localAddress bind failure in connect (Brian Schroeder)

    +
  • +
  • util: handle non-string return value in .inspect() (Alex Kocharin)

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.7.9/node-v0.7.9.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.7.9/node-v0.7.9.msi + +

+

Windows x64 Files: http://nodejs.org/dist/v0.7.9/x64/ + +

+

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.9/node-v0.7.9.pkg + +

+

Other release files: http://nodejs.org/dist/v0.7.9/ + +

+

Website: http://nodejs.org/docs/v0.7.9/ + +

+

Documentation: http://nodejs.org/docs/v0.7.9/api/

diff --git a/doc/blog/release/version-0-6-11-stable.md b/doc/blog/release/version-0-6-11-stable.md index d57068f..15fbe33 100644 --- a/doc/blog/release/version-0-6-11-stable.md +++ b/doc/blog/release/version-0-6-11-stable.md @@ -6,59 +6,59 @@ status: publish category: release slug: version-0-6-11-stable -

2012.02.17 Version 0.6.11 (stable) - -

-
    -
  • http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik)

    -
  • -
  • http: allow multiple WWW-Authenticate headers (Ben Noordhuis)

    -
  • -
  • windows: support unicode argv and environment variables (Bert Belder)

    -
  • -
  • tls: mitigate session renegotiation attacks (Ben Noordhuis)

    -
  • -
  • tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis)

    -
  • -
  • tls: Allow establishing secure connection on the existing socket (koichik)

    -
  • -
  • dgram: handle close of dgram socket before DNS lookup completes (Seth Fitzsimmons)

    -
  • -
  • windows: Support half-duplex pipes (Igor Zinkovsky)

    -
  • -
  • build: disable omit-frame-pointer on solaris systems (Dave Pacheco)

    -
  • -
  • debugger: fix --debug-brk (Ben Noordhuis)

    -
  • -
  • net: fix large file downloads failing (koichik)

    -
  • -
  • fs: fix ReadStream failure to read from existing fd (Christopher Jeffrey)

    -
  • -
  • net: destroy socket on DNS error (Stefan Rusu)

    -
  • -
  • dtrace: add missing translator (Dave Pacheco)

    -
  • -
  • unix: don't flush tty on switch to raw mode (Ben Noordhuis)

    -
  • -
  • windows: reset brightness when reverting to default text color (Bert Belder)

    -
  • -
  • npm: update to 1.1.1

    - -

    - Update which, fstream, mkdirp, request, and rimraf
    - Fix #2123 Set path properly for lifecycle scripts on windows
    - Mark the root as seen, so we don't recurse into it. Fixes #1838. (Martin Cooper)

    - -
  • -
-

Source Code: http://nodejs.org/dist/v0.6.11/node-v0.6.11.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.6.11/node-v0.6.11.msi - -

-

Macintosh Installer: http://nodejs.org/dist/v0.6.11/node-v0.6.11.pkg - -

-

Website: http://nodejs.org/docs/v0.6.11/ - -

-

Documentation: http://nodejs.org/docs/v0.6.11/api/ +

2012.02.17 Version 0.6.11 (stable) + +

+
    +
  • http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik)

    +
  • +
  • http: allow multiple WWW-Authenticate headers (Ben Noordhuis)

    +
  • +
  • windows: support unicode argv and environment variables (Bert Belder)

    +
  • +
  • tls: mitigate session renegotiation attacks (Ben Noordhuis)

    +
  • +
  • tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis)

    +
  • +
  • tls: Allow establishing secure connection on the existing socket (koichik)

    +
  • +
  • dgram: handle close of dgram socket before DNS lookup completes (Seth Fitzsimmons)

    +
  • +
  • windows: Support half-duplex pipes (Igor Zinkovsky)

    +
  • +
  • build: disable omit-frame-pointer on solaris systems (Dave Pacheco)

    +
  • +
  • debugger: fix --debug-brk (Ben Noordhuis)

    +
  • +
  • net: fix large file downloads failing (koichik)

    +
  • +
  • fs: fix ReadStream failure to read from existing fd (Christopher Jeffrey)

    +
  • +
  • net: destroy socket on DNS error (Stefan Rusu)

    +
  • +
  • dtrace: add missing translator (Dave Pacheco)

    +
  • +
  • unix: don't flush tty on switch to raw mode (Ben Noordhuis)

    +
  • +
  • windows: reset brightness when reverting to default text color (Bert Belder)

    +
  • +
  • npm: update to 1.1.1

    + +

    - Update which, fstream, mkdirp, request, and rimraf
    - Fix #2123 Set path properly for lifecycle scripts on windows
    - Mark the root as seen, so we don't recurse into it. Fixes #1838. (Martin Cooper)

    + +
  • +
+

Source Code: http://nodejs.org/dist/v0.6.11/node-v0.6.11.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.6.11/node-v0.6.11.msi + +

+

Macintosh Installer: http://nodejs.org/dist/v0.6.11/node-v0.6.11.pkg + +

+

Website: http://nodejs.org/docs/v0.6.11/ + +

+

Documentation: http://nodejs.org/docs/v0.6.11/api/

diff --git a/doc/blog/release/version-0-6-12-stable.md b/doc/blog/release/version-0-6-12-stable.md index bd20ef7..3e5acd6 100644 --- a/doc/blog/release/version-0-6-12-stable.md +++ b/doc/blog/release/version-0-6-12-stable.md @@ -6,61 +6,61 @@ status: publish category: release slug: version-0-6-12-stable -

2012.03.02 Version 0.6.12 (stable) - -

-
    -
  • Upgrade V8 to 3.6.6.24

    -
  • -
  • dtrace ustack helper improvements (Dave Pacheco)

    -
  • -
  • API Documentation refactor (isaacs)

    -
  • -
  • #2827 net: fix race write() before and after connect() (koichik)

    -
  • -
  • #2554 #2567 throw if fs args for 'start' or 'end' are strings (AJ ONeal)

    -
  • -
  • punycode: Update to v1.0.0 (Mathias Bynens)

    -
  • -
  • Make a fat binary for the OS X pkg (isaacs)

    -
  • -
  • Fix hang on accessing process.stdin (isaacs)

    -
  • -
  • repl: make tab completion work on non-objects (Nathan Rajlich)

    -
  • -
  • Fix fs.watch on OS X (Ben Noordhuis)

    -
  • -
  • Fix #2515 nested setTimeouts cause premature process exit (Ben Noordhuis)

    -
  • -
  • windows: fix time conversion in stat (Igor Zinkovsky)

    -
  • -
  • windows: fs: handle EOF in read (Brandon Philips)

    -
  • -
  • windows: avoid IOCP short-circuit on non-ifs lsps (Igor Zinkovsky)

    -
  • -
  • Upgrade npm to 1.1.4 (isaacs)

    -

    -- windows fixes
    -- Bundle nested bundleDependencies properly
    -- install: support --save with url install targets
    -- shrinkwrap: behave properly with url-installed modules
    -- support installing uncompressed tars or single file modules from urls etc.
    -- don't run make clean on rebuild
    -- support HTTPS-over-HTTP proxy tunneling
    -

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.6.12/node-v0.6.12.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.6.12/node-v0.6.12.msi - -

-

Macintosh Installer: http://nodejs.org/dist/v0.6.12/node-v0.6.12.pkg - -

-

Website: http://nodejs.org/docs/v0.6.12/ - -

-

Documentation: http://nodejs.org/docs/v0.6.12/api/ +

2012.03.02 Version 0.6.12 (stable) + +

+
    +
  • Upgrade V8 to 3.6.6.24

    +
  • +
  • dtrace ustack helper improvements (Dave Pacheco)

    +
  • +
  • API Documentation refactor (isaacs)

    +
  • +
  • #2827 net: fix race write() before and after connect() (koichik)

    +
  • +
  • #2554 #2567 throw if fs args for 'start' or 'end' are strings (AJ ONeal)

    +
  • +
  • punycode: Update to v1.0.0 (Mathias Bynens)

    +
  • +
  • Make a fat binary for the OS X pkg (isaacs)

    +
  • +
  • Fix hang on accessing process.stdin (isaacs)

    +
  • +
  • repl: make tab completion work on non-objects (Nathan Rajlich)

    +
  • +
  • Fix fs.watch on OS X (Ben Noordhuis)

    +
  • +
  • Fix #2515 nested setTimeouts cause premature process exit (Ben Noordhuis)

    +
  • +
  • windows: fix time conversion in stat (Igor Zinkovsky)

    +
  • +
  • windows: fs: handle EOF in read (Brandon Philips)

    +
  • +
  • windows: avoid IOCP short-circuit on non-ifs lsps (Igor Zinkovsky)

    +
  • +
  • Upgrade npm to 1.1.4 (isaacs)

    +

    +- windows fixes
    +- Bundle nested bundleDependencies properly
    +- install: support --save with url install targets
    +- shrinkwrap: behave properly with url-installed modules
    +- support installing uncompressed tars or single file modules from urls etc.
    +- don't run make clean on rebuild
    +- support HTTPS-over-HTTP proxy tunneling
    +

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.6.12/node-v0.6.12.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.6.12/node-v0.6.12.msi + +

+

Macintosh Installer: http://nodejs.org/dist/v0.6.12/node-v0.6.12.pkg + +

+

Website: http://nodejs.org/docs/v0.6.12/ + +

+

Documentation: http://nodejs.org/docs/v0.6.12/api/

diff --git a/doc/blog/release/version-0-6-13-stable.md b/doc/blog/release/version-0-6-13-stable.md index 2561c1d..356c0ae 100644 --- a/doc/blog/release/version-0-6-13-stable.md +++ b/doc/blog/release/version-0-6-13-stable.md @@ -6,45 +6,45 @@ status: publish category: release slug: version-0-6-13-stable -

2012.03.15 Version 0.6.13 (stable) - -

-
    -
  • Windows: Many libuv test fixes (Bert Belder)

    -
  • -
  • Windows: avoid uv_guess_handle crash in when fd < 0 (Bert Belder)

    -
  • -
  • Map EBUSY and ENOTEMPTY errors (Bert Belder)

    -
  • -
  • Windows: include syscall in fs errors (Bert Belder)

    -
  • -
  • Fix fs.watch ENOSYS on Linux kernel version mismatch (Ben Noordhuis)

    -
  • -
  • Update npm to 1.1.9

    -

    -- upgrade node-gyp to 0.3.5 (Nathan Rajlich)
    -- Fix isaacs/npm#2249 Add cache-max and cache-min configs
    -- Properly redirect across https/http registry requests
    -- log config usage if undefined key in set function (Kris Windham)
    -- Add support for os/cpu fields in package.json (Adam Blackburn)
    -- Automatically node-gyp packages containing a binding.gyp
    -- Fix failures unpacking in UNC shares
    -- Never create un-listable directories
    -- Handle cases where an optionalDependency fails to build -

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.6.13/node-v0.6.13.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.6.13/node-v0.6.13.msi - -

-

Macintosh Installer: http://nodejs.org/dist/v0.6.13/node-v0.6.13.pkg - -

-

Website: http://nodejs.org/docs/v0.6.13/ - -

-

Documentation: http://nodejs.org/docs/v0.6.13/api/ +

2012.03.15 Version 0.6.13 (stable) + +

+
    +
  • Windows: Many libuv test fixes (Bert Belder)

    +
  • +
  • Windows: avoid uv_guess_handle crash in when fd < 0 (Bert Belder)

    +
  • +
  • Map EBUSY and ENOTEMPTY errors (Bert Belder)

    +
  • +
  • Windows: include syscall in fs errors (Bert Belder)

    +
  • +
  • Fix fs.watch ENOSYS on Linux kernel version mismatch (Ben Noordhuis)

    +
  • +
  • Update npm to 1.1.9

    +

    +- upgrade node-gyp to 0.3.5 (Nathan Rajlich)
    +- Fix isaacs/npm#2249 Add cache-max and cache-min configs
    +- Properly redirect across https/http registry requests
    +- log config usage if undefined key in set function (Kris Windham)
    +- Add support for os/cpu fields in package.json (Adam Blackburn)
    +- Automatically node-gyp packages containing a binding.gyp
    +- Fix failures unpacking in UNC shares
    +- Never create un-listable directories
    +- Handle cases where an optionalDependency fails to build +

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.6.13/node-v0.6.13.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.6.13/node-v0.6.13.msi + +

+

Macintosh Installer: http://nodejs.org/dist/v0.6.13/node-v0.6.13.pkg + +

+

Website: http://nodejs.org/docs/v0.6.13/ + +

+

Documentation: http://nodejs.org/docs/v0.6.13/api/

diff --git a/doc/blog/release/version-0-6-14-stable.md b/doc/blog/release/version-0-6-14-stable.md index ba51834..4f33a26 100644 --- a/doc/blog/release/version-0-6-14-stable.md +++ b/doc/blog/release/version-0-6-14-stable.md @@ -6,50 +6,50 @@ status: publish category: release slug: version-0-6-14-stable -

2012.03.22 Version 0.6.14 (stable) - -

-
    -
  • net: don't crash when queued write fails (Igor Zinkovsky)

    -
  • -
  • sunos: fix EMFILE on process.memoryUsage() (Bryan Cantrill)

    -
  • -
  • crypto: fix compile-time error with openssl 0.9.7e (Ben Noordhuis)

    -
  • -
  • unix: ignore ECONNABORTED errors from accept() (Ben Noordhuis)

    -
  • -
  • Add UV_ENOSPC and mappings to it (Bert Belder)

    -
  • -
  • http-parser: Fix response body is not read (koichik)

    -
  • -
  • Upgrade npm to 1.1.12

    -

    -- upgrade node-gyp to 0.3.7
    -- work around AV-locked directories on Windows
    -- Fix isaacs/npm#2293 Don't try to 'uninstall' /
    -- Exclude symbolic links from packages.
    -- Fix isaacs/npm#2275 Spurious 'unresolvable cycle' error.
    -- Exclude/include dot files as if they were normal files -

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.6.14/node-v0.6.14.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.6.14/node-v0.6.14.msi - -

-

Windows x64 Files: http://nodejs.org/dist/v0.6.14/x64/ - -

-

Macintosh Installer (Universal): http://nodejs.org/dist/v0.6.14/node-v0.6.14.pkg - -

-

Other release files: http://nodejs.org/dist/v0.6.14/ - -

-

Website: http://nodejs.org/docs/v0.6.14/ - -

-

Documentation: http://nodejs.org/docs/v0.6.14/api/ +

2012.03.22 Version 0.6.14 (stable) + +

+
    +
  • net: don't crash when queued write fails (Igor Zinkovsky)

    +
  • +
  • sunos: fix EMFILE on process.memoryUsage() (Bryan Cantrill)

    +
  • +
  • crypto: fix compile-time error with openssl 0.9.7e (Ben Noordhuis)

    +
  • +
  • unix: ignore ECONNABORTED errors from accept() (Ben Noordhuis)

    +
  • +
  • Add UV_ENOSPC and mappings to it (Bert Belder)

    +
  • +
  • http-parser: Fix response body is not read (koichik)

    +
  • +
  • Upgrade npm to 1.1.12

    +

    +- upgrade node-gyp to 0.3.7
    +- work around AV-locked directories on Windows
    +- Fix isaacs/npm#2293 Don't try to 'uninstall' /
    +- Exclude symbolic links from packages.
    +- Fix isaacs/npm#2275 Spurious 'unresolvable cycle' error.
    +- Exclude/include dot files as if they were normal files +

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.6.14/node-v0.6.14.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.6.14/node-v0.6.14.msi + +

+

Windows x64 Files: http://nodejs.org/dist/v0.6.14/x64/ + +

+

Macintosh Installer (Universal): http://nodejs.org/dist/v0.6.14/node-v0.6.14.pkg + +

+

Other release files: http://nodejs.org/dist/v0.6.14/ + +

+

Website: http://nodejs.org/docs/v0.6.14/ + +

+

Documentation: http://nodejs.org/docs/v0.6.14/api/

diff --git a/doc/blog/release/version-0-6-15-stable.md b/doc/blog/release/version-0-6-15-stable.md index e6f0502..4196876 100644 --- a/doc/blog/release/version-0-6-15-stable.md +++ b/doc/blog/release/version-0-6-15-stable.md @@ -6,48 +6,48 @@ status: publish category: release slug: version-0-6-15-stable -

2012.04.09 Version 0.6.15 (stable) - -

-
    -
  • Update npm to 1.1.16

    -
  • -
  • Show licenses in binary installers.

    -
  • -
  • unix: add uv_fs_read64, uv_fs_write64 and uv_fs_ftruncate64 (Ben Noordhuis)

    -
  • -
  • add 64bit offset fs functions (Igor Zinkovsky)

    -
  • -
  • windows: don't report ENOTSOCK when attempting to bind an udp handle twice (Bert Belder)

    -
  • -
  • windows: backport pipe-connect-to-file fixes from master (Bert Belder)

    -
  • -
  • windows: never call fs event callbacks after closing the watcher (Bert Belder)

    -
  • -
  • fs.readFile: don't make the callback before the fd is closed (Bert Belder)

    -
  • -
  • windows: use 64bit offsets for uv_fs apis (Igor Zinkovsky)

    -
  • -
  • Fix #2061: segmentation fault on OS X due to stat size mismatch (Ben Noordhuis)

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.6.15/node-v0.6.15.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.6.15/node-v0.6.15.msi - -

-

Windows x64 Files: http://nodejs.org/dist/v0.6.15/x64/ - -

-

Macintosh Installer (Universal): http://nodejs.org/dist/v0.6.15/node-v0.6.15.pkg - -

-

Other release files: http://nodejs.org/dist/v0.6.15/ - -

-

Website: http://nodejs.org/docs/v0.6.15/ - -

-

Documentation: http://nodejs.org/docs/v0.6.15/api/ +

2012.04.09 Version 0.6.15 (stable) + +

+
    +
  • Update npm to 1.1.16

    +
  • +
  • Show licenses in binary installers.

    +
  • +
  • unix: add uv_fs_read64, uv_fs_write64 and uv_fs_ftruncate64 (Ben Noordhuis)

    +
  • +
  • add 64bit offset fs functions (Igor Zinkovsky)

    +
  • +
  • windows: don't report ENOTSOCK when attempting to bind an udp handle twice (Bert Belder)

    +
  • +
  • windows: backport pipe-connect-to-file fixes from master (Bert Belder)

    +
  • +
  • windows: never call fs event callbacks after closing the watcher (Bert Belder)

    +
  • +
  • fs.readFile: don't make the callback before the fd is closed (Bert Belder)

    +
  • +
  • windows: use 64bit offsets for uv_fs apis (Igor Zinkovsky)

    +
  • +
  • Fix #2061: segmentation fault on OS X due to stat size mismatch (Ben Noordhuis)

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.6.15/node-v0.6.15.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.6.15/node-v0.6.15.msi + +

+

Windows x64 Files: http://nodejs.org/dist/v0.6.15/x64/ + +

+

Macintosh Installer (Universal): http://nodejs.org/dist/v0.6.15/node-v0.6.15.pkg + +

+

Other release files: http://nodejs.org/dist/v0.6.15/ + +

+

Website: http://nodejs.org/docs/v0.6.15/ + +

+

Documentation: http://nodejs.org/docs/v0.6.15/api/

diff --git a/doc/blog/release/version-0-6-16-stable.md b/doc/blog/release/version-0-6-16-stable.md index 69f8b31..980296c 100644 --- a/doc/blog/release/version-0-6-16-stable.md +++ b/doc/blog/release/version-0-6-16-stable.md @@ -6,54 +6,54 @@ status: publish category: release slug: version-0-6-16-stable -

2012.04.30 Version 0.6.16 (stable) - -

-
    -
  • Upgrade V8 to 3.6.6.25

    -
  • -
  • Upgrade npm to 1.1.18

    -
  • -
  • Windows: add mappings for UV_ENOENT (Bert Belder)

    -
  • -
  • linux: add IN_MOVE_SELF to inotify event mask (Ben Noordhuis)

    -
  • -
  • unix: call pipe handle connection cb on accept() error (Ben Noordhuis)

    -
  • -
  • unix: handle EWOULDBLOCK (Ben Noordhuis)

    -
  • -
  • map EWOULDBLOCK to UV_EAGAIN (Ben Noordhuis)

    -
  • -
  • Map ENOMEM to UV_ENOMEM (isaacs)

    -
  • -
  • Child process: support the gid and uid options (Bert Belder)

    -
  • -
  • test: cluster: add worker death event test (Ben Noordhuis)

    -
  • -
  • typo in node_http_parser (isaacs)

    -
  • -
  • http_parser: Eat CRLF between requests, even on connection:close. (Ben Noordhuis)

    -
  • -
  • don't check return value of unsetenv (Ben Noordhuis)

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.6.16/node-v0.6.16.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.6.16/node-v0.6.16.msi - -

-

Windows x64 Files: http://nodejs.org/dist/v0.6.16/x64/ - -

-

Macintosh Installer (Universal): http://nodejs.org/dist/v0.6.16/node-v0.6.16.pkg - -

-

Other release files: http://nodejs.org/dist/v0.6.16/ - -

-

Website: http://nodejs.org/docs/v0.6.16/ - -

-

Documentation: http://nodejs.org/docs/v0.6.16/api/ +

2012.04.30 Version 0.6.16 (stable) + +

+
    +
  • Upgrade V8 to 3.6.6.25

    +
  • +
  • Upgrade npm to 1.1.18

    +
  • +
  • Windows: add mappings for UV_ENOENT (Bert Belder)

    +
  • +
  • linux: add IN_MOVE_SELF to inotify event mask (Ben Noordhuis)

    +
  • +
  • unix: call pipe handle connection cb on accept() error (Ben Noordhuis)

    +
  • +
  • unix: handle EWOULDBLOCK (Ben Noordhuis)

    +
  • +
  • map EWOULDBLOCK to UV_EAGAIN (Ben Noordhuis)

    +
  • +
  • Map ENOMEM to UV_ENOMEM (isaacs)

    +
  • +
  • Child process: support the gid and uid options (Bert Belder)

    +
  • +
  • test: cluster: add worker death event test (Ben Noordhuis)

    +
  • +
  • typo in node_http_parser (isaacs)

    +
  • +
  • http_parser: Eat CRLF between requests, even on connection:close. (Ben Noordhuis)

    +
  • +
  • don't check return value of unsetenv (Ben Noordhuis)

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.6.16/node-v0.6.16.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.6.16/node-v0.6.16.msi + +

+

Windows x64 Files: http://nodejs.org/dist/v0.6.16/x64/ + +

+

Macintosh Installer (Universal): http://nodejs.org/dist/v0.6.16/node-v0.6.16.pkg + +

+

Other release files: http://nodejs.org/dist/v0.6.16/ + +

+

Website: http://nodejs.org/docs/v0.6.16/ + +

+

Documentation: http://nodejs.org/docs/v0.6.16/api/

diff --git a/doc/blog/release/version-0-6-17-stable.md b/doc/blog/release/version-0-6-17-stable.md index 3512e1d..3212443 100644 --- a/doc/blog/release/version-0-6-17-stable.md +++ b/doc/blog/release/version-0-6-17-stable.md @@ -6,42 +6,42 @@ status: publish category: release slug: version-0-6-17-stable -

2012.05.04 Version 0.6.17 (stable) - -

-
    -
  • Upgrade npm to 1.1.21

    -
  • -
  • uv: Add support for EROFS errors (Ben Noordhuis, Maciej Małecki)

    -
  • -
  • uv: Add support for EIO and ENOSPC errors (Fedor Indutny)

    -
  • -
  • windows: Add support for EXDEV errors (Bert Belder)

    -
  • -
  • http: Fix client memory leaks (isaacs, Vincent Voyer)

    -
  • -
  • fs: fix file descriptor leak in sync functions (Ben Noordhuis)

    -
  • -
  • fs: fix ReadStream / WriteStream double close bug (Ben Noordhuis)

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.6.17/node-v0.6.17.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.6.17/node-v0.6.17.msi - -

-

Windows x64 Files: http://nodejs.org/dist/v0.6.17/x64/ - -

-

Macintosh Installer (Universal): http://nodejs.org/dist/v0.6.17/node-v0.6.17.pkg - -

-

Other release files: http://nodejs.org/dist/v0.6.17/ - -

-

Website: http://nodejs.org/docs/v0.6.17/ - -

-

Documentation: http://nodejs.org/docs/v0.6.17/api/ +

2012.05.04 Version 0.6.17 (stable) + +

+
    +
  • Upgrade npm to 1.1.21

    +
  • +
  • uv: Add support for EROFS errors (Ben Noordhuis, Maciej Małecki)

    +
  • +
  • uv: Add support for EIO and ENOSPC errors (Fedor Indutny)

    +
  • +
  • windows: Add support for EXDEV errors (Bert Belder)

    +
  • +
  • http: Fix client memory leaks (isaacs, Vincent Voyer)

    +
  • +
  • fs: fix file descriptor leak in sync functions (Ben Noordhuis)

    +
  • +
  • fs: fix ReadStream / WriteStream double close bug (Ben Noordhuis)

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.6.17/node-v0.6.17.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.6.17/node-v0.6.17.msi + +

+

Windows x64 Files: http://nodejs.org/dist/v0.6.17/x64/ + +

+

Macintosh Installer (Universal): http://nodejs.org/dist/v0.6.17/node-v0.6.17.pkg + +

+

Other release files: http://nodejs.org/dist/v0.6.17/ + +

+

Website: http://nodejs.org/docs/v0.6.17/ + +

+

Documentation: http://nodejs.org/docs/v0.6.17/api/

diff --git a/doc/blog/release/version-0-6-18-stable.md b/doc/blog/release/version-0-6-18-stable.md index 0cf179b..fe0c1f1 100644 --- a/doc/blog/release/version-0-6-18-stable.md +++ b/doc/blog/release/version-0-6-18-stable.md @@ -6,54 +6,54 @@ status: publish category: release slug: version-0-6-18-stable -

2012.05.15 Version 0.6.18 (stable) - -

-
    -
  • windows: skip GetFileAttributes call when opening a file (Bert Belder)

    -
  • -
  • crypto: add PKCS12/PFX support (Sambasiva Suda)

    -
  • -
  • #3240: child_process: delete NODE_CHANNEL_FD from env in spawn (Ben Noordhuis)

    -
  • -
  • windows: add test for path.normalize with UNC paths (Bert Belder)

    -
  • -
  • windows: make path.normalize convert all slashes to backslashes (Bert Belder)

    -
  • -
  • fs: Automatically close FSWatcher on error (Bert Belder)

    -
  • -
  • #3258: fs.ReadStream.pause() emits duplicate data event (koichik)

    -
  • -
  • pipe_wrap: don't assert() on pipe accept errors (Ben Noordhuis)

    -
  • -
  • Better exception output for module load and process.nextTick (Felix Geisendörfer)

    -
  • -
  • zlib: fix error reporting (Ben Noordhuis)

    -
  • -
  • http: Don't destroy on timeout (isaacs)

    -
  • -
  • #3231: http: Don't try to emit error on a null'ed req object (isaacs)

    -
  • -
  • #3236: http: Refactor ClientRequest.onSocket (isaacs)

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.6.18/node-v0.6.18.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.6.18/node-v0.6.18.msi - -

-

Windows x64 Files: http://nodejs.org/dist/v0.6.18/x64/ - -

-

Macintosh Installer (Universal): http://nodejs.org/dist/v0.6.18/node-v0.6.18.pkg - -

-

Other release files: http://nodejs.org/dist/v0.6.18/ - -

-

Website: http://nodejs.org/docs/v0.6.18/ - -

-

Documentation: http://nodejs.org/docs/v0.6.18/api/ +

2012.05.15 Version 0.6.18 (stable) + +

+
    +
  • windows: skip GetFileAttributes call when opening a file (Bert Belder)

    +
  • +
  • crypto: add PKCS12/PFX support (Sambasiva Suda)

    +
  • +
  • #3240: child_process: delete NODE_CHANNEL_FD from env in spawn (Ben Noordhuis)

    +
  • +
  • windows: add test for path.normalize with UNC paths (Bert Belder)

    +
  • +
  • windows: make path.normalize convert all slashes to backslashes (Bert Belder)

    +
  • +
  • fs: Automatically close FSWatcher on error (Bert Belder)

    +
  • +
  • #3258: fs.ReadStream.pause() emits duplicate data event (koichik)

    +
  • +
  • pipe_wrap: don't assert() on pipe accept errors (Ben Noordhuis)

    +
  • +
  • Better exception output for module load and process.nextTick (Felix Geisendörfer)

    +
  • +
  • zlib: fix error reporting (Ben Noordhuis)

    +
  • +
  • http: Don't destroy on timeout (isaacs)

    +
  • +
  • #3231: http: Don't try to emit error on a null'ed req object (isaacs)

    +
  • +
  • #3236: http: Refactor ClientRequest.onSocket (isaacs)

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.6.18/node-v0.6.18.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.6.18/node-v0.6.18.msi + +

+

Windows x64 Files: http://nodejs.org/dist/v0.6.18/x64/ + +

+

Macintosh Installer (Universal): http://nodejs.org/dist/v0.6.18/node-v0.6.18.pkg + +

+

Other release files: http://nodejs.org/dist/v0.6.18/ + +

+

Website: http://nodejs.org/docs/v0.6.18/ + +

+

Documentation: http://nodejs.org/docs/v0.6.18/api/

diff --git a/doc/blog/release/version-0-7-10-unstable.md b/doc/blog/release/version-0-7-10-unstable.md index 3e14911..9ecfb01 100644 --- a/doc/blog/release/version-0-7-10-unstable.md +++ b/doc/blog/release/version-0-7-10-unstable.md @@ -6,81 +6,81 @@ status: publish category: release slug: version-0-7-10-unstable -

2012.06.11, Version 0.7.10 (unstable) - -

-

This is the second-to-last release on the 0.7 branch. Version 0.8.0 -will be released some time next week. As other even-numbered Node -releases before it, the v0.8.x releases will maintain API and binary -compatibility. - -

-

The major changes are detailed in -https://github.com/joyent/node/wiki/API-changes-between-v0.6-and-v0.8 - -

-

Please try out this release. There will be very few changes between -this and the v0.8.x release family. This is the last chance to comment -on the API before it is locked down for stability. - - -

-
    -
  • Roll V8 back to 3.9.24.31

    -
  • -
  • build: x64 target should always pass -m64 (Robert Mustacchi)

    -
  • -
  • add NODE_EXTERN to node::Start (Joel Brandt)

    -
  • -
  • repl: Warn about running npm commands (isaacs)

    -
  • -
  • slab_allocator: fix crash in dtor if V8 is dead (Ben Noordhuis)

    -
  • -
  • slab_allocator: fix leak of Persistent handles (Shigeki Ohtsu)

    -
  • -
  • windows/msi: add node.js prompt to startmenu (Jeroen Janssen)

    -
  • -
  • windows/msi: fix adding node to PATH (Jeroen Janssen)

    -
  • -
  • windows/msi: add start menu links when installing (Jeroen Janssen)

    -
  • -
  • windows: don't install x64 version into the 'program files (x86)' folder (Matt Gollob)

    -
  • -
  • domain: Fix #3379 domain.intercept no longer passes error arg to cb (Marc Harter)

    -
  • -
  • fs: make callbacks run in global context (Ben Noordhuis)

    -
  • -
  • fs: enable fs.realpath on windows (isaacs)

    -
  • -
  • child_process: expose UV_PROCESS_DETACHED as options.detached (Charlie McConnell)

    -
  • -
  • child_process: new stdio API for .spawn() method (Fedor Indutny)

    -
  • -
  • child_process: spawn().ref() and spawn().unref() (Fedor Indutny)

    -
  • -
  • Upgrade npm to 1.1.25

    -
  • -
    • Enable npm link on windows
    • -
    • Properly remove sh-shim on Windows
    • -
    • Abstract out registry client and logger
    -
-

Source Code: http://nodejs.org/dist/v0.7.10/node-v0.7.10.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.7.10/node-v0.7.10.msi - -

-

Windows x64 Files: http://nodejs.org/dist/v0.7.10/x64/ - -

-

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.10/node-v0.7.10.pkg - -

-

Other release files: http://nodejs.org/dist/v0.7.10/ - -

-

Website: http://nodejs.org/docs/v0.7.10/ - -

-

Documentation: http://nodejs.org/docs/v0.7.10/api/ +

2012.06.11, Version 0.7.10 (unstable) + +

+

This is the second-to-last release on the 0.7 branch. Version 0.8.0 +will be released some time next week. As other even-numbered Node +releases before it, the v0.8.x releases will maintain API and binary +compatibility. + +

+

The major changes are detailed in +https://github.com/joyent/node/wiki/API-changes-between-v0.6-and-v0.8 + +

+

Please try out this release. There will be very few changes between +this and the v0.8.x release family. This is the last chance to comment +on the API before it is locked down for stability. + + +

+
    +
  • Roll V8 back to 3.9.24.31

    +
  • +
  • build: x64 target should always pass -m64 (Robert Mustacchi)

    +
  • +
  • add NODE_EXTERN to node::Start (Joel Brandt)

    +
  • +
  • repl: Warn about running npm commands (isaacs)

    +
  • +
  • slab_allocator: fix crash in dtor if V8 is dead (Ben Noordhuis)

    +
  • +
  • slab_allocator: fix leak of Persistent handles (Shigeki Ohtsu)

    +
  • +
  • windows/msi: add node.js prompt to startmenu (Jeroen Janssen)

    +
  • +
  • windows/msi: fix adding node to PATH (Jeroen Janssen)

    +
  • +
  • windows/msi: add start menu links when installing (Jeroen Janssen)

    +
  • +
  • windows: don't install x64 version into the 'program files (x86)' folder (Matt Gollob)

    +
  • +
  • domain: Fix #3379 domain.intercept no longer passes error arg to cb (Marc Harter)

    +
  • +
  • fs: make callbacks run in global context (Ben Noordhuis)

    +
  • +
  • fs: enable fs.realpath on windows (isaacs)

    +
  • +
  • child_process: expose UV_PROCESS_DETACHED as options.detached (Charlie McConnell)

    +
  • +
  • child_process: new stdio API for .spawn() method (Fedor Indutny)

    +
  • +
  • child_process: spawn().ref() and spawn().unref() (Fedor Indutny)

    +
  • +
  • Upgrade npm to 1.1.25

    +
  • +
    • Enable npm link on windows
    • +
    • Properly remove sh-shim on Windows
    • +
    • Abstract out registry client and logger
    +
+

Source Code: http://nodejs.org/dist/v0.7.10/node-v0.7.10.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.7.10/node-v0.7.10.msi + +

+

Windows x64 Files: http://nodejs.org/dist/v0.7.10/x64/ + +

+

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.10/node-v0.7.10.pkg + +

+

Other release files: http://nodejs.org/dist/v0.7.10/ + +

+

Website: http://nodejs.org/docs/v0.7.10/ + +

+

Documentation: http://nodejs.org/docs/v0.7.10/api/

diff --git a/doc/blog/release/version-0-7-11-unstable.md b/doc/blog/release/version-0-7-11-unstable.md index e8fd71a..28c2f68 100644 --- a/doc/blog/release/version-0-7-11-unstable.md +++ b/doc/blog/release/version-0-7-11-unstable.md @@ -6,75 +6,75 @@ status: publish category: release slug: version-0-7-11-unstable -

This is the most stable 0.7 release yet. Please try it out. - -

-

Version 0.8 will be out very soon. You can follow the remaining issues -on the github issue tracker. - -

-

https://github.com/joyent/node/issues?milestone=10&state=open - -

-

2012.06.15, Version 0.7.11 (unstable) - -

-
    -
  • V8: Upgrade to v3.11.10

    -
  • -
  • npm: Upgrade to 1.1.26

    -
  • -
  • doc: Improve cross-linking in API docs markdown (Ben Kelly)

    -
  • -
  • Fix #3425: removeAllListeners should delete array (Reid Burke)

    -
  • -
  • cluster: don't silently drop messages when the write queue gets big (Bert Belder)

    -
  • -
  • Add Buffer.concat method (isaacs)

    -
  • -
  • windows: make symlinks tolerant to forward slashes (Bert Belder)

    -
  • -
  • build: Add node.d and node.1 to installer (isaacs)

    -
  • -
  • cluster: rename worker.unqiueID to worker.id (Andreas Madsen)

    -
  • -
  • Windows: Enable ETW events on Windows for existing DTrace probes. (Igor Zinkovsky)

    -
  • -
  • test: bundle node-weak in test/gc so that it doesn't need to be downloaded (Nathan Rajlich)

    -
  • -
  • Make many tests pass on Windows (Bert Belder)

    -
  • -
  • Fix #3388 Support listening on file descriptors (isaacs)

    -
  • -
  • Fix #3407 Add os.tmpDir() (isaacs)

    -
  • -
  • Unbreak the snapshotted build on Windows (Bert Belder)

    -
  • -
  • Clean up child_process.kill throws (Bert Belder)

    -
  • -
  • crypto: make cipher/decipher accept buffer args (Ben Noordhuis)

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.7.11/node-v0.7.11.tar.gz - -

-

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.11/node-v0.7.11.pkg - -

-

Windows Installer: http://nodejs.org/dist/v0.7.11/node-v0.7.11-x86.msi - -

-

Windows x64 Installer: http://nodejs.org/dist/v0.7.11/node-v0.7.11-x64.msi - -

-

Windows x64 Files: http://nodejs.org/dist/v0.7.11/x64/ - -

-

Other release files: http://nodejs.org/dist/v0.7.11/ - -

-

Website: http://nodejs.org/docs/v0.7.11/ - -

-

Documentation: http://nodejs.org/docs/v0.7.11/api/ +

This is the most stable 0.7 release yet. Please try it out. + +

+

Version 0.8 will be out very soon. You can follow the remaining issues +on the github issue tracker. + +

+

https://github.com/joyent/node/issues?milestone=10&state=open + +

+

2012.06.15, Version 0.7.11 (unstable) + +

+
    +
  • V8: Upgrade to v3.11.10

    +
  • +
  • npm: Upgrade to 1.1.26

    +
  • +
  • doc: Improve cross-linking in API docs markdown (Ben Kelly)

    +
  • +
  • Fix #3425: removeAllListeners should delete array (Reid Burke)

    +
  • +
  • cluster: don't silently drop messages when the write queue gets big (Bert Belder)

    +
  • +
  • Add Buffer.concat method (isaacs)

    +
  • +
  • windows: make symlinks tolerant to forward slashes (Bert Belder)

    +
  • +
  • build: Add node.d and node.1 to installer (isaacs)

    +
  • +
  • cluster: rename worker.unqiueID to worker.id (Andreas Madsen)

    +
  • +
  • Windows: Enable ETW events on Windows for existing DTrace probes. (Igor Zinkovsky)

    +
  • +
  • test: bundle node-weak in test/gc so that it doesn't need to be downloaded (Nathan Rajlich)

    +
  • +
  • Make many tests pass on Windows (Bert Belder)

    +
  • +
  • Fix #3388 Support listening on file descriptors (isaacs)

    +
  • +
  • Fix #3407 Add os.tmpDir() (isaacs)

    +
  • +
  • Unbreak the snapshotted build on Windows (Bert Belder)

    +
  • +
  • Clean up child_process.kill throws (Bert Belder)

    +
  • +
  • crypto: make cipher/decipher accept buffer args (Ben Noordhuis)

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.7.11/node-v0.7.11.tar.gz + +

+

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.11/node-v0.7.11.pkg + +

+

Windows Installer: http://nodejs.org/dist/v0.7.11/node-v0.7.11-x86.msi + +

+

Windows x64 Installer: http://nodejs.org/dist/v0.7.11/node-v0.7.11-x64.msi + +

+

Windows x64 Files: http://nodejs.org/dist/v0.7.11/x64/ + +

+

Other release files: http://nodejs.org/dist/v0.7.11/ + +

+

Website: http://nodejs.org/docs/v0.7.11/ + +

+

Documentation: http://nodejs.org/docs/v0.7.11/api/

diff --git a/doc/blog/release/version-0-7-12.md b/doc/blog/release/version-0-7-12.md index 91e571d..c9c448d 100644 --- a/doc/blog/release/version-0-7-12.md +++ b/doc/blog/release/version-0-7-12.md @@ -6,51 +6,51 @@ status: publish category: release slug: version-0-7-12 -

2012.06.19, Version 0.7.12 (unstable)

-

This is the last release on the 0.7 branch. Version 0.8.0 will be released some time later this week, barring any major problems.

-

As with other even-numbered Node releases before it, the v0.8.x releases will maintain API and binary compatibility.

-

The major changes between v0.6 and v0.8 are detailed in https://github.com/joyent/node/wiki/API-changes-between-v0.6-and-v0.8

-

Please try out this release. There will be very virtually no changes between this and the v0.8.x release family. This is the last chance to comment before it is locked down for stability. The API is effectively frozen now.

-

This version adds backwards-compatible shims for binary addons that use libeio and libev directly. If you find that binary modules that could compile on v0.6 can not compile on this version, please let us know. Note that libev is officially deprecated in v0.8, and will be removed in v0.9. You should be porting your modules to use libuv as soon as possible.

-

V8 is on 3.11.10 currently, and will remain on the V8 3.11.x branch for the duration of Node v0.8.x.

-
  • npm: Upgrade to 1.1.30
    - Improved 'npm init'
    - Fix the 'cb never called' error from 'oudated' and 'update'
    - Add --save-bundle|-B config
    - Fix isaacs/npm#2465: Make npm script and windows shims cygwin-aware
    - Fix isaacs/npm#2452 Use --save(-dev|-optional) in npm rm
    - logstream option to replace removed logfd (Rod Vagg)
    - Read default descriptions from README.md files

    -
  • Shims to support deprecated ev_* and eio_* methods (Ben Noordhuis)

    -
  • #3118 net.Socket: Delay pause/resume until after connect (isaacs)

    -
  • #3465 Add ./configure --no-ifaddrs flag (isaacs)

    -
  • child_process: add .stdin stream to forks (Fedor Indutny)

    -
  • build: fix make install DESTDIR=/path (Ben Noordhuis)

    -
  • tls: fix off-by-one error in renegotiation check (Ben Noordhuis)

    -
  • crypto: Fix diffie-hellman key generation UTF-8 errors (Fedor Indutny)

    -
  • node: change the constructor name of process from EventEmitter to process (Andreas Madsen)

    -
  • net: Prevent property access throws during close (Reid Burke)

    -
  • querystring: improved speed and code cleanup (Felix Böhm)

    -
  • sunos: fix assertion errors breaking fs.watch() (Fedor Indutny)

    -
  • unix: stat: detect sub-second changes (Ben Noordhuis)

    -
  • add stat() based file watcher (Ben Noordhuis)

    -

Source Code: http://nodejs.org/dist/v0.7.12/node-v0.7.12.tar.gz

-

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.12/node-v0.7.12.pkg

-

Windows Installer: http://nodejs.org/dist/v0.7.12/node-v0.7.12-x86.msi

-

Windows x64 Installer: http://nodejs.org/dist/v0.7.12/x64/node-v0.7.12-x64.msi

-

Windows x64 Files: http://nodejs.org/dist/v0.7.12/x64/

-

Other release files: http://nodejs.org/dist/v0.7.12/

-

Website: http://nodejs.org/docs/v0.7.12/

-

Documentation: http://nodejs.org/docs/v0.7.12/api/

- -

Shasums

- -
ded6a2197b1149b594eb45fea921e8538ba442aa  blog.html
-dfabff0923d4b4f1d53bd9831514c1ac8c4b1876  email.md
-be313d35511e6d7e43cae5fa2b18f3e0d2275ba1  node-v0.7.12-x86.msi
-8f7ba0c8283e3863de32fd5c034f5b599c78f830  node-v0.7.12.pkg
-cb570abacbf4eb7e23c3d2620d00dd3080d9c19d  node-v0.7.12.tar.gz
-e13a6edfcba1c67ffe794982dd20a222ce8ce40f  node.exe
-20906ad76a43eca52795b2a089654a105e11c1e6  node.exp
-acbcbb87b6f7f2af34a3ed0abe6131d9e7a237af  node.lib
-4013d5b25fe36ae4245433b972818686cd9a2205  node.pdb
-6c0a7a2e8ee360e2800156293fb2f6a5c1a57382  npm-1.1.30.tgz
-9d23e42e8260fa20001d5618d2583a62792bf63f  npm-1.1.30.zip
-840157b2d6f7389ba70b07fc9ddc048b92c501cc  x64/node-v0.7.12-x64.msi
-862d42706c21ea83bf73cd827101f0fe598b0cf7  x64/node.exe
-de0af95fac083762f99c875f91bab830dc030f71  x64/node.exp
-3122bd886dfb96f3b41846cef0bdd7e97326044a  x64/node.lib
+

2012.06.19, Version 0.7.12 (unstable)

+

This is the last release on the 0.7 branch. Version 0.8.0 will be released some time later this week, barring any major problems.

+

As with other even-numbered Node releases before it, the v0.8.x releases will maintain API and binary compatibility.

+

The major changes between v0.6 and v0.8 are detailed in https://github.com/joyent/node/wiki/API-changes-between-v0.6-and-v0.8

+

Please try out this release. There will be very virtually no changes between this and the v0.8.x release family. This is the last chance to comment before it is locked down for stability. The API is effectively frozen now.

+

This version adds backwards-compatible shims for binary addons that use libeio and libev directly. If you find that binary modules that could compile on v0.6 can not compile on this version, please let us know. Note that libev is officially deprecated in v0.8, and will be removed in v0.9. You should be porting your modules to use libuv as soon as possible.

+

V8 is on 3.11.10 currently, and will remain on the V8 3.11.x branch for the duration of Node v0.8.x.

+
  • npm: Upgrade to 1.1.30
    - Improved 'npm init'
    - Fix the 'cb never called' error from 'oudated' and 'update'
    - Add --save-bundle|-B config
    - Fix isaacs/npm#2465: Make npm script and windows shims cygwin-aware
    - Fix isaacs/npm#2452 Use --save(-dev|-optional) in npm rm
    - logstream option to replace removed logfd (Rod Vagg)
    - Read default descriptions from README.md files

    +
  • Shims to support deprecated ev_* and eio_* methods (Ben Noordhuis)

    +
  • #3118 net.Socket: Delay pause/resume until after connect (isaacs)

    +
  • #3465 Add ./configure --no-ifaddrs flag (isaacs)

    +
  • child_process: add .stdin stream to forks (Fedor Indutny)

    +
  • build: fix make install DESTDIR=/path (Ben Noordhuis)

    +
  • tls: fix off-by-one error in renegotiation check (Ben Noordhuis)

    +
  • crypto: Fix diffie-hellman key generation UTF-8 errors (Fedor Indutny)

    +
  • node: change the constructor name of process from EventEmitter to process (Andreas Madsen)

    +
  • net: Prevent property access throws during close (Reid Burke)

    +
  • querystring: improved speed and code cleanup (Felix Böhm)

    +
  • sunos: fix assertion errors breaking fs.watch() (Fedor Indutny)

    +
  • unix: stat: detect sub-second changes (Ben Noordhuis)

    +
  • add stat() based file watcher (Ben Noordhuis)

    +

Source Code: http://nodejs.org/dist/v0.7.12/node-v0.7.12.tar.gz

+

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.12/node-v0.7.12.pkg

+

Windows Installer: http://nodejs.org/dist/v0.7.12/node-v0.7.12-x86.msi

+

Windows x64 Installer: http://nodejs.org/dist/v0.7.12/x64/node-v0.7.12-x64.msi

+

Windows x64 Files: http://nodejs.org/dist/v0.7.12/x64/

+

Other release files: http://nodejs.org/dist/v0.7.12/

+

Website: http://nodejs.org/docs/v0.7.12/

+

Documentation: http://nodejs.org/docs/v0.7.12/api/

+ +

Shasums

+ +
ded6a2197b1149b594eb45fea921e8538ba442aa  blog.html
+dfabff0923d4b4f1d53bd9831514c1ac8c4b1876  email.md
+be313d35511e6d7e43cae5fa2b18f3e0d2275ba1  node-v0.7.12-x86.msi
+8f7ba0c8283e3863de32fd5c034f5b599c78f830  node-v0.7.12.pkg
+cb570abacbf4eb7e23c3d2620d00dd3080d9c19d  node-v0.7.12.tar.gz
+e13a6edfcba1c67ffe794982dd20a222ce8ce40f  node.exe
+20906ad76a43eca52795b2a089654a105e11c1e6  node.exp
+acbcbb87b6f7f2af34a3ed0abe6131d9e7a237af  node.lib
+4013d5b25fe36ae4245433b972818686cd9a2205  node.pdb
+6c0a7a2e8ee360e2800156293fb2f6a5c1a57382  npm-1.1.30.tgz
+9d23e42e8260fa20001d5618d2583a62792bf63f  npm-1.1.30.zip
+840157b2d6f7389ba70b07fc9ddc048b92c501cc  x64/node-v0.7.12-x64.msi
+862d42706c21ea83bf73cd827101f0fe598b0cf7  x64/node.exe
+de0af95fac083762f99c875f91bab830dc030f71  x64/node.exp
+3122bd886dfb96f3b41846cef0bdd7e97326044a  x64/node.lib
 e0fa4e42cd19cadf8179e492ca606b7232bbc018  x64/node.pdb
diff --git a/doc/blog/release/version-0-7-4-unstable.md b/doc/blog/release/version-0-7-4-unstable.md index 01bc92a..38d6615 100644 --- a/doc/blog/release/version-0-7-4-unstable.md +++ b/doc/blog/release/version-0-7-4-unstable.md @@ -6,45 +6,45 @@ status: publish category: release slug: version-0-7-4-unstable -

2012.02.14, Version 0.7.4 (unstable) - -

-
    -
  • Upgrade V8 to 3.9.5

    -
  • -
  • Upgrade npm to 1.1.1

    -
  • -
  • build: Detect host_arch better (Karl Skomski)

    -
  • -
  • debugger: export debug_port to process (Fedor Indutny)

    -
  • -
  • api docs: CSS bug fixes (isaacs)

    -
  • -
  • build: use -fPIC for native addons on UNIX (Nathan Rajlich)

    -
  • -
  • Re-add top-level v8::Locker (Marcel Laverdet)

    -
  • -
  • Move images out of the dist tarballs (isaacs)

    -
  • -
  • libuv: Remove uv_export and uv_import (Ben Noordhuis)

    -
  • -
  • build: Support x64 build on Windows (Igor Zinkovsky)

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.7.4/node-v0.7.4.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.7.4/node-v0.7.4.msi - -

-

Macintosh Installer: http://nodejs.org/dist/v0.7.4/node-v0.7.4.pkg - -

-

Other release files: http://nodejs.org/dist/v0.7.4/ - -

-

Website: http://nodejs.org/docs/v0.7.4/ - -

-

Documentation: http://nodejs.org/docs/v0.7.4/api/ +

2012.02.14, Version 0.7.4 (unstable) + +

+
    +
  • Upgrade V8 to 3.9.5

    +
  • +
  • Upgrade npm to 1.1.1

    +
  • +
  • build: Detect host_arch better (Karl Skomski)

    +
  • +
  • debugger: export debug_port to process (Fedor Indutny)

    +
  • +
  • api docs: CSS bug fixes (isaacs)

    +
  • +
  • build: use -fPIC for native addons on UNIX (Nathan Rajlich)

    +
  • +
  • Re-add top-level v8::Locker (Marcel Laverdet)

    +
  • +
  • Move images out of the dist tarballs (isaacs)

    +
  • +
  • libuv: Remove uv_export and uv_import (Ben Noordhuis)

    +
  • +
  • build: Support x64 build on Windows (Igor Zinkovsky)

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.7.4/node-v0.7.4.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.7.4/node-v0.7.4.msi + +

+

Macintosh Installer: http://nodejs.org/dist/v0.7.4/node-v0.7.4.pkg + +

+

Other release files: http://nodejs.org/dist/v0.7.4/ + +

+

Website: http://nodejs.org/docs/v0.7.4/ + +

+

Documentation: http://nodejs.org/docs/v0.7.4/api/

diff --git a/doc/blog/release/version-0-7-5-unstable.md b/doc/blog/release/version-0-7-5-unstable.md index bc1e604..b493cde 100644 --- a/doc/blog/release/version-0-7-5-unstable.md +++ b/doc/blog/release/version-0-7-5-unstable.md @@ -6,57 +6,57 @@ status: publish category: release slug: version-0-7-5-unstable -

2012.02.23, Version 0.7.5 (unstable) - -

-
    -
  • startup speed improvements (Maciej Małecki)

    -
  • -
  • crypto: add function getDiffieHellman() (Tomasz Buchert)

    -
  • -
  • buffer: support decoding of URL-safe base64 (Ben Noordhuis)

    -
  • -
  • Make QueryString.parse() even faster (Brian White)

    -
  • -
  • url: decode url entities in auth section (Ben Noordhuis)

    -
  • -
  • http: support PURGE request method (Ben Noordhuis)

    -
  • -
  • http: Generate Date headers on responses (Mark Nottingham)

    -
  • -
  • Fix #2762: Add callback to close function. (Mikeal Rogers)

    -
  • -
  • dgram: fix out-of-bound memory read (Ben Noordhuis)

    -
  • -
  • repl: add automatic loading of built-in libs (Brandon Benvie)

    -
  • -
  • repl: remove double calls where possible (Fedor Indutny)

    -
  • -
  • Readline improvements. Related: #2737 #2756 (Colton Baker)

    -
  • -
  • build: disable -fomit-frame-pointer on solaris (Dave Pacheco)

    -
  • -
  • build: arch detection improvements (Nathan Rajlich)

    -
  • -
  • build: Make a fat binary for the OS X make pkg. (Nathan Rajlich)

    -
  • -
  • jslint src/ and lib/ on 'make test' (isaacs)

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.7.5/node-v0.7.5.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.7.5/node-v0.7.5.msi - -

-

Macintosh Installer: http://nodejs.org/dist/v0.7.5/node-v0.7.5.pkg - -

-

Other release files: http://nodejs.org/dist/v0.7.5/ - -

-

Website: http://nodejs.org/docs/v0.7.5/ - -

-

Documentation: http://nodejs.org/docs/v0.7.5/api/ +

2012.02.23, Version 0.7.5 (unstable) + +

+
    +
  • startup speed improvements (Maciej Małecki)

    +
  • +
  • crypto: add function getDiffieHellman() (Tomasz Buchert)

    +
  • +
  • buffer: support decoding of URL-safe base64 (Ben Noordhuis)

    +
  • +
  • Make QueryString.parse() even faster (Brian White)

    +
  • +
  • url: decode url entities in auth section (Ben Noordhuis)

    +
  • +
  • http: support PURGE request method (Ben Noordhuis)

    +
  • +
  • http: Generate Date headers on responses (Mark Nottingham)

    +
  • +
  • Fix #2762: Add callback to close function. (Mikeal Rogers)

    +
  • +
  • dgram: fix out-of-bound memory read (Ben Noordhuis)

    +
  • +
  • repl: add automatic loading of built-in libs (Brandon Benvie)

    +
  • +
  • repl: remove double calls where possible (Fedor Indutny)

    +
  • +
  • Readline improvements. Related: #2737 #2756 (Colton Baker)

    +
  • +
  • build: disable -fomit-frame-pointer on solaris (Dave Pacheco)

    +
  • +
  • build: arch detection improvements (Nathan Rajlich)

    +
  • +
  • build: Make a fat binary for the OS X make pkg. (Nathan Rajlich)

    +
  • +
  • jslint src/ and lib/ on 'make test' (isaacs)

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.7.5/node-v0.7.5.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.7.5/node-v0.7.5.msi + +

+

Macintosh Installer: http://nodejs.org/dist/v0.7.5/node-v0.7.5.pkg + +

+

Other release files: http://nodejs.org/dist/v0.7.5/ + +

+

Website: http://nodejs.org/docs/v0.7.5/ + +

+

Documentation: http://nodejs.org/docs/v0.7.5/api/

diff --git a/doc/blog/release/version-0-7-6-unstable.md b/doc/blog/release/version-0-7-6-unstable.md index ecf67f3..342c792 100644 --- a/doc/blog/release/version-0-7-6-unstable.md +++ b/doc/blog/release/version-0-7-6-unstable.md @@ -6,67 +6,67 @@ status: publish category: release slug: version-0-7-6-unstable -

2012.03.13, Version 0.7.6 (unstable) - -

-
    -
  • Upgrade v8 to 3.9.17

    -
  • -
  • Upgrade npm to 1.1.8

    -

    -- Add support for os/cpu fields in package.json (Adam Blackburn)
    -- Automatically node-gyp packages containing a binding.gyp
    -- Fix failures unpacking in UNC shares
    -- Never create un-listable directories
    -- Handle cases where an optionalDependency fails to build
    -

    -
  • -
  • events: newListener emit correct fn when using 'once' (Roly Fentanes)

    -
  • -
  • url: Ignore empty port component (Łukasz Walukiewicz)

    -
  • -
  • module: replace 'children' array (isaacs)

    -
  • -
  • tls: parse multiple values of a key in ssl certificate (Sambasiva Suda)

    -
  • -
  • cluster: support passing of named pipes (Ben Noordhuis)

    -
  • -
  • Windows: include syscall in fs errors (Bert Belder)

    -
  • -
  • http: #2888 Emit end event only once (Igor Zinkovsky)

    -
  • -
  • readline: add multiline support (Rlidwka)

    -
  • -
  • process: add process.hrtime() (Nathan Rajlich)

    -
  • -
  • net, http, https: add localAddress option (Dmitry Nizovtsev)

    -
  • -
  • addon improvements (Nathan Rajlich)

    -
  • -
  • build improvements (Ben Noordhuis, Sadique Ali, T.C. Hollingsworth, Nathan Rajlich)

    -
  • -
  • add support for "SEARCH" request methods (Nathan Rajlich)

    -
  • -
  • expose the zlib and http_parser version in process.versions (Nathan Rajlich)

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.7.6/node-v0.7.6.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.7.6/node-v0.7.6.msi - -

-

Windows x64 Files: http://nodejs.org/dist/v0.7.6/x64/ - -

-

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.6/node-v0.7.6.pkg - -

-

Other release files: http://nodejs.org/dist/v0.7.6/ - -

-

Website: http://nodejs.org/docs/v0.7.6/ - -

-

Documentation: http://nodejs.org/docs/v0.7.6/api/ +

2012.03.13, Version 0.7.6 (unstable) + +

+
    +
  • Upgrade v8 to 3.9.17

    +
  • +
  • Upgrade npm to 1.1.8

    +

    +- Add support for os/cpu fields in package.json (Adam Blackburn)
    +- Automatically node-gyp packages containing a binding.gyp
    +- Fix failures unpacking in UNC shares
    +- Never create un-listable directories
    +- Handle cases where an optionalDependency fails to build
    +

    +
  • +
  • events: newListener emit correct fn when using 'once' (Roly Fentanes)

    +
  • +
  • url: Ignore empty port component (Łukasz Walukiewicz)

    +
  • +
  • module: replace 'children' array (isaacs)

    +
  • +
  • tls: parse multiple values of a key in ssl certificate (Sambasiva Suda)

    +
  • +
  • cluster: support passing of named pipes (Ben Noordhuis)

    +
  • +
  • Windows: include syscall in fs errors (Bert Belder)

    +
  • +
  • http: #2888 Emit end event only once (Igor Zinkovsky)

    +
  • +
  • readline: add multiline support (Rlidwka)

    +
  • +
  • process: add process.hrtime() (Nathan Rajlich)

    +
  • +
  • net, http, https: add localAddress option (Dmitry Nizovtsev)

    +
  • +
  • addon improvements (Nathan Rajlich)

    +
  • +
  • build improvements (Ben Noordhuis, Sadique Ali, T.C. Hollingsworth, Nathan Rajlich)

    +
  • +
  • add support for "SEARCH" request methods (Nathan Rajlich)

    +
  • +
  • expose the zlib and http_parser version in process.versions (Nathan Rajlich)

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.7.6/node-v0.7.6.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.7.6/node-v0.7.6.msi + +

+

Windows x64 Files: http://nodejs.org/dist/v0.7.6/x64/ + +

+

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.6/node-v0.7.6.pkg + +

+

Other release files: http://nodejs.org/dist/v0.7.6/ + +

+

Website: http://nodejs.org/docs/v0.7.6/ + +

+

Documentation: http://nodejs.org/docs/v0.7.6/api/

diff --git a/doc/blog/release/version-0-7-7-unstable.md b/doc/blog/release/version-0-7-7-unstable.md index 6cdcc23..4ba1765 100644 --- a/doc/blog/release/version-0-7-7-unstable.md +++ b/doc/blog/release/version-0-7-7-unstable.md @@ -6,66 +6,66 @@ status: publish category: release slug: version-0-7-7-unstable -

2012.03.30, Version 0.7.7 (unstable) - -

-
    -
  • Upgrade V8 to 3.9.24.7

    -
  • -
  • Upgrade npm to 1.1.15

    -
  • -
  • Handle Emoji characters properly (Erik Corry, Bert Belder)

    -
  • -
  • readline: migrate ansi/vt100 logic from tty to readline (Nathan Rajlich)

    -
  • -
  • readline: Fix multiline handling (Alex Kocharin)

    -
  • -
  • add a -i/--interactive flag to force the REPL (Nathan Rajlich)

    -
  • -
  • debugger: add breakOnException command (Fedor Indutny)

    -
  • -
  • cluster: kill workers when master dies (Andreas Madsen)

    -
  • -
  • cluster: add graceful disconnect support (Andreas Madsen)

    -
  • -
  • child_process: Separate 'close' event from 'exit' (Charlie McConnell)

    -
  • -
  • typed arrays: add Uint8ClampedArray (Mikael Bourges-Sevenier)

    -
  • -
  • buffer: Fix byte alignment issues (Ben Noordhuis, Erik Lundin)

    -
  • -
  • tls: fix CryptoStream.setKeepAlive() (Shigeki Ohtsu)

    -
  • -
  • Expose http parse error codes (Felix Geisendörfer)

    -
  • -
  • events: don't delete the listeners array (Ben Noordhuis, Nathan Rajlich)

    -
  • -
  • process: add process.config to view node's ./configure settings (Nathan Rajlich)

    -
  • -
  • process: process.execArgv to see node's arguments (Micheil Smith)

    -
  • -
  • process: fix process.title setter (Ben Noordhuis)

    -
  • -
  • timers: handle negative or non-numeric timeout values (Ben Noordhuis)

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.7.7/node-v0.7.7.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.7.7/node-v0.7.7.msi - -

-

Windows x64 Files: http://nodejs.org/dist/v0.7.7/x64/ - -

-

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.7/node-v0.7.7.pkg - -

-

Other release files: http://nodejs.org/dist/v0.7.7/ - -

-

Website: http://nodejs.org/docs/v0.7.7/ - -

-

Documentation: http://nodejs.org/docs/v0.7.7/api/ +

2012.03.30, Version 0.7.7 (unstable) + +

+
    +
  • Upgrade V8 to 3.9.24.7

    +
  • +
  • Upgrade npm to 1.1.15

    +
  • +
  • Handle Emoji characters properly (Erik Corry, Bert Belder)

    +
  • +
  • readline: migrate ansi/vt100 logic from tty to readline (Nathan Rajlich)

    +
  • +
  • readline: Fix multiline handling (Alex Kocharin)

    +
  • +
  • add a -i/--interactive flag to force the REPL (Nathan Rajlich)

    +
  • +
  • debugger: add breakOnException command (Fedor Indutny)

    +
  • +
  • cluster: kill workers when master dies (Andreas Madsen)

    +
  • +
  • cluster: add graceful disconnect support (Andreas Madsen)

    +
  • +
  • child_process: Separate 'close' event from 'exit' (Charlie McConnell)

    +
  • +
  • typed arrays: add Uint8ClampedArray (Mikael Bourges-Sevenier)

    +
  • +
  • buffer: Fix byte alignment issues (Ben Noordhuis, Erik Lundin)

    +
  • +
  • tls: fix CryptoStream.setKeepAlive() (Shigeki Ohtsu)

    +
  • +
  • Expose http parse error codes (Felix Geisendörfer)

    +
  • +
  • events: don't delete the listeners array (Ben Noordhuis, Nathan Rajlich)

    +
  • +
  • process: add process.config to view node's ./configure settings (Nathan Rajlich)

    +
  • +
  • process: process.execArgv to see node's arguments (Micheil Smith)

    +
  • +
  • process: fix process.title setter (Ben Noordhuis)

    +
  • +
  • timers: handle negative or non-numeric timeout values (Ben Noordhuis)

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.7.7/node-v0.7.7.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.7.7/node-v0.7.7.msi + +

+

Windows x64 Files: http://nodejs.org/dist/v0.7.7/x64/ + +

+

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.7/node-v0.7.7.pkg + +

+

Other release files: http://nodejs.org/dist/v0.7.7/ + +

+

Website: http://nodejs.org/docs/v0.7.7/ + +

+

Documentation: http://nodejs.org/docs/v0.7.7/api/

diff --git a/doc/blog/release/version-0-7-8-unstable.md b/doc/blog/release/version-0-7-8-unstable.md index 8e87a90..9c829fa 100644 --- a/doc/blog/release/version-0-7-8-unstable.md +++ b/doc/blog/release/version-0-7-8-unstable.md @@ -6,66 +6,66 @@ status: publish category: release slug: version-0-7-8-unstable -

2012.04.18, Version 0.7.8, (unstable) - -

-
    -
  • Upgrade V8 to 3.9.24.9

    -
  • -
  • Upgrade OpenSSL to 1.0.0f

    -
  • -
  • Upgrade npm to 1.1.18

    -
  • -
  • Show licenses in Binary installers

    -
  • -
  • Domains (isaacs)

    -
  • -
  • readline: rename "end" to "close" (Nathan Rajlich)

    -
  • -
  • tcp: make getsockname() return address family as string (Shigeki Ohtsu)

    -
  • -
  • http, https: fix .setTimeout() (ssuda)

    -
  • -
  • os: add cross platform EOL character (Mustansir Golawala)

    -
  • -
  • typed arrays: unexport SizeOfArrayElementForType() (Aaron Jacobs)

    -
  • -
  • net: honor 'enable' flag in .setNoDelay() (Ben Noordhuis)

    -
  • -
  • child_process: emit error when .kill fails (Andreas Madsen)

    -
  • -
  • gyp: fix 'argument list too long' build error (Ben Noordhuis)

    -
  • -
  • fs.WriteStream: Handle modifications to fs.open (isaacs)

    -
  • -
  • repl, readline: Handle newlines better (Nathan Rajlich, Nathan Friedly)

    -
  • -
  • build: target OSX 10.5 when building on darwin (Nathan Rajlich)

    -
  • -
  • Fix #3052 Handle errors properly in zlib (isaacs)

    -
  • -
  • build: add support for DTrace and postmortem (Dave Pacheco)

    -
  • -
  • core: add reusable Slab allocator (Ben Noordhuis)

    -
  • -
-

Source Code: http://nodejs.org/dist/v0.7.8/node-v0.7.8.tar.gz - -

-

Windows Installer: http://nodejs.org/dist/v0.7.8/node-v0.7.8.msi - -

-

Windows x64 Files: http://nodejs.org/dist/v0.7.8/x64/ - -

-

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.8/node-v0.7.8.pkg - -

-

Other release files: http://nodejs.org/dist/v0.7.8/ - -

-

Website: http://nodejs.org/docs/v0.7.8/ - -

-

Documentation: http://nodejs.org/docs/v0.7.8/api/ +

2012.04.18, Version 0.7.8, (unstable) + +

+
    +
  • Upgrade V8 to 3.9.24.9

    +
  • +
  • Upgrade OpenSSL to 1.0.0f

    +
  • +
  • Upgrade npm to 1.1.18

    +
  • +
  • Show licenses in Binary installers

    +
  • +
  • Domains (isaacs)

    +
  • +
  • readline: rename "end" to "close" (Nathan Rajlich)

    +
  • +
  • tcp: make getsockname() return address family as string (Shigeki Ohtsu)

    +
  • +
  • http, https: fix .setTimeout() (ssuda)

    +
  • +
  • os: add cross platform EOL character (Mustansir Golawala)

    +
  • +
  • typed arrays: unexport SizeOfArrayElementForType() (Aaron Jacobs)

    +
  • +
  • net: honor 'enable' flag in .setNoDelay() (Ben Noordhuis)

    +
  • +
  • child_process: emit error when .kill fails (Andreas Madsen)

    +
  • +
  • gyp: fix 'argument list too long' build error (Ben Noordhuis)

    +
  • +
  • fs.WriteStream: Handle modifications to fs.open (isaacs)

    +
  • +
  • repl, readline: Handle newlines better (Nathan Rajlich, Nathan Friedly)

    +
  • +
  • build: target OSX 10.5 when building on darwin (Nathan Rajlich)

    +
  • +
  • Fix #3052 Handle errors properly in zlib (isaacs)

    +
  • +
  • build: add support for DTrace and postmortem (Dave Pacheco)

    +
  • +
  • core: add reusable Slab allocator (Ben Noordhuis)

    +
  • +
+

Source Code: http://nodejs.org/dist/v0.7.8/node-v0.7.8.tar.gz + +

+

Windows Installer: http://nodejs.org/dist/v0.7.8/node-v0.7.8.msi + +

+

Windows x64 Files: http://nodejs.org/dist/v0.7.8/x64/ + +

+

Macintosh Installer (Universal): http://nodejs.org/dist/v0.7.8/node-v0.7.8.pkg + +

+

Other release files: http://nodejs.org/dist/v0.7.8/ + +

+

Website: http://nodejs.org/docs/v0.7.8/ + +

+

Documentation: http://nodejs.org/docs/v0.7.8/api/

diff --git a/doc/blog/video/bryan-cantrill-instrumenting-the-real-time-web.md b/doc/blog/video/bryan-cantrill-instrumenting-the-real-time-web.md index 0c26cb7..fa98213 100644 --- a/doc/blog/video/bryan-cantrill-instrumenting-the-real-time-web.md +++ b/doc/blog/video/bryan-cantrill-instrumenting-the-real-time-web.md @@ -5,15 +5,15 @@ status: publish category: video slug: bryan-cantrill-instrumenting-the-real-time-web -Bryan Cantrill, VP of Engineering at Joyent, describes the challenges of instrumenting a distributed, dynamic, highly virtualized system -- and what their experiences taught them about the problem, the technologies used to tackle it, and promising approaches. - -This talk was given at Velocity Conf in 2011. - -
+Bryan Cantrill, VP of Engineering at Joyent, describes the challenges of instrumenting a distributed, dynamic, highly virtualized system -- and what their experiences taught them about the problem, the technologies used to tackle it, and promising approaches. + +This talk was given at Velocity Conf in 2011. + +
- +allowfullscreen> +
tl;dr - - - -

Details

- -

A few weeks ago, Matthew Daley found a security vulnerability in Node's HTTP implementation, and thankfully did the responsible thing and reported it to us via email. He explained it quite well, so I'll quote him here:

-
-

There is a vulnerability in node's `http_parser` binding which allows information disclosure to a remote attacker: - -

-

In node::StringPtr::Update, an attempt is made at an optimization on certain inputs (`node_http_parser.cc`, line 151). The intent is that if the current string pointer plus the current string size is equal to the incoming string pointer, the current string size is just increased to match, as the incoming string lies just beyond the current string pointer. However, the check to see whether or not this can be done is incorrect; "size" is used whereas "size_" should be used. Therefore, an attacker can call Update with a string of certain length and cause the current string to have other data appended to it. In the case of HTTP being parsed out of incoming socket data, this can be incoming data from other sockets. - -

-

Normally node::StringPtr::Save, which is called after each execution of `http_parser`, would stop this from being exploitable as it converts strings to non-optimizable heap-based strings. However, this is not done to 0-length strings. An attacker can therefore exploit the mistake by making Update set a 0-length string, and then Update past its boundary, so long as it is done in one `http_parser` execution. This can be done with an HTTP header with empty value, followed by a continuation with a value of certain length. - -

-

The attached files demonstrate the issue:

-
$ ./node ~/stringptr-update-poc-server.js &
-[1] 11801
-$ ~/stringptr-update-poc-client.py
-HTTP/1.1 200 OK
-Content-Type: text/plain
-Date: Wed, 18 Apr 2012 00:05:11 GMT
-Connection: close
-Transfer-Encoding: chunked
-
-64
-X header:
- This is private data, perhaps an HTTP request with a Cookie in it.
-0
-
-

The fix landed on 7b3fb22 and c9a231d, for master and v0.6, respectively. The innocuous commit message does not give away the security implications, precisely because we wanted to get a fix out before making a big deal about it.

-

The first releases with the fix are v0.7.8 and 0.6.17. So now is a good time to make a big deal about it.

-

If you are using node version 0.6 in production, please upgrade to at least v0.6.17, or at least apply the fix in c9a231d to your system. (Version 0.6.17 also fixes some other important bugs, and is without doubt the most stable release of Node 0.6 to date, so it's a good idea to upgrade anyway.)

+

tl;dr

+ +
  • A carefully crafted attack request can cause the contents of the HTTP parser's buffer to be appended to the attacking request's header, making it appear to come from the attacker. Since it is generally safe to echo back contents of a request, this can allow an attacker to get an otherwise correctly designed server to divulge information about other requests. It is theoretically possible that it could enable header-spoofing attacks, though such an attack has not been demonstrated.

  • +
  • Versions affected: All versions of the 0.5/0.6 branch prior to 0.6.17, and all versions of the 0.7 branch prior to 0.7.8. Versions in the 0.4 branch are not affected.
  • +
  • Fix: Upgrade to v0.6.17, or apply the fix in c9a231d to your system.
+ +

Details

+ +

A few weeks ago, Matthew Daley found a security vulnerability in Node's HTTP implementation, and thankfully did the responsible thing and reported it to us via email. He explained it quite well, so I'll quote him here:

+
+

There is a vulnerability in node's `http_parser` binding which allows information disclosure to a remote attacker: + +

+

In node::StringPtr::Update, an attempt is made at an optimization on certain inputs (`node_http_parser.cc`, line 151). The intent is that if the current string pointer plus the current string size is equal to the incoming string pointer, the current string size is just increased to match, as the incoming string lies just beyond the current string pointer. However, the check to see whether or not this can be done is incorrect; "size" is used whereas "size_" should be used. Therefore, an attacker can call Update with a string of certain length and cause the current string to have other data appended to it. In the case of HTTP being parsed out of incoming socket data, this can be incoming data from other sockets. + +

+

Normally node::StringPtr::Save, which is called after each execution of `http_parser`, would stop this from being exploitable as it converts strings to non-optimizable heap-based strings. However, this is not done to 0-length strings. An attacker can therefore exploit the mistake by making Update set a 0-length string, and then Update past its boundary, so long as it is done in one `http_parser` execution. This can be done with an HTTP header with empty value, followed by a continuation with a value of certain length. + +

+

The attached files demonstrate the issue:

+
$ ./node ~/stringptr-update-poc-server.js &
+[1] 11801
+$ ~/stringptr-update-poc-client.py
+HTTP/1.1 200 OK
+Content-Type: text/plain
+Date: Wed, 18 Apr 2012 00:05:11 GMT
+Connection: close
+Transfer-Encoding: chunked
+
+64
+X header:
+ This is private data, perhaps an HTTP request with a Cookie in it.
+0
+
+

The fix landed on 7b3fb22 and c9a231d, for master and v0.6, respectively. The innocuous commit message does not give away the security implications, precisely because we wanted to get a fix out before making a big deal about it.

+

The first releases with the fix are v0.7.8 and 0.6.17. So now is a good time to make a big deal about it.

+

If you are using node version 0.6 in production, please upgrade to at least v0.6.17, or at least apply the fix in c9a231d to your system. (Version 0.6.17 also fixes some other important bugs, and is without doubt the most stable release of Node 0.6 to date, so it's a good idea to upgrade anyway.)

I'm extremely grateful that Matthew took the time to report the problem to us with such an elegant explanation, and in such a way that we had a reasonable amount of time to fix the issue before making it public.