{"action":"created","issue":{"url":"https://api.github.com/repos/adl/hoaf/issues/56","repository_url":"https://api.github.com/repos/adl/hoaf","labels_url":"https://api.github.com/repos/adl/hoaf/issues/56/labels{/name}","comments_url":"https://api.github.com/repos/adl/hoaf/issues/56/comments","events_url":"https://api.github.com/repos/adl/hoaf/issues/56/events","html_url":"https://github.com/adl/hoaf/issues/56","id":109260590,"number":56,"title":"Formalize the semantics of the version number","user":{"login":"adl","id":822900,"avatar_url":"https://avatars.githubusercontent.com/u/822900?v=3","gravatar_id":"","url":"https://api.github.com/users/adl","html_url":"https://github.com/adl","followers_url":"https://api.github.com/users/adl/followers","following_url":"https://api.github.com/users/adl/following{/other_user}","gists_url":"https://api.github.com/users/adl/gists{/gist_id}","starred_url":"https://api.github.com/users/adl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adl/subscriptions","organizations_url":"https://api.github.com/users/adl/orgs","repos_url":"https://api.github.com/users/adl/repos","events_url":"https://api.github.com/users/adl/events{/privacy}","received_events_url":"https://api.github.com/users/adl/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/adl/hoaf/milestones/1","html_url":"https://github.com/adl/hoaf/milestones/v1.1","labels_url":"https://api.github.com/repos/adl/hoaf/milestones/1/labels","id":1433824,"number":1,"title":"v1.1","description":"","creator":{"login":"strejcek","id":6370586,"avatar_url":"https://avatars.githubusercontent.com/u/6370586?v=3","gravatar_id":"","url":"https://api.github.com/users/strejcek","html_url":"https://github.com/strejcek","followers_url":"https://api.github.com/users/strejcek/followers","following_url":"https://api.github.com/users/strejcek/following{/other_user}","gists_url":"https://api.github.com/users/strejcek/gists{/gist_id}","starred_url":"https://api.github.com/users/strejcek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/strejcek/subscriptions","organizations_url":"https://api.github.com/users/strejcek/orgs","repos_url":"https://api.github.com/users/strejcek/repos","events_url":"https://api.github.com/users/strejcek/events{/privacy}","received_events_url":"https://api.github.com/users/strejcek/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":4,"state":"open","created_at":"2015-11-29T11:34:20Z","updated_at":"2016-04-06T08:21:11Z","due_on":"2016-04-29T22:00:00Z","closed_at":null},"comments":16,"created_at":"2015-10-01T09:21:53Z","updated_at":"2016-04-18T15:03:11Z","closed_at":null,"body":"If we are going to release another version of the format, we should decide and specify how the version number is used.\r\n\r\nI would suggest that the syntax for version `X.Z` should be a superset of the syntax for version `X.Y` whenever `Z` ≥ `Y`.   This means a parser for `v1.1` should be able to parse anything written for `v1` (which I interpret as `v1.0`).  But the opposite direction would not have to hold.   The introduction of negated properties discussed in #55 can be done with the `!` syntax if we bump the version number, and document that `no-univ-branch` is an obsolete name for `!univ-branch`.\r\n\r\nI would increment `X` for changes that invalidate the actual syntax.\r\n\r\nIn parser for version `X.Y`, I would try to parse even files written with version `X.Z` for any `Z`, in case it is in the subset of the syntax I understand.  But when the parser finds a syntax error in a file with `Z`>`Y`, I would additionally complain about the unsupported version number.\r\n"},"comment":{"url":"https://api.github.com/repos/adl/hoaf/issues/comments/211417846","html_url":"https://github.com/adl/hoaf/issues/56#issuecomment-211417846","issue_url":"https://api.github.com/repos/adl/hoaf/issues/56","id":211417846,"user":{"login":"kleinj","id":7789974,"avatar_url":"https://avatars.githubusercontent.com/u/7789974?v=3","gravatar_id":"","url":"https://api.github.com/users/kleinj","html_url":"https://github.com/kleinj","followers_url":"https://api.github.com/users/kleinj/followers","following_url":"https://api.github.com/users/kleinj/following{/other_user}","gists_url":"https://api.github.com/users/kleinj/gists{/gist_id}","starred_url":"https://api.github.com/users/kleinj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kleinj/subscriptions","organizations_url":"https://api.github.com/users/kleinj/orgs","repos_url":"https://api.github.com/users/kleinj/repos","events_url":"https://api.github.com/users/kleinj/events{/privacy}","received_events_url":"https://api.github.com/users/kleinj/received_events","type":"User","site_admin":false},"created_at":"2016-04-18T15:03:11Z","updated_at":"2016-04-18T15:03:11Z","body":"That would be fine with me. I'll prepare some text for the specification."}}