v21.1.0 (2023-04-04)
- Minor version bump - missed at time of v21.0.3

v21.0.4 (2023-04-04)
- [DASH] Fix live period sequence numbers
- [DASH] Fix live duration updates on some manifests
- [MP4] Fix for crash when missing STSD atom
- [DRM] rework CDM timer handling, fixes crashing after playback stop on non-Android devices

v21.0.3 (2023-03-24)
- [DASH] better period matching for live refreshes
- [AdaptiveStream] rework/update of download retries, allowing for VOD retry attempts
- [SSD] add xbmcaltbinaddons to search path
- [SSD][Widevine] Add new video formats

v21.0.2 (2023-03-10)
- Reimplement saving license data, controllable in settings
- [DASH] fix representation updates for identical adaptationsets
- [Widevine] add support for linux arm64
- reduce logging when waiting for new segments in live manifests
- [DASH] fix url calculation issues
- bump gtest
- handle PIFF protection scheme

v21.0.1 (2023-02-23)
- overhaul url utils to follow RFC 3986
- [Debug] option to save manifests to disk for debugging purposes
- remove deprecated properties and pipe support for manifest url
- [DRM] fix bug when supplying license_data property

v20.3.3 (2023-02-08)
- [Repchooser] Don't give stream selector dialog when only one available
- [DRM] handle empty headers with license request
- fix crashing on malformed url params
- New properties for separate stream/manifest headers/params and overhaul of behaviour, fixing some manifests that wouldn't play. Add-on devs please see integration page on our wiki.
- [HLS] default to TS filetype when file extension missing/unable to be determined
- [fMP4] handle changing track IDs between streams, fixes crashing on stream change
- [WV] improved capability logging
- Fix regression with seeking
- [HLS][WEBVTT] Various fixes including duplicate subtitle issue, alignment for some streams, bad behaviour of filling segment buffer before starting playback
- [Bento4] upstream updates fixing building on powerpc linux
- [DASH] fix for live videos with segmenttimeline in representations, correct manifest parameter automatically set

v20.3.2 (2023-01-11)
- [HLS] fix for incomplete length sub streams
- Fix memory leak
- [ISM] allow case insensitive live flag
- Fix crashing when missing track ID
- Fix issue where manifest files without an extension would not play
- [ISM] fix regression preventing protection being parsed correctly
- Bump Bento4 to 1.6.0-639-5-Nexus

v20.3.1 (2022-10-07)
- Print stream ids in log when seeking
- [DASH] Fix possible crash for live streams
- [DASH] Fix issue with baseurls/template causing incorrect url calculation
- [DRM] Fix regression with unknown keyids sending uninitialised data to decrypter
- [HLS] Support EXT-X-Byterange tags that don't contain start byte value
- Allow for playlists to set crypto mode
- [DRM] Partial refactor, fix for decrypting CBC with multi subsamples

v20.3.0 (2022-09-16)
- Kodi inputstream API update to version 3.2.0
- Implemented AV1 support
- Handled limited GUI resolution with Adjust refresh rate
- Fix video resume with seek
- Fix use after free crash from readsample thread
- Fix condition check for chunked transfers
- Fix relating to subtitle playback
- [Subtitles][WebVTT] Sync to current period start (chapter)

v20.2.3 (2022-07-02)
- [DASH] Fix crash when SegmentList is in root of Period
- [HLS] fix PKCS7 stripping on chunked transfers
- Kodi now buffers correctly on slow connections

v20.2.2 (2022-06-13)
- Fix stream selection property parsing
- [HLS] handle PKCS7 padding
- [DRM] only reinitialize video decoder when codec changes
- Improved base64 decoding (fixes some DRM streams not starting)

v20.2.1 (2022-05-19)
- Fix wrongly encoded urls
- Fix wrong parsing of license template
- [Bento4] fix several security vulnerabilities
- Fix wrong HEVC extradata (was causing crashing)
- Add missing codecs in decrypter interface
- Fix Dolby Vision metadata
- [HLS] allow edge case for byteranged init segments

v20.2.0 (2022-05-01)
- [dash] handle multiple repid tags in urls
- improved logging, numerous code cleanups and refactorings
- [drm] support for pre-initialising the drm session
- add icon and fanart
- overhaul settings
- add several representation chooser types: adaptive, fixed, ask, manual osd, test (pls see wiki for details)
- fix estimate segment count
- [drm] add capability to decrypt AES-CBC streams

