
Node v7.5.0 Released - nikolay
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V7.md#7.5.0
======
omouse
Just wanted to leave a comment about the ChangeLog which is a list of commits.
It would be nice if they sat down for a day (or two) to write down proper
release notes that made reference to various commits and outlined exactly what
is changing, like if there are backwards compatibility issues or if there are
very important bugs solved.

The changelog here looks like a git log :/ I mean, I can do better on my own
projects (and have been trying to do so with node-oauth-libre) but for a major
project it would be nicer if it had nice release notes.

~~~
kosinus
I actually like these release notes? The commits are an extra, and messages
are always clearly worded, in my humble opinion.

I guess the commit list is the first thing that pops out when skimming, but
it's less important than the notable changes.

'Notable changes' is more akin to the release notes I think you want.

As for breaking changes, Node.js follows semver. A major version lists
breaking changes more clearly.

------
SeanDav
There is a lot to like about Node. I had a look a couple of years ago but lack
of a definitive library to handle callback hell put me off. How is the
situation these days?

~~~
GeneralMaximus
You have a number of ways of keeping a handle on async code now.

1\. Native ES6 promises will cover most of your basic needs. See
[https://developer.mozilla.org/en/docs/Web/JavaScript/Referen...](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise).
In fact, unless you have very specific needs not covered by native promises,
you shouldn't drop a third party library into your project.

2\. For more advanced operations on promises, use Bluebird. See
[http://bluebirdjs.com](http://bluebirdjs.com) and
[http://bluebirdjs.com/docs/api-
reference.html](http://bluebirdjs.com/docs/api-reference.html). It has a ton
of features built on top of native ES6 promises. If you're using an older
version of Node, it also acts as a polyfill. It can also make it easy to work
with libraries that only expose a callback-based interface. So yeah, Bluebird
is the shit.

3\. co is a generator-based control flow library that can make your async code
look more like synchronous code. It's pretty cool, but I haven't personally
used it in a project, nor do I know of anyone else who uses it. It builds on
top of promises and generators, and isn't very hard to understand under the
hood. See [https://github.com/tj/co](https://github.com/tj/co). I wouldn't
recommend it, but it might be something to play with because ...

4\. ... async/await is coming to JavaScript! At a very high level, this pair
of keywords is syntax sugar for what co already does as a library. This is the
final stage in the evolution of taming callback hell in JavaScript, and it
builds on top of everything that has come before (promises and generators).
Here's a tutorial: [https://blog.risingstack.com/async-await-node-
js-7-nightly/](https://blog.risingstack.com/async-await-node-js-7-nightly/)

~~~
grepthisab
My understanding was that Node didn't support native ES6, is that no longer
the case? Or are you talking about using a transpiler?

~~~
quarterto
Node has supported all of ES6 except modules since 6.0.

~~~
grepthisab
Ah, this explains it. I tried to use an import statement a couple days ago and
it failed, so I assumed it still wasn't supporting ES6. Good to know!

------
Already__Taken
> Use system CAs instead of using bundled ones

Does this make the npmrc config for cafile redundant now in my MITM
environment? The amount of projects that just can't handle the CA or worse, a
proxy setting, is very irritating.

Will we not have to make a separate config for every app that also bundles
node (e.g. vscode) or anything that uses node to get a file (vue-cli, node-
pre-gyp, etc)?

~~~
inyorgroove
I recently left a job that has a proxy. I would estimate the my time spent
there working on proxy related issues to be more than 2 months over the 5
years I was there. Is it too unreasonable to evaluate the cost of these
proxies beyond the maintenance cost?

------
hobozilla
It's a shame the v8 5.5 backport
([https://github.com/nodejs/node/pull/11029](https://github.com/nodejs/node/pull/11029))
didn't make it in but it looks like it won't be long.

~~~
SpencerWood
Can't wait... need me some async await without babel.

~~~
fiiv
In 7.2.x, you could do async await with just a --harmony flag.

~~~
eknkc
I might be mistaken but I believe there were some major performance issues
with the older async/await implementation.

~~~
ronjouch
Indeed, a memory leak:
[https://github.com/nodejs/node/issues/9339](https://github.com/nodejs/node/issues/9339)
/
[https://bugs.chromium.org/p/v8/issues/detail?id=5582](https://bugs.chromium.org/p/v8/issues/detail?id=5582)

------
0X1A
I don't keep up with node end ES version compliance but is there a scheduled
release that'll target all ES6 features?

~~~
simlevesque
I don't think so. They try as hard as possible. A lot of it is directly
related to V8. In Node.JS v8.0.0 nightly they currently support 70% of the
ES2015 spec without flags.

You can check the progress here: [http://node.green/](http://node.green/)

~~~
velodrome
According to the site:

Node.js ES2015 Support is at 99% for v8.0.0 nightly.

Node.js ES2017 Support is at 74% for v8.0.0 nightly.

~~~
simlevesque
Oh right I totally missed that the header changes as you scroll !

~~~
scott_karana
Wow, me neither. The discoverability there is pretty poor... if the header was
just augmented with a dropdown, that would be great :)

------
forgottenacc57
AWS Lambda is so far behind......

~~~
k__
I don't understand

~~~
imrehg
"AWS Lambda supports the following runtime versions: Node.js – v4.3.2"

[http://docs.aws.amazon.com/lambda/latest/dg/current-
supporte...](http://docs.aws.amazon.com/lambda/latest/dg/current-supported-
versions.html)

~~~
level
To be fair, 4.3.2 the current LTS version, but would ideally be migrated prior
to April.

[https://github.com/nodejs/LTS](https://github.com/nodejs/LTS)

~~~
dlbucci
Isn't node v6 the current LTS version? I think each even major version is LTS,
and 6 is the latest one of those.

~~~
hanley
There is an overlap. Both V4 and V6 are currently LTS until April.

------
crudbug
Are there plans to add coroutines support ?

