Weekly Update - Mar 20th, 2015
Julian Duque
io.js 1.6 release
This week we had a two io.js releases v1.6.1 and v1.6.0, complete changelog can be found on GitHub.
Notable changes
1.6.1
- path: New type-checking on
path.resolve()
#1153 uncovered some edge-cases being relied upon in the wild, most notablypath.dirname(undefined)
. Type-checking has been loosened forpath.dirname()
,path.basename()
, andpath.extname()
(Colin Ihrig) #1216. - querystring: Internal optimizations in
querystring.parse()
andquerystring.stringify()
#847 preventedNumber
literals from being properly converted viaquerystring.escape()
#1208, exposing a blind-spot in the test suite. The bug and the tests have now been fixed (Jeremiah Senkpiel) #1213.
1.6.0
- node: a new
-r
or--require
command-line option can be used to pre-load modules at start-up (Ali Ijaz Sheikh) #881. - querystring:
parse()
andstringify()
are now faster (Brian White) #847. - http: the
http.ClientRequest#flush()
method has been deprecated and replaced withhttp.ClientRequest#flushHeaders()
to match the same change now in Node.js v0.12 as per joyent/node#9048 (Yosuke Furukawa) #1156. - net: allow
server.listen()
to accept aString
option forport
, e.g.{ port: "1234" }
, to match the same option being accepted innet.connect()
as of joyent/node#9268 (Ben Noordhuis) #1116. - tls: further work on the reported memory leak although there appears to be a minor leak remaining for the use-case in question, track progress at #1075.
- v8: backport a fix for an integer overflow when
--max_old_space_size
values above4096
are used (Ben Noordhuis) #1166. - platforms: the io.js CI system now reports passes on FreeBSD and SmartOS (Solaris).
- npm: upgrade npm to 2.7.1. See npm CHANGELOG.md for details.
Known Issues
- Possible remaining TLS-related memory leak(s), details at #1075.
- Surrogate pair in REPL can freeze terminal #690
- Not possible to build io.js as a static library #686
process.send()
is not synchronous as the docs suggest, a regression introduced in 1.0.2, see #760 and fix in #774- Calling
dns.setServers()
while a DNS query is in progress can cause the process to crash on a failed assertion #894
Community Updates
- browserify supports io.js, you can check the announcement here
- express.js added support to io.js
- Over the last two weeks we got access to hardware from Joyent and upstreamed a patch to V8 so we got io.js building. After that we worked on passing tests for both SmartOS and FreeBSD which as of two days ago now pass, this was thanks to the amazing work of the build team and Johan Bergström
- Petka Antonov is proposing a workers implementation in io.js under an experimental flag, you can join the discussion here
- io.js upgraded openssl to
1.0.1m
Upcoming Events
- NodeConf tickets are on sale, June 8th and 9th at Oakland, CA and NodeConf Adventure for June 11th - 14th at Walker Creek Ranch, CA
- CascadiaJS tickets are on sale, July 8th - 10th at Washington State
- NodeConf EU tickets are on sale, September 6th - 9th at Waterford, Ireland