v20.1.2 (2022-01-29)
- [WebVTT] - Fix sending segments packages
- [HLS] - Handle playlists with large media sequences
- [DASH] - Fix stream switching for byteranged types

v20.1.0 (2021-12-23)
- Translation updates by Weblate
- Kodi main API update to version 2.0.0

v20.0.3 (2021-12-10)
- Fix compile error by GCC 11
- Fix build about global Kodi API version 1.3.1
  - Lower versions also still usable
- Moved changelog text within addon.xml to new changelog.txt

v20.0.2 (2021-10-09)
- Fix crash when no data sent to DemuxRead
- Update Bento4 lib
- Fix pixellation issue when seeking to head
- [DASH] support suggestedPresentationDelay
- increase 'no-seek' area default for live streams to 16 seconds

v20.0.1 (2021-09-28)
- Adaptive bitrate switching and buffering initial support!
- Change default license if no pipes in license url
- Remove old unused Android ndk files
- Better WebVTT format checking
- [DASH] handle adaptationset switching tag to merge adaptationsets

v20.0.0 (2021-09-14)
- Change test builds to 'Kodi 20 Nexus'
- Increase version to 20.0.0
  - With start of Kodi 20 Nexus, takes addon as major the same version number as Kodi.
    This done to know easier to which Kodi the addon works.

v2.6.23 (2021-08-06)
- Translations from weblate - de_de, ja_jp, ko_kr
 - [Android] use multiple drm sessions (solves stuttering)
 - [DASH] allow for misaligned segs in SegmentTimeline

v2.6.22 (2021-07-18)
- Automation test release

v2.6.21 (2021-07-18)
- Automation test release

v2.6.20 (2021-07-17)
Translations updates from Weblate
    - de_de, el_gr, es_es, fr_fr, he_il, hi_in, hr_hr, hu_hu, it_it, ja_jp, ko_kr, nl_nl, pl_pl, ro_ro, ru_ru, sk_sk, sv_se

v2.6.19 (2021-07-17)
- Translations updates from Weblate
    - af_za, am_et, ar_sa, ast_es, az_az, be_by, bg_bg, bs_ba, ca_es, cs_cz, cy_gb, da_dk, de_de, el_gr, en_au, en_gb, en_nz, en_us, eo, es_ar, es_es, es_mx, et_ee, eu_es, fa_af, fa_ir, fi_fi, fo_fo, fr_ca, fr_fr, gl_es, he_il, hi_in, hr_hr, hu_hu, hy_am, id_id, is_is, it_it, ja_jp, kn_in, ko_kr, lt_lt, lv_lv, ml_in, mn_mn, mt_mt, my_mm, nb_no, nl_nl, os_os, pl_pl, pt_br, pt_pt, ro_md, ro_ro, ru_ru, scn, si_lk, sk_sk, sq_al, sr_rs, sr_rs@latin, sv_se, szl, ta_in, tg_tj, th_th, tr_tr, uk_ua, uz_uz, vi_vn, zh_cn, zh_tw

v2.6.18 (2021-07-13)
- Add support to pre-initialise DRM
- Fix intermittent crash when stopping Widevine videos

v2.6.17 (2021-06-20)
- Fix decrypt errors on non-Android platforms
- [DASH] fix representation base urls
- Don't use filecache for subtitle downloads

v2.6.16 (2021-05-21)
- Allow download retries for VOD
- [DASH] fix for minimumUpdatePeriod=0
- [DASH] remove media_renewal_url and media_renewal_time
- License renewal for widevine
- [HLS] Fix SSD being deleted with multiple encrypted streams
- Overhaul manifest redirect logic
- fix seeking into separate chapters/resume time
- fix HEVC extra data crash
- improve settings

v2.6.15 (2021-05-18)
- [HLS] support webvtt subtitle extensions
- [DASH] fix segmentTemplate calculation
- [HEVC] use constant frame rate if average is 0
- [HLS] don't reset pts on new periods
- Don't remove secure decoder cap if not requested in manifest_type
- [Android] fallback to widevine L3 if L1 provisioning fails

v2.6.14 (2021-04-22)
- Don't overwrite manifest headers with stream headers
- Stream headers default to manifest headers
- ac3 is recognised separately to eac3
- [DASH] time and number placeholders can be used simultaneously
- [DASH] manifest_update_parameter property defaults to 'full' for SegmentTimeline
- [DASH] pssh attribute in ContentProtection tag allowed without cenc namespace
- [DASH] support ttml subs where codec isn't specified

v2.6.13 (2021-04-10)
- Fix Debian packaging

