3.4.17
- fixed: duplicate 'prevent duplicate episodes' timer settings values

3.4.16
- fixed: CTvheadend::DemuxIsTimeShifting

3.4.15
- improved: use the default retention (from server configuration)
- improved: buffering method when timeshifting
- fixed: possible empty duplicate detection field when opening a timer rule
- fixed: possible time offset when tuning a channel with predictive tuning enabled
- fixed: unresponsiveness when wrong credentials are used

3.4.14
- updated language files from Transifex

3.4.13
- updated language files from Transifex

3.4.12
- updated language files from Transifex

3.4.11
- updated language files from Transifex

3.4.10
- Adpations for PVR API v5.2.1

3.4.9
- Updated to PVR API v5.2.1 (just made it compile again)

3.4.8
- improve EPG loading performance

3.4.7
- updated language files from Transifex

3.4.6
- updated language files from Transifex

3.4.5
- updated language files from Transifex

3.4.4
- fixed: setting channel type for 'early' htsp v25 servers
- fixed: setting epg uid for timers

3.4.3
- improved: only show real radio and TV channels in Kodi
- improved: recording handling when it's channel doesn't exist anymore (HTSP v25 and above)

3.4.2
- updated language files from Transifex

3.4.1
- Fix instant timers

3.4.0
- Cmake: rename find_package kodi to Kodi

3.3.2
- Fix includes

3.3.1
- Fixed a problem with async state handling that could happen when restoring a lost connection to tvheadend.

3.3.0
- Updated to PVR API v5.2.0

3.2.3
- fixed: potential crash in the channel tuning predictor

3.2.2
- Updated to PVR API v5.1.1 (added: support for PVR_CONNECTION_STATE_CONNECTING)
- fixed: potential crash in connection state change callback

3.2.1
- fixed: lifetime 'forever' should be disabled for HTSP v24 and lower 
- improved: make lifetime settings translatable

3.2.0
- Updated to PVR API v5.1.0

3.1.0
- Updated to PVR API v5.0.0

3.0.2
- updated to PVR API v4.2.0 (implemented IsRealTimeStream)

3.0.1
- updated language files from Transifex

3.0.0
- Initial Kodi Krypton version.

2.2.12
- updated language files from Transifex

2.2.11
- updated language files from Transifex
- added: proper autorec/timerec support for HTSP v25 and above

2.2.10
- updated language files from Transifex
- fixed: approximate start time setting 
- fixed: invalid addon restart when closing the settings dialog
- improved: limit the amount of timer lifetime values
- improved: separate timer and streaming settings
- added: default setting for timer lifetime, priority and duplicate detection
- fixed: restart subscription after a connection restore
- fixed: allow to abort active recordings also for timers created by timerec and autorec
- fixed: enable/disable of timers created by timerec and autorec (HTSP v23 and above)
- refactored the logging utility from a bunch of macros to a class

2.2.9
- refactored the code by factoring out lots of things into separate files
- refactored the Settings class into a singleton to avoid having to include client.h everywhere
- added: support for specifying which streaming profile to use
- added: support for enabling/disabling oneshot timers (HTSP v23 and above)
- added: timer lifetime will now remove the actual file instead of database entry only (HTSP v24 and above)

2.2.8
- Updated to PVR API v4.1.0
- simplified recording playback handling, fixes random skipping to the beginning of recordings
- fixed: recordings from channels that have been deleted since were not available in Kodi
- added: setting for start time window calculation (autorec)
- simplified addon settings
- added: support for episode name (subtitle) for recordings

2.2.7
- Updated to PVR API v4.0.0

2.2.6
- Minimal support for PVR API v3.0.0 incl. Repeating EPG Timer AnyTime Bool Change

2.2.5
- dropped CStdString usage
- added: Implementation of GetBufferTimeStart and GetBufferTimeEnd (timeshifting).
- fixed: Coverity warnings introduced by predictive tuning feature.
- fixed: Autorec: Start and stop time handling.
- fixed: LocaltimeToUTC conversion (timer settings clock display incorrect).
- fixed: Several issues with predictive tuning.
- added: build: Automatically fill in platform and library name.
- fixed: Use epg data only for creation of epg-based timers.
- improved: Do not try to reconnect to tvh while suspending or not fully awake again.

2.2.4
- added: Predictive tuning (thanks @martinwilli)
- added: Include satpos in mux description (thanks @Glenn-1990)
- fixed: Crashes due to memory corruption (stack overflow)

2.2.3
- Updated to PVR API v2.1.0

2.2.2
- Debian packaging: fix library install path
- Miscellaneous backend fixes

2.2.1
- updated to PVR API v2.0.0
- fixed: a Coverity warning

2.2.0
- updated to PVR API v1.9.7
- added: support for series recordings (autorec, timerec)

2.1.13
- updated language files from Transifex

