{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/graphql/issues/153","repository_url":"https://api.github.com/repos/facebook/graphql","labels_url":"https://api.github.com/repos/facebook/graphql/issues/153/labels{/name}","comments_url":"https://api.github.com/repos/facebook/graphql/issues/153/comments","events_url":"https://api.github.com/repos/facebook/graphql/issues/153/events","html_url":"https://github.com/facebook/graphql/pull/153","id":142015357,"number":153,"title":"[RFC] Ordering of queried fields","user":{"login":"leebyron","id":50130,"avatar_url":"https://avatars.githubusercontent.com/u/50130?v=3","gravatar_id":"","url":"https://api.github.com/users/leebyron","html_url":"https://github.com/leebyron","followers_url":"https://api.github.com/users/leebyron/followers","following_url":"https://api.github.com/users/leebyron/following{/other_user}","gists_url":"https://api.github.com/users/leebyron/gists{/gist_id}","starred_url":"https://api.github.com/users/leebyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leebyron/subscriptions","organizations_url":"https://api.github.com/users/leebyron/orgs","repos_url":"https://api.github.com/users/leebyron/repos","events_url":"https://api.github.com/users/leebyron/events{/privacy}","received_events_url":"https://api.github.com/users/leebyron/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/facebook/graphql/labels/CLA%20Signed","name":"CLA Signed","color":"009900"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-03-19T01:41:17Z","updated_at":"2016-03-21T18:59:45Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/facebook/graphql/pulls/153","html_url":"https://github.com/facebook/graphql/pull/153","diff_url":"https://github.com/facebook/graphql/pull/153.diff","patch_url":"https://github.com/facebook/graphql/pull/153.patch"},"body":"This removes language referring to responses as unordered. In fact responses should always be ordered in the order in which they were queried.\r\n\r\nThis adds clarifying language around both object types and input objects about ordering and provides more examples.\r\n\r\nI've also added a caveat that response formats which don't support ordering are not required to uphold it.\r\n\r\n**Impact:**\r\n\r\nSome servers may return responses in an unordered fashion due to the way their executor behaves, though most which are ported from or inspired by graphql-js, our reference implementation, already behave this way.\r\n\r\n**Motivation:**\r\n\r\nThis enables custom parsers which expect JSON values to be a very specific shape for performance reasons, but it also ensures an easier level of understandability when a response's shape so tightly matches the query - both for new learners and for debugging."},"comment":{"url":"https://api.github.com/repos/facebook/graphql/issues/comments/199425365","html_url":"https://github.com/facebook/graphql/pull/153#issuecomment-199425365","issue_url":"https://api.github.com/repos/facebook/graphql/issues/153","id":199425365,"user":{"login":"leebyron","id":50130,"avatar_url":"https://avatars.githubusercontent.com/u/50130?v=3","gravatar_id":"","url":"https://api.github.com/users/leebyron","html_url":"https://github.com/leebyron","followers_url":"https://api.github.com/users/leebyron/followers","following_url":"https://api.github.com/users/leebyron/following{/other_user}","gists_url":"https://api.github.com/users/leebyron/gists{/gist_id}","starred_url":"https://api.github.com/users/leebyron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leebyron/subscriptions","organizations_url":"https://api.github.com/users/leebyron/orgs","repos_url":"https://api.github.com/users/leebyron/repos","events_url":"https://api.github.com/users/leebyron/events{/privacy}","received_events_url":"https://api.github.com/users/leebyron/received_events","type":"User","site_admin":false},"created_at":"2016-03-21T18:59:45Z","updated_at":"2016-03-21T18:59:45Z","body":"Added language about the excluding directives, but also rewrote a bit to clarify that it's the order encountered *during execution* and specifically made reference to the CollectFields algorithm below."}}