API changes between v0.6 and v0.8 - nodejsjp/nodejs.org_ja GitHub Wiki
Deprecated:
http.Client()
path.{exists,existsSync}
はfs.{exists,existsSync}
に変更されました。tty.setRawMode(mode)
はtty.ReadStream#setRawMode()
(すなわちprocess.stdin.setRawMode()
) に変更されました。ev_*
およびeio_*
関数を直接使用することは推奨されません。代わりにlibuv
が提供する関数を使用してください。eio_custom
からuv_queue_work
への移行は この wiki ページ を参照してください。ev_io_*
からuv_poll_*
への以降は この wiki ページ を参照してください。
Removed:
waf
ビルドシステム -node.js
はgyp
を使用するようになりました。- もしあなたがネイティブモジュールの作者 (もしあなたがこのリストに記載されているならその一人です) なら、すぐに
node-gyp
へ移行してください!
- もしあなたがネイティブモジュールの作者 (もしあなたがこのリストに記載されているならその一人です) なら、すぐに
require('sys')
は例外をスローします、require('util')
を使用してください。"sys" は node v0.4 で deprecated になりました。process.installPrefix
は削除されました。 (#3483).process.installPrefix
は v0.6 では (意図せず) 常にundefined
です。node --vars
は削除されました (#3483).node --vars
は v0.6 では常に (意図せず) 空文字列を返していました。
Changed:
-
process
process.stdin.on('keypress')
は内部 API のため、デフォルトでは生成されなくなりました。代わりにkeypress
モジュールを使用してください。process.stdin.pipe(dest)
は自動的にprocess.stdin.resume()
を呼び出します。
-
net
-
net.listen(socketPath)
はserver.close()
を呼び出すまでソケットをアンリンクしません。自動的なアンリンクはマルチプロセスのセットアップで競合を引き起こしていました。これはhttp.listen(socketPath)
にも適用されます。 -
cluster
cluster.fork()
はもはやchild_process.fork()
の戻り値であるオブジェクトを返しません。それを取得するにはcluster.fork().process
を使用してください。cluster
オブジェクトの'death'
イベントは'exit'
に変更されました。kill()
メソッドはdestroy()
に変更されました。CLUSTER_WORKER_ID
環境変数はCLUSTER_UNIQUE_ID
に変更されましたが、これを使用すべきではありません。- ワーカはマスタとの接続が意図せず失われると、自身を終了します。
-
http
http.Server
は CONNECT メソッドを要求されると、'upgrade'
イベントではなく'connect'
イベントを生成します。http.ServerResponse
はDate:
ヘッダをデフォルトで送信します。これを抑止するにはresponse.sendDate
をfalse
に設定します。http.ClientRequest
は CONNECT メソッドに対するレスポンスを受信すると、'response'
ではなく'connect'
イベントを生成します。
-
child_process
child_process.fork()
のarguments
およびoptions
引数はオプションになりました。- 子プロセスが終了すると、
'exit'
イベントが正しく生成されます。それはもう全ての標準入出力が閉じられるのを待ちません。 'close'
イベントが追加されました。それは子プロセスが終了し、かつ 全ての標準入出力が閉じられると生成されます。
-
readline
rl.createInterface()
の引数は、rl.createInterface(options)
のoptions
の一部になりました。しかし、古いrl.createInterface(input, output, completer)
スタイルも利用可能です。
-
url
url.parse()
は IPv6 アドレスをパースするようになりました。url.parse()
は区切り文字を捨てるのではなく、エスケープするようになりました。url.format()
はauth
セクションをエスケープするようになり、url.parse()
はそれをデコードするようになりました。
-
fs
path.exists()
およびpath.existsSync()
が、fs.exists()
およびfs.existsSync()
になりました。fs.symlink
のtype
引数に'junction'
が指定できるようになりました (Windows のみ)。fs.realpath
およびfs.lstat
が Windows でも Unix と同じように動作するようになりました。
-
console
console.timeEnd
はラベルがないと例外をスローするようになりました。
-
buffer
SlowBuffer
はBuffer
を継承するようになりました。これらのプロトタイプを変更するモジュールは、Buffer.prototype
に適用するだけで十分です。
-
os
os.cpus().times
は Windows でもサポートされるようになりました。os.uptime
は Windows が起動してから 50 日を越えた場合でも正しい時間を表示するようになりました。
Added:
-
buffer
'utf16le'
エンコーディング。
-
child_process
child_process.fork()
のsilent
オプション -stdout
およびstderr
を親プロセスと共有しません。child_process.fork()
した子プロセスに.disconnect()
することで、子プロセスが正常に終了するようになります。child_process.spawn()
のstdio
オプション - 子プロセスの標準入出力 (ファイル記述子) を構成することができます。child_process.spawn()
のdetached
オプション - 子プロセスをグループリーダにします (ドキュメント)。child.send()
はnet.Server
およびnet.Socket
を第 2 引数として送信できるようになりました。
-
cluster
'fork'
,'online'
,'listening'
, および'setup'
イベント。Worker
オブジェクトが (マスタにおいては)cluster.workers
または (ワーカにおいては)cluster.worker
として提供されるようになりました。cluster.fork()
にenv
オプション引数が追加されました。cluster.setupMaster()
およびcluster.settings
。cluster.disconnect()
およびworker.disconnect()
。- 内部的に使われていた
workerID
がworker.id
として追加されました。 worker.suicide
フラグが設定されていると、ワーカが切断されたり終了したりした場合に意図しない終了として通知されます。
-
crypto
crypto.getDiffieHellman()
。cipher.setAutoPadding()
およびdecipher.setAutoPadding()
。crypto.createCredentials()
のciphers
オプション。
-
domain
-
fs
fs.appendFile()
およびfs.appendFileSync()
。wx
,wx+
,ax
, およびax+
モードがfs.open()
およびfs.openSync()
に追加されました。
-
http
server.close()
のオプション引数としてコールバック関数が追加されました。http.ServerResponse
のsendDate
プロパティ。http.request()
およびhttp.get()
は、url.parse()
によってパースされる URL を引数として受け取れるようになりました。
-
https
https.request()
およびhttps.get()
にciphers
およびrejectUnauthorized
オプションが追加されました。
-
net
net.connect(options, [connectionListener])
。server.close()
のオプション引数としてコールバック関数が追加されました。- 任意のファイル記述子をリッスンするための
server.listen({ fd: someNumber })
。
-
process
process.abort()
。process.hrtime()
, ナノ秒までの高分解能タイマ。
-
querystring
querystring.parse(str, [sep], [eq], [options])
。
-
stream
setEncoding()
に'utf16le'
および'ucs2'
エンコーディングが指定できるようになりました。
-
tls
- セッションネゴシエーションアタックを防ぐ ための
tls.CLIENT_RENEG_LIMIT
およびtls.CLIENT_RENEG_WINDOW
。 tls.connect(options, [secureConnectionListener])
。tls.connect()
のciphers
,rejectUnauthorized
およびsocket
オプション。cleartextStream.getCipher()
は公開 API となり、ドキュメント化されました。
- セッションネゴシエーションアタックを防ぐ ための
-
zlib
dictionary
オプション。