Skip to content

Instantly share code, notes, and snippets.

@shigeki
Last active August 29, 2015 14:12
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shigeki/b75c89357e67e70ef0ae to your computer and use it in GitHub Desktop.
Save shigeki/b75c89357e67e70ef0ae to your computer and use it in GitHub Desktop.
2014/12/24時点での iojs/io.js が joyent/node と違っている部分

2014/12/24時点での iojs/io.js が joyent/node と違っている部分の概要

  • バグフィックス、リファクタリング、最適化:

    • いっぱい
  • ビルド:

    • clang ビルドでの AddressSanitizerの有効化オプションを追加
    • x32 CPUアーキテクチャのサポートを追加
    • freebsd/linux/sunosでスタック領域の非実行化
  • ライブラリ:

    • openssl-1.0.1jベースに変更
    • V8を3.30.37ベースに変更
    • punycode 1.3.2に変更
  • ドキュメント、マニュアル:

    • いっぱい修正
  • Domain:

    • domain.run に引数を加えられるようにした
    • Soft Deprecationを宣言
  • Event:

    • getMaxListenrs() APIの追加
  • Fs:

    • fs.exists(), existsSync() APIの廃止
    • fs.access(), fs.accessSync() APIの追加
  • V8:

    • 削除されたtracingモジュールから復活
    • v8.setFlagsFromString() V8オプション設定APIの追加 (使用注意)

iojs/io.js から joyent/node への merge状況(2014/12/12時点)

参考情報

iojsの変更点の抽出方法

抽出条件: コミットログの PR-URL で node-forward と iojs が指定されているもの

git shortlog --grep='PR-URL: https://github.com/iojs/' --grep='PR-URL: https://github.com/node-forward/'  |grep '^      ' |sort -k 1

124コミット

  • (注1: joyent/nodeとiojs/io.jsに別々にPRしているのも少数あり)
  • (注2: V8 3.30.37 へのアップグレードは PR-URLがコミットログに入っていないので除外されている。)

抽出結果に機能追加・変更に関するコミットに(*)を付けてみる。

  Added Gitter badge
  assert: fix deepEqual regression
  benchmark: add url benchmarks
  benchmark: fix printing of large numbers
  benchmark: pre-optimize url.parse() before start
  benchmark: rename url.parse() benchmark
  build: add asan option to multi-arch/mode build (* http://clang.llvm.org/docs/AddressSanitizer.html)
  build: add rpmbuild .spec file
  build: add x32 support (* cf https://sourceware.org/glibc/wiki/x32)
  build: copy V8 makefile to top-level directory
  build: don't run find in non-existent directory
  build: fix dtrace-enabled build on os x
  build: remove python 2.7 dependency
  build: remove support for VS 2010 and 2012
  build: remove workarounds for gcc <= 4.4
  build: rename rpmbuild .spec file
  build: set up basic multi-arch/mode build
  build: update rpmbuild .spec file
  configure: remove compiler detection
  configure: remove shared cares build option
  configure: remove shared cares build option
  configure: remove workarounds for GCC < 4.8
  contributing: add information for caine bot
  contributing: commiter git FAQ
  crypto: disable SSLv3 if shared OpenSSL lacks it
  crypto: fix X509 cert memory leak in GetPeerCert
  crypto: proper fix for d7e700's cause
  crypto: separate altname extensions with ", "
  crypto: store thread id as pointer-sized value
  crypto: throw if the key doesn't match cert
  crypto: update root certificates
  debugger: improve clearBreakpoint error and docs
  debugger: use requireRepl() to load debugger repl
  deps: fix v8 x32 build
  deps: openssl - add x32 support
  deps: update openssl to 1.0.1j (*)
  doc: added node-forward TC meeting 2014-10-15
  doc: added TC meeting minutes for 2014-12-10
  doc: add TC notes from october 29th
  doc: change write() after end() streams example
  doc: document callback of http res/req end method
  doc: document time() and timeEnd() relationship
  doc: fixed article usage in README.
  doc: fixes grammar in timers/tls
  doc: fix v8 doc headings so 'make doc' passes
  doc: meeting notes from oct 9th TC meeting
  docs: add issue contributing section
  docs: Change contributing documentation to io.js
  docs: clarify that 'io.js' is the correct name
  docs: fix prerequisite list formatting
  docs: fix project name
  docs: improve repo description
  docs: reword project messaging
  docs: simple project messaging.
  doc: update compiler requirements in README
  doc: update README with irc channel
  domain: add soft deprecation notice (*)
  domain: forward args to .run(fn) (*)
  etw: use Isolate to SetJitCodeEventHandler
  events: implement EventEmitter#getMaxListeners (*)
  freebsd,linux,sunos: make stack non-executable (*)
  fs: add access() and accessSync() (*)
  fs: deprecate exists() and existsSync() (*)
  lib: add setFlagsFromString() to tracing module (*)
  lib: fix guard expression in timer.unref()
  lib: micro-optimize EventEmitter#removeListener()
  lib: micro-optimize url.resolve()
  lib: optimize require() path walking
  lib: reintroduce v8 module (*)
  lib,src: make os.endianness() inlinable
  lib,src: remove post-gc event infrastructure
  lib: turn on strict mode
  Merge remote-tracking branch 'joyent/v0.12' into v0.12
  module: fix regression in require ../
  modules: adding load linked modules feature
  module: test for directories, fix require with ..
  net: give better error messages
  node.cc: use nullptr instead of NULL
  node: do not crash on IPC stdin
  openssl: don't define SIXTY_FOUR_BIT_LONG on Windows
  policy: added contribution policy
  punycode: update to v1.3.2 (*)
  Revert "path: resolve normalize drive letter to lower case"
  src: attach env directly to api functions
  src: fix addon loader regression
  src: fix comparison of WCHAR with nullptr
  src: fix unaligned access in ucs2 string encoder
  src: fix uninitialized memory dereference
  src: fix up imports
  src: fix windows build error
  src: ignore risky env vars when setuid root
  src: network interface names are UTF-8 encoded
  src: remove cpplint error using NOLINT directive
  src: remove static variables from tls_wrap
  src: remove the tracing module entirely
  src: remove unnecessary HandleScopes
  src: remove unused Environment::GetCurrent() calls
  src: remove unused MIN macro
  src: remove usage of extended sizeof
  src: replace assert() with CHECK()
  src: simplify v8 thread pool implementation
  src: turn two global vars into local vars
  stream_wrap: do not crash if handle was closed
  test: allow common.PIPE to be configured via env
  test: bump --stack-size to stop child fails on ARM
  test: don't remove empty.txt on win32
  test: extend timeouts in child/exec tests
  test: fix non-determinism in test-crypto-domains
  test: fix test-cluster-eaccess to work on windows
  test: fix test-fs-symlink-dir-junction-relative
  test: kill children before cluster parent
  test: make test runner multi-arch/mode compatible
  test: mark test-net-GH-5504 as flaky on linux
  test: move simple/test-abort-fatal-error to pummel
  test: named pipe is invalid when appending .txt
  test-require-resolve: use case insensitive compare
  test: run tests in parallel, common improvements
  test: split test in parallel/sequential
  test: unlink custom unix socket before test
  test: use common.PIPE for emptyTxt path
  test: use common.PIPE in simple/test-cluster-eaccess
  tls: do not hang without `newSession` handler
  tools: update certdata.txt
  windows: fix process description to say "Node.js"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment