Node.js je prakticky vyčleněná I / O knihovna pro V8 javascript engine společnosti Google.
Odborníci ji doporučují pro vytváření a zavádění aplikací v reálném čase, které vyžadují provoz a zpracování dat, které je třeba používat v různých platformách a zařízeních.
Node.js se v současné době považuje za nejvyspělejší platformu pro spouštění javascriptového kódu na straně serveru a používá se ve výrobě ve velkých společnostech, jako je Google, eBay, Yahoo, LinkedIn, Microsoft, Cloud9 a mnoho dalších.
Platforma je velmi dobře zdokumentovaná a využívá velmi velkého úložiště modulů, spravovaného pomocí nástroje npm (Node.js Package Manager).
Verze 6.x je doporučena pro stabilní prostředí, zatímco verze 7.x je stabilní, ale obsahuje experimentální funkce.
& nbsp;
Co je nového v této verzi:
- události: ujistěte se, že existují funkce konzoly
- fs: přidat možnost autoClose fs.createWriteStream
- http: zlepšuje očekávání zpracování záhlaví
- uzel: povolte předdefinovací moduly s -i
- v8, src: odhalit statistiky o prostorách haldy (v8.getHeapSpaceStatistics ())
Co je nového ve verzi 6.7.0 / 4.6.0:
- události: ujistěte se, že existují funkce konzoly
- fs: přidat možnost autoClose fs.createWriteStream
- http: zlepšuje očekávání zpracování záhlaví
- uzel: povolte předdefinovací moduly s -i
- v8, src: odhalit statistiky o prostorách haldy (v8.getHeapSpaceStatistics ())
Co je nového ve verzi 6.5.0 / 4.5.0:
- události: ujistěte se, že existují funkce konzoly
- fs: přidat možnost autoClose fs.createWriteStream
- http: zlepšuje očekávání zpracování záhlaví
- uzel: povolte předdefinovací moduly s -i
- v8, src: odhalit statistiky o prostorách haldy (v8.getHeapSpaceStatistics ())
Co je nového ve verzi 6.3.0 / 4.4.7:
- události: ujistěte se, že existují funkce konzoly
- fs: přidat možnost autoClose fs.createWriteStream
- http: zlepšuje očekávání zpracování záhlaví
- uzel: povolte předdefinovací moduly s -i
- v8, src: odhalit statistiky o prostorách haldy (v8.getHeapSpaceStatistics ())
Co je nového ve verzi 6.2.0 / 4.4.5:
Nové v Node.js 5.0.0 (30. října 2015)
Co je nového ve verzi 6.0.0 / 4.4.3:
- události: ujistěte se, že existují funkce konzoly
- fs: přidat možnost autoClose fs.createWriteStream
- http: zlepšuje očekávání zpracování záhlaví
- uzel: povolte předdefinovací moduly s -i
- v8, src: odhalit statistiky o mezery haldy (v8.getHeapSpaceStatistics ())
Co je nového ve verzi 4.4.3 / 5.10.1:
- události: ujistěte se, že existují funkce konzoly
- fs: přidat možnost autoClose fs.createWriteStream
- http: zlepšuje očekávání zpracování záhlaví
- uzel: povolte předdefinovací moduly s -i
- v8, src: odhalit statistiky o mezery haldy (v8.getHeapSpaceStatistics ())
Co je nového ve verzi 4.4.0 / 5.8.0:
- události: ujistěte se, že existují funkce konzoly
- fs: přidat možnost autoClose fs.createWriteStream
- http: zlepšuje očekávání zpracování záhlaví
- uzel: povolte předdefinovací moduly s -i
- v8, src: odhalit statistiky o prostorách haldy (v8.getHeapSpaceStatistics ())
Co je nového ve verzi 4.2.6 / 5.5.0:
- události: ujistěte se, že existují funkce konzoly
- fs: přidat možnost autoClose fs.createWriteStream
- http: zlepšuje očekávání zpracování záhlaví
- uzel: povolte předdefinovací moduly s -i
- v8, src: odhalit statistiky o prostorách haldy (v8.getHeapSpaceStatistics ())
Co je nového ve verzi 4.2.2 / 5.2.0:
- fs.readFile * (), fs.writeFile * () a fs.appendFile * () nyní také přijímají deskriptor souboru jako svůj první argument
- Byla opravena chyba, při které by se potlačení http požadavků stalo
- npm: Upgradoval na verzi 3.3.6 z 2.14.7
- Pokuste se znovu použít rukojeť časovače pro setTimeout (). unref ().
- Přidána podpora ALPN
- Volby TLS lze předat v objektu CreateSecurePair ()
- zlib: Dekomprese nyní hází na zkrácený vstup
Co je nového ve verzi 4.1.1:
- child_process: ChildProcess.prototype.send () a process.send () pracují asynchronně na všech platformách, takže byl zaveden volitelný parametr zpětného volání, který bude vyvolán po odeslání zprávy, tj. send (message [, sendHandle ] [, zpětné volání]).
- Uzel: Přejmenujte kód "io.js" na "Node.js".
- node-gyp: Tato verze sdružuje aktualizovanou verzi uzlu-gyp, který pracuje se všemi verzemi Node.js a io.js včetně nočních a uvolňovacích kandidátů. Od verze io.js v3 a Node.js v4 bude stahovat hlavičkové soubory pouze při vytváření addonů, nikoliv celého zdroje.
- npm: Aktualizace na verzi 2.14.2 z verze 2.13.3 obsahuje aktualizaci zabezpečení, viz https://github.com/npm/npm/releases/tag/v2.14.2 pro další podrobnosti.
- Časovače: Vylepšený výkon časovače při přenosu implementace 0.12 plus drobné opravy.
- util: Funkce util.is * () byly zastaralé, začínající s upozorněním na odmítnutí v dokumentaci k tomuto vydání, uživatelé jsou vyzýváni, aby v registru npm hledali další robustnější alternativy.
- v8: Upgrade na verzi 4.5.103.30 z 4.4.63.30.
Co je nového ve verzi 0.12.7:
- openssl: upgrade na verzi 1.0.1p
- npm: upgrade na 2.11.3
- V8: náplast JitCodeEvent z třešňového výběru z proudu
- win, msi: vytvořte složku npm v adresáři AppData li>
Co je nového ve verzi 0.12.4:
- npm: upgrade na 2.10.1
- V8: vrácení v8 Array.prototype.values () odstranění
- win: vrátit zpět podporu xp / 2k3
Co je nového ve verzi 0.12.2:
- openssl: upgrade na 1.0.1m (adresování více CVES)
Co je nového ve verzi 0.12.0:
- Toky 3:
- Implementace datových proudů funguje tak, jak jste si to již mysleli, aniž byste zavedli žádné změny API. V podstatě to znamená, že v "starém módu" už nemusíte uvíznout, existují pouze toky, které tekoucí nebo ne.
- Toky nyní podporují použití korkového a uncork mechanizmů, aby se zabránilo proplachování vypíše do systému, pokud aplikace bude provádět řadu zápisů v řadě. Při ukončení zapisovatelného streamu se provádí implicitní uncork.
- HTTP:
- maxSockets již nejsou omezeny na 5. Výchozí hodnota je nyní nastavena na Nekonečno s vývojářem a operační systém dává kontrolu nad tím, kolik simultánních připojení může být aplikace otevřená danému hostiteli.
- Správná podpora služby KeepAlive znamená, že zásuvky zůstanou otevřené, dokud nevyprší časový limit v nastaveném čase, nebudou zavřeny vzdáleným okrajem nebo proces ukončí. Vývojáři už nemuseli dbát na to, aby byly požadavky přivedeny k otevření soketu nebo k získání takové podpory použili alternativní modul.
- Vývojáři mohou také nyní explicitně spláchnoutHeadery, aby zajistili, že doba do prvního bytu je nízká a proxy spojení zůstávají otevřené.
- Klastr:
- Nyní má dva režimy provozu, nový výchozí je distribuční mechanismus s kulatým robinem, kde master přijímá nová připojení a distribuuje je vašim pracovníkům. Pokud chcete, můžete se vrátit zpět do staré metody, ve které jsou vaši pracovníci zodpovědní za připojení.
- TLS:
- Máme nový mechanismus TLSWrap pod kapotou, což eliminuje poměrně málo chmele tam a zpět mezi JavaScriptem a našimi C ++ implementacemi.
- Přidány rozhraní API pro asynchronní zpětné volání SNI, sešívání OCSP a události ukládání.
- Buffer:
- Používáme přesnější mechanismus pro přidělování paměti pro vyrovnávací paměti, což znamená, že uvidíte menší režii a náraz z držení na malé plátky vyrovnávacích pamětí. To snižuje množství paměti v systému, což znamená, že GC běhy jsou rychlejší, což znamená, že Node.js je na CPU méně a tím i nižší latence pro vaše aplikace.
- child_process:
- byly přidány funkce spawnSync / execSync pro usnadnění synchrónních podřízených procesů, varování, že váš proces uzlů nebude v průběhu čekání na opuštění dítěte urychlený.
- Crypto:
- Přidány API pro načítání vlastních strojů pro použití s kompilovanými v OpenSSL.
- Další rozhraní API podporuje podávání hesel.
- Přidány rozhraní API pro šifrování / dešifrování veřejného / soukromého klíče RSA.
- VM:
- Modul je nyní založen na modulu Contextify, který sdílí hodnoty z karantény, aby se zabránilo tomu, že se chybějící změny uvnitř provádění objeví v nadřazeném kontextu.
- Počáteční podpora rozhraní ECMAScript Internationalization API 1.0 (ECMA-402)
- Ve výchozím nastavení jsou binární soubory Node.js v0.12.0 dodávány s podporou ECMA-402, ale pouze pro anglický jazyk. Jinými slovy, rozhraní ECMA-402 API pracuje tak, jak byste očekávali, ale jsou zahrnuty pouze údaje pro anglický jazyk.
Co je nového ve verzi 0.10.36:
- openssl: Aktualizace na 1.0.1l
- v8: Opravit ladicí program a regresi přísného režimu
- v8: Nepoužívejte smyčku v profilu cpu
Co je nového ve verzi 0.10.34:
- uv: Aktualizace v0.10.30
- zlib: upgrade na v1.2.8
- child_process: zkontrolujte, zda příkaz execFile args je pole
- child_process: zkontrolujte, že vidlice ark je pole
- krypto: aktualizovat kořenové certifikáty
- doména: opravit problémy s přerušením nevyžádané
- Časovače: Vyvarujte se lineárního skenování v souboru _unrefActive
- časovače: fix unref () únik paměti
- v8: přidejte api pro přerušení na nezpracovanou výjimku
- ladicí program: oprava při použití "použijte přísné"
Co je nového ve verzi 0.10.33:
- openssl: Aktualizace na 1.0.1j
- uv: Aktualizace na v0.10.29
- child_process: správně podporovat volitelné args
- crypto: Ve výchozím nastavení zakázat automatické vyjednávání pro SSLv2 / 3
Co je nového ve verzi 0.10.32:
- npm: Aktualizace na 1.4.28
- v8: Opravte havárii zavedenou předchozím vydáním
- konfigurovat: přidat příznak --openssl-no-asm
- crypto: použijte domény pro libovolnou metodu zpětného volání
- http: neposílejte 0rnrn v reakcích TE HEAD
- querystring: fix override override
- url: Přidejte podporu oddělovačů RFC 3490
Co je nového ve verzi 0.10.31:
- v8: backport CVE-2013-6668.
- openssl: Aktualizace na v1.0.1i.
- npm: Aktualizace na v1.4.23.
- cluster: odpojení by nemělo být synchronní.
- fs: oprava fs.readFileSync fd úniku při získání RangeError.
- proud: fixable Read.wrap objectMode false hodnoty.
- časovače: opravte časovače s necelým zpožděním.
Co je nového ve verzi 0.10.30:
- uv: Aktualizace na v0.11.14
- v8: upgrade 3.21.18.3
- assert: uveďte, zda se generuje zpráva o výjimce
- vyrovnávací paměť: přidat buf.toArrayBuffer () API
- cluster: opravit předčasnou událost "odpojit"
- crypto: přidat podporu SPKAC
- debugger: počítat správně počet řádků
- ladicí program: zaneprázdněná smyčka SIGUSR1-přerušitelná
- ladicí program: opakujte poslední příkaz
- ladicí program: zobrazit aktuální řádek
- dgram: send () může přijímat řetězce
- dns: přejmenovat doménu na název hostitele
- dns: nastaví vlastnost hostname na objekt chyby
- dtrace, mdb_v8: podpora více řetězců, typy rámců
- http: přidat statusMessage
- http: odhalte podporované metody
Co je nového ve verzi 0.10.29:
- child_process: nenastavujte args před házením
- child_process: spawn () nehazuje TypeError
- konstanty: export O_NONBLOCK
- crypto: vylepšení využití paměti
- fs: zavření souboru pokud fstat () selže v souboru readFile ()
- lib: jméno metody prototypu EventEmitter
- tls: opravit problém s výkonem
Co je nového ve verzi 0.10.27:
- child_process: oprava zablokování při odesílání úchytek
- child_process: dvakrát opravit popisovač
- crypto: nezakrývejte šifrovací šifry / hash názvy
- dtrace: chyba propojení s linkerem na FreeBSD
- http: Nevydávají EOF nečitelný soket
- http: vyvolat createConnection když žádný agent
- proud: odstraňte zbytečnou kontrolu
- časovač: nepřesouvejte časovač v doméně
- url: zacházet stejně jako /
- util: formátovat jako chybu v případě chyby instanceof
Co je nového ve verzi 0.10.25:
- uv: Upgrade na v0.10.23
- npm: Upgrade na v1.3.24
- v8: Opravit výčet objektů se spoustou vlastností
- child_process: opravit spoušť () volitelných argumentů
- cluster: hlásit pracovníkům více chyb
- domény: exit () ovlivňuje pouze aktivní domény
- src: Spouštěč OnFatalError musí zrušit ()
- proud: píše se může vrátit falešně, ale zapomene vypustit vypouštění
Co je nového ve verzi 0.10.24:
- uv: Upgradovat na v0.10.21
- npm: upgrade na 1.3.21
- v8: oprava backportu pro CVE-2013- {6639 | 6640}
- sestavit: hlavičky knihovny unix install node a dep
- cluster, v8: fix - logfile =% p.log
- modul: pouze hlavní balík cache
Co je nového ve verzi 0.10.22:
- npm: Upgrade na 1.3.14
- uv: Aktualizace na v0.10.19
- child_process: neukládejte na události deskriptoru souboru
- darwin: Opravte položku "Neodpovídá" v monitoru aktivity společnosti Mavericks
- Debugger: Opravte chybu v sb () s neoznačeným skriptem
- repl: nevkládejte duplikace do dokončení
- src: Oprava úniku paměti u uzavřených úchytů
Co je nového ve verzi 0.10.19:
- uv: Upgradovat na v0.10.17
- npm: upgrade na 1.3.11
- readline: ruční vstup začínající ovládacími znaky
- konfigurovat: přidat volbu mips-float-abi (měkká, tvrdá)
- proud: transformace objectMode umožňují hodnoty false
- tls: zabrání duplicitním hodnotám vráceným z čtení
Co je nového ve verzi 0.10.17:
- uv: Aktualizace v0.10.14
- http_parser: Nepřijímáme metody PUN / GEM jako PUT / GET
- tls: opravit tvrzení, když je ssl zničen při čtení
- stream: Chyťte "chybu", pokud jsou posluchači odstraněni
- dgram: oprava tvrzení o špatných parametrech odesílání ()
- readline: pauza stdin před vypnutím terminálu raw
Co je nového ve verzi 0.10.16:
- npm: Upgrade na 1.3.8
- crypto: fix assert () na chybně vytvořeném hexadecimálním vstupu
- crypto: oprava nevracení paměti v náhodně vybrané () dráze chyby
- události: oprava nevracení paměti, nepřecházejte jména událostí
- http: Správně upravte kódování hex / base64
- http: zlepšíte výkon chunked res.write (buf)
- proud: Oprava chyby dvojité trubky vyzařuje
Co je nového ve verzi 0.11.2:
- Upgrade na 0.11.2
- Upgradovat na 3.19.0
- Upgradovat na 1.2.21
- build: Makefile by měl respektovat konfiguraci --prefix
- cluster: použijte vyvažování zátěže zaokrouhleno
- Debugger, cluster: každý pracovník má nový ladicí port
- debugger: `restart` s vlastním ladicím portem
- debugger: dosud nezačleněné zarážky ve skriptech
- událost: EventEmitter # setMaxListeners () vrátí
- události: přidejte EventEmitter.defaultMaxListeners
Co je nového ve verzi 0.10.10:
- uv: Upgrade na hodnotu 0.10.10
- npm: Upgrade na 1.2.25
- url: Správně analyzujte určité podivně vytvořené adresy URL
- proud: unshift ('') je noop
Co je nového ve verzi 0.10.9:
- npm: Upgrade na 1.2.24
- uv: Aktualizace na v0.10.9
- repl: oprava chyby JSON.parse
- tls: správná .destroySoon
- tls: vyvolat zápis cb pouze po opakovaném čtení konce
- tls: ignorovat .shutdown () chyba syscall
Co je nového ve verzi 0.10.7:
- npm: Upgrade na 1.2.21
- crypto: Nezapomeňte ověřit argument kódování
- vyrovnávací paměť, crypto: oprava výchozí regrese kódování
- časovače: fix setInterval () tvrdí
Co je nového ve verzi 0.10.6:
- stream: make Readable.wrap support objectMode, prázdné streamy
- child_process: oprava doručení
- crypto: Oprava regrese výkonu
- src: DRY kódování / dekódování řetězců
Co je nového ve verzi 0.10.5:
- vytvořit: přidána podpora pro Visual Studio 2012.
- http: Nesnažte se zničit neexistující sokety.
- crypto: LazyTransform o vlastnostech, ne o metodách.
- tvrdí: vložte info do err.message, ne err.name.
- dgram: oprava adresy bind ().
- handle_wrap: opravit dereference ukazatele NULL.
- os: opravit nepravděpodobný přetečení vyrovnávací paměti v os.type ().
- proud: Opravit unshift () podmínky závodu.
Co je nového ve verzi 0.10.4:
- http: Podpora zápisu (data, 'hex').
- crypto: tajemství dh by mělo být levé.
- proces: odhalí NODE_MODULE_VERSION v process.versions.
- crypto: oprava konstruktoru zavolejte do kryptových toků.
- net: účet pro kódování v .byteLength.
- net: oprava vyrovnávací paměti v bajtechWritten.
- crypto: nula není chyba při zápisu 0 bajtů.
Co je nového ve verzi 0.10.2:
- tls: odstraňte kontrolu škodlivých nepotřebných hranic.
- crypto: Zadejte příkaz getCiphers () vrací šifry bez SSL.
- crypto: zkontrolujte argumenty velikosti náhodného výběru ().
- Časovače: nevypočítejte vlastnost Timeout._when.
- časovače: opravte chybu ms ms.
- časovače: zacházet s sign. int32 overflow v zápisu ().
- proud: Opravte stahování v Transformaci za velmi specifických podmínek.
- stream: Správa pozdějších "čitelných" posluchačů událostí.
- proud: Opravte předčasné ukončení zápisů v zápisu na nulovou délku.
- doména: oprava zpětného volání domény z MakeCallback.
- child_process: nepoužívejte stejnou rukojeť dvakrát.
Komentáře nebyl nalezen