{"action":"created","issue":{"url":"https://api.github.com/repos/graphql/graphql-relay-js/issues/74","repository_url":"https://api.github.com/repos/graphql/graphql-relay-js","labels_url":"https://api.github.com/repos/graphql/graphql-relay-js/issues/74/labels{/name}","comments_url":"https://api.github.com/repos/graphql/graphql-relay-js/issues/74/comments","events_url":"https://api.github.com/repos/graphql/graphql-relay-js/issues/74/events","html_url":"https://github.com/graphql/graphql-relay-js/pull/74","id":147605007,"number":74,"title":"Make compatible with graphql-js v0.5.0","user":{"login":"wincent","id":7074,"avatar_url":"https://avatars.githubusercontent.com/u/7074?v=3","gravatar_id":"","url":"https://api.github.com/users/wincent","html_url":"https://github.com/wincent","followers_url":"https://api.github.com/users/wincent/followers","following_url":"https://api.github.com/users/wincent/following{/other_user}","gists_url":"https://api.github.com/users/wincent/gists{/gist_id}","starred_url":"https://api.github.com/users/wincent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wincent/subscriptions","organizations_url":"https://api.github.com/users/wincent/orgs","repos_url":"https://api.github.com/users/wincent/repos","events_url":"https://api.github.com/users/wincent/events{/privacy}","received_events_url":"https://api.github.com/users/wincent/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/graphql/graphql-relay-js/labels/CLA%20Signed","name":"CLA Signed","color":"ededed"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2016-04-12T01:31:03Z","updated_at":"2016-04-12T21:35:05Z","closed_at":"2016-04-12T21:34:30Z","pull_request":{"url":"https://api.github.com/repos/graphql/graphql-relay-js/pulls/74","html_url":"https://github.com/graphql/graphql-relay-js/pull/74","diff_url":"https://github.com/graphql/graphql-relay-js/pull/74.diff","patch_url":"https://github.com/graphql/graphql-relay-js/pull/74.patch"},"body":"The third argument to the `resolve` functions is now a `context`, and what was formerly the third argument (the info containing `rootValue` and so on) is now the fourth argument.\r\n\r\nSee:\r\n\r\nhttps://github.com/graphql/graphql-js/releases/tag/v0.5.0\r\n\r\nAlso squashes in additional test fixes (additional `types` declarations) from @taion:\r\n\r\nhttps://github.com/graphql/graphql-relay-js/commit/73c5c3fefb9f7ec5ee963f54efab73ae1068fb20\r\n\r\nThese are required as noted in the v0.5.0 release notes.\r\n\r\n> Types can now be explicitly provided to new `GraphQLSchema({ types: [...] })`. Types which implement an interface but are otherwise not referenced as a field return type are no longer automatically added to the Schema!"},"comment":{"url":"https://api.github.com/repos/graphql/graphql-relay-js/issues/comments/209112935","html_url":"https://github.com/graphql/graphql-relay-js/pull/74#issuecomment-209112935","issue_url":"https://api.github.com/repos/graphql/graphql-relay-js/issues/74","id":209112935,"user":{"login":"taion","id":3112159,"avatar_url":"https://avatars.githubusercontent.com/u/3112159?v=3","gravatar_id":"","url":"https://api.github.com/users/taion","html_url":"https://github.com/taion","followers_url":"https://api.github.com/users/taion/followers","following_url":"https://api.github.com/users/taion/following{/other_user}","gists_url":"https://api.github.com/users/taion/gists{/gist_id}","starred_url":"https://api.github.com/users/taion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/taion/subscriptions","organizations_url":"https://api.github.com/users/taion/orgs","repos_url":"https://api.github.com/users/taion/repos","events_url":"https://api.github.com/users/taion/events{/privacy}","received_events_url":"https://api.github.com/users/taion/received_events","type":"User","site_admin":false},"created_at":"2016-04-12T21:35:05Z","updated_at":"2016-04-12T21:35:05Z","body":"I'm actually in a state of blind panic over the changes I'm going to need to make to my schemas, since I've been using `rootValue` extensively.\r\n\r\nI don't know if this addresses your issues directly, but I'd consider cutting a backward compatible release of `graphql-js` with deprecation warnings, with the following properties:\r\n\r\n- Move `graphql()` to take an object rather than an argument list; warn and use the old syntax if > 1 argument is supplied, else use the new list\r\n- For the backward compat release, restrict `context` to be a POJSO; in `__DEV__`, make the 3rd arg be something like `{ ...deprecationWrap(info), ...context }`, where `deprecationWrap` wraps all properties with accessors that emit deprecation warnings\r\n- Warn on missing `types` (I know nothing about the code involved here, so I don't know if this is possible)\r\n\r\nSeparate from codemods, as a user, this would let me just chase down all relevant deprecation warnings. I still have no idea how much people use codemods, and I don't know if e.g. any of the ones I've written for React Router have actually seen use."}}