{"action":"created","issue":{"url":"https://api.github.com/repos/jgm/pandoc-types/issues/23","repository_url":"https://api.github.com/repos/jgm/pandoc-types","labels_url":"https://api.github.com/repos/jgm/pandoc-types/issues/23/labels{/name}","comments_url":"https://api.github.com/repos/jgm/pandoc-types/issues/23/comments","events_url":"https://api.github.com/repos/jgm/pandoc-types/issues/23/events","html_url":"https://github.com/jgm/pandoc-types/pull/23","id":180275156,"number":23,"title":"Reimplement ToJSON / FromJSON instances, and update format","user":{"login":"jkr","id":835121,"avatar_url":"https://avatars.githubusercontent.com/u/835121?v=3","gravatar_id":"","url":"https://api.github.com/users/jkr","html_url":"https://github.com/jkr","followers_url":"https://api.github.com/users/jkr/followers","following_url":"https://api.github.com/users/jkr/following{/other_user}","gists_url":"https://api.github.com/users/jkr/gists{/gist_id}","starred_url":"https://api.github.com/users/jkr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jkr/subscriptions","organizations_url":"https://api.github.com/users/jkr/orgs","repos_url":"https://api.github.com/users/jkr/repos","events_url":"https://api.github.com/users/jkr/events{/privacy}","received_events_url":"https://api.github.com/users/jkr/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":11,"created_at":"2016-09-30T10:49:35Z","updated_at":"2016-10-09T19:28:15Z","closed_at":"2016-10-01T19:06:42Z","pull_request":{"url":"https://api.github.com/repos/jgm/pandoc-types/pulls/23","html_url":"https://github.com/jgm/pandoc-types/pull/23","diff_url":"https://github.com/jgm/pandoc-types/pull/23.diff","patch_url":"https://github.com/jgm/pandoc-types/pull/23.patch"},"body":"1. This adds manual ToJSON and FromJSON instances, instead of the generic-derivied instances we had previously used. This should keep the format stable, regardless of  changes in aeson. Empirically, it also adds a small speedup in encoding and decoding.\r\n\r\n2. This updates the pandoc json format. There are three main changes:\r\n\r\n  1. The toplevel format is now\r\n      \r\n       ~~~{.json}\r\n      {\r\n         \"pandoc-api-version\": [1,7,1],\r\n         \"meta\": [meta*],\r\n         \"blocks\": [blocks*]\r\n      }\r\n      ~~~\r\n\r\n      where `meta` and `blocks` are individual `Meta` and `Block` elements. Note that this means that the   toplevel is now an object, and that `meta` elements are no longer under an `unMeta` key.\r\n\r\n  2. The \"pandoc-api-version\" tracks the pandoc-types version. If the major and minor versions (the 0th and 1st elements of the array) do not match, decoding in pandoc will fail. It is up to library writers in other languages to check and write these versions.\r\n\r\n  3. Leaf elements (elements with no contents, like `Space`, `LineBreak`, and `HorinzontalRule`) will no longer have a `\"c\"` element. I.e. instead of `{\"t\": \"Space\", \"c\": []}`, we will output `{\"t\": \"Space\"}`. This probably won't affect many decoding functions, but it will be necessary for library writers to update their encoding functions for these elements.\r\n\r\n3. Finally, this adds Arbitrary instances to pandoc-types, in `Text.Pandoc.Arbitrary`.\r\n        "},"comment":{"url":"https://api.github.com/repos/jgm/pandoc-types/issues/comments/252506900","html_url":"https://github.com/jgm/pandoc-types/pull/23#issuecomment-252506900","issue_url":"https://api.github.com/repos/jgm/pandoc-types/issues/23","id":252506900,"user":{"login":"jgm","id":3044,"avatar_url":"https://avatars.githubusercontent.com/u/3044?v=3","gravatar_id":"","url":"https://api.github.com/users/jgm","html_url":"https://github.com/jgm","followers_url":"https://api.github.com/users/jgm/followers","following_url":"https://api.github.com/users/jgm/following{/other_user}","gists_url":"https://api.github.com/users/jgm/gists{/gist_id}","starred_url":"https://api.github.com/users/jgm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgm/subscriptions","organizations_url":"https://api.github.com/users/jgm/orgs","repos_url":"https://api.github.com/users/jgm/repos","events_url":"https://api.github.com/users/jgm/events{/privacy}","received_events_url":"https://api.github.com/users/jgm/received_events","type":"User","site_admin":false},"created_at":"2016-10-09T19:28:15Z","updated_at":"2016-10-09T19:28:15Z","body":"+++ Albert Krewinkel [Oct 09 16 03:04 ]:\n>     Also, this is a chance for us to make other breaking changes in\n>     pandoc-types. But I don't want to delay a pandoc release too long,\n>     so I don't want to make changes that are going to require heavy\n>     changes in pandoc unless we can get them done quickly.\n>\n>   How about the lineblock element ([1]#22), do you think it could be\n>   included? What would have to be changed to move forward with this?\n\nSorry, I haven't had a chance to look through the associated\npandoc changes.  Have you modified all the readers and\nwriters to handle the new element?\n\n"}}
{"actor":{"display_login":"jgm"}}