{"action":"created","issue":{"url":"https://api.github.com/repos/nodejs/nan/issues/548","repository_url":"https://api.github.com/repos/nodejs/nan","labels_url":"https://api.github.com/repos/nodejs/nan/issues/548/labels{/name}","comments_url":"https://api.github.com/repos/nodejs/nan/issues/548/comments","events_url":"https://api.github.com/repos/nodejs/nan/issues/548/events","html_url":"https://github.com/nodejs/nan/issues/548","id":143101599,"number":548,"title":"`node::MakeCallback()` API change for v6","user":{"login":"trevnorris","id":289174,"avatar_url":"https://avatars.githubusercontent.com/u/289174?v=3","gravatar_id":"","url":"https://api.github.com/users/trevnorris","html_url":"https://github.com/trevnorris","followers_url":"https://api.github.com/users/trevnorris/followers","following_url":"https://api.github.com/users/trevnorris/following{/other_user}","gists_url":"https://api.github.com/users/trevnorris/gists{/gist_id}","starred_url":"https://api.github.com/users/trevnorris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trevnorris/subscriptions","organizations_url":"https://api.github.com/users/trevnorris/orgs","repos_url":"https://api.github.com/users/trevnorris/repos","events_url":"https://api.github.com/users/trevnorris/events{/privacy}","received_events_url":"https://api.github.com/users/trevnorris/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-03-23T23:00:50Z","updated_at":"2016-03-23T23:16:14Z","closed_at":null,"body":"Currently `node::MakeCallback()` returns `Local<Value>`. This is problematic for two reasons:\r\n\r\n1) `node::AsyncWrap::MakeCallback()` returns a `Local<Value>()` if there's an exception. While the PR hasn't been done, before v6 it will return a `MaybeLocal<Value>`.\r\n2) Recursive `MakeCallback()` calls depends on knowing if an exception was thrown. This is impossible to do since `Undefined()` is a valid return value.\r\n\r\nIt should be easy to get around this for backwards compatibility, but would like to make sure nan is ready for the change.\r\n\r\n/cc @nodejs/addon-api "},"comment":{"url":"https://api.github.com/repos/nodejs/nan/issues/comments/200579589","html_url":"https://github.com/nodejs/nan/issues/548#issuecomment-200579589","issue_url":"https://api.github.com/repos/nodejs/nan/issues/548","id":200579589,"user":{"login":"kkoopa","id":4103081,"avatar_url":"https://avatars.githubusercontent.com/u/4103081?v=3","gravatar_id":"","url":"https://api.github.com/users/kkoopa","html_url":"https://github.com/kkoopa","followers_url":"https://api.github.com/users/kkoopa/followers","following_url":"https://api.github.com/users/kkoopa/following{/other_user}","gists_url":"https://api.github.com/users/kkoopa/gists{/gist_id}","starred_url":"https://api.github.com/users/kkoopa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kkoopa/subscriptions","organizations_url":"https://api.github.com/users/kkoopa/orgs","repos_url":"https://api.github.com/users/kkoopa/repos","events_url":"https://api.github.com/users/kkoopa/events{/privacy}","received_events_url":"https://api.github.com/users/kkoopa/received_events","type":"User","site_admin":false},"created_at":"2016-03-23T23:16:14Z","updated_at":"2016-03-23T23:16:14Z","body":"Good to know. I presume there will be a couple other breaking changes as well, but nothing as major as last year. That ought to mean we can do the right thing and add this change to the breakage list.\r\n\r\nHowever, nothing is final yet regarding what to break. I'll have a look at the state of breakage once release candidates start appearing and I manage to find time."}}