Releases: grafov/m3u8
Support custom tags
Major release, add support for more tags and attributes
This is a major release version after v0.10 since 2017, added lots of features and bugfix.
Features:
- Add reader support for
EXT-OATCLS-SCTE35
andEXT-X-CUE-OUT
(#81) - Make comma optional in
#EXTINF
when strict mode is false (#85, #84) - Encode Segment.Map attribute (#94)
- Add support for
AVERAGE-BANDWIDTH
,FRAME-RATE
andHDCP-LEVEL
attributes ofEXT-X-STREAM-INF
tag (#112, #132) - Add support for
EXT-X-DISCONTINUITY-SEQUENCE
tag (#112) - Add writer support of the
SeqId
attribute ofMediaSegment
(#124) - Add support for
EXT-X-INDEPENDENT-SEGMENTS
tag (#128, #103) - Add support for
EXT-X-START
tag (#131)
Bugfix:
- Omit URI for Key method
NONE
(#95, #68) - Increase sequence number in
Slide()
method automatically (#113, #72) - Decode got error while
#EXT-X-PROGRAM-DATE-TIME
exists in media playlist (#121, #120) - Add new line after
EXT-X-DISCONTINUITY-SEQUENCE
(#129)
Thanks to @bradleyfalzon @andyborn @0xApe @soldiermoth @mlafeldt @eric @soldiermoth @mihail812 @agparadiso @leikao for contributing.
Improved date/time parsing and closed captions
The release introduces two features:
-
Add closed captions to writer. Refs #79, #80 Thanks to @mbowBC for this contribution.
-
Customizable TimeParse() function allows broad support for time formats beside RFC3339. It allows parse playlists for devices that not strictly conform dates and times standards. By default it uses FullTimeParse() that implemented parsing that follows date representations from ISO/IEC 8601:2004.
Refs #78 Thanks to @md2k for this contribution. -
Comments slightly polished.
License changed to BSD
This release has no new features or bugfixes. It just moved license of the project from GNU GPL to BSD. See the new LICENSE in the root of the repo. Previous release v0.8 and the versions below available under GNU GPL v.3.
More explanations in the issue #71 and in the release notes of the previous release. If you have complains please create an issue or drop me a mail.
The bugfixes and upcoming license changing
There are a lot of bugfixes and optimizations.
This is the last release under GNU GPL license. As decided by the maintainers of the project the code from the next release will be covered by BSD 3-clause license (#71). It will allow usage of m3u8 package in any kind of projects include the projects under proprietary licenses. It is no problem for GPL projects as conditions of GPL license allows include the code under BSD-licenses.
So the next release v0.9 will be with the same code but include the new license. The code of the version 0.8 and below can be used under GNU GPL.
There are a lot of contributions was made since the project started. As initial author of the project I very glad that this piece of the code was useful and attracted other people for participating. I am very grateful for all the participants for their contribution to the project! So if the conditions of BSD license totally inappropriate for a contributor and he don't want to see his name among authors of the code under non-GPL license then he can create the issue with a complain or just drop me a mail. Then I will remove the patches from this contributor and replace them with a new code under my authorship. I not sure how it is correct from the view of law but m3u8
is amateur project for me so I don't want spend many time for license questions. It is the code only matters.
A lot of fixes + SCTE tag support
Apply keyformat and keyformatversions per segment
Small fix by @bradleyfalzon:
- Use segment Keyformat and Keyformatversions on MediaPlaylist.Encode() #32
No API changed.
Non-standard tag Name
Keyformat version encoding
Minor features added:
- Added encoding for KEYFORMATVERSIONS for AES encrypted playlists (refs #28)
- Added copyright for library authors referenced to AUTHORS file.
No API changes.