2.1.12
- fixed: channel icon compatibility issue with recent tvheadend servers.
- fixed: EPG events update (some data was not updated correctly)

2.1.11
- fixed: do not show HTSP version mismatch error if tvheadend server is down.

2.1.10
- fixed: lowered required HTSP version to 10 to allow using Tvheadend 3.4 again.

2.1.9
- fixed: packaging issues
- fixed: minor issues found by static analysis
- added: support for season/episode/part numbers for EPG tags
- added: check htsp version upon connect. Refuse to use servers with HTSP version not matching minimal HTSP version required by client.

2.1.8
- added: support for epg subtitles, aka episode names
- added: support for creating repeating timers, aka time schedules
- fixed: conditions for addon restart after settings changes
- internal: fixed build system regressions introduced with move to cmake
- internal: updated to use libplatform

2.1.7
- added: support for radio channel groups
- added: support for star and parental rating (read only)

2.1.6
- updated to PVR API v1.9.6
- added: support for channel group sort index
- fixed: crash while adding/updating timers on the client (double free of a htsp message)

2.1.5
- improved HTSP specification compliance

2.1.4
- updated to PVR API v1.9.5
- added: avahi discovery
- fixed: lock on exit
- fixed: race when seeking within recordings
- fixed: CHTSPVFS::Read() needs the mutex locked
- removed guilib dep

2.1.1
- updated to PVR API v1.9.4
- updated to GUI API v5.8.0
- updated to Codec API v1.0.1

2.0.5
- fixed incorrect timeout value when deleting recordings (thanks @ksooo)

2.0.4
- added a missing commit that somehow got lost when making v2.0.3

2.0.3
- rebrand of HTSP client identifier
- improve the VFS slightly by doing reading and buffering on separate threads, as well as tweaking the read length

2.0.2
- language files from Transifex
- minor changes to conform with C++11

2.0.0
- replaced by the newer pvr.tvh implementation

1.9.40
- added getBackendHostname function

1.9.38
- change library name to Kodi

1.9.37
- backport ATSC subchannel number support from pvr.tvh

1.9.36
- fixed deadlock when activating the addon on some darwin (osx, ios) runtimes

1.9.35
- improve sync after connection restore (@ksooo)
- added support for getting and setting startExtra, stopExtra, retention, priority properties of recordings and timers (@ksooo)
- backported GetPlayingTime from pvr.tvh (@ksooo)

1.9.31
- updated to API v1.9.2

1.9.27
- fix channel icons for recordings

1.9.24
- add EDL support

1.9.23
- add timeshift buffer functions

1.8.21

- fixed connection being dropped incorrectly, when a packet size timed out with a one or more bytes read, but less than 4 bytes read
- tvheadend uses it's own byte order. don't use ntohl

1.8.20

- sync with PVR API v1.8.1
- use XBMC's new callback methods for codec ids

1.8.19

- sync with PVR API v1.8.0

1.7.19

- bump after PVR API version bump

1.6.19

- add timeshift skip support (FF/RW still not working)
- fix bug in tvh webroot processing

1.6.18

- ensure channel count is not cleared after succesful sub
- fix default webroot param
- remove missing files from recordings list
- expand dvr directories to full hierarchy

1.6.17

- fixed possible crash after reconnecting

1.6.16

- correct some signed/unsigned mixups
- added imagecache support (icons on the backend) 

1.6.15

- fix false disconnects by raising default (hardcoded) read timeout value when opening streams from 10 to 20 seconds.

1.6.14

- fix errors sent by client when fetching events for a channel with no epg data

1.6.13

- make channel.radio to not reset to false during update if tvheadend not provided channel services
- change handling of EPG events to not fail all events if only one/few events were broken/malformed

1.6.12

- fix instant recordings when channel has no epg data

1.6.11

- disable read timeout check while the stream is paused

1.6.10

- fixed authentication
- display an error message when an error is detected

1.6.9

- call to Close() didn't work in CHTSPData::Open()
- don't delete and create CHTSPReconnect each time, just stop the thread
- don't wait for an iframe but let tvheadend handle it
- fixed missing htsmsg_destroy() call after processing an incoming message

1.6.8

- refactor CHTSPConnection
- fixed disconnection checks and reconnect when needed
- consider the connection dropped if no data has been received for a while
- more efficient data reading
- shared connection between CHTSPDemux and CHTSPData

1.6.7

- add support for servers with transcoding capabilities

1.6.6

- fixed radio playback

1.6.5

- fixed channel and channel group update triggers
- ensure that the first demux is an I-frame
- add CHTSPConnection::CheckConnection() that waits for a connection to be restored when it was dropped
- cleaner CHTSPConnection::Connect()
- removed unneeded member in CHTSPDemux
- better handling of disconnect and reconnects

1.6.4

- initial release