v2.6.12 (2021-04-09)
- Remove Android specific decrypter search paths
- Move Android addon to binary addons repo

v2.6.11 (2021-04-08)
- Fix ampersand in changelog causing issues from v2.6.9 and v2.6.10

v2.6.10 (2021-04-08)
- Fix release build

v2.6.9 (2021-04-08)
- Fix MPD Timing (remove publishTime and presentationTimeOffset)
- [Dash] Correctly set timeshift_buffer (live)
- [Dash] Support fpsScale in AdaptationSets
- [Dash] Fix missing audio languages
- [DASH] Support ec-3 channel count (urn:mpeg:mpegB:cicp:ChannelConfiguration)

v2.6.8 (2021-03-26)
- [Dash] Append / to baseurl if required
- Fix Base Domain (fixes uri=/path/)

v2.6.7 (2021-02-10)
- Fix build for ios/tvos
- Use the full BaseUrl if it's a real url inside an AdaptationSet

v2.6.6 (2020-11-21)
- Matrix VideoCodec API change to v2.0.2 - Fix crypto session id handling

v2.6.5 (2020-11-09)
- Matrix API change to v3.0.1 - Fix wrong flags bit shift

v2.6.4 (2020-10-31)
- Fix protocol search in manifest URL

v2.6.3 (2020-10-31)
- New C-api changes
- Fix URL's without domain (files)
- [MPD] Fix SegmentTimeline without given startTime

v2.6.2 (2020-10-30)
- revert / rework effective url issues
- api related changes (buildsystem)

v2.6.1 (2020-10-25)
- Fix effective url if paths beginning with / provided
- Several translations added / fixed
- Fix webvtt subtitles for time formats without leading hour 00:
- Fix segfault when playing PlayReady content (Android)
- Adapt to kodi c api changes

v2.6.0 (2020-05-16)
- Update inputstream API 2.3.1
- Update Global API 1.2.0

v2.5.6 (2020-04-25)
- Matrix API change to v2.3.0 - Pass mime type to inputstreams if available
- Matrix API change to v2.2.0 - Allows upto 256 streams, useful for netflix etc.

v2.5.5 (2020-04-06)
- Matrix API change - Remove CanPauseSteram() and CanSeekStream()
- Update .gitignore

v2.5.4 (2020-01-19)
- [HLS] url based initialization segment
- [DASH] Use effective URL for manifest update
- Implement Media Renewal Time
- Fixed WebVTT rlm and lrm
- Fixed and improved subtitle properties)
- Add multiple languages
- [DASH] Fix zero devision segfault

v2.5.3 (2019-11-21)
- Fix retrieving SIDX from indexRange streams (youtube)
- Rework seek (use lead stream)

v2.5.2 (2019-11-18)
- More languages added
- DolbyVision codec (dvhe) support, kodi changes required to get it work
- Add property to start LiveStreams from beginning (play_timeshift_buffer)
- Pass media_headers when downloading pssh-search segment
- Minor DASH full update / timing / url generation fixes

v2.5.1 (2019-10-07)
- Language spain added
- multi period support
- mp4 webtt binary representation added
- minor fixes

v2.5.0 (2019-09-02)
- New major versions for Matrix

v2.4.0 (2019-08-16)
- Update Kodi VFS API 1.0.3
- Build script cleanups
- Implement VP9 static HDR metadata
- MPD: location attibute added
- MPD: livestream bugfixes (uninitialized startPTS)

v2.3.22 (2019-06-14)
- Bento4: sample duration workaround (24/1)
- WVDecrypter: remove sleep between decrypt calls

v2.3.21 (2019-06-07)
- [DASH] initialize segment::range_begin_ for URL segments (youtube)

v2.3.20 (2019-06-07)
- Fix parsing PR ContentProtection KID

v2.3.19 (2019-06-02)
- [widevine] remove API 8 / Add API 11
- [TS] Signal configuration change if extra-data has changed
- [DASH] Use PlayReady WRMHEADER to retrieve DefaultKID
- [DASH] Allow URL_SEGMENTS + Range-Bytes

v2.3.18 (2019-05-11)
- align settings with internal resolution check
- [HLS] support single playlists

v2.3.17 (2019-04-16)
- Fix KID's with 0 char inside

v2.3.16 (2019-03-25)
- TTML parser fix
- [HLS] Add HEVC streams / Fix extra_data_size in ts parser
- [HLS] effective URL for license

v2.3.15 (2019-02-11)
- Fix windows build

v2.3.14 (2019-02-10)
- Add WebM container parser
