{"push_id":998880667,"size":8,"distinct_size":8,"ref":"refs/heads/postgres-read-write","head":"f61af7ae9516d0380ab16f340cc507cff04c62f0","before":"e70018e90c2ad1b27b1f0eccd8b41a7b937e7a98","commits":[{"sha":"4fea43972b0f54b34caa287ea9c90d6cfb4e5387","author":{"email":"2fe3c805070d242647c7870e431812e6fcfdbf83@chdorner.com","name":"chdorner"},"message":"Use Annotation property methods for annotations page","distinct":true,"url":"https://api.github.com/repos/hypothesis/h/commits/4fea43972b0f54b34caa287ea9c90d6cfb4e5387"},{"sha":"a3ec564796d35ca4f8897cc4d62bbd77a065fc73","author":{"email":"2fe3c805070d242647c7870e431812e6fcfdbf83@chdorner.com","name":"chdorner"},"message":"Add api presenters module with iso8601 helper function\n\nSince timestamps are stored in UTC without timezone information, we\ndon't try to convert the datetimes and just append UTC (`+00:00`) to the\nend of the string.","distinct":true,"url":"https://api.github.com/repos/hypothesis/h/commits/a3ec564796d35ca4f8897cc4d62bbd77a065fc73"},{"sha":"f81a2b154fdd0ce4cc8b3a4988bec5e2e4057f1b","author":{"email":"2fe3c805070d242647c7870e431812e6fcfdbf83@chdorner.com","name":"chdorner"},"message":"Add deep_merge_dict util function\n\nWhich merges two dictionaries recursively.","distinct":true,"url":"https://api.github.com/repos/hypothesis/h/commits/f81a2b154fdd0ce4cc8b3a4988bec5e2e4057f1b"},{"sha":"7ef6c1048cdda51d83492a54016ed52544a2fd77","author":{"email":"2fe3c805070d242647c7870e431812e6fcfdbf83@chdorner.com","name":"chdorner"},"message":"Add API DocumentURIJSONPresenter","distinct":true,"url":"https://api.github.com/repos/hypothesis/h/commits/7ef6c1048cdda51d83492a54016ed52544a2fd77"},{"sha":"1ae1f98223eb04de50c21d6f9d00179c3a6fb501","author":{"email":"2fe3c805070d242647c7870e431812e6fcfdbf83@chdorner.com","name":"chdorner"},"message":"Add API DocumentMetaJSONPresenter","distinct":true,"url":"https://api.github.com/repos/hypothesis/h/commits/1ae1f98223eb04de50c21d6f9d00179c3a6fb501"},{"sha":"6224b8566609ab7a49a55a62f8147f0e0da42fa6","author":{"email":"2fe3c805070d242647c7870e431812e6fcfdbf83@chdorner.com","name":"chdorner"},"message":"Add API DocumentJSONPresenter","distinct":true,"url":"https://api.github.com/repos/hypothesis/h/commits/6224b8566609ab7a49a55a62f8147f0e0da42fa6"},{"sha":"e7d0b1b190d6a0572250d0587334b505f4978fae","author":{"email":"2fe3c805070d242647c7870e431812e6fcfdbf83@chdorner.com","name":"chdorner"},"message":"Add API AnnotationJSONPresenter","distinct":true,"url":"https://api.github.com/repos/hypothesis/h/commits/e7d0b1b190d6a0572250d0587334b505f4978fae"},{"sha":"f61af7ae9516d0380ab16f340cc507cff04c62f0","author":{"email":"2fe3c805070d242647c7870e431812e6fcfdbf83@chdorner.com","name":"chdorner"},"message":"Use AnnotationJSONPresenter for api read view","distinct":true,"url":"https://api.github.com/repos/hypothesis/h/commits/f61af7ae9516d0380ab16f340cc507cff04c62f0"}]}