- 
                Notifications
    You must be signed in to change notification settings 
- Fork 27
API changes between v0.4 and v0.6
When editing this page please be as detailed as possible. Examples are encouraged!
- 
Cygwin build is no longer supported. Use native windows builds instead. 
- 
Buffer- The lengthoptional third parameter was added toBuffer.write()
 
- The 
- 
child_process- The customFdsoption to thechild_process.spawn()method is deprecated. Only the values -1, 0, 1, 2 will work withcustomFdsnow and only if those are TTY file descriptors. You can however use thestdinStream,stdoutStream, andstderrStreamoptions to achieve similar functionality.
- You can no longer send a file descriptor through a unix pipe. Instead you can send a handle via child_process.fork().
 
- The 
- 
dgram- The 'unix_dgram'type to thedgram.createSocket()is no longer supported. Use bnoordhuis/node-unix-dgram instead. Note: The Unix domain datagram is not the Internet domain datagram (UDP) which stays supported.
 
- The 
- 
dns- 
dns.lookup()now usesgetaddrinfo()in a thread pool instead of c-ares. The rest of the methods in the DNS module still use c-ares. Using the system resolver for common look ups is useful because it hooks into system MDNS lookups and /etc/host files and nsswitch, etc. Previously when usingdns.lookupon invalid domain names like"****"the command returned anEBADNAMEerror.getaddrinfo()does not differentiate between invalid domains andENOTFOUND(AKANXDOMAIN). Thereforedns.lookupnow returnsENOTFOUNDwhen given malformated domain names like"*****".
 
- 
- 
events- C++ node::EventEmitterhas been removed. Instead usenode::MakeCallback()
- 
EventEmitter.removeAllListeners()allows to remove all listeners at once.
 
- C++ 
- 
fs- 
modeargument offs.mkdir()andfs.mkdirSync()became an option (defaults to0777).
- 
fs.symlink()takes an optionalmodeargument, which can either be'dir'or'file'. The default is'file'. This argument is only needed for Windows (it's ignored on other platforms).
 
- 
- 
http- 
http.request()andhttp.get()useConnection: Keep-Aliveby default.
- 
http.Agent.appendMessage()was removed.
- 
http.getAgent()was removed. Usehttp.globalAgentinstead.
- Not http.Agentbuthttp.ClientRequestemits'upgrade'event.
 
- 
- 
https- 
https.request()andhttps.get()with defaultAgentignorekey,certandcaoptions. Use customAgent.
 
- 
- 
Module system - The require.pathshave been removed (useNODE_PATHenvironment variable instead).
 
- The 
- 
net- 
net.Server.listenFD()was no longer supported.
 
- 
- 
process- 
process.ENVwas removed. Useprocess.envinstead.
- 
process.ARGVwas removed. Useprocess.argvinstead.
- 
process.binding('stdio')was removed. This was a private API. You shouldn't have been using it in the first place.
- 
process.binding('net')was removed.
- 
process.memoryUsage().vsizewas removed. You don't need it.
- 
process.stdoutandprocess.stderrare blocking when they refer to regular files or TTY file descriptors.
- 
process.stdin,process.stdoutandprocess.stderrare getters now. You can override it (if you really want to) like this:process.__defineGetter__('stdout', function() { return your_object; }); 
 
- 
- 
stream- 
stream.pipe()doesn't emit'pause'/'resume'events on the source stream which doesn't implementpause()/resume().
 
- 
- 
tty- 
tty.setWindowSize()was removed.
- 
tty.getWindowSize(fd)was removed. Useprocess.stdout.getWindowSize()instead.
 
- 
- 
V8 (v3.1 to v3.6) - 
RegExpwas no longer aFunction(compliant with ES5). UseRegExp.exec()instead.
- 
Date's string format without timezone (e.g.,new Date('2011-06-06')) has been based on UTC, not local timezone (compliant with ES5). Use timezone explicitly (e.g.,new Date('2011-06-06 00:00:00 +09:00')).
- All standard properties of Errorhave been made non-enumerable (compliant with ES5). useutil.inspect(err, true)if you want to show it.
 
- 
- 
assert- 
assert(val)as a shorthand forassert.ok(val)
 
- 
- 
Buffer- 
'hex'encoding.
- Buffer.readInt8()/readInt16LE()/readInt16BE()/readInt32LE()/readInt32BE()
- Buffer.readUInt8()/readUInt16LE()/readUInt16BE()/readUInt32LE()/readUInt32BE()
- Buffer.readFloatLE()/readFloatBE()/readDoubleLE()/readDoubleBE()
- Buffer.writeInt8()/writeInt16LE()/writeInt16BE()/writeInt32LE()/writeInt32BE()
- Buffer.writeUInt8()/writeUInt16LE()/writeUInt16BE()/writeUInt32LE()/writeUInt32BE()
- Buffer.writeFloatLE()/writeFloatBE()/writeDoubleLE()/writeDoubleBE()
- Buffer.fill()
- Typed Arrays
 
- 
- 
child_process- child_process.fork()
 
- 
cluster- 
node clustersee http://nodejs.org/docs/latest/api/cluster.html
 
- 
- 
crypto- 
crypto.createDiffieHellman(),crypto.pbkdf2(),crypto.randomBytes()
 
- 
- 
fs- fs.watch()
- 
fs.utimes()/utimesSync(),fs.futimes()/futimesSync()
- 
startoption tofs.createReadStream()andfs.createWriteStream().
 
- 
http- http.ClientRequest.setTimeout()/setNoDelay()/setSocketKeepAlive()
- 
authoption tohttp.request().
 
- 
https- 
passphraseoption tohttps.createServer(),https.request(), andhttps.get().
 
- 
- Module system
- 
.jsonmodule.
- module.require()
 
- 
- 
net- net.connect()
- 
net.Socket.remotePort,bytesRead,bytesWritten
 
- 
os- 
os.arch(),os.platform(),os.uptime(),os.networkInterfaces()
 
- 
- 
path- path.relative()
 
- 
process- 
process.arch,process.uptime()
 
- 
- 
tls- 
passphraseoption totls.createServer()andtls.connect().
- 
sessionIdContextoption totls.createServer().
- 
tls.CryptoStream.getSession()andsessionoption totls.connect().
- 
tls.CleartextStream.address(),remoteAddress,remotePort.
- 
tls.Serversupports NPN (Next Protocol Negotiation) and SNI (Server Name Indication).
 
- 
- 
util- 
util.format(),util.isArray(),util.isRegExp(),util.isDate(),util.isError().
 
- 
- 
zlibmodule http://nodejs.org/docs/latest/api/zlib.html