Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Generate static HTML blog content out of markdown

  • Loading branch information...
commit bbd58f35e47799408a2251a406d23a22ef86218c 1 parent ebdc029
Isaac Z. Schlueter authored

Showing 166 changed files with 11,944 additions and 41 deletions. Show diff stats Hide diff stats

  1. 2  .gitignore
  2. 13  Makefile
  3. 209  doc/blog.html
  4. 12  doc/blog/Uncategorized/ldapjs-a-reprise-of-ldap.md
  5. 13  doc/blog/Uncategorized/welcome-to-the-node-blog.md
  6. 16  doc/blog/module/multi-server-continuous-deployment-with-fleet.md
  7. 2  doc/blog/npm/managing-node-js-dependencies-with-shrinkwrap.md
  8. 25  doc/blog/release/node-v0-4-10.md
  9. 39  doc/blog/release/node-v0-4-11.md
  10. 29  doc/blog/release/node-v0-4-12.md
  11. 33  doc/blog/release/node-v0-4-3.md
  12. 27  doc/blog/release/node-v0-4-4.md
  13. 29  doc/blog/release/node-v0-4-5.md
  14. 27  doc/blog/release/node-v0-4-6.md
  15. 23  doc/blog/release/node-v0-4-7.md
  16. 55  doc/blog/release/node-v0-4-8.md
  17. 30  doc/blog/release/node-v0-4-9.md
  18. 39  doc/blog/release/node-v0-5-0-unstable.md
  19. 30  doc/blog/release/node-v0-5-1.md
  20. 41  doc/blog/release/node-v0-5-10.md
  21. 27  doc/blog/release/node-v0-5-2.md
  22. 53  doc/blog/release/node-v0-5-3.md
  23. 36  doc/blog/release/node-v0-5-4.md
  24. 40  doc/blog/release/node-v0-5-5.md
  25. 49  doc/blog/release/node-v0-5-6.md
  26. 35  doc/blog/release/node-v0-5-7-unstable.md
  27. 26  doc/blog/release/node-v0-5-8.md
  28. 27  doc/blog/release/node-v0-5-9.md
  29. 80  doc/blog/release/node-v0-6-0.md
  30. 33  doc/blog/release/node-v0-6-1.md
  31. 30  doc/blog/release/node-v0-6-10.md
  32. 27  doc/blog/release/node-v0-6-2.md
  33. 30  doc/blog/release/node-v0-6-3.md
  34. 31  doc/blog/release/node-v0-6-4.md
  35. 21  doc/blog/release/node-v0-6-5.md
  36. 32  doc/blog/release/node-v0-6-6.md
  37. 41  doc/blog/release/node-v0-6-7.md
  38. 31  doc/blog/release/node-v0-6-8.md
  39. 30  doc/blog/release/node-v0-6-9.md
  40. 29  doc/blog/release/node-v0-7-0-unstable.md
  41. 30  doc/blog/release/node-v0-7-1.md
  42. 32  doc/blog/release/node-v0-7-2-unstable.md
  43. 39  doc/blog/release/node-v0-7-3.md
  44. 61  doc/blog/release/node-version-0-6-19-stable.md
  45. 73  doc/blog/release/node-version-0-7-9-unstable.md
  46. 64  doc/blog/release/version-0-6-11-stable.md
  47. 66  doc/blog/release/version-0-6-12-stable.md
  48. 50  doc/blog/release/version-0-6-13-stable.md
  49. 55  doc/blog/release/version-0-6-14-stable.md
  50. 53  doc/blog/release/version-0-6-15-stable.md
  51. 59  doc/blog/release/version-0-6-16-stable.md
  52. 47  doc/blog/release/version-0-6-17-stable.md
  53. 59  doc/blog/release/version-0-6-18-stable.md
  54. 86  doc/blog/release/version-0-7-10-unstable.md
  55. 80  doc/blog/release/version-0-7-11-unstable.md
  56. 56  doc/blog/release/version-0-7-12.md
  57. 50  doc/blog/release/version-0-7-4-unstable.md
  58. 62  doc/blog/release/version-0-7-5-unstable.md
  59. 72  doc/blog/release/version-0-7-6-unstable.md
  60. 71  doc/blog/release/version-0-7-7-unstable.md
  61. 71  doc/blog/release/version-0-7-8-unstable.md
  62. 27  doc/blog/video/bryan-cantrill-instrumenting-the-real-time-web.md
  63. 6  doc/blog/video/welcome-to-the-node-blog.md
  64. 6  doc/blog/vulnerability/http-server-security-vulnerability-please-upgrade-to-0-6-17.md
  65. 5  tools/blog/README.md
  66. 261  tools/blog/generate.js
  67. 1  tools/blog/node_modules/.bin/marked
  68. 0  tools/blog/node_modules/ejs/.gitmodules
  69. 4  tools/blog/node_modules/ejs/.npmignore
  70. 98  tools/blog/node_modules/ejs/History.md
  71. 23  tools/blog/node_modules/ejs/Makefile
  72. 151  tools/blog/node_modules/ejs/Readme.md
  73. 14  tools/blog/node_modules/ejs/benchmark.js
  74. 567  tools/blog/node_modules/ejs/ejs.js
  75. 2  tools/blog/node_modules/ejs/ejs.min.js
  76. 24  tools/blog/node_modules/ejs/examples/client.html
  77. 7  tools/blog/node_modules/ejs/examples/list.ejs
  78. 14  tools/blog/node_modules/ejs/examples/list.js
  79. 2  tools/blog/node_modules/ejs/index.js
  80. 298  tools/blog/node_modules/ejs/lib/ejs.js
  81. 198  tools/blog/node_modules/ejs/lib/filters.js
  82. 23  tools/blog/node_modules/ejs/lib/utils.js
  83. 23  tools/blog/node_modules/ejs/package.json
  84. 174  tools/blog/node_modules/ejs/support/compile.js
  85. 329  tools/blog/node_modules/ejs/test/ejs.test.js
  86. 1  tools/blog/node_modules/ejs/test/fixtures/user.ejs
  87. 2  tools/blog/node_modules/glob/.npmignore
  88. 4  tools/blog/node_modules/glob/.travis.yml
  89. 25  tools/blog/node_modules/glob/LICENCE
  90. 233  tools/blog/node_modules/glob/README.md
  91. 9  tools/blog/node_modules/glob/examples/g.js
  92. 9  tools/blog/node_modules/glob/examples/usr-local.js
  93. 601  tools/blog/node_modules/glob/glob.js
  94. 1  tools/blog/node_modules/glob/node_modules/graceful-fs/.npmignore
  95. 23  tools/blog/node_modules/glob/node_modules/graceful-fs/LICENSE
  96. 5  tools/blog/node_modules/glob/node_modules/graceful-fs/README.md
  97. 275  tools/blog/node_modules/glob/node_modules/graceful-fs/graceful-fs.js
  98. 22  tools/blog/node_modules/glob/node_modules/graceful-fs/package.json
  99. 51  tools/blog/node_modules/glob/node_modules/inherits/README.md
  100. 29  tools/blog/node_modules/glob/node_modules/inherits/inherits.js
  101. 25  tools/blog/node_modules/glob/node_modules/inherits/package.json
  102. 4  tools/blog/node_modules/glob/node_modules/minimatch/.travis.yml
  103. 23  tools/blog/node_modules/glob/node_modules/minimatch/LICENSE
  104. 218  tools/blog/node_modules/glob/node_modules/minimatch/README.md
  105. 1,052  tools/blog/node_modules/glob/node_modules/minimatch/minimatch.js
  106. 1  tools/blog/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/.npmignore
  107. 5  tools/blog/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/AUTHORS
  108. 23  tools/blog/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/LICENSE
  109. 26  tools/blog/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/README.md
  110. 156  tools/blog/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js
  111. 45  tools/blog/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json
  112. 171  tools/blog/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/basic.js
  113. 36  tools/blog/node_modules/glob/node_modules/minimatch/package.json
  114. 273  tools/blog/node_modules/glob/node_modules/minimatch/test/basic.js
  115. 33  tools/blog/node_modules/glob/node_modules/minimatch/test/brace-expand.js
  116. 14  tools/blog/node_modules/glob/node_modules/minimatch/test/caching.js
  117. 274  tools/blog/node_modules/glob/node_modules/minimatch/test/defaults.js
  118. 35  tools/blog/node_modules/glob/package.json
  119. 61  tools/blog/node_modules/glob/test/00-setup.js
  120. 119  tools/blog/node_modules/glob/test/bash-comparison.js
  121. 55  tools/blog/node_modules/glob/test/cwd-test.js
  122. 98  tools/blog/node_modules/glob/test/pause-resume.js
  123. 39  tools/blog/node_modules/glob/test/root-nomount.js
  124. 43  tools/blog/node_modules/glob/test/root.js
  125. 11  tools/blog/node_modules/glob/test/zz-cleanup.js
  126. 2  tools/blog/node_modules/marked/.npmignore
  127. 19  tools/blog/node_modules/marked/LICENSE
  128. 9  tools/blog/node_modules/marked/Makefile
  129. 125  tools/blog/node_modules/marked/README.md
  130. 127  tools/blog/node_modules/marked/bin/marked
  131. 1  tools/blog/node_modules/marked/index.js
  132. 791  tools/blog/node_modules/marked/lib/marked.js
  133. 49  tools/blog/node_modules/marked/man/marked.1
  134. 40  tools/blog/node_modules/marked/package.json
  135. 2  tools/blog/node_modules/mkdirp/.gitignore.orig
  136. 5  tools/blog/node_modules/mkdirp/.gitignore.rej
  137. 2  tools/blog/node_modules/mkdirp/.npmignore
  138. 4  tools/blog/node_modules/mkdirp/.travis.yml
  139. 21  tools/blog/node_modules/mkdirp/LICENSE
  140. 61  tools/blog/node_modules/mkdirp/README.markdown
  141. 6  tools/blog/node_modules/mkdirp/examples/pow.js
  142. 6  tools/blog/node_modules/mkdirp/examples/pow.js.orig
  143. 19  tools/blog/node_modules/mkdirp/examples/pow.js.rej
  144. 94  tools/blog/node_modules/mkdirp/index.js
  145. 32  tools/blog/node_modules/mkdirp/package.json
  146. 38  tools/blog/node_modules/mkdirp/test/chmod.js
  147. 37  tools/blog/node_modules/mkdirp/test/clobber.js
  148. 28  tools/blog/node_modules/mkdirp/test/mkdirp.js
  149. 32  tools/blog/node_modules/mkdirp/test/perm.js
  150. 39  tools/blog/node_modules/mkdirp/test/perm_sync.js
  151. 41  tools/blog/node_modules/mkdirp/test/race.js
  152. 32  tools/blog/node_modules/mkdirp/test/rel.js
  153. 25  tools/blog/node_modules/mkdirp/test/return.js
  154. 24  tools/blog/node_modules/mkdirp/test/return_sync.js
  155. 18  tools/blog/node_modules/mkdirp/test/root.js
  156. 32  tools/blog/node_modules/mkdirp/test/sync.js
  157. 28  tools/blog/node_modules/mkdirp/test/umask.js
  158. 32  tools/blog/node_modules/mkdirp/test/umask_sync.js
  159. 23  tools/blog/node_modules/semver/LICENSE
  160. 119  tools/blog/node_modules/semver/README.md
  161. 71  tools/blog/node_modules/semver/bin/semver
  162. 26  tools/blog/node_modules/semver/package.json
  163. 305  tools/blog/node_modules/semver/semver.js
  164. 405  tools/blog/node_modules/semver/test.js
  165. 1  tools/blog/templates/index.ejs
  166. 189  tools/blog/wp-to-markdown.js
