{"action":"created","issue":{"url":"https://api.github.com/repos/eslint/eslint/issues/4483","labels_url":"https://api.github.com/repos/eslint/eslint/issues/4483/labels{/name}","comments_url":"https://api.github.com/repos/eslint/eslint/issues/4483/comments","events_url":"https://api.github.com/repos/eslint/eslint/issues/4483/events","html_url":"https://github.com/eslint/eslint/issues/4483","id":117917726,"number":4483,"title":"Drop support for Node < 4","user":{"login":"nzakas","id":38546,"avatar_url":"https://avatars.githubusercontent.com/u/38546?v=3","gravatar_id":"","url":"https://api.github.com/users/nzakas","html_url":"https://github.com/nzakas","followers_url":"https://api.github.com/users/nzakas/followers","following_url":"https://api.github.com/users/nzakas/following{/other_user}","gists_url":"https://api.github.com/users/nzakas/gists{/gist_id}","starred_url":"https://api.github.com/users/nzakas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nzakas/subscriptions","organizations_url":"https://api.github.com/users/nzakas/orgs","repos_url":"https://api.github.com/users/nzakas/repos","events_url":"https://api.github.com/users/nzakas/events{/privacy}","received_events_url":"https://api.github.com/users/nzakas/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/eslint/eslint/labels/breaking","name":"breaking","color":"e11d21"},{"url":"https://api.github.com/repos/eslint/eslint/labels/core","name":"core","color":"c7def8"},{"url":"https://api.github.com/repos/eslint/eslint/labels/needs-bikeshedding","name":"needs-bikeshedding","color":"f7c6c7"},{"url":"https://api.github.com/repos/eslint/eslint/labels/proposal","name":"proposal","color":"fef2c0"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-11-19T22:02:03Z","updated_at":"2015-11-21T01:08:33Z","closed_at":null,"body":"We've supported Node.js versions 0.10 and up for a while now. We didn't want to move off of it until the Node.js ecosystem solidified. This would mark the second time we've end-of-lifed support for an older version of Node.js, the previous being when we dropped 0.8 (#734).\r\n\r\nWe'd like to start using Node.js 4 so we can start writing ES6 and enable as many ES6 rules as possible on our code base (dogfooding rules yields a lot of problems).\r\n\r\nThe question is: should we do this sooner or later? It seems like a lot of people have been moving to Node.js 4 (or 5) and 0.10 and 0.12 installations are disappearing as a result. We don't want to leave people out in the cold, but we also don't want to wait forever.\r\n\r\n<bountysource-plugin>\r\n---\r\nWant to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/28419810-drop-support-for-node-4?utm_campaign=plugin&utm_content=tracker%2F282608&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F282608&utm_medium=issues&utm_source=github).\r\n</bountysource-plugin>"},"comment":{"url":"https://api.github.com/repos/eslint/eslint/issues/comments/158570700","html_url":"https://github.com/eslint/eslint/issues/4483#issuecomment-158570700","issue_url":"https://api.github.com/repos/eslint/eslint/issues/4483","id":158570700,"user":{"login":"mzgol","id":1758366,"avatar_url":"https://avatars.githubusercontent.com/u/1758366?v=3","gravatar_id":"","url":"https://api.github.com/users/mzgol","html_url":"https://github.com/mzgol","followers_url":"https://api.github.com/users/mzgol/followers","following_url":"https://api.github.com/users/mzgol/following{/other_user}","gists_url":"https://api.github.com/users/mzgol/gists{/gist_id}","starred_url":"https://api.github.com/users/mzgol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mzgol/subscriptions","organizations_url":"https://api.github.com/users/mzgol/orgs","repos_url":"https://api.github.com/users/mzgol/repos","events_url":"https://api.github.com/users/mzgol/events{/privacy}","received_events_url":"https://api.github.com/users/mzgol/received_events","type":"User","site_admin":false},"created_at":"2015-11-21T01:08:33Z","updated_at":"2015-11-21T01:08:33Z","body":"I'm not sure if jsdom is the best example. It breaks compat with older versions pretty quickly, mostly for two reasons:\r\n\r\n1. It uses ES6 features that are necessary to implement new DOM APIs reliably and as close to the spec as possible (e.g. Symbols).\r\n2. jsdom's current maintainer cares mostly about current v8\r\n\r\nAlso, note that Node.js 4 (and even 5) doesn't give you full ES6, some quite important parts are missing. Spread is supported only from Node 5 and rest will only be in Node 6 which means for now you can't use arrow functions accepting indeterminate number of parameters (as arrows don't have the `arguments` binding).\r\n\r\nIMO the biggest problem with dropping Node 0.12 is not that developers might need it intentionally but that a lot of packages support Node Active LTS releases (so 0.12+ for a few more months) and test on all supported Nodes on Travis which includes running ESLint on those Nodes (I have a couple of those). Updating to an ESLint version that drops Node 0.12 would require splitting the testing logic so that ESLint is not run on Node 0.12; that increases the CI maintenance burden for ESLint users.\r\n\r\nIs it too much to wait until April/May 2016 when Node 0.12 goes into maintenance phase? I expect packages to start dropping support for it more often then."}}