Është përsëri në këtë kohë të vitit, Node.js 5.0.0 është lëshuar dhe është versioni tjetër i qëndrueshëm i Node.js.
Tani, Node.js 4.x.x është ende versioni i fundit nëse keni lëshime të mëdha të Node.js brenda organizatës suaj. 4.x.x do të marrë ende përditësime të sigurisë dhe mirëmbajtjes së përgjithshme për kohëzgjatjen e ciklit të tij jetësor LTS, megjithatë, nëse doni veçoritë më të fundit dhe më të mëdha, atëherë 5.0.0 do të jetë më se i qëndrueshëm.
Çfarë është e re?
v8:
- Zbaton operatorin e përhapjes, shih.
[...iterableObj, 4, 5, 6]
- Zbaton new.target, shih.
function Foo() {
if (!new.target) throw "Foo() must be called with new";
console.log("Foo instantiated with new");
}
npm:
- Versioni
3.3.6
është përfshirë tani. https://github.com/npm/npm/releases/tag/v3.3.6
konsola:
console.time()
- rezolucioni tani ka 3 dhjetore të saktësisë së shtuar.
fs:
fs.readFile
fs.writeFile
fs.appendFile
Të gjithë këta tani pranojnë një përshkrues skedari si argumentin e tyre të parë.
http:
- Nuk ka më dublikatë të titujve të mëposhtëm:
Retry-After
,ETag
,Last-Modified
,Server
,Age
,Expires
. - Metodat Http dhe emrat e kokës duhet të përputhen me rregullat e "tokenit" të RFC 2616 -
/^[a-zA-Z0-9_!#$%&'*+.^`|~-]+$/
ose një gabim të tipit. OutgoingMessage#setTimeout()
- duhet të jetë një funksion ose është hedhur një gabim i llojit (James M Snell)
tls:
- Mbështetja ALPN është shtuar.
createSecurePair()
- tani mund të kalohet një opsion TLS.
zlib:
- Tani hedh në fund të papritur të skedarëve.
Çfarë është e zhvlerësuar?
i brendshëm:
_linklist
require.paths
require.registerExtension()
buffer:
raw
dheraws
janë hequr si lloje kodimi.
përdor:
.p()
Çfarë ka ndryshuar?
fs:
fs.readFile
fs.read
Disa gabime tani janë kthyer në kthimin e thirrjes në vend që të hidhen.
përdor:
inherits
është përditësuar për të punuar me klasat ES6, megjithatë prototipi është riorganizuar dhe mund të jetë një ndryshim i rëndësishëm për disa konsumatorë.
v8:
4.6.85.25
nga4.5.103.35
kohëmatësit:
setTimeout().unref()
- Përpjekje për të ripërdorur dorezën e kohëmatësit nga brenda; Kjo rregullon një problem të njohur prej kohësh, ku kohëmatësit e parregulluar do të mbaninbeforeExit
të hapur.
tls:
.connect()
- Madhësia minimale e paracaktuar e çelësit DH tani është 1024 bit dhe shfaqet një paralajmërim kur madhësia e çelësit DH është më e vogël se 2048 bit. Ky është një konsideratë sigurie për të parandaluar sulmet 'logjam'. Një opsion i ri MinDHSize TLS mund të përdoret për të anashkaluar parazgjedhjen
Më shumë
Shikoni të gjithë login e ndryshimeve këtu: https://github.com/nodejs/node/blob/v5.0.0/CHANGELOG.md
Në YLD! për çdo kod prodhimi ne do të vazhdojmë të përdorim 4.x.x
, megjithatë për projektet tona do të luajmë me 5.x.x
Shkruar nga Tom Gallacher— Inxhinier i Stafit në YLD.