Slide 1

Slide 1 text

ChangeLogs The of Node.js

Slide 2

Slide 2 text

Moto Ishizawa A Web Engineer

Slide 3

Slide 3 text

add child_process.fork “ ” Node.js v0.5.0

Slide 4

Slide 4 text

var cp = require('child_process'); var n = cp.fork(__dirname + '/sub.js'); n.on('message', function(m) { console.log('PARENT got message:', m); }); n.send({ hello: 'world' }); process.on('message', function(m) { console.log('CHILD got message:', m); }); process.send({ foo: 'bar' }); sub.js master.js

Slide 5

Slide 5 text

#1348 remove require.paths “ ” Node.js v0.5.2

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Add process.features, remove process.useUV “ ” Node.js v0.5.3

Slide 8

Slide 8 text

> console.log(process.features); { debug: false, uv: true, ipv6: true, tls_npn: true, tls_sni: true, tls: true, isolates: true }

Slide 9

Slide 9 text

Make Mikeal’s HTTP agent client the default. Use old HTTP client with --use-http1 “ ” Node.js v0.5.4

Slide 10

Slide 10 text

http.get(options, function(res) { // Do stuff }).on("socket", function (socket) { socket.emit("agentRemove"); });

Slide 11

Slide 11 text

typed arrays, implementation from Plesk “ ” Node.js v0.5.5

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

zlib bindings “ ” Node.js v0.5.8

Slide 14

Slide 14 text

var zlib = require('zlib'); var gzip = zlib.createGzip(); var fs = require('fs'); var inp = fs.createReadStream('input.txt'); var out = fs.createWriteStream('input.txt.gz'); inp.pipe(gzip).pipe(out);

Slide 15

Slide 15 text

Use getaddrinfo instead of c-ares for dns.lookup “ ” Node.js v0.5.10

Slide 16

Slide 16 text

cluster module api changes “ ” Node.js v0.6.0

Slide 17

Slide 17 text

var cluster = require('cluster'); var http = require('http'); var numCPUs = require('os').cpus().length; if (cluster.isMaster) { // Fork workers. for (var i = 0; i < numCPUs; i++) { cluster.fork(); } cluster.on('death', function(worker) { console.log('worker ' + worker.pid + ' died'); }); } else { // Worker processes have a http server. http.Server(function(req, res) { res.writeHead(200); res.end("hello world\n"); }).listen(8000); }

Slide 18

Slide 18 text

punycode: use Mathias Bynens’s punycode library, it’s more compliant “ ” Node.js v0.6.2

Slide 19

Slide 19 text

#2083 Land NPM in Node. It is included in packages/installers and installed on `make install` “ ” Node.js v0.6.3

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

build: add --without-npm flag to configure script “ ” Node.js v0.6.4

Slide 22

Slide 22 text

$ ./configure --without-npm

Slide 23

Slide 23 text

Travis CI integration “ ” Node.js v0.6.6

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Numeric key hash collision fix for V8 “ ” Node.js v0.6.8

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

Enjoy Node.js ;-)