Skip to content

API changes between v0.6 and v0.8

koichik edited this page Jul 28, 2012 · 4 revisions

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.jsgyp を使用するようになりました。
  • 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.ServerResponseDate: ヘッダをデフォルトで送信します。これを抑止するには response.sendDatefalse に設定します。
    • 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.symlinktype 引数に 'junction' が指定できるようになりました (Windows のみ)。
    • fs.realpath および fs.lstat が Windows でも Unix と同じように動作するようになりました。
  • console

    • console.timeEnd はラベルがないと例外をスローするようになりました。
  • buffer

    • SlowBufferBuffer を継承するようになりました。これらのプロトタイプを変更するモジュールは、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()
    • 内部的に使われていた workerIDworker.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.ServerResponsesendDate プロパティ。
    • 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 オプション。