2  .gitignore
@@ -18,6 +18,7 @@ node_g
18 18
 # various stuff that VC++ produces/uses
19 19
 Debug/
20 20
 Release/
  21
+!doc/blog/**
21 22
 *.sln
22 23
 !nodemsi.sln
23 24
 *.suo
@@ -39,6 +40,5 @@ ipch/
39 40
 /npm.wxs
40 41
 /tools/msvs/npm.wixobj
41 42
 email.md
42  
-blog.html
43 43
 deps/v8-*
44 44
 ./node_modules
13  Makefile
@@ -130,7 +130,13 @@ website_files = \
130 130
 	out/doc/changelog.html \
131 131
 	$(doc_images)
132 132
 
133  
-doc: program $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs) tools/doc/
  133
+doc: program $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs) tools/doc/ blog
  134
+
  135
+blogclean:
  136
+	rm -rf out/blog
  137
+
  138
+blog: doc/blog out/Release/node tools/blog
  139
+	out/Release/node tools/blog/generate.js doc/blog/ out/blog/ doc/blog.html
134 140
 
135 141
 $(apidoc_dirs):
136 142
 	mkdir -p $@
@@ -160,6 +166,9 @@ email.md: ChangeLog tools/email-footer.md
160 166
 blog.html: email.md
161 167
 	cat $< | ./node tools/doc/node_modules/.bin/marked > $@
162 168
 
  169
+blog-upload: blog
  170
+	rsync -r out/blog/ node@nodejs.org:~/web/nodejs.org/blog/
  171
+
163 172
 website-upload: doc
164 173
 	rsync -r out/doc/ node@nodejs.org:~/web/nodejs.org/
165 174
 	ssh node@nodejs.org '\
@@ -260,4 +269,4 @@ cpplint:
260 269
 
261 270
 lint: jslint cpplint
262 271
 
263  
-.PHONY: lint cpplint jslint bench clean docopen docclean doc dist distclean check uninstall install install-includes install-bin all program staticlib dynamiclib test test-all website-upload pkg
  272
+.PHONY: lint cpplint jslint bench clean docopen docclean doc dist distclean check uninstall install install-includes install-bin all program staticlib dynamiclib test test-all website-upload pkg blog blogclean
209  doc/blog.html
... ...
@@ -0,0 +1,209 @@
  1
+<!DOCTYPE html>
  2
+
  3
+<html lang="en">
  4
+<head>
  5
+  <meta charset="utf-8">
  6
+  <link rel="stylesheet" href="http://nodejs.org/pipe.css">
  7
+  <link rel="stylesheet" href="http://nodejs.org/sh_vim-dark.css">
  8
+  <style>
  9
+    #column1 h1 {
  10
+      clear:both;
  11
+    }
  12
+    #column1 li, #content h1 + p {
  13
+      color:inherit;
  14
+      font-family: inherit;
  15
+      font-size: 14px;
  16
+      line-height:24px;
  17
+    }
  18
+    #content #column1 p.meta, #content #column1 p.respond {
  19
+      font-size: 14px;
  20
+      line-height: 24px;
  21
+      color:#690;
  22
+      font-family: inherit;
  23
+    }
  24
+    #content #column1 p.respond {
  25
+      font-style:italic;
  26
+      padding:2em 0;
  27
+    }
  28
+    #column1 a {
  29
+      color: #8c0;
  30
+    }
  31
+    #column2 ul {
  32
+      padding:0;
  33
+    }
  34
+    #column2 {
  35
+      margin-top:-66px!important;
  36
+    }
  37
+    div.post-in-feed {
  38
+      padding-bottom:1em;
  39
+    }
  40
+
  41
+    p.next { float:right; width: 40%; text-align:right; }
  42
+    p.prev { float:left; width:40%; text-align:left; }
  43
+
  44
+    pre { overflow: auto; }
  45
+  </style>
  46
+
  47
+  <title><%= title %></title>
  48
+</head>
  49
+
  50
+<body class="int blog" id="<%= pageid %>">
  51
+  <div id="intro" class="interior">
  52
+    <a href="/" title="Go back to the home page"><img id="logo" src=
  53
+    "http://nodejs.org/logo.png" alt="node.js"></a>
  54
+  </div>
  55
+
  56
+  <div id="content" class="clearfix">
  57
+    <div id="column2" class="interior">
  58
+      <ul>
  59
+        <li><a href="http://nodejs.org/" class="home">Home</a></li>
  60
+
  61
+        <li><a href="http://nodejs.org/#download" class=
  62
+        "download">Download</a></li>
  63
+
  64
+        <li><a href="http://nodejs.org/about/" class="about">About</a></li>
  65
+
  66
+        <li><a href="http://search.npmjs.org/" class="npm">npm
  67
+        Registry</a></li>
  68
+
  69
+        <li><a href="http://nodejs.org/api/" class="docs">Docs</a></li>
  70
+
  71
+        <li><a href="http://blog.nodejs.org/" class="blog current">Blog</a></li>
  72
+
  73
+        <li><a href="http://nodejs.org/community/" class=
  74
+        "community">Community</a></li>
  75
+
  76
+        <li><a href="http://nodejs.org/logos/" class=
  77
+        "logos">Logos</a></li>
  78
+
  79
+        <li><a href="http://jobs.nodejs.org/" class="jobs">Jobs</a></li>
  80
+      </ul>
  81
+
  82
+      <p class="twitter"><a href="http://twitter.com/nodejs">@nodejs</a></p>
  83
+    </div>
  84
+
  85
+    <div id="column1" class="interior">
  86
+      <h1><%- title %></h1>
  87
+      <% if (typeof post !== 'undefined') {
  88
+        // just one post on this page
  89
+        %>
  90
+        <p class="meta"><%=
  91
+          post.author + ' - ' +
  92
+          post.date.toUTCString().replace(/ GMT$/, '')
  93
+          %></p>
  94
+
  95
+          <%- post.content %>
  96
+
  97
+          <p class="respond">Please post feedback and comments on
  98
+            <a href="https://groups.google.com/group/nodejs">the Node.JS 
  99
+              user mailing list</a>.</p>
  100
+
  101
+          <%
  102
+          if (post.next || post.prev) {
  103
+            if (post.prev) {
  104
+              %><p class="prev"><a href="<%=
  105
+                post.prev.permalink
  106
+              %>">&larr; <%=
  107
+                post.prev.title
  108
+              %></a></p>
  109
+              <%
  110
+            }
  111
+            if (post.next) {
  112
+              %><p class="next"><a href="<%=
  113
+                post.next.permalink
  114
+              %>"><%=
  115
+                post.next.title
  116
+              %> &rarr;</a></p>
  117
+              <%
  118
+            }
  119
+          }
  120
+        } else {  // not single post page
  121
+          if (paginated && total > 1 ) {
  122
+            if (page > 0) {
  123
+              // add 1 to all of the displayed numbers, because
  124
+              // humans are not zero-indexed like they ought to be.
  125
+              %>
  126
+              <p class="prev"><a href="<%= uri + (page - 1) %>">
  127
+                &larr; Page <%- page %>
  128
+              </a></p>
  129
+              <%
  130
+            }
  131
+            if (page < total - 1) { %>
  132
+              <p class="next"><a href="<%= uri + (page + 1) %>">
  133
+                Page <%- page + 2 %> &rarr;
  134
+              </a></p>
  135
+              <%
  136
+            }
  137
+          }
  138
+
  139
+          posts.forEach(function(post) {
  140
+            %>
  141
+            <div class="post-in-feed">
  142
+              <h1><a href="<%=
  143
+                post.permalink
  144
+              %>" class="permalink"><%-
  145
+                post.title
  146
+              %></a></h1>
  147
+              <p class="meta"><%=
  148
+                post.author + ' - ' +
  149
+                post.date.toUTCString().replace(/ GMT$/, '')
  150
+              %></p>
  151
+              <%- post.content %>
  152
+            </div>
  153
+            <%
  154
+          });
  155
+
  156
+          if (paginated && total > 1 ) {
  157
+            if (page > 0) {
  158
+              // add 1 to all of the displayed numbers, because
  159
+              // humans are not zero-indexed like they ought to be.
  160
+              %>
  161
+              <p class="prev"><a href="<%= uri + (page - 1) %>">
  162
+                &larr; Page <%- page %>
  163
+              </a></p>
  164
+              <%
  165
+            }
  166
+            if (page < total - 1) { %>
  167
+              <p class="next"><a href="<%= uri + (page + 1) %>">
  168
+                Page <%- page + 2 %> &rarr;
  169
+              </a></p>
  170
+              <%
  171
+            }
  172
+          } // pagination
  173
+        } // not a single post
  174
+        %>
  175
+    </div>
  176
+  </div>
  177
+
  178
+  <div id="footer">
  179
+      <ul class="clearfix">
  180
+          <li><a href="/">Node.js</a></li>
  181
+          <li><a href="/#download">Download</a></li>
  182
+          <li><a href="/about/">About</a></li>
  183
+          <li><a href="http://search.npmjs.org/">npm Registry</a></li>
  184
+          <li><a href="http://nodejs.org/api/">Docs</a></li>
  185
+          <li><a href="http://blog.nodejs.org">Blog</a></li>
  186
+          <li><a href="/community/">Community</a></li>
  187
+          <li><a href="/logos/">Logos</a></li>
  188
+          <li><a href="http://jobs.nodejs.org/">Jobs</a></li>
  189
+          <li><a href="http://twitter.com/nodejs" class="twitter">@nodejs</a></li>
  190
+      </ul>
  191
+
  192
+      <p>Copyright <a href="http://joyent.com">Joyent, Inc</a>, Node.js is a <a href="/trademark-policy.pdf">trademark</a> of Joyent, Inc. View <a href="https://raw.github.com/joyent/node/master/LICENSE">license</a>.</p>
  193
+    </div>
  194
+
  195
+  <script src="../sh_main.js"></script>
  196
+  <script src="../sh_javascript.min.js"></script>
  197
+  <script>highlight(undefined, undefined, 'pre');</script>
  198
+  <script>
  199
+    var gaJsHost = (("https:" == document.location.protocol) ?
  200
+    "https://ssl." : "http://www.");
  201
+    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
  202
+  </script>
  203
+  <script>
  204
+    try {
  205
+      var pageTracker = _gat._getTracker("UA-10874194-2");
  206
+      pageTracker._trackPageview();
  207
+      } catch(err) {}</script>
  208
+</body>
  209
+</html>
12  doc/blog/Uncategorized/ldapjs-a-reprise-of-ldap.md
Source Rendered
@@ -7,6 +7,7 @@ slug: ldapjs-a-reprise-of-ldap
7 7
 
8 8
 This post has been about 10 years in the making. My first job out of college was at IBM working on the <a title="Tivoli Directory Server" href="http://www-01.ibm.com/software/tivoli/products/directory-server/">Tivoli Directory Server</a>, 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 <a title="ldapjs" href="http://ldapjs.org">ldapjs</a> different. Allow me to be the gray beard for a bit...
9 9
 <h2>What is LDAP and where did it come from?</h2>
  10
+
10 11
 Directory services were largely pioneered by the telecommunications companies (e.g., AT&amp;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 <a title="X.500" href="http://en.wikipedia.org/wiki/X.500">X.500</a> standard(s). An X.500 directory is one of the most complicated beasts you can possibly imagine, but on a high note, there's
11 12
 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 <em>actually</em> on the <a title="OSI Model" href="http://en.wikipedia.org/wiki/OSI_model">OSI</a> model).
12 13
 
@@ -22,6 +23,7 @@ Macro point is that there have actually been very few "fresh" implementations o
22 23
 
23 24
 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 <a title="Engine Yard LDAP" href="http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/">engine yard pointed out a few years back</a>, you can think of LDAP as the original NoSQL store.
24 25
 <h2>LDAP: The Good Parts</h2>
  26
+
25 27
 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
26 28
 with _a lot_ of use case (the quintessential example is white pages for people in your company, but subscriptions to SaaS applications, "host groups"
27 29
 for tracking machines/instances, physical goods tracking, etc., all have use cases that fit that organization scheme). For example, presumably at your job
@@ -50,6 +52,7 @@ I could keep going, but the gist is that LDAP has "full" boolean predicate logi
50 52
 
51 53
 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.
52 54
 <h2>ldapjs: Why do I care?</h2>
  55
+
53 56
 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:
54 57
 <ul>
55 58
 	<li>LDAP implementations have suffered a lot from never having been designed from the ground up for a large number of concurrent connections with asynchronous operations.</li>
@@ -57,7 +60,6 @@ As I said earlier, I spent a lot of time at IBM observing how customers used LD
57 60
 	<li>Replication was always a sticking point. LDAP vendors all tried to offer a big multi-master, multi-site replication model. It was a lot of "bolt-on" complexity, done before the <a title="CAP Theorem" href="http://en.wikipedia.org/wiki/CAP_theorem">CAP theorem</a> was written, and certainly before it was accepted as "truth."</li>
58 61
 	<li>Nobody uses all of the protocol. In fact, 20% of the features solve 80% of the use cases (I'm making that number up, but you get the idea).</li>
59 62
 </ul>
60  
-<div>
61 63
 
62 64
 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
63 65
 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
@@ -70,7 +72,6 @@ Well, in the last year, I went to work for <a title="Joyent" href="http://www.jo
70 72
 	<li><strong>Replication is hard. CAP is right:</strong> There are a lot of distributed databases out vying to solve exactly this problem. At Joyent we went with <a title="Riak" href="http://www.basho.com/">Riak</a>. Check!</li>
71 73
 	<li><strong>Don't need all of the protocol:</strong> I'm lazy. Let's just skip the stupid things most people don't need. Check!</li>
72 74
 </ul>
73  
-<div>
74 75
 
75 76
 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.
76 77
 
@@ -78,11 +79,6 @@ The obvious question is how it turned out, and the answer is, honestly, better 
78 79
 
79 80
 Within 24 hours of releasing ldapjs on <a title="twitter" href="http://twitter.com/#!/mcavage/status/106767571012952064">Twitter</a>, there was an <a title="github ldapjs address book" href="https://gist.github.com/1173999">implementation of an address book</a> that works with Thunderbird/Evolution, by the end of that weekend there was some <a href="http://i.imgur.com/uR16U.png">slick integration with CouchDB</a>, and ldapjs even got used in one of the <a href="http://twitter.com/#!/jheusala/status/108977708649811970">node knockout apps</a>. Off to a pretty good start!
80 81
 
81  
-</div>
82  
-</div>
83 82
 <h2>The Road Ahead</h2>
84  
-<div>
85  
-
  83
+
86 84
 Hopefully you've been motivated to learn a little bit more about LDAP and try out <a href="http://ldapjs.org">ldapjs</a>. The best place to start is probably the <a title="ldapjs guide" href="http://ldapjs.org/guide.html">guide</a>. After that you'll probably need to pick up a book from <a href="http://www.amazon.com/Understanding-Deploying-LDAP-Directory-Services/dp/0672323168">back in the day</a>. 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 <a href="http://en.wikipedia.org/wiki/DTrace">dtrace</a> support if you're running on Mac OS X or preferably Joyent's <a href="http://smartos.org/">SmartOS</a> (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.
87  
-
88  
-</div>
13  doc/blog/Uncategorized/welcome-to-the-node-blog.md
Source Rendered
... ...
@@ -1,13 +0,0 @@
1  
-title: Welcome to the Node blog
2  
-author: ryandahl
3  
-date: Thu Mar 17 2011 20:17:12 GMT-0700 (PDT)
4  
-status: publish
5  
-category: Uncategorized
6  
-slug: welcome-to-the-node-blog
7  
-
8  
-Since Livejournal is disintegrating into Russian spam, I'm moving my technical blog to http://blog.nodejs.org/. I hope to do frequent small posts about what's going on in Node development and include posts from other core Node developers. Please subscribe to the RSS feed.
9  
-
10  
-To avoid making this post completely devoid of content, here is a new video from a talk I gave at the SF PHP group tastefully produced by <A href="http://marakana.com/forums/java/general/278.html">Marakana</a>:
11  
-<iframe width="640" height="360"
12  
-src="http://www.youtube.com/embed/jo_B4LTHi3I" frameborder="0"
13  
-allowfullscreen></iframe>
16  doc/blog/module/multi-server-continuous-deployment-with-fleet.md
Source Rendered
@@ -15,41 +15,41 @@ slug: multi-server-continuous-deployment-with-fleet
15 15
 
16 16
 <p>To start using fleet, just install the fleet command with <a href="http://npmjs.org">npm</a>: </p>
17 17
 
18  
-<pre style="font-size:1.2em;">$ npm install -g fleet </pre>
  18
+<pre style="">npm install -g fleet </pre>
19 19
 
20 20
 <p>Then on one of your servers, start a fleet hub. From a fresh directory, give it a passphrase and a port to listen on: </p>
21 21
 
22  
-<pre style="font-size:1.2em;">$ fleet hub --port=7000 --secret=beepboop </pre>
  22
+<pre style="">fleet hub --port=7000 --secret=beepboop </pre>
23 23
 
24 24
 <p>Now fleet is listening on :7000 for commands and has started a git server on :7001 over http. There's no ssh keys or post commit hooks to configure, just run that command and you're ready to go! </p>
25 25
 
26 26
 <p>Next set up some worker drones to run your processes. You can have as many workers as you like on a single server but each worker should be run from a separate directory. Just do: </p>
27 27
 
28  
-<pre style="font-size:1.2em;">$ fleet drone --hub=x.x.x.x:7000 --secret=beepboop </pre>
  28
+<pre style="">fleet drone --hub=x.x.x.x:7000 --secret=beepboop </pre>
29 29
 
30 30
 <p>where <span class="code">x.x.x.x</span> is the address where the fleet hub is running. Spin up a few of these drones. </p>
31 31
 
32 32
 <p>Now navigate to the directory of the app you want to deploy. First set a remote so you don't need to type <span class="code">--hub</span> and <span class="code">--secret</span> all the time. </p>
33 33
 
34  
-<pre style="font-size:1.2em;">$ fleet remote add default --hub=x.x.x.x:7000 --secret=beepboop </pre>
  34
+<pre style="">fleet remote add default --hub=x.x.x.x:7000 --secret=beepboop </pre>
35 35
 
36 36
 <p>Fleet just created a <span class="code">fleet.json</span> file for you to save your settings. </p>
37 37
 
38 38
 <p>From the same app directory, to deploy your code just do: </p>
39 39
 
40  
-<pre style="font-size:1.2em;">$ fleet deploy </pre>
  40
+<pre style="">fleet deploy </pre>
41 41
 
42 42
 <p>The deploy command does a <span class="code">git push</span> to the fleet hub's git http server and then the hub instructs all the drones to pull from it. Your code gets checked out into a new directory on all the fleet drones every time you deploy. </p>
43 43
 
44 44
 <p>Because fleet is designed specifically for managing applications with lots of tiny services, the deploy command isn't tied to running any processes. Starting processes is up to the programmer but it's super simple. Just use the <span class="code">fleet spawn</span> command: </p>
45 45
 
46  
-<pre style="font-size:1.2em;">$ fleet spawn -- node server.js 8080 </pre>
  46
+<pre style="">fleet spawn -- node server.js 8080 </pre>
47 47
 
48 48
 <p>By default fleet picks a drone at random to run the process on. You can specify which drone you want to run a particular process on with the <span class="code">--drone</span> switch if it matters. </p>
49 49
 
50 50
 <p>Start a few processes across all your worker drones and then show what is running with the <span class="code">fleet ps</span> command: </p>
51 51
 
52  
-<pre style="font-size:1.2em;">$ fleet ps
  52
+<pre style="">fleet ps
53 53
 drone#3dfe17b8
54 54
 ├─┬ pid#1e99f4
55 55
 │ ├── status:   running
@@ -68,7 +68,7 @@ drone#3dfe17b8
68 68
 
69 69
 <p>Fleet has many more commands that you can learn about with its git-style manpage-based help system! Just do <span class="code">fleet help</span> to get a list of all the commands you can run. </p>
70 70
 
71  
-<pre style="font-size:1.2em;">$ fleet help
  71
+<pre style="">fleet help
72 72
 Usage: fleet &lt;command&gt; [&lt;args&gt;]
73 73
 
74 74
 The commands are:
2  doc/blog/npm/managing-node-js-dependencies-with-shrinkwrap.md
Source Rendered
@@ -5,7 +5,7 @@ status: publish
5 5
 category: npm
6 6
 slug: managing-node-js-dependencies-with-shrinkwrap
7 7
 
8  
-<p><div style="float:right;text-align:center;font-size:x-small;margin:5px;"><a href="http://www.flickr.com/photos/luc_viatour/4247957432/"><img class="size-medium wp-image-652" style="border:1px #000000 solid;" title="Web" src="http://dtrace.org/blogs/dap/files/2012/02/web-300x300.jpg" alt="" width="250" height="250" /></a>
  8
+<p><div style="float:right;text-align:center;margin:5px;"><a href="http://www.flickr.com/photos/luc_viatour/4247957432/"><img class="size-medium wp-image-652" style="border:1px #000000 solid;" title="Web" src="http://dtrace.org/blogs/dap/files/2012/02/web-300x300.jpg" alt="" width="250" height="250" /></a>
9 9
 Photo by Luc Viatour (flickr)</div>Managing dependencies is a fundamental problem in building complex software. The terrific success of github and <a href="http://npmjs.org/">npm</a> have made code reuse especially easy in the Node world, where packages don&#039;t exist in isolation but rather as nodes in a large graph. The software is constantly changing (releasing new versions), and each package has its own constraints about what other packages it requires to run (dependencies). npm keeps track of these constraints, and authors express what kind of changes are compatible using <a href="http://npmjs.org/doc/semver.html">semantic versioning</a>, allowing authors to specify that their package will work with even future versions of its dependencies as long as the semantic versions are assigned properly.
10 10
 
11 11
 </p>
25  doc/blog/release/node-v0-4-10.md
Source Rendered
... ...
@@ -0,0 +1,25 @@
  1
+version: 0.4.10
  2
+title: Node v0.4.10
  3
+author: ryandahl
  4
+date: Wed Jul 20 2011 07:36:38 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-4-10
  8
+
  9
+2011.07.19, Version 0.4.10 (stable)
  10
+<ul><li>#394 Fix Buffer drops last null character in UTF-8
  11
+<li>#829 Backport r8577 from V8 (Ben Noordhuis)
  12
+<li>#877 Don't wait for HTTP Agent socket pool to establish connections.
  13
+<li>#915 Find kqueue on FreeBSD correctly (Brett Kiefer) 
  14
+<li>#1085 HTTP: Fix race in abort/dispatch code (Stefan Rusu)
  15
+<li>#1274 debugger improvement (Yoshihiro Kikuchi)
  16
+<li>#1291 Properly respond to HEAD during end(body) hot path (Reid Burke)
  17
+<li>#1304 TLS: Fix race in abort/connection code (Stefan Rusu)
  18
+<li>#1360 Allow _ in url hostnames.
  19
+<li>Revert 37d529f8 - unbreaks debugger command parsing.
  20
+<li>Bring back global execScript
  21
+<li>Doc improvements</ul>
  22
+
  23
+Download: <a href="http://nodejs.org/dist/node-v0.4.10.tar.gz">http://nodejs.org/dist/node-v0.4.10.tar.gz</a>
  24
+Website: <a href="http://nodejs.org/docs/v0.4.10">http://nodejs.org/docs/v0.4.10</a>
  25
+Documentation: <a href="http://nodejs.org/docs/v0.4.10/api">http://nodejs.org/docs/v0.4.10/api</a>
39  doc/blog/release/node-v0-4-11.md
Source Rendered
... ...
@@ -0,0 +1,39 @@
  1
+version: 0.4.11
  2
+title: Node v0.4.11
  3
+author: ryandahl
  4
+date: Thu Aug 18 2011 01:44:42 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-4-11
  8
+
  9
+2011.08.17, Version 0.4.11 (stable)
  10
+<ul><li><a href="http://github.com/joyent/node/issues/738">#738</a> Fix crypto encryption/decryption with Base64. (SAWADA Tadashi)
  11
+
  12
+<li><a href="http://github.com/joyent/node/issues/1202">#1202</a> net.createConnection defer DNS lookup error events to next tick (Ben Noordhuis)
  13
+
  14
+<li><a href="http://github.com/joyent/node/issues/1374">#1374</a> fix setting ServerResponse.statusCode in writeHead (Trent Mick)
  15
+
  16
+<li><a href="http://github.com/joyent/node/issues/1417">#1417</a> Fix http.ClientRequest crashes if end() was called twice
  17
+
  18
+<li><a href="http://github.com/joyent/node/issues/1497">#1497</a> querystring: Replace 'in' test with 'hasOwnProperty' (isaacs)
  19
+
  20
+<li><a href="http://github.com/joyent/node/issues/1546">#1546</a> http perf improvement
  21
+
  22
+<li>fix memleak in libeio (Tom Hughes)
  23
+
  24
+<li>cmake improvements (Tom Hughes)
  25
+
  26
+<li>node_net.cc: fix incorrect sizeof() (Tom Hughes)
  27
+
  28
+<li>Windows/cygwin: no more GetConsoleTitleW errors on XP (Bert Belder)
  29
+
  30
+<li>Doc improvements (koichik, Logan Smyth, Ben Noordhuis, Arnout Kazemier)</ul>
  31
+
  32
+
  33
+
  34
+
  35
+Download: <a href="http://nodejs.org/dist/node-v0.4.11.tar.gz">http://nodejs.org/dist/node-v0.4.11.tar.gz</a>
  36
+
  37
+Website: <a href="http://nodejs.org/docs/v0.4.11/">http://nodejs.org/docs/v0.4.11/</a>
  38
+
  39
+Documentation: <a href="http://nodejs.org/docs/v0.4.11/api/">http://nodejs.org/docs/v0.4.11/api/</a>
29  doc/blog/release/node-v0-4-12.md
Source Rendered
... ...
@@ -0,0 +1,29 @@
  1
+version: 0.4.12
  2
+title: Node v0.4.12
  3
+author: ryandahl
  4
+date: Thu Sep 15 2011 17:32:07 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-4-12
  8
+
  9
+2011.09.15, Version 0.4.12 (stable)
  10
+
  11
+<ul>
  12
+<li>Improve docs
  13
+<li>#1563 overflow in ChildProcess custom_fd.
  14
+<li>#1569, parse error on multi-line HTTP headers. (Ben Noordhuis)
  15
+<li>#1586 net: Socket write encoding case sensitivity (koichik)
  16
+<li>#1610 Remove DigiNotar CA from trusted list (isaacs)
  17
+<li>#1624 buffer: Avoid overrun with 'binary' encoding. (koichik)
  18
+<li>#1633 buffer: write() should always set _charsWritten. (koichik)
  19
+<li>#1707 hasOwnProperty usage security hole in querystring (isaacs)
  20
+<li>#1719 Drain OpenSSL error queue
  21
+<li>Fix error reporting in net.Server.listen</ul>
  22
+
  23
+
  24
+
  25
+Download: <a href="http://nodejs.org/dist/node-v0.4.12.tar.gz">http://nodejs.org/dist/node-v0.4.12.tar.gz</a>
  26
+
  27
+Website: <a href="http://nodejs.org/docs/v0.4.12/">http://nodejs.org/docs/v0.4.12/</a>
  28
+
  29
+Documentation: <a href="http://nodejs.org/docs/v0.4.12/api/">http://nodejs.org/docs/v0.4.12/api/</a>
33  doc/blog/release/node-v0-4-3.md
Source Rendered
... ...
@@ -0,0 +1,33 @@
  1
+version: 0.4.3
  2
+title: Node v0.4.3
  3
+author: ryandahl
  4
+date: Fri Mar 18 2011 22:17:59 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-4-3
  8
+
  9
+2011.03.18, Version 0.4.3 (stable)
  10
+<ul>
  11
+<li> Don't decrease server connection counter again if destroy() is called more  than once GH-431 (Andreas Reich, Anders Conbere)
  12
+<li> Documentation improvements (koichik)
  13
+<li> Fix bug with setMaxListeners GH-682
  14
+<li> Start up memory footprint improvement. (Tom Hughes)
  15
+<li> Solaris improvements.
  16
+<li> Buffer::Length(Buffer*) should not invoke itself recursively GH-759 (Ben Noordhuis)
  17
+<li> TLS: Advertise support for client certs GH-774 (Theo Schlossnagle)
  18
+<li> HTTP Agent bugs: GH-787, GH-784, GH-803.
  19
+<li> Don't call GetMemoryUsage every 5 seconds.
  20
+<li> Upgrade V8 to 3.1.8.3
  21
+</ul>
  22
+
  23
+
  24
+
  25
+Download: http://nodejs.org/dist/node-v0.4.3.tar.gz
  26
+
  27
+Website: http://nodejs.org/docs/v0.4.3/
  28
+
  29
+Documentation: http://nodejs.org/docs/v0.4.3/api
  30
+
  31
+<a href="https://groups.google.com/d/topic/nodejs/JrYQCQtf6lM/discussion">Announcement</a>
  32
+
  33
+<a href="https://github.com/joyent/node/tree/v0.4.3">commit</a>
27  doc/blog/release/node-v0-4-4.md
Source Rendered
... ...
@@ -0,0 +1,27 @@
  1
+version: 0.4.4
  2
+title: Node v0.4.4
  3
+author: ryandahl
  4
+date: Sat Mar 26 2011 08:58:45 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-4-4
  8
+
  9
+2011.03.26, Version 0.4.4 (stable)
  10
+<ul>
  11
+<li> CryptoStream.end shouldn't throw if not writable GH-820
  12
+<li> Drop out if connection destroyed before connect() GH-819
  13
+<li> expose https.Agent
  14
+<li> Correctly setsid in tty.open GH-815
  15
+<li> Bug fix for failed buffer construction
  16
+<li> Added support for removing .once listeners (GH-806)
  17
+<li> Upgrade V8 to 3.1.8.5</ul>
  18
+
  19
+
  20
+
  21
+Download: <a href="http://nodejs.org/dist/node-v0.4.4.tar.gz">http://nodejs.org/dist/node-v0.4.4.tar.gz</a>
  22
+
  23
+Website: <a href="http://nodejs.org/docs/v0.4.4/">http://nodejs.org/docs/v0.4.4</a>
  24
+
  25
+Documentation: <a href="http://nodejs.org/docs/v0.4.4/api/">http://nodejs.org/docs/v0.4.4/api</a>
  26
+
  27
+<a href="https://groups.google.com/d/topic/nodejs/LlQCYhDEPAc/discussion">announcement</a>
29  doc/blog/release/node-v0-4-5.md
Source Rendered
... ...
@@ -0,0 +1,29 @@
  1
+version: 0.4.5
  2
+title: node v0.4.5
  3
+author: ryandahl
  4
+date: Sat Apr 02 2011 02:04:58 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-4-5
  8
+
  9
+2011.04.01, Version 0.4.5 (stable)
  10
+<ul>
  11
+<li> Fix listener leak in stream.pipe() (Mikeal Rogers)
  12
+<li> Retain buffers in fs.read/write() GH-814 (Jorge Chamorro Bieling)
  13
+<li> TLS performance improvements
  14
+<li> SlowBuffer.prototype.slice bug GH-843
  15
+<li> process.stderr.write should return true
  16
+<li> Immediate pause/resume race condition GH-535 (isaacs)
  17
+<li> Set default host header properly GH-721 (isaacs)
  18
+<li> Upgrade V8 to 3.1.8.8</ul>
  19
+
  20
+
  21
+
  22
+Download: <a href="http://nodejs.org/dist/node-v0.4.5.tar.gz">http://nodejs.org/dist/node-v0.4.5.tar.gz</a>
  23
+
  24
+Website: <a href="http://nodejs.org/docs/v0.4.5">http://nodejs.org/docs/v0.4.5</a>
  25
+
  26
+Documentation: <a href="http://nodejs.org/docs/v0.4.5/api">http://nodejs.org/docs/v0.4.5/api</a>
  27
+
  28
+
  29
+<a href="https://groups.google.com/d/topic/nodejs/aOC7SRLJhQY/discussion">announcement</a>
27  doc/blog/release/node-v0-4-6.md
Source Rendered
... ...
@@ -0,0 +1,27 @@
  1
+version: 0.4.6
  2
+title: Node v0.4.6
  3
+author: ryandahl
  4
+date: Thu Apr 14 2011 05:00:30 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-4-6
  8
+
  9
+2011.04.13, Version 0.4.6 (stable)
  10
+<ul><li> Don't error on ENOTCONN from shutdown() #670
  11
+<li> Auto completion of built-in debugger suggests prefix match rather than partial match. (koichik)
  12
+<li> circular reference in vm modules. #822 (Jakub Lekstan)
  13
+<li> http response.readable should be false after 'end' #867 (Abe Fettig)
  14
+<li> Implemenet os.cpus() and os.uptime() on Solaris (Scott McWhirter)
  15
+<li> fs.ReadStream: Allow omission of end option for range reads #801 (Felix Geisendörfer)
  16
+<li> Buffer.write() with UCS-2 should not be write partial char #916 (koichik)
  17
+<Li> Pass secureProtocol through on tls.Server creation (Theo Schlossnagle)
  18
+<li> TLS use RC4-SHA by default
  19
+<li> Don't strangely drop out of event loop on HTTPS client uploads #892
  20
+<li> Doc improvements
  21
+<li> Upgrade v8 to 3.1.8.10</ul>
  22
+
  23
+Download: <a href="http://nodejs.org/dist/node-v0.4.6.tar.gz">http://nodejs.org/dist/node-v0.4.6.tar.gz</a>
  24
+
  25
+Website: <a href="http://nodejs.org/docs/v0.4.6/">http://nodejs.org/docs/v0.4.6/</a>
  26
+
  27
+Documentation: <a href="http://nodejs.org/docs/v0.4.6/api/">http://nodejs.org/docs/v0.4.6/api/</a>
23  doc/blog/release/node-v0-4-7.md
Source Rendered
... ...
@@ -0,0 +1,23 @@
  1
+version: 0.4.7
  2
+title: Node v0.4.7
  3
+author: ryandahl
  4
+date: Sat Apr 23 2011 00:47:55 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-4-7
  8
+
  9
+2011.04.22, Version 0.4.7 (stable)
  10
+<ul><li> Don't emit error on ECONNRESET from read() #670
  11
+<li> Fix: Multiple pipes to the same stream were broken #929 (Felix Geisendörfer)
  12
+<li> URL parsing/formatting corrections #954 (isaacs)
  13
+<li> make it possible to do repl.start('', stream) (Wade Simmons)
  14
+<li> Add os.loadavg for SunOS (Robert Mustacchi)
  15
+<li> Fix timeouts with floating point numbers #897  (Jorge Chamorro Bieling)
  16
+<li> Improve docs.</ul>
  17
+
  18
+
  19
+Download: <a href="http://nodejs.org/dist/node-v0.4.7.tar.gz">http://nodejs.org/dist/node-v0.4.7.tar.gz</a>
  20
+
  21
+Website: <a href="http://nodejs.org/docs/v0.4.7/">http://nodejs.org/docs/v0.4.7/</a>
  22
+
  23
+Documentation: <a href="http://nodejs.org/docs/v0.4.7/api">http://nodejs.org/docs/v0.4.7/api</a>
55  doc/blog/release/node-v0-4-8.md
Source Rendered
... ...
@@ -0,0 +1,55 @@
  1
+version: 0.4.8
  2
+title: Node v0.4.8
  3
+author: ryandahl
  4
+date: Sat May 21 2011 07:06:00 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-4-8
  8
+
  9
+2011.05.20, Version 0.4.8 (stable)
  10
+
  11
+* #974 Properly report traceless errors (isaacs)
  12
+
  13
+* #983 Better JSON.parse error detection in REPL (isaacs)
  14
+
  15
+* #836 Agent socket errors bubble up to req only if req exists
  16
+
  17
+* #1041 Fix event listener leak check timing (koichik)
  18
+
  19
+* #1038 Fix dns.resolve() with 'PTR' throws Error: Unknown type "PTR"
  20
+  (koichik)
  21
+
  22
+* #1073 Share SSL context between server connections (Fedor Indutny)
  23
+
  24
+* Disable compression with OpenSSL. Improves memory perf.
  25
+
  26
+* Implement os.totalmem() and os.freemem() for SunOS (Alexandre Marangone)
  27
+
  28
+* Fix a special characters in URL regression (isaacs)
  29
+
  30
+* Fix idle timeouts in HTTPS (Felix Geisendörfer)
  31
+
  32
+* SlowBuffer.write() with 'ucs2' throws ReferenceError. (koichik)
  33
+
  34
+* http.ServerRequest 'close' sometimes gets an error argument
  35
+  (Felix Geisendörfer)
  36
+
  37
+* Doc improvements
  38
+
  39
+* cleartextstream.destroy() should close(2) the socket. Previously was being
  40
+  mapped to a shutdown(2) syscall.
  41
+
  42
+* No longer compile out asserts and debug statements in normal build.
  43
+
  44
+* Debugger improvements.
  45
+
  46
+* Upgrade V8 to 3.1.8.16.
  47
+
  48
+
  49
+
  50
+
  51
+Website: <a href="http://nodejs.org/docs/v0.4.8/">http://nodejs.org/docs/v0.4.8/</a>
  52
+
  53
+Download: <a href="http://nodejs.org/dist/node-v0.4.8.tar.gz">http://nodejs.org/dist/node-v0.4.8.tar.gz</a>
  54
+
  55
+Documentation: <a href="http://nodejs.org/docs/v0.4.8/api/">http://nodejs.org/docs/v0.4.8/api/</a>
30  doc/blog/release/node-v0-4-9.md
Source Rendered
... ...
@@ -0,0 +1,30 @@
  1
+version: 0.4.9
  2
+title: Node v0.4.9
  3
+author: ryandahl
  4
+date: Wed Jun 29 2011 11:41:05 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-4-9
  8
+
  9
+2011.06.29, Version 0.4.9 (stable)<ul>
  10
+<li> Improve documentation
  11
+<li> #1095 error handling bug in stream.pipe() (Felix Geisendörfer)
  12
+<li> #1097 Fix a few leaks in node_crypto.cc (Ben Noordhuis)
  13
+<li> #562 #1078 Parse file:// urls properly (Ryan Petrello)
  14
+<li> #880 Option to disable SSLv2 (Jérémy Lal)
  15
+<li> #1087 Disabling SSL compression disabled with early OpenSSLs.
  16
+<li> #1144 debugger: don't allow users to input non-valid commands (Siddharth Mahendraker)
  17
+<li> Perf improvement for util.inherits
  18
+<li> #1166 Support for signature verification with RSA/DSA public keys (Mark Cavage)
  19
+<li> #1177 Remove node_modules lookup optimization to better support nested project structures (Mathias Buus)
  20
+<li> #1203 Add missing scope.Close to fs.sendfileSync
  21
+<li> #1187 Support multiple 'link' headers
  22
+<li> #1196 Fix -e/--eval can't load module from node_modules (Koichi Kobayashi)
  23
+<li> Upgrade V8 to 3.1.8.25, upgrade http-parser.</ul>
  24
+
  25
+
  26
+Download: <a href="http://nodejs.org/dist/node-v0.4.9.tar.gz">http://nodejs.org/dist/node-v0.4.9.tar.gz</a>
  27
+
  28
+Website: <a href="http://nodejs.org/docs/v0.4.9">http://nodejs.org/docs/v0.4.9</a>
  29
+
  30
+Documentation: <a href="http://nodejs.org/docs/v0.4.9/api">http://nodejs.org/docs/v0.4.9/api</a>
39  doc/blog/release/node-v0-5-0-unstable.md
Source Rendered
... ...
@@ -0,0 +1,39 @@
  1
+version: 0.5.0
  2
+title: Node v0.5.0 (Unstable)
  3
+author: ryandahl
  4
+date: Wed Jul 06 2011 02:23:17 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-5-0-unstable
  8
+
  9
+2011.07.05, Version 0.5.0 (unstable)
  10
+
  11
+<li> New non-default libuv backend to support IOCP on Windows. Use <code>--use-uv</code> to enable.
  12
+<li> deprecate http.cat
  13
+<li> docs improved.
  14
+<li> add child_process.fork
  15
+<li> add fs.utimes() and fs.futimes() support (Ben Noordhuis)
  16
+<li> add process.uptime() (Tom Huges)
  17
+<li> add path.relative (Tony Huang)
  18
+<li> add os.getNetworkInterfaces()
  19
+<li> add remoteAddress and remotePort for client TCP connections (Brian White)
  20
+<li> add secureOptions flag, setting ciphers, SSL_OP_CRYPTOPRO_TLSEXT_BUG to TLS (Theo Schlossnagle)
  21
+<li> add process.arch (Nathan Rajlich)
  22
+<li> add reading/writing of floats and doubles from/to buffers (Brian White)
  23
+<li> Allow script to be read from stdin
  24
+<li> #477 add Buffer::fill method to do memset (Konstantin Käfer)
  25
+<li> #573 Diffie-Hellman support to crypto module (Håvard Stranden)
  26
+<li> #695 add 'hex' encoding to buffer (isaacs)
  27
+<li> #851 Update how REPLServer uses contexts (Ben Weaver)
  28
+<li> #853 add fs.lchow, fs.lchmod, fs.fchmod, fs.fchown (isaacs)
  29
+<li> #889 Allow to remove all EventEmitter listeners at once (Felix Geisendörfer)
  30
+<li> #926 OpenSSL NPN support (Fedor Indutny)
  31
+<li> #955 Change ^C handling in REPL (isaacs)
  32
+<li> #979 add support for Unix Domain Sockets to HTTP (Mark Cavage)
  33
+<li> #1173 #1170 add AMD, asynchronous module definition (isaacs)
  34
+<li> DTrace probes: support X-Forwarded-For (Dave Pacheco) </ul>
  35
+Download: <a href="http://nodejs.org/dist/node-v0.5.0.tar.gz">http://nodejs.org/dist/node-v0.5.0.tar.gz</a>
  36
+
  37
+Website: <a href="http://nodejs.org/docs/v0.5.0/">http://nodejs.org/docs/v0.5.0/</a>
  38
+
  39
+Documentation: <a href="http://nodejs.org/docs/v0.5.0/api/">http://nodejs.org/docs/v0.5.0/api/</a>
30  doc/blog/release/node-v0-5-1.md
Source Rendered
... ...
@@ -0,0 +1,30 @@
  1
+version: 0.5.1
  2
+title: Node v0.5.1
  3
+author: ryandahl
  4
+date: Thu Jul 14 2011 23:48:08 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-5-1
  8
+
  9
+2011.07.14, Version 0.5.1 (unstable)
  10
+<ul><li> #1233 Fix os.totalmem on FreeBSD amd64 (Artem Zaytsev)
  11
+<li> #1149 IDNA and Punycode support in url.parse (Jeremy Selier, Ben Noordhuis, isaacs)
  12
+<li> Export $CC and $CXX to uv and V8's build systems
  13
+<li> Include pthread-win32 static libraries in build (Igor Zinkovsky)
  14
+<li> #1199, #1094 Fix fs can't handle large file on 64bit platform (koichik)
  15
+<li> #1281 Make require a public member of module (isaacs)
  16
+<li> #1303 Stream.pipe returns the destination (Elijah Insua)
  17
+<li> #1229 Addons should not -DEV_MULTIPLICITY=0 (Brian White)
  18
+<li> libuv backend improvements
  19
+<li> Upgrade V8 to 3.4.10</ul>
  20
+
  21
+
  22
+
  23
+
  24
+Download: <a href="http://nodejs.org/dist/v0.5.1/node-v0.5.1.tar.gz">http://nodejs.org/dist/v0.5.1/node-v0.5.1.tar.gz</a>
  25
+
  26
+Windows Build: <a href="http://nodejs.org/dist/v0.5.1/node.exe">http://nodejs.org/dist/v0.5.1/node.exe</a>
  27
+
  28
+Documentation: <a href="http://nodejs.org/dist/v0.5.1/docs/api/">http://nodejs.org/dist/v0.5.1/docs/api/</a>
  29
+
  30
+Website: <a href="http://nodejs.org/dist/v0.5.1/docs">http://nodejs.org/dist/v0.5.1/docs</a>
41  doc/blog/release/node-v0-5-10.md
Source Rendered
... ...
@@ -0,0 +1,41 @@
  1
+version: 0.5.10
  2
+title: Node v0.5.10
  3
+author: ryandahl
  4
+date: Fri Oct 21 2011 19:12:31 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-5-10
  8
+
  9
+2011.10.21, Version 0.5.10 (unstable)
  10
+<ul><li>Remove cmake build system, support for Cygwin, legacy code base, process.ENV, process.ARGV, process.memoryUsage().vsize, os.openOSHandle</li>
  11
+<li>Documentation improvments (Igor Zinkovsky, Bert Belder, Ilya Dmitrichenko, koichik, Maciej Małecki, Guglielmo Ferri, isaacs)</li>
  12
+<li>Performance improvements (Daniel Ennis, Bert Belder, Ben Noordhuis) </li>
  13
+<li>Long process.title support (Ben Noordhuis)</li>
  14
+<li>net: register net.Server callback only once (Simen Brekken)</li>
  15
+<li>net: fix connect queue bugs (Ben Noordhuis)</li>
  16
+<li>debugger: fix backtrace err handling (Fedor Indutny)</li>
  17
+<li>Use getaddrinfo instead of c-ares for dns.lookup</li>
  18
+<li>Emit 'end' from crypto streams on close</li>
  19
+<li>repl: print out `undefined` (Nathan Rajlich)</li>
  20
+<li>#1902 buffer: use NO_NULL_TERMINATION flag (koichik)</li>
  21
+<li>#1907 http: Added support for HTTP PATCH verb (Thomas Parslow)</li>
  22
+<li>#1644 add GetCPUInfo on windows (Karl Skomski)</li>
  23
+<li>#1484, #1834, #1482, #771 Don't use a separate context for the repl.  (isaacs)</li>
  24
+<li>#1882 zlib Update 'availOutBefore' value, and test (isaacs)</li>
  25
+<li>#1888 child_process.fork: don't modify args (koichik)</li>
  26
+<li>#1516 tls: requestCert unusable with Firefox and Chrome (koichik)</li>
  27
+<li>#1467 tls: The TLS API is inconsistent with the TCP API (koichik)</li>
  28
+<li>#1894 net: fix error handling in listen() (koichik)</li>
  29
+<li>#1860 console.error now goes through uv_tty_t</li>
  30
+<li>Upgrade V8 to 3.7.0</li>
  31
+<li>Upgrade GYP to r1081</li></ul>
  32
+
  33
+
  34
+
  35
+Download: <a href="http://nodejs.org/dist/v0.5.10/node-v0.5.10.tar.gz">http://nodejs.org/dist/v0.5.10/node-v0.5.10.tar.gz</a>
  36
+
  37
+Windows Executable: <a href="http://nodejs.org/dist/v0.5.10/node.exe">http://nodejs.org/dist/v0.5.10/node.exe</a>
  38
+
  39
+Website: <a href="http://nodejs.org/docs/v0.5.10/">http://nodejs.org/docs/v0.5.10/</a>
  40
+
  41
+Documentation: <a href="http://nodejs.org/docs/v0.5.10/api/">http://nodejs.org/docs/v0.5.10/api/</a>
27  doc/blog/release/node-v0-5-2.md
Source Rendered
... ...
@@ -0,0 +1,27 @@
  1
+version: 0.5.2
  2
+title: Node v0.5.2
  3
+author: ryandahl
  4
+date: Fri Jul 22 2011 11:40:22 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-5-2
  8
+
  9
+2011.07.22, Version 0.5.2 (unstable)
  10
+<ul><li>libuv improvements; named pipe support
  11
+<li>#1242 check for SSL_COMP_get_compression_methods() (Ben Noordhuis)
  12
+<li>#1348 remove require.paths (isaacs)
  13
+<li>#1349 Delimit NODE_PATH with ; on Windows (isaacs)
  14
+<li>#1335 Remove EventEmitter from C++
  15
+<li>#1357 Load json files with require() (isaacs)
  16
+<li>#1374 fix setting ServerResponse.statusCode in writeHead (Trent Mick)
  17
+<li>Fixed: GC was being run too often.
  18
+<li>Upgrade V8 to 3.4.14
  19
+<li>doc improvements</ul>
  20
+
  21
+Download: <a href="http://nodejs.org/dist/v0.5.2/node-v0.5.2.tar.gz">http://nodejs.org/dist/v0.5.2/node-v0.5.2.tar.gz</a>
  22
+
  23
+Windows Executable: <a href="http://nodejs.org/dist/v0.5.2/node.exe">http://nodejs.org/dist/v0.5.2/node.exe</a>
  24
+
  25
+Website: <a href="http://nodejs.org/dist/v0.5.2/docs/">http://nodejs.org/dist/v0.5.2/docs/</a>
  26
+
  27
+Documentation: <a href="http://nodejs.org/dist/v0.5.2/docs/api">http://nodejs.org/dist/v0.5.2/docs/api</a>
53  doc/blog/release/node-v0-5-3.md
Source Rendered
... ...
@@ -0,0 +1,53 @@
  1
+version: 0.5.3
  2
+title: Node v0.5.3
  3
+author: ryandahl
  4
+date: Tue Aug 02 2011 08:03:06 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-5-3
  8
+
  9
+2011.08.01, Version 0.5.3 (unstable)
  10
+
  11
+<ul><li>Fix crypto encryption/decryption with Base64. (SAWADA Tadashi)
  12
+
  13
+<li>#243 Add an optional length argument to Buffer.write() (koichik)
  14
+
  15
+<li>#657 convert nonbuffer data to string in fs.writeFile/Sync (Daniel Pihlström)
  16
+
  17
+<li>Add process.features, remove process.useUV (Ben Noordhuis)
  18
+
  19
+<li>#324 Fix crypto hmac to accept binary keys + add test cases from rfc 2202 and 4231 (Stefan Bühler)
  20
+
  21
+<li>Add Socket::bytesRead, Socket::bytesWritten (Alexander Uvarov)
  22
+
  23
+<li>#572 Don't print result of --eval in CLI (Ben Noordhuis)
  24
+
  25
+<li>#1223 Fix http.ClientRequest crashes if end() was called twice (koichik)
  26
+
  27
+<li>#1383 Emit 'close' after all connections have closed (Felix Geisendörfer)
  28
+
  29
+<li>Add sprintf-like util.format() function (Ben Noordhuis)
  30
+
  31
+<li>Add support for TLS SNI (Fedor Indutny)
  32
+
  33
+<li>New http agent implementation. Off by default the command line flag <code>--use-http2</code> will enable it. <code>make test-http2</code> will run the tests for the new implementation. (Mikeal Rogers)
  34
+
  35
+<li>Revert AMD compatibility. (isaacs)
  36
+
  37
+<li>Windows: improvements, child_process support.
  38
+
  39
+<li>Remove pkg-config file.
  40
+
  41
+<li>Fix startup time regressions.
  42
+
  43
+<li>doc improvements</ul>
  44
+
  45
+
  46
+
  47
+Download: <a href="http://nodejs.org/dist/v0.5.3/node-v0.5.3.tar.gz">http://nodejs.org/dist/v0.5.3/node-v0.5.3.tar.gz</a>
  48
+
  49
+Windows Executable: <a href="http://nodejs.org/dist/v0.5.3/node.exe">http://nodejs.org/dist/v0.5.3/node.exe</a>
  50
+
  51
+Website: <a href="http://nodejs.org/dist/v0.5.3/docs">http://nodejs.org/dist/v0.5.3/docs</a>
  52
+
  53
+Documentation: <a href="http://nodejs.org/dist/v0.5.3/docs/api">http://nodejs.org/dist/v0.5.3/docs/api</a>
36  doc/blog/release/node-v0-5-4.md
Source Rendered
... ...
@@ -0,0 +1,36 @@
  1
+version: 0.5.4
  2
+title: Node v0.5.4
  3
+author: ryandahl
  4
+date: Fri Aug 12 2011 08:38:26 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-5-4
  8
+
  9
+2011.08.12, Version 0.5.4 (unstable)
  10
+
  11
+<ul><li>libuv/Windows compatibility improvements
  12
+
  13
+<li>Build on Microsoft Visual Studio via GYP. Use generate-projects.bat in the to build sln files. (Peter Bright, Igor Zinkovsky)
  14
+
  15
+<li>Make Mikeal's HTTP agent client the default. Use old HTTP client with <code>--use-http1</code>
  16
+
  17
+<li>Fixes https host header default port handling. (Mikeal Rogers)
  18
+
  19
+<li>#1440 strip byte order marker when loading *.js and *.json files (Ben Noordhuis)
  20
+
  21
+<li>#1434 Improve util.format() compatibility with browser. (Koichi Kobayashi)
  22
+
  23
+<li>Provide unchecked uint entry points for integer Buffer.read/writeInt methods. (Robert Mustacchi)
  24
+
  25
+<li>CMake improvements (Tom Huges)
  26
+
  27
+<li>Upgrade V8 to 3.5.4.</ul>
  28
+
  29
+
  30
+Download: <a href="http://nodejs.org/dist/v0.5.4/node-v0.5.4.tar.gz">http://nodejs.org/dist/v0.5.4/node-v0.5.4.tar.gz</a>
  31
+
  32
+Windows Executable: <a href="http://nodejs.org/dist/v0.5.4/node.exe">http://nodejs.org/dist/v0.5.4/node.exe</a>
  33
+
  34
+Website: <a href="http://nodejs.org/dist/v0.5.4/docs">http://nodejs.org/dist/v0.5.4/docs</a>
  35
+
  36
+Documentation: <a href="http://nodejs.org/dist/v0.5.4/docs/api">http://nodejs.org/dist/v0.5.4/docs/api</a>
40  doc/blog/release/node-v0-5-5.md
Source Rendered
... ...
@@ -0,0 +1,40 @@
  1
+version: 0.5.5
  2
+title: Node v0.5.5
  3
+author: bennoordhuis
  4
+date: Fri Aug 26 2011 23:20:10 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-5-5
  8
+
  9
+<p>2011.08.26, Version 0.5.5 (unstable)</p>
  10
+<ul>
  11
+<li>typed arrays, implementation from Plesk
  12
+<li>fix IP multicast on SunOS
  13
+<li>fix DNS lookup order: IPv4 first, IPv6 second (--use-uv only)
  14
+<li>remove support for UNIX datagram sockets (--use-uv only)
  15
+<li>UDP support for Windows (Bert Belder)
  16
+<li>#1572 improve tab completion for objects in the REPL (Nathan Rajlich)
  17
+<li>#1563 fix buffer overflow in child_process module (reported by Dean McNamee)
  18
+<li>#1546 fix performance regression in http module (reported by Brian Geffon)
  19
+<li>#1491 add PBKDF2 crypto support (Glen Low)
  20
+<li>#1447 remove deprecated http.cat() function (Mikeal Rogers)
  21
+<li>#1140 fix incorrect dispatch of vm.runInContext's filename argument<br />
  22
+  (Antranig Basman)</p>
  23
+<li>#1140 document vm.runInContext() and vm.createContext() (Antranig Basman)
  24
+<li>#1428 fix os.freemem() on 64 bits freebsd (Artem Zaytsev)
  25
+<li>#1164 make all DNS lookups async, fixes uncatchable exceptions<br />
  26
+  (Koichi Kobayashi)</p>
  27
+<li>fix incorrect ssl shutdown check (Tom Hughes)
  28
+<li>various cmake fixes (Tom Hughes)
  29
+<li>improved documentation (Koichi Kobayashi, Logan Smyth, Fedor Indutny,<br />
  30
+  Mikeal Rogers, Maciej Małecki, Antranig Basman, Mickaël Delahaye)</p>
  31
+<li>upgrade libuv to commit 835782a
  32
+<li>upgrade V8 to 3.5.8
  33
+</ul>
  34
+<p>Download: <a href="http://nodejs.org/dist/node-v0.5.5.tar.gz">http://nodejs.org/dist/node-v0.5.5.tar.gz</a></p>
  35
+<p>Windows Executable: <a href="http://nodejs.org/dist/v0.5.5/node.exe">http://nodejs.org/dist/v0.5.5/node.exe</a></p>
  36
+<p>Website: <a href="http://nodejs.org/docs/v0.5.5/">http://nodejs.org/docs/v0.5.5/</a></p>
  37
+<p>Documentation: <a href="http://nodejs.org/docs/v0.5.5/api/">http://nodejs.org/docs/v0.5.5/api/</a></p>
  38
+<br /><br />
  39
+
  40
+<b>Update:</b> The <code>.exe</code> has a bug that results in incompatibility with Windows XP and Server 2003. This has been reported in <a href="https://github.com/joyent/node/issues/1592">issue #1592</a> and fixed. A new binary was made that is compatibile with the older Windows: <a href="http://nodejs.org/dist/v0.5.5/node-186364e.exe">http://nodejs.org/dist/v0.5.5/node-186364e.exe</a>.
49  doc/blog/release/node-v0-5-6.md
Source Rendered
... ...
@@ -0,0 +1,49 @@
  1
+version: 0.5.6
  2
+title: Node v0.5.6 (unstable)
  3
+author: piscisaureus
  4
+date: Fri Sep 09 2011 16:30:39 GMT-0700 (PDT)
  5
+status: publish
  6
+category: release
  7
+slug: node-v0-5-6
  8
+
  9
+2011.09.08, Version 0.5.6 (unstable)
  10
+<ul>
  11
+	<li>#345, #1635, #1648 Documentation improvements (Thomas Shinnick, Abimanyu Raja, AJ ONeal, Koichi Kobayashi, Michael Jackson, Logan Smyth, Ben Noordhuis)</li>
  12
+	<li>#650 Improve path parsing on windows (Bert Belder)</li>
  13
+	<li>#752 Remove headers sent check in OutgoingMessage.getHeader() (Peter Lyons)</li>
  14
+	<li>#1236, #1438, #1506, #1513, #1621, #1640, #1647 Libuv-related bugs fixed (Jorge Chamorro Bieling, Peter Bright, Luis Lavena, Igor Zinkovsky)</li>
  15
+	<li>#1296, #1612 crypto: Fix BIO's usage. (Koichi Kobayashi)</li>
  16
+	<li>#1345 Correctly set socket.remoteAddress with libuv backend (Bert Belder)</li>
  17
+	<li>#1429 Don't clobber quick edit mode on windows (Peter Bright)</li>
  18
+	<li>#1503 Make libuv backend default on unix, override with `node --use-legacy`</li>
  19
+	<li>#1565 Fix fs.stat for paths ending with \ on windows (Igor Zinkovsky)</li>
  20
+	<li>#1568 Fix x509 certificate subject parsing (Koichi Kobayashi)</li>
  21
+	<li>#1586 Make socket write encoding case-insensitive (Koichi Kobayashi)</li>