{"action":"created","issue":{"url":"https://api.github.com/repos/FIXTradingCommunity/fix-simple-binary-encoding/issues/2","labels_url":"https://api.github.com/repos/FIXTradingCommunity/fix-simple-binary-encoding/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/FIXTradingCommunity/fix-simple-binary-encoding/issues/2/comments","events_url":"https://api.github.com/repos/FIXTradingCommunity/fix-simple-binary-encoding/issues/2/events","html_url":"https://github.com/FIXTradingCommunity/fix-simple-binary-encoding/issues/2","id":111933182,"number":2,"title":"Schema extension is vague in terms of what compatibility means","user":{"login":"amluto","id":202764,"avatar_url":"https://avatars.githubusercontent.com/u/202764?v=3","gravatar_id":"","url":"https://api.github.com/users/amluto","html_url":"https://github.com/amluto","followers_url":"https://api.github.com/users/amluto/followers","following_url":"https://api.github.com/users/amluto/following{/other_user}","gists_url":"https://api.github.com/users/amluto/gists{/gist_id}","starred_url":"https://api.github.com/users/amluto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amluto/subscriptions","organizations_url":"https://api.github.com/users/amluto/orgs","repos_url":"https://api.github.com/users/amluto/repos","events_url":"https://api.github.com/users/amluto/events{/privacy}","received_events_url":"https://api.github.com/users/amluto/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-17T00:21:05Z","updated_at":"2015-10-17T09:48:32Z","closed_at":null,"body":"The schema extension chapter says \"Compatibility is only ensured under these conditions:\"\r\n\r\nWhat does \"compatibility\" mean?  Certainly, an old decoder can parse a message generated by a newer compatible schema.  But what happens if a new decoder parses a message generated by an older schema?  What are the semantics?\r\n\r\n(It's worth noting that the C++ reference implementation is unlikely to work well in this case: https://github.com/real-logic/simple-binary-encoding/issues/300)"},"comment":{"url":"https://api.github.com/repos/FIXTradingCommunity/fix-simple-binary-encoding/issues/comments/148900988","html_url":"https://github.com/FIXTradingCommunity/fix-simple-binary-encoding/issues/2#issuecomment-148900988","issue_url":"https://api.github.com/repos/FIXTradingCommunity/fix-simple-binary-encoding/issues/2","id":148900988,"user":{"login":"donmendelson","id":5631738,"avatar_url":"https://avatars.githubusercontent.com/u/5631738?v=3","gravatar_id":"","url":"https://api.github.com/users/donmendelson","html_url":"https://github.com/donmendelson","followers_url":"https://api.github.com/users/donmendelson/followers","following_url":"https://api.github.com/users/donmendelson/following{/other_user}","gists_url":"https://api.github.com/users/donmendelson/gists{/gist_id}","starred_url":"https://api.github.com/users/donmendelson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/donmendelson/subscriptions","organizations_url":"https://api.github.com/users/donmendelson/orgs","repos_url":"https://api.github.com/users/donmendelson/repos","events_url":"https://api.github.com/users/donmendelson/events{/privacy}","received_events_url":"https://api.github.com/users/donmendelson/received_events","type":"User","site_admin":false},"created_at":"2015-10-17T09:48:32Z","updated_at":"2015-10-17T09:48:32Z","body":"A receiver should compare the schema version in the received message header to the version that the decoder was built with. \r\n\r\nIf the received version is greater than or equal to the decoder's version, then all fields known to the decoder may be parsed.\r\n\r\nIf the received version is less than the decoder's version (that is, the producer encoder  is older than the consumer decoder), then only the fields of the older version may be parsed. This information is available through metadata as \"sinceVersion\" attribute of a field. If sinceVersion is greater than received schema version, then the field is not available.\r\n\r\nHow the decoder signals a calling application that a field is unavailable is an implementation detail."}}