
Node 5.7.0 (stable) released - 56k
https://nodejs.org/en/blog/release/v5.7.0/
======
TheAceOfHearts
One of the performance improvements [0] is pretty crazy! Up to an 18,000%
performance increase.

[0]
[https://github.com/nodejs/node/pull/5123](https://github.com/nodejs/node/pull/5123)

~~~
btd
Yes, but it breaks some cases. I'd recommend to wait 5.7.1
([https://github.com/nodejs/node/issues/5400](https://github.com/nodejs/node/issues/5400))

~~~
amelius
Probably an ignorant question but this makes me wonder: how can they release
when their tests don't pass?

~~~
mc808
I haven't been following, but it looks like the tests were passing and they
just didn't have tests to prevent these issues that came up.

------
glossyscr
_I am happy that there is Node._

I'm still mind blown every single day about the Node community—for me it's the
fastest evolving dev ecosystem which is at the same time high performant and
robust.

~~~
joshmanders
It is amazing isn't it? I'm so happy I switched. I love this community and the
things they are doing.

------
romanovcode
Still waiting for async/await. Also doing multi-precision numbers by default
would be nice.

~~~
alfonsodev
I started to use async/await because react-native and now I can't live without
it. In nodejs you can have it:

npm install --save babel-core babel-loader babel-polyfill babel-preset-es2015
babel-preset-stage-0

Adding this to entry point file

    
    
      require("babel-core/register");
      require("babel-polyfill");
    

and having a .babelrc with these presets:

    
    
      {
        "presets": ["es2015", "stage-0"]
      }

Then you can transpile with babel-cli ( sudo npm install -g babel-cli if you
don't have it yet)

    
    
      babel app.js -o transpiled_app.js
    

Make sure you have npm version 3, or it become too slow to initialise.

as @vdaniuk mention Chackra supports it, but did anyone tried this
[https://github.com/nodejs/node-chakracore](https://github.com/nodejs/node-
chakracore)?

Is there any other way to get async/await today ?

~~~
esailija
coroutines with generators are more powerful (cancellation, automatic resource
cleanup when the generator terminates etc) and have worked for a long time out
of the box. The only difference is that you write `yield` instead of `await`
and `decorator(function*` instead of `async function`

~~~
mtzaldo
Could you put a reference for the decorator/yield usage? Thanks

~~~
esailija
[http://bluebirdjs.com/docs/api/promise.coroutine.html](http://bluebirdjs.com/docs/api/promise.coroutine.html)

~~~
mtzaldo
Thanks, I will review it.

------
audessuscest
> child_process: spawn() and spawnSync() now support a 'shell' option to allow
> for optional execution of the given command inside a shell. If set to true,
> cmd.exe will be used on Windows and /bin/sh elsewhere. A path to a custom
> shell can also be passed to override these defaults. On Windows, this option
> allows .bat. and .cmd files to be executed with spawn() and spawnSync().
> (Colin Ihrig) #4598

Does this mean that it can now open a real shell (like iTerm) and execute a
script ? or I misunderstood ?

~~~
jamescun
Sadly not. When calling spawn[Sync]() in prior versions the command would be
executed directly as a child of the node process. If you wanted to use any
features like piping, automatic environment variable interpolation or
backgrounding etc; you had to manually wrap your command with a system shell
like bash(sh).

This addition when set to true, will do the wrapping for you in a cross-
platform manor.

~~~
audessuscest
Thanks for the clarification

