{"action":"created","issue":{"url":"https://api.github.com/repos/chaijs/chai/issues/816","repository_url":"https://api.github.com/repos/chaijs/chai","labels_url":"https://api.github.com/repos/chaijs/chai/issues/816/labels{/name}","comments_url":"https://api.github.com/repos/chaijs/chai/issues/816/comments","events_url":"https://api.github.com/repos/chaijs/chai/issues/816/events","html_url":"https://github.com/chaijs/chai/pull/816","id":180535917,"number":816,"title":"Drop support of node v0.10","user":{"login":"vieiralucas","id":7764293,"avatar_url":"https://avatars.githubusercontent.com/u/7764293?v=3","gravatar_id":"","url":"https://api.github.com/users/vieiralucas","html_url":"https://github.com/vieiralucas","followers_url":"https://api.github.com/users/vieiralucas/followers","following_url":"https://api.github.com/users/vieiralucas/following{/other_user}","gists_url":"https://api.github.com/users/vieiralucas/gists{/gist_id}","starred_url":"https://api.github.com/users/vieiralucas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vieiralucas/subscriptions","organizations_url":"https://api.github.com/users/vieiralucas/orgs","repos_url":"https://api.github.com/users/vieiralucas/repos","events_url":"https://api.github.com/users/vieiralucas/events{/privacy}","received_events_url":"https://api.github.com/users/vieiralucas/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2016-10-02T21:15:56Z","updated_at":"2016-11-02T15:07:15Z","closed_at":"2016-11-01T21:04:16Z","pull_request":{"url":"https://api.github.com/repos/chaijs/chai/pulls/816","html_url":"https://github.com/chaijs/chai/pull/816","diff_url":"https://github.com/chaijs/chai/pull/816.diff","patch_url":"https://github.com/chaijs/chai/pull/816.patch"},"body":"As @keithamus suggested [here](https://github.com/chaijs/chai/issues/124#issuecomment-244967570), Chai should no longer support node v0.10 since Oct 1st\n"},"comment":{"url":"https://api.github.com/repos/chaijs/chai/issues/comments/257892976","html_url":"https://github.com/chaijs/chai/pull/816#issuecomment-257892976","issue_url":"https://api.github.com/repos/chaijs/chai/issues/816","id":257892976,"user":{"login":"meeber","id":17260989,"avatar_url":"https://avatars.githubusercontent.com/u/17260989?v=3","gravatar_id":"","url":"https://api.github.com/users/meeber","html_url":"https://github.com/meeber","followers_url":"https://api.github.com/users/meeber/followers","following_url":"https://api.github.com/users/meeber/following{/other_user}","gists_url":"https://api.github.com/users/meeber/gists{/gist_id}","starred_url":"https://api.github.com/users/meeber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/meeber/subscriptions","organizations_url":"https://api.github.com/users/meeber/orgs","repos_url":"https://api.github.com/users/meeber/repos","events_url":"https://api.github.com/users/meeber/events{/privacy}","received_events_url":"https://api.github.com/users/meeber/received_events","type":"User","site_admin":false},"created_at":"2016-11-02T15:07:15Z","updated_at":"2016-11-02T15:07:15Z","body":"**From the downstream perspective:**\r\n\r\nWhen an organization decides to keep running an unmaintained version of Node (e.g., v0.10), they've already made the painful determination that the cost of upgrading Node is greater than the cost of either a) maintaining that version of Node themselves by writing patches as future vulnerabilities are discovered, or b) exposing their servers to those unpatched vulnerabilities. They've also determined that having access to the latest language features isn't a big enough benefit to tip the scales in favor of upgrading Node.\r\n\r\nGiven the decision that they've already made, should such an organization then have a reasonable expectation to use the latest versions of upstream libraries such as Mocha and Chai? Or is having to use Chai v3.5 instead of Chai v4.0 just a relatively small part of the large cost they've already decided to pay by running an unmaintained version of Node?\r\n\r\n**From the upstream perspective:**\r\n\r\nIt's up to each library maintainer to decide if they want to pitch in and help pay the cost that's incurred by those running an unmaintained version of Node. That cost is paid primarily by library developers in terms of time. It takes time to maintain compatibility with legacy platforms due to having to troubleshoot and program around one-off behaviors, as well as address user-reported issues specific to legacy platforms.\r\n\r\nThe cost is also shared among all users of the library because less time is spent moving the library forward with improvements, as well as because there are more restrictions in terms of using new language features to make the library better.\r\n\r\nMaintaining compatibility with legacy platforms also increases complexity of the code due to feature detection and branching logic. It also often has a performance impact, although usually at the micro level.\r\n\r\nI don't think the benefit of supporting unmaintained versions of Node is worth the cost to Chai. And the downstream organizations that made the decision to run an unmaintained version of Node should already have come to terms with the fact that they're probably not going to be able to use the latest and greatest stuff.\r\n\r\nIt should be stressed that a downstream organization running an unmaintained version of Node (or another library wishing to support unmaintained versions of Node) can still use Chai. They just can't use the latest version.\r\n\r\nAll of this is to say that I agree with a comment made by @keithamus in another thread: \r\n\r\n> I think supporting every engine that is officially supported by their respective vendors is a happy and relatively non-arbitrary point to fix to\r\n\r\nFrom my perspective, tight coordination between Mocha and Chai in terms of platform support only becomes critical if one of the two libraries decides to drop support for a version of Node that's still officially maintained, in which case it has the potential to negatively impact large groups of users that haven't already gone through the difficult decision making process about running unmaintained software."}}
{"actor":{"display_login":"meeber"}}