12 ms·
Node.js v6.0 Released
- deleted 10y ago[deleted]
- dchuk 10y agoInteresting how this is written as a traditional press release rather than software release notes like most other open source projects
- dkopi 10y agoHere's the changelog: https://raw.githubusercontent.com/nodejs/node/v6.x/CHANGELOG.md https://raw.githubusercontent.com/nodejs/node/v6.x/CHANGELOG... Notable changes summarized here: https://github.com/nodejs/node/pull/6383 https://github.com/nodejs/node/pull/6383
- deleted 10y ago[deleted]
- untog 10y agoThat's because it is a press release. There is a changelog and release notes too, it just happens that whoever submitted this chose to link to a press release instead.
- aioprisan 10y agoThat's because this IS an announcement blog post, in line with other https://nodejs.org/en/blog/announcements/ https://nodejs.org/en/blog/announcements/. There is an actual changelog
- chowes 10y agoI'm assuming this is backwards-compatible with 5.X?
- btmills 10y agoThe major version bump indicates there are changes that could break some use cases. There's a partial changelog [0] in the v6 release pull request. [0] https://github.com/nodejs/node/pull/6383#issue-151012738 https://github.com/nodejs/node/pull/6383#issue-151012738
- wrong_variable 10y agobabel sucks - I never though I could hate something so strongly. Just today I had to deal with the fact that babel wraps ALL your generators in some shit function. Why ? just why ? generation function was supported in browsers longer then the age all the babel maintainers combined. The worst part is I do not use babel myself - I wouldn't touch it with a ten foot pole but am forced to use it due to my stupid cowokers writing everything using babel - ( why does babel need .babelrc file ?? - is babel such a prominent part of your life that you need .rc files ?? and why does the .rc file need to be specified in every freaking folder ! ) 1) babel's docs are also terrible 2) The people maintaining babel seem to actively market babel and then at the same time ignore questions and requests for better docs from the community. 3) Slowest compiler I have had the pleasure of dealing with - my babel watch process consumes a grand total of 150 MB of memory !! Edit - had to follow HN guidelines
- dangoor 10y agoGenerator functions do not have total browser support yet. IE11 does not support them. Node 6 is actually the first Node version with total support for them: https://kangax.github.io/compat-table/es6/ https://kangax.github.io/compat-table/es6/
- wrong_variable 10y agoEven if generation functions are not supported - its a tradeoff that is worth making since very few of our users use IE11. That is not my main concern. Babel can wrap the code in 10 functions for all I care ( performance is also not a concern since we are not sending rockets to mars - just another technology sweatshops trying to sell viagra ) The wrapped function throws errors - since apparently you need to download some babel plugins for it to work. (ノಠ益ಠ)ノ彡
- Klathmon 10y agoIt's not just IE11, it's Safari 9 and older, iOS 9 and older, and Android 5.0 and older. Generators are unsupported on all of them.
- olalonde 10y agoOn a related note, does anyone know if there's a way to tell Babel that your compilation target is Node.js v6.0 and only have it compile stuff that isn't natively supported yet? Edit: Thanks for all the answers. I just went through the list of unsupported features and as I'm not using any of the remaining 7%, I might be able to get rid of Babel during development if I'm lucky. Edit 2: Oops, still no es6 module support :(
- benologist 10y agoIsn't Babel 93% redundant on the server side now? If you're not very dependent on the last 7% I'd just remove it.
- veeti 10y agoI use it to transform async/await into generators for Koa. The module syntax is also much nicer to use.
- matt4077 10y agoThere's one remaining problem: V8 ES6 support is quite new and less optimized. If you're looking for optimal performance, you'll be transpiling for a long time (or possibly forever, 'cause those ES7 features are tempting, aren't they?)
- grayrest 10y agoCan't wait on that Exponentiation Operator and A.p.includes!
- lhorie 10y agoReleased where? Download page still points to v4.4.3 (LTS)/v5.11 (current)
- MikeKusold 10y agoIn terms of LTS, it looks like they are going to let this bake until October before it becomes LTS: https://github.com/nodejs/LTS#lts_schedule https://github.com/nodejs/LTS#lts_schedule But yeah, I'm not seeing where the 6.0 was cut. It doesn't appear on their releases tab: https://github.com/nodejs/node/releases https://github.com/nodejs/node/releases
- silverwind 10y agoLooks like the blog post was done a bit too early, it should be ready momentarily. Edit: It's released!
- svieira 10y agoRelease build failed - https://github.com/nodejs/node/pull/6383#issuecomment-214844512 https://github.com/nodejs/node/pull/6383#issuecomment-214844... New one is running, and should be out soon-ish.
- lhorie 10y agoIt's there now, awesome! Going to take it for a spin now
- vinnymac 10y agoThe blog post states `Download version 6 (Coming soon)` I assumed that meant it was not yet downloadable.
- iMark 10y agoI've been a front end developer for, well, quite a while, and in that time we've gone from cycles of around a decade (thank you IE6!) for new versions of JS to something closer to a couple of years. The future, as I see it, is incredibly bright.
- deleted 10y ago[deleted]
- empyrical 10y agoI'm really curious to see the kinds of things people will cook up with the new Proxy object
- nemo1618 10y agoIs there a list of the remaining 7% features?
- nikolay 10y agoReleased where? It's not in the GitHub releases, not on the homepage either.
- vinnymac 10y agoAny idea why the node-compat-table says 96%? http://node.green/ http://node.green/
- shados 10y agoprobably because the 3% is behind feature flag
- jmandzik 10y agoNot sure, but http://node.green http://node.green tests against nightly, which might be farther ahead than 6.0.0.
- joekrill 10y agoUncheck "requires harmony flag " and it falls to 92%. I'm guessing the extra percent is a rounding issue.
- latimer 10y agoFYI for anyone looking for the downloads, v6.0 technically hasn't been released yet. It will most likely be out within a few hours. Edit: of course right after I say it isn't released, it is released. :) Release post: https://nodejs.org/en/blog/release/v6.0.0/ https://nodejs.org/en/blog/release/v6.0.0/
- koolba 10y agoBut I want it now! $ nvm ls v6 N/A $ echo ':(' :( On a more serious note this really is an awesome release. Kudos to everyone that works on Node.js! Ever since the "reunification" of node.js/io.js there's been a whirlwind of great activity both in adding features as well as LTS releases (which are critical for long term adoption of the platform).
- CharlesW 10y agoI was just able to download it (for macOS) from the front page. https://nodejs.org/en/ https://nodejs.org/en/
- benologist 10y agoI just got it on NVM.
- giancarlostoro 10y ago~ 10 minutes later
- deleted 10y ago
- stupidcar 10y agoGenerators aren't supported in Safari either. And if you don't want generators transformed, then why are you using the regenerator plugin? http://babeljs.io/docs/plugins/transform-regenerator/ http://babeljs.io/docs/plugins/transform-regenerator/ Maybe you should have bothered to read the documentation you claim doesn't exist. Or maybe you should help out your coworkers by quitting your job.
- deleted 10y ago[deleted]
- dang 10y agoPersonal attacks are not allowed on HN. We ban accounts that do this, so please don't do it. Instead, post civilly and substantively, or not at all. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newswelcome.html https://news.ycombinator.com/newswelcome.html We detached this comment from https://news.ycombinator.com/item?id=11574894 https://news.ycombinator.com/item?id=11574894 and marked it off-topic.
- ZLeviathan 10y agointeresting...considering JavaScript itself is a shaky language.
- irishgeoff 10y agogood news. Anyone looking for a remote nodejs job we have a few listed http://webwork.io http://webwork.io
- altano 10y agoFor anyone using TypeScript to build your Node.js code, you can now switch your target to es6/es2015 in your tsconfig.json: { "compilerOptions": { "target": "es2015", "module": "commonjs" } } Assuming you're not using that 7% (http://node.green/ http://node.green/) :) Just make sure to update your package.json to take a hard dependency on Node 6+ if you do that: { "engines" : { "node" : ">=6.0.0" } } This will make it so that ES6-compat is assumed and TS won't transpile ES6 functionality, but it will use commonjs for modules, which means your TS will almost be a 1:1 mapping with the compiled JS and everything should just work.
- dudus 10y agoThis should be ok 93% of the time
- jkrems 10y agoPersonal pet peeve: Please don't set the node engine field in npm packages. It potentially breaks your package whenever there's a new release candidate because `node@7.0.0-rc.1` is less than (!) `node@6.0.0` when it comes to npm's handling of this field.
- kevinastone 10y agothat's surprisingly dumb, isn't it? semver.satisfies('7.0.0-rc1', '>=6.0.0') false
- hiphipjorge 10y agoIs there a plan for Node.js to get `import` any times soon? Will we need babel in order to use this for months? years? ever?
- bmeck 10y agohttps://github.com/nodejs/node-eps/blob/master/002-es6-modules.md https://github.com/nodejs/node-eps/blob/master/002-es6-modul... was merged today; v8 C++ API for node to truly support it has not been implemented yet, should be in next LTS at current pace (next year).
- spankalee 10y agoWow, a new extension for ES modules? That seems really unfortunate. Why can't node parse a file to detect if it's a module? The presence of a top-level import or export means it's a module. If it's not, then the parsed file can be kept if the file is also in strict mode. If it's sloppy, it'll have to be re-parsed. Seems like a small penalty if the goal is to enable migration. Also, why worry about ES modules importing Common JS? Just disallow that and let projects migrate to ES modules bottom-up. Then you don't have to worry about executing a Common JS module to determine what its exports are or circular dependency problems.
- bmeck 10y agoThere is a pretty epic thread that I suggest you just read the tail end of https://github.com/nodejs/node-eps/pull/3#issuecomment-214761400 https://github.com/nodejs/node-eps/pull/3#issuecomment-21476... . Basically we tried detection via source code as the first proposal; ambiguities at runtime that do not throw errors make it absolutely impossible to do safely, performance problems, and tooling integration problems.
- gedy 10y agoSubjective, but .mjs just sounds horrid..
- therealmarv 10y agoIs it stupid to still use v0.12 ? Last time I've checked I've had compatibility issues with all new (now old) io.js versions.
- dhritzkiv 10y agoWhat sort of compatibility issues? Most packages update to work with new Node releases fairly quickly. Usually the packages that have compatibility issues are ones with native C++ bindings. If you `npm rm` the package and reinstall it, it will usually build correctly for the latest Node/V8 release. Further, if you have a project that for whatever reason is not feasible to update to run on modern Current Node, you can use `nvm` or `n` to choose which Node release you want to use: i.e. `nvm exec 0.12 node old-project.js` and `nvm exec 6.0 node fresh-project.js`. v6 (and the versions that preceded it) has made Javascript really enjoyable to write.
- Macha 10y agoOur biggest issue is to get off node 0.12, we need to get off protractor 2, and some of our protractor tests fail on protractor 3 for reasons no one has yet figured out. The only clue is a note saying selenium webdriver 2.48 changed how its control flow worked, but nowhere is what changed from 2.47 to 2.48 documented.
- Havvy 10y agoYou can't diff between 2.47 and 2.48 and see what changed? Or is that a binary part you don't have source access to?
- Macha 10y ago"Showing 930 changed files with 13,029 additions and 10,187 deletions. " Feel free to try: https://github.com/SeleniumHQ/selenium/compare/selenium-2.47.0...selenium-2.48.2?expand=1 https://github.com/SeleniumHQ/selenium/compare/selenium-2.47... It's a dependency of a dependency with multiple language versions in the one repository.
- pseudobry 10y agoAnd now available on Google App Engine (Flexible Environment). Example app running v6.0.0: http://nodejs600.appspot.com/ http://nodejs600.appspot.com/
- Scarbutt 10y agoWhy doesn't tail call optimization get any love?
- chr1 10y agoUnfortunately it get's lots of pushback instead. It seems very likely that syntax will get changed to `return continue fn()` https://github.com/tc39/proposal-ptc-syntax https://github.com/tc39/proposal-ptc-syntax Somewhat related there is no optimization for passing arbitrary length arrays with `...` to function having `...rest` as the last argument, which means [].splice is still a footgun:(
- jzwinck 10y agoThat explicit tail recursion syntax is pretty gross. Is there a precedent in any other language?
- endgame 10y agoClojure's recur is kinda-close, I guess?
- preek 10y agoIt is, but Clojure uses it, because it cannot really do Tail Call Optimization due to constraints on the JVM. Therefore "recur" is required to keep the Stack from overflowing.
- Havvy 10y agoRust has plans for a `become` operator for tail call optimization.
- deleted 10y ago[deleted]
- webo 10y agoThis is a great news. Are there any tools that statically or otherwise checks any potentially breaking pieces in the Node v4+ codebase/dependencies?
- webo 10y agoThis is a great news. Is there any tools that statically or otherwise checks any breaking potentially pieces in the Node v4+ codebase/dependencies?
- smithclay 10y agoFor those curious about the performance improvements, https://benchmarking.nodejs.org https://benchmarking.nodejs.org has you covered.
- irascible 10y agoI'd like to take a moment, and tell all the javascript/node haters I've run into here and on reddit, to suck a big fat dick, and I fucking hate you so bad.
- dang 10y agoWe've banned this account for repeatedly violating the HN guidelines. If you don't want it to be banned, you're welcome to email hn@ycombinator.com. We're happy to unban people when there's reason to believe that they'll only post civil, substantive comments in the future.
- gbog 10y ago"Fastest Growing Platform" Does this refer to growth in number of users or in number of modules? Or maybe just counting the number of lines of code?
- uptownJimmy 10y agoIt makes me feel a little ill to think of all the new-ish devs jumping on the Node train, thinking it's the Next Big Thing in server code. It's a cool technology, and incredibly easy to get into, but then the curve gets so very steep as you try to make it behave like any of the robust and fundamentally sound language/framework app development ecosystems. If I could offer any advice to anyone who is relatively new to all this, I would say choose anything else: Ruby/Rails, PHP/Symfony, Python/Django, Java/Spring, C#/.NET, whatever. You'll be doing yourself a favor. Learn how to do things correctly, in an tech stack that actually exists and works properly and makes sense, then see where things stand for JS on the server in a couple years. The bad habits, mistaken assumptions, and rampant misinformation being spread in the JS world these days is just amazing.
- mjesuele 10y ago"Choose anything else" sounds like some FUD to me. I'm not an expert with all the technologies you mentioned but I feel like Meteor has just recently truly come into its own and I would pick it over Rails, Django, or anything PHP any day. I think another factor is the level of conservatism of the programmer in question: would you rather work on stable but somewhat boring platforms at a large enterprise, or do you want to be on that new-new at a hip startup? (These options obviously exist on a spectrum.) If you want to be in the fastest-moving, most exciting ecosystem around, it seems to me that JS is the train you want to be on.
- rogerwang 10y agoNW.js v0.15.0 beta released with Node.js v6 : http://nwjs.io/blog/v0.15.0-beta1/ http://nwjs.io/blog/v0.15.0-beta1/
- yuvalkarmi 10y agoWhy is there a press release for this sort of thing?
- tomcam 10y agoDo you have a problem with it?
- mmaunder 10y agoI'm using webstorm to write a node app. I'm using ES6 and webstorm transpiles it to 5.1. Details here: http://blog.jetbrains.com/webstorm/2015/05/ecmascript-6-in-webstorm-transpiling/ http://blog.jetbrains.com/webstorm/2015/05/ecmascript-6-in-w... I'm using node 5.9.1 and webstorm creates a -compiled.js and -compiled.js.map file for each transpiled file. If I use Node 6 which I understand is now up to 95% support for ES6, do I still need to transpile to ES5.1? Is anyone else using webstorm with ES6 and are you also going through this transpiling step?
- known 10y agoHope its not getting bloated
- gotofritz 10y agoNote that the require mechanism is quite flakey, and they are discussing a new release or even reverting https://github.com/nodejs/node/issues/3402#issuecomment-215166795 https://github.com/nodejs/node/issues/3402#issuecomment-2151...
- proyb 10y agoI like to see some benchmark for latency and throughput, as far as only official benchmark is exist.