forked from nodejs/node-v0.x-archive
    
        
        - 
                Notifications
    You must be signed in to change notification settings 
- Fork 27
API changes between v0.6 and v0.8
        TooTallNate edited this page Jul 19, 2012 
        ·
        63 revisions
      
    When editing this page please be as detailed as possible. Examples are encouraged!
- http.Client()
- 
path.{exists,existsSync}was moved tofs.{exists,existsSync}
- 
tty.setRawMode(mode)was moved totty.ReadStream#setRawMode()(i.e.process.stdin.setRawMode())
- Direct use of ev_*andeio_*functions is deprecated. Please use the methods provided bylibuvinstead. For help porting fromeio_customtouv_queue_work, see this wiki page. For help porting fromev_io_*touv_poll_*, see this wiki page.
- 
wafbuild system -node.jswill be usinggypnow- If you are a native module author(you may still be one if you're not on this list), migrate to node-gypASAP!
 
- If you are a native module author(you may still be one if you're not on this list), migrate to 
- 
require('sys')throws, userequire('util')now. The "sys" module was deprecated in node v0.4.
- 
process.installPrefixhas been removed (#3483).process.installPrefixwas (accidentally) alwaysundefinedin node v0.6.
- 
node --varshas been removed (#3483).node --varsalways (accidentally) has empty output in node v0.6
- 
process- 
process.stdin.on('keypress')will not be emitted by default, as it's an internal API. Use thekeypressmodule now.
- 
process.stdin.pipe(dest)will automatically callprocess.stdin.resume().
 
- 
- 
cluster- 
cluster.fork()no longer return achild_process.fork()object usecluster.fork().processto get the object.
- the 'death'event on theclusterobject is renamed to'exit'.
- the kill()method is renamed todestroy().
- the CLUSTER_WORKER_IDenv is now calledCLUSTER_UNIQUE_ID, but you should not have used that anyway.
- workers now kill themselves when they accidentally lose their connection to the master.
 
- 
- 
http- 
http.Serveremits'connect'event instead of'upgrade'when the CONNECT method is requested.
- 
http.ServerResponsesendsDate:header by default. You can disable it by settingresponse.sendDatetofalse.
- 
http.ClientRequestemits'connect'event instead of'request'when the CONNECT method is responded.
 
- 
- 
net- 
net.listen(socketPath)no longer unlinks the socket unless you callserver.close(). Automatic unlinking was subject to race conditions in multi-process setups. Also applies tohttp.listen(socketPath).
 
- 
- 
child_process- 
argumentsandoptionsarguments ofchild_process.fork()became an option.
- the 'exit'event is now emitted right after the child process exits. It no longer waits for all stdio pipes to be closed.
- the 'close'event was added that has is emitted after the child has exited and all the stdio pipes are closed.
 
- 
- 
readline- 
argumentsofrl.createInterfacebecame an option asrl.createInterface(options)but still took an old style asrl.createInterface(input, output, completer)
 
- 
- 
url- 
url.parse()now parses IPv6 addresses.
- 
url.parse()now escapes delimiters characters rather than truncating the input.
- 
url.format()now escapes theauthsection, andurl.parse()decodes it.
 
- 
- 
fs- 
path.exists()andpath.existsSync()has moved tofs.exists()andfs.existsSync().
- 
fs.symlinktypeargument can now be'junction'(for Windows only).
- 
fs.realpathandfs.lstatwork the same on Windows as on Unix
 
- 
- 
console- 
console.timeEndnow throws when there's no such label
 
- 
- 
buffer- 
SlowBuffernow inherits fromBuffer. So if you have a module that modifies the prototype, now you only need to alterBuffer.prototype.
 
- 
- 
os- 
os.cpus().timesis now supported on Windows
- 
os.uptimenow displays the correct uptime if the system's current uptime is > 50 days on Windows
 
- 
- 
buffer- 
'utf16le'encoding.
 
- 
- 
child_process- 
silentoption tochild_process.fork()-stdoutandstderrwon't be shared with parent.
- 
.disconnect()when usingchild_process.fork()this will allow the child to die gracefully.
- 
stdiooption forchild_process.spawn()- configuration of child's stdio (file descriptors).
- 
detachedoption forchild_process.spawn()- make the child a process group leader (see docs)
- 
child.send()can now sendnet.Serverandnet.Socketas second argument.
 
- 
- 
cluster- 
'fork','online','listening', and'setup'events.
- 
Workerobject which is provided fromcluster.workers(in the master) orcluster.worker(in the worker).
- 
envoptional argument tocluster.fork().
- 
cluster.setupMaster()andcluster.settings.
- 
cluster.disconnect()andworker.disconnect().
- 
worker.idwhat there before was internally known asworkerID.
- 
worker.suicideflag set when worker disconnect or die, indicate if this was an accidental death.
 
- 
- 
crypto- 
crypto.getDiffieHellman().
- 
cipher.setAutoPadding()anddecipher.setAutoPadding().
- 
ciphersoption tocrypto.createCredentials().
 
- 
- 
domain
- 
fs- 
fs.appendFile()andfs.appendFileSync().
- 
wx,wx+,ax, andax+modes tofs.open()andfs.openSync().
 
- 
- 
http- callback optional argument to server.close().
- 
sendDateproperty tohttp.ServerResponse.
- 
http.request()andhttp.get()can accept as their argument a url that is parsed withurl.parse()
 
- callback optional argument to 
- 
https- 
ciphers,rejectUnauthorizedoption tohttps.request()andhttps.get().
 
- 
- 
net- 
net.connect(options, [connectionListener]).
- callback optional argument to server.close().
- 
server.listen({ fd: someNumber })to listen on arbitrary file descriptors.
 
- 
- 
process- 
process.abort().
- 
process.hrtime(), hi-res timer with up to nanosecond granularity.
 
- 
- 
querystring- 
querystring.parse(str, [sep], [eq], [options]).
 
- 
- 
stream- 
'utf16le'and'ucs2'encoding tosetEncoding().
 
- 
- 
tls- 
tls.CLIENT_RENEG_LIMITandtls.CLIENT_RENEG_WINDOWto mitigate session renegotiation attacks
- 
tls.connect(options, [secureConnectionListener]).
- 
ciphers,rejectUnauthorizedandsocketoptions totls.connect().
- 
cleartextStream.getCipher()was added in the api doc and open to the public.
 
- 
- 
zlib- 
dictionaryoption.
 
-