{"push_id":864834880,"size":4,"distinct_size":4,"ref":"refs/heads/master","head":"2230feec3a2a800a8cf483541c52bbb68b8d6286","before":"9fa5e85ffa0618f6de50d6641a77a2113f08fece","commits":[{"sha":"24ff476d1e53e19592dad88a7faa513e07dbb424","author":{"email":"4e79e843854e7783d84aa9ccf5e114d2bc55b8c4@gmail.com","name":"Daniel Tashjian"},"message":"First pass at a validation component, removed validation from data classes.\n\ncloses #21","distinct":true,"url":"https://api.github.com/repos/iheartradio/open-m3u8/commits/24ff476d1e53e19592dad88a7faa513e07dbb424"},{"sha":"28b249a58081d5e3f448a76224bce548e347d051","author":{"email":"4e79e843854e7783d84aa9ccf5e114d2bc55b8c4@gmail.com","name":"Daniel Tashjian"},"message":"Extended ParsingMode to allow negative numbers. Defaulted TARGETDURATION to max(0, max(durations)).","distinct":true,"url":"https://api.github.com/repos/iheartradio/open-m3u8/commits/28b249a58081d5e3f448a76224bce548e347d051"},{"sha":"6f23aa8b6c8ae382493cf1eb5a351817c95c9e01","author":{"email":"4e79e843854e7783d84aa9ccf5e114d2bc55b8c4@gmail.com","name":"Daniel Tashjian"},"message":"Updated documentation.","distinct":true,"url":"https://api.github.com/repos/iheartradio/open-m3u8/commits/6f23aa8b6c8ae382493cf1eb5a351817c95c9e01"},{"sha":"2230feec3a2a800a8cf483541c52bbb68b8d6286","author":{"email":"4e79e843854e7783d84aa9ccf5e114d2bc55b8c4@gmail.com","name":"Daniel Tashjian"},"message":"Bumped version to 0.2.0\n\nPublic API changes:\n\n- removed LocationData\n- removed LocationType\n- locations are replaced with URIs, paths are relative URIs\n- added throws PlaylistException to parsing and writing\n- builders no longer perform validation\n- added PlaylistValidation\n- hasUri() methods now return true on an empty string\n- added IFrameStreamInfo\n- added IStreamInfo implemented by StreamInfo and IFrameStreamInfo\n- added StreamInfoBuilder implemented by StreamInfo.Builder and IFrameStreamInfo.Builder\n- added getIFramePlaylists() to MasterPlaylist\n- MediaData.getCharacteristics() is now guaranteed non-null\n- removed PlaylistData.isIframesOnly()\n- added parsing of the new FRAME-RATE attribute to StreamInfo and IFrameStreamInfo\n- removed some ParseExceptionType enums, now a part of the validation component\n- if EXT-X-TARGETDURATION is missing, now defaults to max(0, max(TrackInfo.durations))\n\nInternal changes:\n\n- tag parsers no longer use inheritance","distinct":true,"url":"https://api.github.com/repos/iheartradio/open-m3u8/commits/2230feec3a2a800a8cf483541c52bbb68b8d6286"}]}