转载

Node.js v7.4.0 发布

Node.js v7.4.0 发布

 

看到Node.js这个名字,初学者可能会误以为这是一个Javascript应用,事实上,Node.js采用C++语言编写而成,是一个Javascript的运行环境。为什么采用C++语言呢?据Node.js创始人Ryan Dahl回忆,他最初希望采用Ruby来写Node.js,但是后来发现Ruby虚拟机的性能不能满足他的要求,后来他尝试采用V8引擎,所以选择了C++语言。既然不是Javascript应用,为何叫.js呢?因为Node.js是一个Javascript的运行环境。Node.js是一个后端的Javascript运行环境(支持的系统包括Linux、Windows和Mac等),这意味着你可以编写系统级或者服务器端的Javascript代码,交给Node.js来解释执行,Node.js采用了Google Chrome浏览器的V8引擎,性能很好,同时还提供了很多系统级的API,如文件操作、网络编程等。浏览器端的Javascript代码在运行时会受到各种安全性的限制,对客户系统的操作有限。相比之下,Node.js则是一个全面的后台运行时,为Javascript提供了其他语言能够实现的许多功能。

更新日志

  • buffer:
    • Improve performance of Buffer allocation by ~11%. (Brian White) #10443
    • Improve performance of Buffer.from() by ~50%. (Brian White) #10443
  • events: Improve performance of EventEmitter.once() by ~27%. (Brian White) #10445
  • fs: Allow passing Uint8Array to fs methods where Buffers are supported. (Anna Henningsen) #10382
  • http: Improve performance of http server by ~7%. (Brian White) #6533
  • npm: Upgrade to v4.0.5 (Kat Marchán) #10330
  • [d1843ec3a7] - async_wrap: clear destroy_ids vector (Trevor Norris) #10400
  • [6a4e6e9a42] - benchmark: allow benchmarks to specify flags (Joyee Cheung) #10448
  • [0b2bc5e27b] - benchmark: add benchmark for WHATWG URL properties (Joyee Cheung) #10408
  • [10b3297e8f] - benchmark: use commas in non-csv rate output (Brian White) #10360
  • [6d15e7b528] - benchmark: refactor buffer benchmarks (Troy Connor) #10175
  • [797495a84a] - buffer: improve allocation performance (Brian White) #10443
  • [ad5ae922ce] - build: add /opt/freeware/... to AIX library path (Stewart X Addison) #10128
  • [cff57be2b6] - build: add (not) cross-compiled configure flags (Jesús Leganés-Combarro 'piranna) #10287
  • [80e798e324] - crypto: use CHECK_NE instead of ABORT or abort (Sam Roberts) #10413
  • [92eacdb5c6] - (SEMVER-MINOR) deps: upgrade npm to 4.0.5 (Kat Marchán) #10330
  • [785975d922] - deps: ICU 58.2 bump download URL (Steven R. Loomis) #10206
  • [bce0013dd8] - deps: ICU 58.2 bump (Steven R. Loomis) #10206
  • [dcc20f12a6] - doc: clarify the statement in vm.createContext() (AnnaMag) #10519
  • [8e78953c88] - doc: add joyeecheung to collaborators (Joyee Cheung) #10603
  • [d08463a9e3] - doc: unify dirname and filename description (Sam Roberts) #10527
  • [7ad0f7bc32] - doc: redirect 'Start a Working Group' to TSC repo (William Kapke) #9655
  • [deb0917f76] - doc: warn about unvalidated input in child_process (Matthew Garrett) #10466
  • [96c3c65a86] - doc: require two-factor authentication (Rich Trott) #10529
  • [a7c12fef6c] - doc: add Working Group dissolution text (William Kapke) #9656
  • [e86bf27fe8] - doc: improve rinfo object documentation (Matt Crummey) #10050
  • [5b7b457643] - doc: add tls.DEFAULT_ECDH_CURVE (Sam Roberts) #10264
  • [cf3f75f6f0] - doc: fixup errors in stream.md (Fumiya KARASAWA) #10411
  • [89fb82214f] - doc: use "Node.js" in V8 guide (Rich Trott) #10438
  • [aabaef0aa7] - doc: more efficient example in the console.md (Vse Mozhet Byt) #10451
  • [3d181ce4fd] - doc: var -> const / let in the console.md (Vse Mozhet Byt) #10451
  • [9ce28ec3c5] - doc: add the valid link for curl(1) in repl.md (Vse Mozhet Byt) #10244
  • [cffbfba4df] - doc: replace anonymous functions in repl.md (Vse Mozhet Byt) #10244
  • [f281b190d5] - doc: fix a function name in repl.md (Vse Mozhet Byt) #10244
  • [b8e2711ddd] - doc: fix an output example in repl.md (Vse Mozhet Byt) #10244
  • [ae61232493] - doc: white space unification in repl.md (Vse Mozhet Byt) #10244
  • [37cb971c65] - doc: var => let / const in repl.md (Vse Mozhet Byt) #10244
  • [6f8c6133e3] - doc: update CONTRIBUTING.MD with link to V8 guide (sarahmeyer) #10070
  • [8a9d68ad7c] - doc: improve common.mustCall() explanation (Rich Trott) #10390
  • [4365bb45b8] - doc: consistent 'Returns:' part two (Myles Borins) #10391
  • [21fca4bdda] - doc: require() tries first core not native modules (Vicente Jimenez Aguilar) #10324
  • [6284d83092] - doc: clarify macosx-firewall suggestion BUILDING (Chase Starr) #10311
  • [0c4cf24f70] - doc: update process.versions.modules documentation (Kevin Zurawel) #9901
  • [b67879f6f4] - doc: clarify the review and landing process (Joyee Cheung) #10202
  • [9044423bb6] - doc: modernize code examples in the cluster.md (Vse Mozhet Byt) #10270
  • [2eec9afdb1] - doc: add Michaël Zasso to the CTC (Michaël Zasso)
  • [85d2a2abcf] - doc: update writable.write return value (Tanuja-Sawant) #9468
  • [37563fafca] - doc: fix broken link in COLLABORATOR_GUIDE.md (Emanuel Buholzer) #10337
  • [f9a5c13ff3] - dtrace: resolve conversion warnings from SLURP_INT (Christopher J. Brody) #10143
  • [bc379fda75] - events: optimize arrayClone by copying forward (Benedikt Meurer) #10571
  • [7ece950ffe] - events: improve once() performance (Brian White) #10445
  • [6629f8f83f] - fs: cache non-symlinks in realpathSync. (Jeremy Yallop) #10253
  • [abde7644a5] - (SEMVER-MINOR) fs: support Uint8Array input to methods (Anna Henningsen) #10382
  • [32b6bcdd83] - http: optimize headers iteration (Brian White) #6533
  • [a760d707ad] - http: simplify boolean checks (Brian White) #6533
  • [c8ad127abc] - http: extract validation functions (Brian White) #6533
  • [8a2a763f13] - http: improve validation performance (Brian White) #6533
  • [df8b8b257d] - http: refactor server connection handling (Brian White) #6533
  • [1f0fd7b35d] - http: misc cleanup and minor optimizations (Brian White) #6533
  • [b094b49659] - http: reuse existing headers array for raw values (Brian White) #6533
  • [4bed9475d1] - inspector: fix Coverity defects (Eugene Ostroukhov) #10240
  • [023956187e] - inspector: split HTTP/WS server from the inspector (Eugene Ostroukhov) #9630
  • [aed5e27451] - lib: avoid recompilation of anonymous functions (Brian White) #6533
  • [064607be58] - meta: modify pull request template for prepending (Rich Trott) #10484
  • [75efdeb635] - os: fix os.release() for aix and add test (jBarz) #10245
  • [6796bf4829] - repl: allow autocompletion for scoped packages (Evan Lucas) #10296
  • [11ed8007df] - src: describe what NODE_MODULE_VERSION is for (Sam Roberts) #10414
  • [5e5b1f8b89] - src: return early if nextTickQueue is empty (Trevor Norris) #10274
  • [5852336207] - test: add tests for clearBuffer state machine (Safia Abdalla) #9922
  • [6ec798bdd6] - test: update test-cluster-shared-handle-bind-error (cjihrig) #10547
  • [32401b5069] - test: avoid assigning this to variables (cjihrig) #10548
  • [e1fbd72ae7] - test: s/ASSERT/assert/ (cjihrig) #10544
  • [05b0092230] - test: refactor test-debugger-remote (Sakthipriyan Vairamani (thefourtheye)) #10455
  • [82575f9341] - test: refactor test-stream-unshift-read-race (Rich Trott) #10532
  • [4d984ecadb] - test: refactor test-stream-pipe-error-handling (Rich Trott) #10530
  • [2619236212] - test: refactor test-tls-alert-handling (Rich Trott) #10482
  • [8ac9d07805] - test: fix flaky test-http-client-timeout-with-data (Rich Trott) #10431
  • [ef5a43a0e3] - test: improve test-http-allow-req-after-204-res (Adrian Estrada) #10503
  • [4a16f9b054] - test: improve test-fs-empty-readStream.js (Adrian Estrada) #10479
  • [5fc93ee841] - test: refactor the code in test-http-connect (Adrian Estrada) #10397
  • [78e8aa81c9] - test: refactor test-stream-pipe-after-end (Rich Trott) #10483
  • [0a0c190db5] - test: use strictEqual in test-http-server (Fabrice Tatieze) #10478
  • [04d82a5122] - test: refactor test-stdin-from-file (Rob Adelmann) #10331
  • [00f791af74] - test: refactor test-stream2-unpipe-drain (Chris Story) #10033
  • [eb1adbb48e] - test: refactor the code in test-dns-ipv4 (Adrian Estrada) #10200
  • [dff48af67f] - test: add regex to text-crypto-random (Nate) #10020
  • [5164b56224] - test: add test for SIGWINCH handling by stdio.js (Sarah Meyer) #10063
  • [1aa3ab1ec6] - test: refactor the code in test-fs-chmod (Adrian Estrada) #10440
  • [4f1d9452de] - test: swap var for let/const throughout (Paul Graham) #10177
  • [f6ed233546] - test: improve the code in test-pipe.js (Adrian Estrada) #10452
  • [011bd4675a] - test: improve code in test-fs-readfile-error (Adrian Estrada) #10367
  • [98fcb221d5] - test: improve code in test-vm-preserves-property (Adrian Estrada) #10428
  • [cdf028c5a6] - test: improve code in test-vm-symbols (Adrian Estrada) #10429
  • [94a894acf2] - test: fix and improve debugger-client test (Sakthipriyan Vairamani (thefourtheye)) #10371
  • [d4c888df88] - test: basic functionality of readUIntLE() (larissayvette) #10359
  • [a5b8d097c5] - test: clean up repl-reset-event file (Kailean Courtney) #9931
  • [599a2a956b] - test: refactor test-child-process-ipc (malen) #9990
  • [d33e560929] - test: fix and improve debug-break-on-uncaught (Sakthipriyan Vairamani (thefourtheye)) #10370
  • [9349f086d9] - test: refactor test-internal-modules (Christy Leung) #10016
  • [2ad9faa19e] - test: add second argument to assert.throws() (Ken Russo) #9987
  • [4bfd9c0a35] - test: refactor test-pipe-file-to-http (Josh Mays) #10054
  • [1b9f548e7d] - test: refactor test-tls-interleave (Brian Chirgwin) #10017
  • [db3ac5d6e7] - test: refactor test-tls-client-getephemeralkeyinfo (Harish Tejwani) #9954
  • [bbe618d3e2] - test: refactor test-cluster-send-handle-twice.js (Amar Zavery) #10049
  • [5d64f3d76f] - test: update test-tls-check-server-identity.js (Kevin Cox) #9986
  • [e6702d6d9b] - test: fix flaky test-https-timeout (Rich Trott) #10404
  • [44f4d6001f] - test: improve test-cluster-net-listen.js (Rico Cai) #9953
  • [d3bef30b5f] - test: refactor test-child-process-stdin (Segu Riluvan) #10420
  • [e9b2325d68] - test: test error messages in test-dns-regress-7070 (Wallace Zhang) #10058
  • [826decf8e5] - test: basic functionality of readUIntBE() (larissayvette) #10417
  • [91a2dc216d] - test: improve test-cluster-worker-constructor.js (Adrian Estrada) #10396
  • [a82be5d44c] - test: refactor test-init.js (Sakthipriyan Vairamani (thefourtheye)) #10384
  • [ed76bfa7ba] - test: refactor code in test-cluster-http-pipe (Adrian Estrada) #10297
  • [9a0711d37f] - test: improve code in test-http-bind-twice.js (Adrian Estrada) #10318
  • [9d0220c4de] - test: fix linter error in whatwg-url-parsing (Sakthipriyan Vairamani (thefourtheye)) #10421
  • [bee7d7e32c] - test: change var declarations, add mustCall check (Daniel Sims) #9962
  • [a2ec794d3b] - test: added validation regex argument to test (Avery, Frank) #9918
  • [14826d0569] - test: refactoring test-cluster-worker-constructor (Christopher Rokita) #9956
  • [274eef4da0] - test: refactoring test-pipe-head (Travis Bretton) #10036
  • [7c406e819b] - test: refactor test-stdin-script-child (Emanuel Buholzer) #10321
  • [501165f0c1] - test: fix timers-same-timeout-wrong-list-deleted (Rich Trott) #10362
  • [ba63363512] - test: refactor test-stream2-writable (Rich Trott) #10353
  • [a5a738cca7] - test: refactor test-tls-0-dns-altname (Richard Karmazin) #9948
  • [12a3b189da] - test: refactor test-cluster-net-listen (Segu Riluvan) #10047
  • [18a75a085d] - test: test: refactor test-sync-fileread (Jason Wohlgemuth) #9941
  • [815b5bdcf4] - test: change assert.strict to assert.strictEqual() (Ashita Nagesh) #9988
  • [f1cc0a4d26] - test: add regex check in test-buffer-bad-overload (Sam Shull) #10038
  • [0684211d12] - test: refactor the code in test-http-keep-alive (Adrian Estrada) #10350
  • [a815a23631] - test: improve domain-top-level-error-handler-throw (CodeVana) #9950
  • [3448e8e522] - test: use strictEqual in test-cwd-enoent-repl.js (Neeraj Sharma) #9952
  • [fc2fd920ab] - test: refactor test-net-reconnect-error (Duy Le) #9903
  • [a7c9c5685e] - test: add test-require-invalid-package (Duy Le) #9903
  • [d1b4c5dc61] - test: refactor test-child-process-kill (Duy Le) #9903
  • [2f92945a70] - test: use consistent block spacing (Rich Trott) #10377
  • [9a9e530291] - test: add known_issues test for #5350 (AnnaMag) #10319
  • [76b0e5bfbe] - test: refactor test-timers-this (Rich Trott) #10315
  • [797d9a8e79] - tools: refactor json.js (Rich Trott) #10442
  • [05332942e2] - tools: enforce linebreak after ternary operators (Michaël Zasso) #10213
  • [3a7b63b81b] - tools: enable block-spacing rule in .eslintrc (Rich Trott) #10377
  • [3195fb45ae] - url: set toStringTag for the URL class (James M Snell) #10562
  • [659d522d7c] - url: fix accidental filemode change (James M Snell) #10549
  • [6977224059] - url: fix URL query update if searchParams changes (Michaël Zasso) #10486
  • [78e867492a] - url: improve spec compliance of WHATWG URL (Michaël Zasso) #10317
  • [2b98ea0dec] - url: move originFor, domainToAscii and domainToUnicode (James M Snell) #10512
  • [e210efad9e] - url: performance improvement in URL implementation (James M Snell) #10469
  • [7fbd12f876] - url: make WHATWG URL properties spec compliant (Joyee Cheung) #10408
  • [495213e545] - url: mark ignored return value in node::url::Parse(...) (Christopher J. Brody) #10141
  • [ba46374cb9] - watchdog: add flag to mark handler as disabled (Bartosz Sosnowski) #10248

下载

本站原创,转载时保留以下信息:
本文转自:深度开源(open-open.com)
原文地址:http://www.open-open.com/news/view/11e6b2d

正文到此结束
Loading...