Node.js v4.4.7发布

摘要:Node.js是一个后端的Javascript运行环境(支持的系统包括Linux、Windows和Mac等)。

看到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提供了其他语言能够实现的许多功能。

更新日志

Notable Changes

  • debugger:
    • All properties of an array (aside from length) can now be printed in the repl (cjihrig) #6448
  • npm:
    • Upgrade npm to 2.15.8 (Rebecca Turner) #7412
  • stream:
    • Fix for a bug that became more prevalent with the stream changes that landed in v4.4.5. (Anna Henningsen) #7160
  • V8:
    • Fix for a bug in crankshaft that was causing crashes on arm64 (Myles Borins) #7442
    • Add missing classes to postmortem info such as JSMap and JSSet (evan.lucas) #3792

Commits

  • [87cdb83a96] - benchmark: merge url.js with url-resolve.js (Andreas Madsen) #5177
  • [921e8568d5] - benchmark: move misc to categorized directories (Andreas Madsen) #5177
  • [c189eec14e] - benchmark: fix configuation parameters (Andreas Madsen) #5177
  • [58ad451f0b] - benchmark: move string-decoder to its own category (Andreas Madsen) #5177
  • [a01caa3166] - build: don't compile with -B, redux (Ben Noordhuis) #6650
  • [37606caeaf] - build: don't compile with -B (Ben Noordhuis) #6393
  • [64fb7a1929] - build: update android-configure script for npm (Robert Chiras) #6349
  • [43ce6fc8d2] - build: fix DESTCPU detection for binary target (Richard Lau) #6310
  • [6dfe7aeed5] - cares: Support malloc(0) scenarios for AIX (Gireesh Punathil) #6305
  • [2389006720] - debugger: display array contents in repl (cjihrig) #6448
  • [1c6809ce75] - debugger: introduce exec method for debugger (Jackson Tian)
  • [200b3ca9ed] - deps: upgrade npm in LTS to 2.15.8 (Rebecca Turner) #7412
  • [49921e8819] - deps: backport 102e3e87e7 from V8 upstream (Myles Borins) #7442
  • [de00f91041] - deps: backport bc2e393 from v8 upstream (evan.lucas) #3792
  • [1549899531] - dgram,test: add addMembership/dropMembership tests (Rich Trott) #6753
  • [0ba3c2ca66] - doc: fix layout problem in v4 changelog (Myles Borins) #7394
  • [98469ad84d] - doc: correct args for cluster message event (Colin Ihrig) #7297
  • [67863f110b] - doc: update licenses (Myles Borins) #7127
  • [c31eaad42d] - doc: clarify buffer class (Steve Mao) #6914
  • [e0dd476fe5] - doc: fix typos in timers topic to aid readability (Kevin Donahue) #6916
  • [a8391bc9fc] - doc: add jhamhader to collaborators (Yuval Brik) #6946
  • [22ca7b877b] - doc: add @othiym23 to list of collaborators (Forrest L Norvell) #6945
  • [2c3c4e5819] - doc: reference list of language-specific globals (Anna Henningsen) #6900
  • [5a1a0b5ed1] - doc: make the api doc print-friendly (Marian) #6748
  • [03db88e012] - doc: add bengl to collaborators (Bryan English) #6921
  • [fbf95dde94] - doc: Update DCO to v1.1 (William Kapke) #6353
  • [f23a9c39c0] - doc: fix typo in Error.captureStackTrace (Mohsen) #6811
  • [30ab6a890c] - doc: fix name to match git log (Robert Jefe Lindstaedt) #6880
  • [2b0f40ca16] - doc: add note for fs.watch virtualized env (Robert Jefe Lindstaedt) #6809
  • [3b461870be] - doc: Backport ee.once doc clarifications to 4.x. (Lance Ball) #7103
  • [eadb7e5b20] - doc: subdivide TOC, add auxiliary links (Jeremiah Senkpiel) #6167
  • [107839c5dd] - doc: no Node.js(1) (Jeremiah Senkpiel) #6167
  • [401325f9e2] - doc: better example & synopsis (Jeremiah Senkpiel) #6167
  • [c654184f28] - doc: remove link to Sign in crypto.md (Kirill Fomichev) #6812
  • [3e9288e466] - doc: fix exec example in child_process (Evan Lucas) #6660
  • [3d820e45b4] - doc: "a" -> "an" in api/documentation.md (Anchika Agarwal) #6689
  • [352496daa2] - doc: move the readme newcomers section (Jeremiah Senkpiel) #6681
  • [ac6b921ce5] - doc: mention existence/purpose of module wrapper (Matt Harrison) #6433
  • [97d1fc0fc6] - doc: improve onboarding-extras.md formatting (Jeremiah Senkpiel) #6548
  • [c9b144ddd4] - doc: linkify remaining references to fs.Stats object (Kevin Donahue) #6485
  • [d909c25a33] - doc: fix the lint of an example in cluster.md (yorkie) #6516
  • [21d02f460f] - doc: add missing underscore for markdown italics (Kevin Donahue) #6529
  • [18ecc779bb] - doc: ensure consistent grammar in node.1 file (justshiv) #6426
  • [52d9e7b61d] - doc: fix a typo in __dirname section (William Luo) #6473
  • [de20235235] - doc: remove all scrollbar styling (Claudio Rodriguez) #6479
  • [a6f45b4eda] - doc: Remove extra space in REPL example (Juan) #6447
  • [feda15b2b8] - doc: update build instructions for OS X (Rich Trott) #6309
  • [3d1a3e4a30] - doc: change references to Stable to Current (Myles Borins) #6318
  • [e28598b1ef] - doc: update authors (James M Snell) #6373
  • [0f3a94acbd] - doc: add JacksonTian to collaborators (Jackson Tian) #6388
  • [d7d54c8fd2] - doc: add Minqi Pan to collaborators (Minqi Pan) #6387
  • [83721c6fd2] - doc: add eljefedelrodeodeljefe to collaborators (Robert Jefe Lindstaedt) #6389
  • [b112fd1b4e] - doc: add ronkorving to collaborators (ronkorving) #6385
  • [ac60d9cc86] - doc: add estliberitas to collaborators (Alexander Makarenko) #6386
  • [435cd56de5] - doc: DCO anchor that doesn't change (William Kapke) #6257
  • [7d8141dd1b] - doc: add stefanmb to collaborators (Stefan Budeanu) #6227
  • [6dfc96326d] - doc: add iWuzHere to collaborators (Imran Iqbal) #6226
  • [3dbcc73159] - doc: add santigimeno to collaborators (Santiago Gimeno) #6225
  • [ae3eb24a3d] - doc: add addaleax to collaborators (Anna Henningsen) #6224
  • [46ee7bb4ba] - doc: fix incorrect references in buffer docs (Amery) #6194
  • [e3f78eb7c1] - doc: improve rendering of v4.4.5 changelog entry (Myles Borins) #6958
  • [bac87d01d9] - gitignore: adding .vs/ directory to .gitignore (Mike Kaufman) #6070
  • [93f2314dc2] - gitignore: ignore VS 2015 *.VC.opendb files (Mike Kaufman) #6070
  • [c98aaf59bf] - http: speed up checkIsHttpToken (Jackson Tian) #4790
  • [552e25cb6b] - lib,test: update in preparation for linter update (Rich Trott) #6498
  • [aaeeec4765] - lib,test,tools: alignment on variable assignments (Rich Trott) #6869
  • [b3acbc5648] - net: replace defineGetter with defineProperty (Fedor Indutny) #6284
  • [4c1eb5bf03] - repl: create history file with mode 0600 (Carl Lei) #3394
  • [90306bb81d] - src: use size_t for http parser array size fields (Ben Noordhuis) #5969
  • [af41a63d0f] - src: replace ARRAY_SIZE with typesafe arraysize (Ben Noordhuis) #5969
  • [037291e31f] - src: make sure Utf8Value always zero-terminates (Anna Henningsen) #7101
  • [a08a0179e9] - stream: ensure awaitDrain is increased once (David Halls) #7292
  • [b73ec46dcb] - stream: reset awaitDrain after manual .resume() (Anna Henningsen) #7160
  • [55319fe798] - stream_base: expose bytesRead getter (Fedor Indutny) #6284
  • [0414d882ce] - test: fix test-net-* error code check for getaddrinfo(3) (Natanael Copa) #5099
  • [be0bb5f5fc] - test: fix unreliable known_issues test (Rich Trott) #6555
  • [ab50e82f42] - test: fix test-process-exec-argv flakiness (Santiago Gimeno) #7128
  • [4e38655d5f] - test: refactor test-tls-reuse-host-from-socket (Rich Trott) #6756
  • [1c4549a31e] - test: fix flaky test-stdout-close-catch (Santiago Gimeno) #6808
  • [3b94e31245] - test: robust handling of env for npm-test-install (Myles Borins) #6797
  • [4067cde7ee] - test: abstract skip functionality to common (Jeremiah Senkpiel) #7114
  • [8b396e3d71] - test: fix test-debugger-repl-break-in-module (Rich Trott) #6686
  • [847b29c050] - test: fix test-debugger-repl-term (Rich Trott) #6682
  • [1d68bdbe3f] - test: fix error message checks in test-module-loading (James M Snell) #5986
  • [7e739ae159] - test,tools: adjust function argument alignment (Rich Trott) #7100
  • [216486c2b6] - tools: lint for function argument alignment (Rich Trott) #7100
  • [6a76485ad7] - tools: update ESLint to 2.9.0 (Rich Trott) #6498
  • [a31153c02c] - tools: remove the minifying logic (Sakthipriyan Vairamani) #6636
  • [10bd1a73fd] - tools: fix license-builder.sh again for ICU (Steven R. Loomis) #6068
  • [0f6146c6c0] - tools: add tests for the doctool (Ian Kronquist) #6031
  • [cc3645cff3] - tools: lint for alignment of variable assignments (Rich Trott) #6869

下载

Windows Installer (.msi) 32-bit 64-bit
Windows Binary (.exe) 32-bit 64-bit
Mac OS X Installer (.pkg) 64-bit
Mac OS X Binaries (.tar.gz) 64-bit
Linux Binaries (.tar.xz) 32-bit 64-bit
Source Code node-v4.4.7.tar.gz

Additional Platforms

ARM Binaries (.tar.xz) ARMv6 ARMv7 ARMv8
SunOS Binaries (.tar.xz) 32-bit 64-bit
Docker Image Official Node.js Docker Image
Linux on Power Systems 64-bit le 64-bit be
Linux on System z Download (Unofficial, provided by IBM)
AIX on Power Systems Download (Unofficial, provided by IBM)

 

扩展阅读

2014年国人开发的最热门的开源软件TOP 100
8 本最好的免费在线Node.js开发电子书籍
年度最佳硬件、软件、开发工具和云服务
2004至今 微软开源大事记
如何在2016年成为一个更好的Node.js开发者

为您推荐

Vue.js 0.11.6 发布,JavaScript 库
Node.js v6.2.1 发布
5个实用的CSS代码开发片段
2016年2月最新开发资源
FEX 技术周刊 - 2015/11/23

更多

Node.js
JavaScript
开源软件