
Node v0.12.0 (Stable) - TimWolla
http://blog.nodejs.org/2015/02/06/node-v0-12-0-stable/
======
dap
I'm really excited that this version of Node includes updates I made for the
debugger module[0], including the ability to show you the closures in your
program[1]. (This has already helped nail some memory issues in Node itself.)
I hope to blog about it in more detail next week.

[0]
[https://www.joyent.com/developers/node/debug/mdb](https://www.joyent.com/developers/node/debug/mdb)

[1]
[https://github.com/joyent/node/issues/8718](https://github.com/joyent/node/issues/8718)

~~~
ryanstevens
@dap, that's very excited work! Would love to sit with you soon and watch you
use the debugger with these enhancements.

~~~
dap
Cool idea. I'll be demo'ing them at NodeSummit too!

------
wereHamster
No mention which version of V8 they use. Did they sync with what Chrome is
using nowadays?

Anyways, I've already switched to iojs. I'm sharing part of my code between
server and client and it has become increasingly painful to work around the
lack of progress on the nodejs side of the network.

~~~
Kiro
> I'm sharing part of my code between server and client

How? And why is it a problem with node but not iojss?

~~~
maratd
You can easily use the same framework both on the server and client,
especially a general purpose one. Makes life easier.

io.js uses the current version of V8. node uses an outdated one.

Makes life easier if your code is being executed in the same engine, with the
same version. Everything that works in one, works on the other.

------
felixrieseberg
Good to see that a new version is out - if anybody here wants to take it for a
spin on Azure Websites, we at Microsoft just created a small one-click
script[1] that installs this version.

[1]:
[https://github.com/felixrieseberg/node12-azure](https://github.com/felixrieseberg/node12-azure)

------
neumino
They didn't catch up on v8 and libuv and they didn't deliver the supported C++
API. Congrats on the release, but it's kind of disappointing.

------
sync
So can I use generators without a --harmony-generators flag now? Surprised
there aren't any mentions of ES6 in the blog, considering the competition from
io.js.

~~~
sync
Answering my own question: nope!

~~~
kevsim
This is by far the most disappointing bit of the release for me. Catch up with
the V8 releases already!

------
jtwebman
I am glad this is out but bummed about the V8 engine being so old. I see why
IO.JS is a thing now but I also understand you want stability as well.

~~~
onestone
I disagree with the assumption that old === stable.

------
antouank
Meh, too late. io.js is the standard now.

~~~
bshimmin
Not sure if this is a joke, but assuming it's not - it's the standard now, and
it's been out for... 2 whole months?!

~~~
tracker1
It's based on node.js from just before the 0.12 stable release. The v8 and
libuv base libraries and other pieces have been updated. It's not like they
started io.js from scratch. It's that most of the core developers have moved
on to io.js at this point.

Barring a merge back into node.js (which could still happen), I don't see
myself going back for new projects.

~~~
hyperpape
That's a fine attitude, but nothing about it justifies talk of "standard".

------
shna
It's been 5 years since node.js is around? is node.js development slow or the
version numbers (scheme) is progressing slow. It sounds like there is at least
a decade for ver 1.0. Probably 1.0 does not mean anything. In my mind version
1.0 is the when the product is complete.

~~~
fnordsensei
Don't stare yourself blind at version numbers, they're just a way to
distinguish one version from another.

Open source projects generally don't follow the same versioning conventions as
closed source projects, as they don't require you to fork over money for each
sharp version.

Also, software can rarely ever be said to be "complete", even theoretically.
Only very small programs can be written once and be said to fulfil their
purpose from then on. For larger programs and systems, the needs and
requirements is usually something you try to approximate with ever increasing
precision. But usually needs and requirements is a moving target as well,
making this task perpetual.

This conspires to make 1.0 more of a marketing decision than to map to any
real "completeness". I've seen whole program rewrites in a 0.01 change of an
open source project. Similarly I've seen projects bumped to 1.0 with very
little ceremony simply because it's been used in production for 8 years now,
and why the hell not?

~~~
fapjacks
I actually looked but couldn't find it in my links, but out there on the
internet somewhere is an interesting marketing study showing how profoundly
more likely people are to pay for software that is versioned at least 1.0. All
of my personal projects are 0.x.x, rarely making it to 1.0. Meanwhile, my
business projects rarely start under 1.0.

------
bcantrill
Several have asked about node.js in contrast to io.js. It's fair to say that
the emphasis of node.js at this point is on stability (including API
stability, production debuggability/observability, etc.) and performance -- in
that order. It definitely takes longer to release software when operating
under these constraints; as the team writes in the linked blog entry:

 _We are also pleased to report that this release of Node.js has tests passing
on all of our supported platforms. On the one hand, this seems obvious (what
are tests for if not to verify before you release it?!), but this is actually
the first release of Node.js that has operated under this constraint.
Requiring that all tests pass before releasing Node.js marks an important
development for the project, and is essential for building a solid path moving
forward._

It's unclear what the divergence will be in the future, but the emphasis of
the node.js team on stability may or may not be shared by io.js -- and in
particular, this may be reflected in things like the V8 version, changes in
which tend to subtly break esoteric things on different platforms. Inasmuch as
the divergence represents different operating principles (i.e., enterprise-
grade stability vs. bleeding edge), it may well be helpful -- and I think it's
entirely conceivable that the projects will develop a symbiotic relationship
moving forward.

~~~
LukeB_UK
A little disingenuous to say the tests pass when they landed this PR:
[https://github.com/joyent/node/pull/8689](https://github.com/joyent/node/pull/8689)

Edit: Also, you should probably mention that you work for Joyent.

~~~
dmpk2k
He probably should, but then, almost everybody using both node and HN knows
who he is.

~~~
xtrumanx
I don't know why you assume that. Who is he anyways and why do you expect
HN+node folks to know who he is?

~~~
dmpk2k
Amongst other things, Bryan Cantrill is the CTO of Joyent, one of the authors
of DTrace, and comments here regularly. If you use node (or DTrace, or ZFS)
and read HN, he's pretty hard to miss.

~~~
untog
I use Node and Hacker News every day. I have no idea who he is. I'm not some
rube, I just don't pay much attention to personalities in tech like that.

------
kolev
Competition at its best! Days after io.js gets released, node.js outs a major
release.

~~~
inglor
With a year and a half old engine, worse performance and none of the new
language features like generators :D

~~~
kolev
It's true, but they are mobilizing, which is good.

------
muaddirac
As a casual node user, I'd love to better understand how this release compares
to io.js. Are they diverging more? Is node playing catch-up?

~~~
pfooti
io.js is built against a much more current version of V8, which notably has
default-on support for a lot of ES6 stuff.

Quite frankly, as a casual node user myself, I'm sticking with node v0.10 for
the time being. I want to see how everything shakes out, and my site runs okay
for now.

~~~
Jare
I think the next security "situation" in node and/or io will be a key decision
point for many of us in similar situations.

------
azurelogic
Both this and io.js 1.1.0 are available via nvm now.

------
btbuildem
I would just like to point out people are running production stuff on v0.x of
something..

~~~
coldtea
"People" including major companies with huge teams of dev-ops.

It's not like 0.x universally means "not production ready" and you know better
to school them.

The version number only has a meaning within the culture of a specific
project. For node, they decided to keep using the 0.x release number long
after the product was mature for production use.

------
throwaway5611
Awesome! Even better, will Joyent pay me to use it?
[https://news.ycombinator.com/item?id=8996797](https://news.ycombinator.com/item?id=8996797)

I hope they have enough Timothy J Fontaines.

~~~
geofft
"Pay" seems like a stretch. The only "money" is in Joyent hosting credit, no?

