version 3.8.0:
- version 3.7.2-3.7.7 for everyone

version 3.7.7 (beta only):
- Skip commercial: fix KeyError #1955

version 3.7.6 (beta only):
- Support for skipping commercials #1946
- Use Plex PMS settings in order to decide whether a video was fully played or not (e.g. based on first or last credits marker). Restart Kodi if you make any changes to the PMS settings. #1949
- Fix to show in-progress videos in widgets if PKC decided they're partially watched but Kodi thinks they're completely watched #1951

version 3.7.5 (beta only):
- Fix playback report not working if no markers for intros and credits is present #1942

version 3.7.4 (beta only):
- Initial compatibility with Kodi 21 Omega #1940

version 3.7.3 (beta only):
- Support for skipping credits. If Plex detected end credits, videos will now only be marked as watched if the end credits have been reached #1926
- Fix rating matching #1930 (thanks @JCalvi)
- Kodi Matrix: Fix sync not working (introduced in commit 664a68c30fe4bca9e191acad2b2aa8850859b0ba) #1931
- Fix ratings being appended to Kodi table instead of being replaced when a video item is updated #1933

version 3.7.2 (beta only):
- You will need to manually reset the Kodi database in the PKC settings under Advanced
- Correctly map the Plex ratings to the Kodi ones; sync the Plex HDR tag to Kodi #1917 (thanks @JCalvi)

version 3.7.1:
- version 3.7.0 for everyone

version 3.7.0 (beta only):
- WARNING: you might need to re-set some of your Kodi widgets pointing to PlexKodiConnect video nodes
- Initial compatibility with Kodi 21 Omega. Nexus remains strongly recommended! #1901
- Add PKC setting in "Appearance Tweaks" for dedicated context menu entry "Extras" for movies and TV shows #1899
- Fix navigating back from Extras listing #1890
- Fix wheel of death when navigating: refactor add-on entrypoint #1894
- Move entry for Plex Hub to first position in PKC add-on menu #1897
- Allow for empty listings when navigating Plex menus #1896
- Fix FileExistsError when user deleted video library nodes #1895
- Only enable background music refresh if user chose to sync Plex music #1889
- Update readme

version 3.6.14:
- Make PKC compatible with latest Kodi Nexus #1840
- Fix TypeError: 'NoneType' object is not subscriptable on playback start #1839
- version 3.6.13 for everyone

version 3.6.13 (beta only):
- Fix TypeError: 'NoneType' object is not subscriptable on playback start #1823
- Add initial, experimental support for latest Nexus nightly, video DB version bump 120 #1824
- Fix RuntimeError: dictionary changed size during iteration if Plex Companion subscribers change #1825

version 3.6.12:
- version 3.6.11 for everyone

version 3.6.11 (beta only):
- Fix PKC telling the PMS it's playing the last video instead of the currently playing trailer #1806

version 3.6.10:
- versions 3.6.8 and 3.6.9 for everyone

version 3.6.9 (beta only):
- Fix PKC reporting Kodi TV/PVR playback as the last Plex item being played again #1801

version 3.6.8 (beta only):
- Attempt to fix Android 11 with Experience 9 crashing #1798

version 3.6.7:
- Another attempt at: Android: Fix IntegrityError during sync, caused by a screwed up Python environment #1793

version 3.6.6:
- Android: Fix IntegrityError during sync, caused by a screwed up Python environment #1790

version 3.6.5:
- version 3.6.4 for everyone

version 3.6.4 (beta only):
- Fix IndexError and playback progress not being reported to the PMS #1784
- Optimize code to avoid a database lookup when adding a playlist item #1758

version 3.6.3:
- Fix PKC not picking the correct Plex subtitle #1760

version 3.6.2:
- Fix playback report not working and AttributeError: 'NoneType' object has no attribute 'startswith' #1755
- Make sure that no proxy is used for artwork caching for calls to Kodi's webserver at localhost #1754

version 3.6.1:
- Fix Kodi add-on Up Next crashing by removing code that has become obsolete on the PKC-side #1750

version 3.6.0:
- versions 3.5.9 - 3.5.17 for everyone
- Fix media not showing up in the library if Kodi masterlock has been activated. Kodi bugfix is also necessary, hopefully coming with Kodi 19.4, otherwise switch to Kodi 19.1
- Fix PKC sometimes selecting the wrong subtitle for direct paths
- Fix additional artwork download crashing if there was no sensible reply
- Fix PKC changing subtitles on playback start unnecessarily
- Fix Plex Companion not able to switch streams

version 3.5.17 (beta only):
- Use addon.xml `reuselanguageinvoker` to turn add-on snappier
- Fix detection of playqueue order. Thus fix PKC reporting back the playing of an old episode when using UpNext
- Fix logging for playlist items not working correctly

version 3.5.16 (beta only):
- Fix playback report for widget not working if direct paths are used

version 3.5.15 (beta only):
- Re-add old Plex Companion mechanism as the new one sucks
- Fix KeyError on playback startup

version 3.5.14 (beta only):
- Fix PKC not being able to connect to plex.tv after installation

version 3.5.13 (beta only):
- Fix Kodi getting blocked and losing PMS access e.g. due to cloudflare

version 3.5.12 (beta only):
- Fix skip intro not working
- Fix playback report not working due to an IndexError
- Fix rare IndexError when trying to delete a playlist item

version 3.5.11 (beta only):
- Fix playback startup and AttributeError: 'bool' object has no attribute 'get'

version 3.5.10 (beta only):
- Tell the PMS and Plex Companion about any stream changes on the Kodi side

version 3.5.9 (beta only):
- Huge overhaul: completely new Plex Companion implementation. PKC is now available as a casting target for Plexamp. Includes refactoring of Skip Intro as well as Playqueues
- Add auto skip intro functionality
- Fix streams for videos not being set-up
- Fix generating new unique device ID for PKC not working
- Make PKC compatible with Python 3.6 again

version 3.5.8:
- Fix UnboundLocalError: local variable 'identifier' referenced before assignment
- versions 3.5.6-3.5.7 for everyone

version 3.5.7 (beta only):
- Fix Kodi JSON racing condition on playback startup and KeyError

version 3.5.6 (beta only):
- Fix Plex Companion not working by fixing some issues with PKC's http.server's BaseHTTPRequestHandler

version 3.5.5:
- Lost patience with Kodi 19: drop use of Python multiprocessing entirely

version 3.5.4:
- Fix Receiving init() missing 1 required positional argument: ‘certification_country’
- Update translations from Transifex

version 3.5.3:
- Add playback settings to let the user choose whether Plex or Kodi provides the default audio or subtitle stream on playback start

version 3.5.2:
- version 3.5.1 for everyone

version 3.5.1 (beta only):
- Refactor stream code and fix Kodi not activating subtitle when it should
- Direct Paths: Fix TypeError: "element indices must be integers" on playback startup
- Android: Fix broken Python multiprocessing module (a Kodi 19.2 bug) 
- Fix logging if fanart.tv lookup fails: be less verbose

version 3.5.0:
- versions 3.4.5-3.4.7 for everyone

version 3.4.7 (beta only):
- Tell the PMS if a video's audio stream or potentially subtitle stream has changed. For subtitles, this functionality is broken due to a Kodi bug
- Transcoding: Fix Plex burning-in subtitles when it should not
- Large refactoring of playlist and playqueue code
- Refactor usage of a media part's id

version 3.4.6 (beta only):
- Fix RecursionError if a video lies in a root directory

version 3.4.5 (beta only):
- Implement "Reset resume position" from the Kodi context menu

version 3.4.4:
- Initial compatibility with Kodi 20 Nexus. Keep in mind that development for Kodi Nexus has not even officially reached alpha stage - any issues you encounter are probably caused by that
- version 3.4.3 for everyone

version 3.4.3 (beta ony):
- Use Plex settings for audio and subtitle stream selection. This is a best guess regarding subtitles as Plex and Kodi are not sharing much info
- Fix PlexKodiConnect setting the Plex subtitle to None
- Download landscape artwork from fanart.tv, thanks @geropan
- Revert "Fix PlexKodiConnect changing subtitles for all videos on the PMS"

version 3.4.2:
- Fix PlexKodiConnect changing or removing subtitles for every video on the PMS

version 3.4.1:
- Fix PMS setting `List of IP addresses and networks that are allowed without auth` causing Kodi to take forever to start playback

version 3.4.0:
- Improve logging for converting Unix timestamps
- Remove dependency on script.module.defusedxml - that module is now included in PKC
- version 3.3.3-3.3.5 for everyone

version 3.3.5 (beta only):
- Rewire defusedxml and xml.etree.ElementTree: Fix AttributeError: module 'resources.lib.utils' has no attribute 'ParseError'
- Fix errors when PKC tries to edit files that don't exist yet

version 3.3.4 (beta only):
- Fix a racing condition that could lead to the sync getting stuck
- Fix RecursionError: maximum recursion depth exceeded
- Bump websocket client: fix AttributeError: 'NoneType' object has no attribute 'is_ssl'

version 3.3.3 (beta only):
- Fix a racing condition that could lead to the sync process getting stuck
- Fix likelyhood of `database is locked` error occuring
- Fix AttributeError: module 'urllib' has no attribute 'parse'
- Support for the Plex HAMA agent to let Kodi identify animes (using Kodi's uniqueID 'anidb')
- Support forced HAMA IDs when using tvdb uniqueID

version 3.3.2:
- version 3.3.1 for everyone

version 3.3.1 (beta only):
- Add an additional Plex Hub "PKC Continue Watching" that merges the Plex Continue Watching with On Deck
- Fix auto-picking of video stream if several video versions are available
- Make PKC compatible with Kodi 20 N* by using xbmcvfs for translatePath
- Update translations

version 3.3.0:
WARNING: Database reset and full resync required
- versions 3.2.1-3.2.4 for everyone

version 3.2.4 (beta only):
- Fix websockets and AttributeError: 'NoneType' object has no attribute

version 3.2.3 (beta only):
- Attempt to fix websocket threading issues and AttributeError: 'NoneType' object has no attribute 'is_ssl' or 'settimeout'
- Get rid of Python arrow; hopefully fix many Python import errors (also occuring in other add-ons!)

version 3.2.2 (beta only):
- Fix videos not starting due to a TypeError
- Show warning message to remind user to use Estuary for database resets
- Update websocket client to 1.0.0

version 3.2.1 (beta only):
WARNING: Database reset and full resync required
- Fix PKC widgets not working at all in some cases
- Direct Paths: fix several issues with episodes
- New Python-dependency: arrow

version 3.2.0:
WARNING: Database reset and full resync required
- version 3.1.1-3.1.4 for everyone

version 3.1.4 (beta only):
- Fix Alexa and RuntimeError: dictionary keys changed during iteration
- Fix AttributeError: module 'shutil' has no attribute 'copy_tree'

version 3.1.3 (beta only):
- Add PKC setting to disable verification whether we can access a media file
- Direct paths: corrections to more closely mirror Kodi's way of saving movie and tv show files to the db
- Make sure that the correct file system encoding is used for playlists
- Fix a rare AttributeError when using playlists
- Fix regression: fix add-on paths always falling back to direct paths

version 3.1.2 (beta only):
- Fix ImportError: cannot import name 'dir_util' from 'distutils' on PKC startup
- Fix UnicodeEncodeError if Plex playlist name contains illegal chars
- Fix PKC not showing up as a casting target in some cases

version 3.1.1 (beta only):
- Direct paths: fix filename showing instead of full video metadata during playback
- Update translations

version 3.1.0:
- version 3.0.16 and 3.0.17 for everyone
- Fix resume not working if Kodi player start-up is slow

version 3.0.17 (beta only):
- Fix instantaneous background sync and Alexa not working
- Hopefully fix RuntimeError: no add-on id "plugin.video.plexkodiconnect"
- Fix error socket.timeout: timed out 

version 3.0.16 (beta only):
- Add information to PKC settings for background sync and Alexa whether a connection has been successfully made 

version 3.0.15:
- 3.0.14 for everyone
- Rename skip intro skin file

version 3.0.14 (beta only):
- Quickly sync recently watched items before synching the playstates of the entire Plex library
- Fix TypeError: function missing required argument 'message'
- Fix PlexKodiConnect Kodi add-on icon and fanart not showing
- Improve logging for websocket JSON loads

version 3.0.13:
- Fix UnboundLocalError: local variable 'user' referenced before assignment

version 3.0.12:
- Sync name and user rating of a TV show season to Kodi
- Fix rare TypeError: expected string or buffer on playback start

version 3.0.11:
- Fix TypeError: function missing required argument 'message'

version 3.0.10:
- Fix skip intros sometimes not working due to a RuntimeError
- Update translations

version 3.0.9:
- Add skip intro functionality
- Fix Kodi add-on NextUp not working

version 3.0.8:
- Fix KeyError: u'game' if Plex Arcade has been activated
- Fix AttributeError: 'App' object has no attribute 'threads' when sync is cancelled

version 3.0.7:
- Hopefully fix rare case when sync would get stuck indefinitely
- Fix ValueError: invalid literal for int() for invalid dates sent by Plex

version 3.0.6:
- Fix PKC not auto-picking audio/subtitle stream when transcoding
- Fix ValueError when deleting a music album
- Fix OSError: Invalid argument when Plex returns an invalid timestamp

version 3.0.5:
- Fix pictures from Plex picture libraries not working/displaying
- Fix sqlite3.OperationalError on PKC upgrade

version 3.0.4:
- Automatically look for missing movie trailers using TMDB

version 3.0.3:
- Fix PKC suddenly using main Plex user's credentials, e.g. when the PMS address changed
- Fix missing Kodi tags for movie collections/sets
- Change `thread.isAlive` to `thread.is_alive`

version 3.0.2:
- Fix AttributeError: module has no attribute try_decode

version 3.0.1:
- Fix rare KeyError when using PKC widgets
- Update translations

version 3.0.0:
- Major upgrade from Python 2 to Python 3, allowing use of Kodi 19 Matrix

version 2.12.18 (beta only):
- Quickly sync recently watched items before synching the playstates of the entire Plex library
- Improve logging for websocket JSON loads

version 2.12.17 (beta only):
- Sync name and user rating of a TV show season to Kodi
- Fix rare TypeError: expected string or buffer on playback start

version 2.12.16:
- versions 2.12.14 and 2.12.15 for everyone

version 2.12.15 (beta only):
- Fix skip intros sometimes not working due to a RuntimeError
- Update translations

version 2.12.14 (beta only):
- Add skip intro functionality

version 2.12.13:
- Fix KeyError: u'game' if Plex Arcade has been activated
- Fix AttributeError: 'App' object has no attribute 'threads' when sync is cancelled

version 2.12.12:
- Hopefully fix rare case when sync would get stuck indefinitely
- Fix ValueError: invalid literal for int() for invalid dates sent by Plex
- version 2.12.11 for everyone

version 2.12.11 (beta only):
- Fix PKC not auto-picking audio/subtitle stream when transcoding
- Fix ValueError when deleting a music album
- Fix OSError: Invalid argument when Plex returns an invalid timestamp

version 2.12.10:
- Fix pictures from Plex picture libraries not working/displaying

version 2.12.9:
- Fix Local variable 'user' referenced before assignement

version 2.12.8:
- version 2.12.7 for everyone

version 2.12.7 (beta only):
- Fix PKC suddenly using main Plex user's credentials, e.g. when the PMS address changed
- Fix missing Kodi tags for movie collections/sets

version 2.12.6:
- Fix rare KeyError when using PKC widgets
- Fix suspension of artwork caching and PKC becoming unresponsive
- Update translations
- Versions 2.12.4 and 2.12.5 for everyone

version 2.12.5 (beta only):
- Greatly improve matching logic for The Movie Database if Plex does not provide an appropriate id
- Fix high transcoding resolutions not being available for Win10
- Fix rare playback progress report failing and KeyError: u'containerKey'
- Fix rare KeyError: None when trying to sync playlists
- Fix TypeError when canceling Plex sync section dialog

version 2.12.4 (beta only):
- Hopefully fix freeze during sync: Don't assign multiple sets/collections for a specific movie
- Support metadata provider ids (e.g. for IMDB) for the new Plex Movie Agent

version 2.12.3:
- Fix playback failing due to caching of subtitles with non-ascii chars
- Fix ValueError: invalid literal for int() with base 10 during show sync
- Fix UnboundLocalError when certain Plex sections are deleted or being un-synched
- New method to install PlexKodiConnect directly via an URL. You thus do not need to upload a ZIP file to Kodi anymore.

version 2.12.2:
- version 2.12.0 and 2.12.1 for everyone 
- Fix regression: sync dialog not showing up when it should 

version 2.12.1 (beta only):
- Fix PKC shutdown on Kodi profile switch
- Fix Kodi content type for images/photos
- Added support for custom set of safe characters when escaping paths (thanks @geropan)
- Revert "Don't allow spaces in devicename"
- Fix sync dialog showing in certain cases even though user opted out

version 2.12.0 (beta only):
- Fix websocket threads; enable PKC background sync for all Plex Home users!
- Fix PKC incorrectly marking a video as unwatched if an external player has been used
- Update translations

version 2.11.7:
- Fix PKC crashing on devices running Microsoft UWP, e.g. XBox

version 2.11.6:
- Fix rare sync crash when queue was full
- Set "Auto-adjust transcoding quality" to false by default

version 2.11.5:
- Versions 2.11.0-2.11.4 for everyone

version 2.11.4 (beta only):
- Fix another TypeError: 'NoneType' object has no attribute '__getitem__', e.g. when trying to play trailers

version 2.11.3 (beta only):
- Fix TypeError: 'NoneType' object has no attribute '__getitem__', e.g. when displaying albums

version 2.11.2 (beta only):
- Refactor direct and add-on paths. Enables use of Plex music playlists synched to Kodi

version 2.11.1 (beta only):
- Rewire the set-up of audio and subtitle streams, esp. before starting a transcoding session. Fixes playback not starting at all

version 2.11.0 (beta only):
- Fix PKC not burning in (and thus not showing) subtitles when transcoding
- When transcoding, only let user choose to burn-in subtitles that can't be displayed otherwise by Kodi
- Improve PKC automatically connecting to local PMS
- Ensure that our only video transcoding target is h264 
- Fix adjusted subtitle size not working when burning in subtitles
- Fix regression: burn-in subtitles picking up the last user setting instead of the current one

version 2.10.12:
- versions 2.10.5-11 for everyone

version 2.10.11 (beta only):
- Fix yet another rare but annoying bug where PKC becomes unresponsive during sync 

version 2.10.10 (beta only):
- Fix rare but annoying bug where PKC becomes unresponsive during sync
- Fix PKC background sync not working in some cases

version 2.10.9 (beta only):
- Other Kodi add-ons can now search for Plex items using plugin://plugin.video.plexkodiconnect?mode=search&query=YOUR SEARCH STRING HERE 

version 2.10.8 (beta only):
- Improve thread pool management to render PKC snappier
- Attempt to fix broken pipe error
- Fix DirectPaths when a video's folder name is identical to a video's filename (you will need to manually reset the Kodi database) 

version 2.10.7 (beta only):
- Fix PKC not starting up on iOS
- Optimize the new sync process and fix some bugs that were introduced
- Fix PKC becoming unresponsive e.g. when switching the PMS

version 2.10.6 (beta only):
- Fix AttributeError if user enters an invalid pin code
- Fix OperationalError when starting with a fresh PKC installation
- Fix IndexError

version 2.10.5 (beta only):
- Rewire library sync to speed it up and fix sync getting stuck in rare cases 
- Optimize threads by using events instead of a polling mechanism. Fixes PKC becoming unresponsive, e.g. when switching users
- Optimize adding values to Kodi databases by not using sqlite COALESCE command
- Fix OperationalError when resetting PKC
- Improve sync resiliance when certain items are not to be synced to Kodi or PKC skipped an item in the past
- Make sure bool is returned instead of an int 
- Don't use WAL mode for sqlite connections, it is not making any difference

version 2.10.4:
- version 2.10.3 for everyone
- Fix to correctly wipe Kodi databases

version 2.10.3 (beta only):
- Fix a couple of issues with music when using direct paths: correctly escape music paths for Kodi regex matching
- Fix Recently Added Albums sort order (you will have to reset the Kodi database manually)
- Fix database being locked in rare cases
- Increase batch size for library sync from 500 to 2000 to increase sync speed
- Optimize some code
- Fix KeyError when using Plex search capabilities
- Check faster for available Plex Media Server to connect to

version 2.10.2:
- Fix Kodi playback jumping to the beginning of a video that just started
- Fix transcoding quality degenerating quickly while playing with a new setting to deactivate auto quality for transcoding (applicable e.g. for Chromecast) 
- Update translations

version 2.10.1:
- Fix resume for Kodi on low powered devices, e.g. Raspberry Pi
- Fix resume when using an external player
- Fix UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal 

version 2.10.0:
- version 2.9.12 - 2.9.14 for everyone
- Get rid of some obsolete code for the ContextMonitor we dropped

version 2.9.14 (beta only):
- Fix resume when starting playback via PMS or when force transcoding
- Get rid of ContextMonitor and the dedicated Python thread - with new resume mechanics, this is not needed anymore
- Optimize clean-up of file table in the Kodi video database after stopping playback
- Get rid of some obsolete imports

version 2.9.13 (beta only):
- Fix PKC resuming instead of playing from the beginning

version 2.9.12 (beta only):
- Fix resume not working in some cases
- Support Plex search across all media and Plex Media Servers: Navigate to the PlexKodiConnect Add-on, then "Search"
- Always use the current Kodi language when communicating with the PMS (restart Kodi when changing the language!)
- Fix Kodi crashing when casting from e.g. Plex Web or Plex for Windows
- Fix PKC throwing error if m3u playlist contains resume information

version 2.9.11:
- version 2.9.10 for everyone

version 2.9.10 (beta only):
- Add tmdb provider sync
- Fix external subtitles not being available
- Fix PKC increasing the Plex watch count by 2 instead of 1
- Improve subtitle naming
- Delete temporary subtitles on playback stop
- Fix a missleading string

version 2.9.9:
- Versions 2.9.6 - 2.9.8 for everyone

version 2.9.8 (beta only):
- Fix Play Error in scenarios (older PMS version?) where posting playqueues using an uri `server://` is not possible and `library://` is necessary
- Fix rare AttributeError on PKC startup when modifying advancedsettings.xml
- Update translations

version 2.9.7 (beta only):
- Correctly escape URLs for Direct Paths
- Update settings to inform user that reboot is necessary
- Optimize code
- Don't migrate PKC settings if we're dealing with a clean new PKC installation
- Force-scan every single item in the library - seems like we could lose some recently added items otherwise when updating PKC

version 2.9.6 (beta only):
- Rework logic for using direct paths, direct play, direct streaming and transcoding, using the PMS StreamingBrain: Let PMS StreamingBrain decide on whether we need to force-transcode, New setting to choose "Direct Streaming", Allow for 4k transcoding and direct streaming, New setting to force transcode only 4K and above
- Fix PKC background sync synching items to Kodi even though entire section should not be synched
- Force a full sync of all items after choosing a new PMS, changing a PMS' address and changing which Plex libraries to sync
- Only enforce advancedsettings.xml 'cleanonupdate' to be false for PKC add-on paths
- Never give up trying to connect to the PMS or Alexa using websockets
- Fix resume when force-transcoding

version 2.9.5:
- Version 2.9.4 for everyone

version 2.9.4 (beta only):
- Fix extras not playing when path substitution is enabled
- Fix Plex Companion device restarting playback when reconnecting to PKC
- Fix playback report not working after having played a non-Plex video file
- Change how items are added to Plex playqueues by using PMS machine identifier
- Optimize code for playqueue items
- Fix rare AttributeError when shutting down Kodi

version 2.9.3:
- version 2.9.2 for everyone

version 2.9.2 (beta only):
- Fix Plex Companion casting from iOS and Android
- Faster sync of playlists
- Sync playlists immediately after synching new/changed items and show an info dialog
- Fix potential playlist sync issues if there is a dot in the playlist name
- Correctly detect whether we already synched a Kodi playlist
- Remove obsolete check if path is indeed in unicode
- Add unicode representation to Playlist() class
- Separate function to wipe all synched Plex playlists
- Less logging when comparing PKC versions

version 2.9.1:
- Fix On Deck and Recently Added Episodes for shows not appending showname and season and episode number

version 2.9.0:
WARNING: You might have to manually select your PKC widgets again
- versions 2.8.8 - 2.8.11 for everyone
- Fix AttributeError: 'NoneType' object has no attribute 'attrib' on playback startup
- Add new Lithuanian translations (thanks @egidusm)

version 2.8.11 (beta only):
- Support for the Up Next Kodi add-on
- Fix casting to PlexKodiConnect always starting the first episode
- Rename video nodes for ondeck

version 2.8.10 (beta only):
- Fix broken PKC update

version 2.8.9 (beta only):
- Fix sections that are not synced not displaying menu but entire library 
- Provide more metadata for unsynced directory-like items like a tv show
- Fix 'Plex.nodes.<id>.path' not linking directly to entire library

version 2.8.8 (beta only):
WARNING: You might have to manually select your PKC widgets again
- Ensure correct Kodi Container.Type is set for PKC widgets
- Fix missing cast artwork if an actor also acted as director or writer for another movie. You will have to manually reset the Kodi DB.

version 2.8.7:
- Fix PKC potentially marking a video as watched on startup; don't sync time by toggling a video watch status but use PMS epoch time

version 2.8.6:
- Fix PKC creating thousands of playlists if a single Kodi playlist wasn't unique
- Fix FutureWarning

version 2.8.5:
- Fix Trakt add-on not recognizing id of tv shows (you will need to manually reset the Kodi database in the PKC settings under Advanced)
- Update translations

version 2.8.4:
- Fix for Kodi 17 Krypton TypeError on playback start: 'offscreen' is an invalid keyword argument for this function
- Fix widgets not being populated after very first PlexKodiConnect library sync without a restart of Kodi
- Don't restart Kodi if user chose to enter PKC settings on install 

version 2.8.3:
- Versions 2.8.1-2.8.2 for everyone

version 2.8.2 (beta only):
- Add an additional, faster On Deck node for movies (for tv shows, this is impossible, unfortunately)
- Introduce limits to the number of videos shown in PKC widgets to speed them up
- Fix TypeError for Direct Paths: init() got an unexpected keyword argument ‘item’
- Fix In Progress widgets being broken and tv shows showing up as completely watched
- Update translations

version 2.8.1 (beta only):
- Fix playback startup and RuntimeError: Unknown exception thrown from the call "XBMCAddon::xbmcplugin::setResolvedUrl"
- Refactor Plex API 
- Fix TV Show clearlogo not displaying during playback
- Fix rare UnicodeDecodeError on library sync 
- Add additional info dialog for PKC synching playlists
- Update translations

version 2.8.0:
- Finally fix Kodi crashing on playback startup for add-on paths!
- All the good stuff from 2.7.15-2.7.18 for everyone

version 2.7.18 (beta only):
- Fix Kodi always playing the same file version of a video if several are present
- Also play trailers if user chose to resume movie from the beginning
- Ask user whether to resume if using Direct Paths and user initiated playback via PMS
- Fix video thrown by Plex Companion not resuming

version 2.7.17 (beta only):
- Another attempt to keep Kodi from crashing on playback startup

version 2.7.16 (beta only):
- Hopefully fix Kodi crashing on playback startup for good

version 2.7.15 (beta only):
- Hopefully fix Kodi crashing on playback startup
- Refresh widgets only on homescreen to prevent cursor from jumping within libraries
- Don't refresh container when user chose to delete or refresh an item from the context menu 

version 2.7.14:
- Correctly clear window variables e.g. on user switch
- Reload skin on resetting PKC video nodes
- Fix last-played node value to ensure a playcount greater than zero
- 2.7.11-2.7.13 for everyone

version 2.7.13 (beta only):
- Fix transcoding not working
- Fix 4k H265 not being transcoded
- Fix some appearance tweak settings
- Fix music and picture nodes pointing to video library
- Fix unequality when comparing sections
- Fix Plex Companion logging error messages

version 2.7.12 (beta only):
- Fix UnicodeEncodeError on playback startup for direct paths
- Attempt to fix rare Kodi crash on PKC exit

version 2.7.11 (beta only):
- Fixes to unicode
- Cleanup code, remove some obsolet methods and functions
- Fix FutureWarning

version 2.7.10:
- Fix duplicate music entries for direct paths (you will need to manually reset the Kodi database)
- Fix UnicodeEncodeError for Direct Paths and some PKC video nodes
- Fix playback sometimes not being reported for direct paths
- Update translations

version 2.7.9:
- Wait for PKC to authorize before loading widgets
- Fix UnicodeDecodeError for libraries with non-ASCII paths
- Fix TypeError on Kodi start
- Fix Kodi Masterlock for nfs paths (requires restart) 

version 2.7.8:
- Fix widgets not working in some cases like NVidia Shield
- Fix appending of show title, season and episode number
- Fix node paths for skins

version 2.7.7:
- Fix sync not working due to non-ASCII Plex library names
- Fix PKC synching playstate to wrong user on profile switch. Be aware that Kodi profile switches are error-prone
- Fix playback sometimes not being reported for direct paths
- Fix float() argument must be a string or a number
- Fix nodes for skin use
- Fix 'NoneType' object has no attribute 'kodi_path'

version 2.7.6:
- Make 2.7.5 available for everyone

version 2.7.5 (beta only):
- Giant overhaul of widgets
- Fix some KeyErrors when playing songs
- Fix rare cases where playlists were being created

version 2.7.4:
- Fix PKC not synching new items if an older Kodi db is present

version 2.7.3:
- Fix PKC trying to initialize playqueues over and over again
- Fix PKC not starting due to a higher version Kodi database

version 2.7.2:
- Fix Kodi profile switch not working correctly and PKC not exiting cleanly

version 2.7.1:
- Fix playback not starting at all 
- Fix rare TypeError: unsupported operand type(s) for /: 'NoneType' and 'int' on playback startup
- Improve plex db lookups by creating better db indicees 
- Fix background sync crashing in rare cases
- Update translations
- Add Ko-fi donate button 

version 2.7.0:
- WARNING: You will need to reset the Kodi database if you're using the stable version of PKC!
- Version 2.6.6-9 for everyone
- Choose which Plex libraries get synched to Kodi

version 2.6.9 (beta only):
- Fix PKC crashing on resetting the database

version 2.6.8 (beta only):
- Choose which Plex libraries get synched to Kodi
- Fix PKC becoming unresponsive
- Fix rare case where thousands of identical playlists could be generated
- Fix movies or shows disappearing in fringe cases
- Fix processing of collections in special cases
- Implement Codacy suggestions

version 2.6.7 (beta only):
- Fix "Unauthorized for PMS" e.g. on switching Plex users
- Improve error messages when playback failes

version 2.6.6 (beta only):
- WARNING: You will need to reset the Kodi database!
- Greatly speed up sync for episodes, especially for large libraries
- Allow websocket redirects. Never allow insecure HTTPs connections for Kodi Leia
- Optimize headers for communication with PMS to appear like a Plex Media Player
- Fix PMS log entries 'Unable to find client profile for device'
- Improve sync dialog

version 2.6.5:
- Fix extras not playing
- Hide "Verify SSL certificate" setting for Kodi 18 Krypton
- Improve logging
- Update translations

version 2.6.4:
- Fix music items getting deleted on startup
- Never ignore SSL certificate errors for Kodi >= 18 - just like Kodi 
- Fix playback not starting at the beginning
- Improve dialog to manually enter PMS IP and port
- Show logged in Plex home user in the settings and allow changing it
- Update German strings
- Implement Codacy suggestions 

version 2.6.3:
- Fix PKC crashing on Xbox

version 2.6.2:
- Fix playlist sync: sequence item 0: expected string or unicode
- Fix PKC not deleting all the items it should
- Fix keyError 'sessionKey' for weird PMS messages 
- Fix artwork caching AttributeError: 'ImageCachingThread' object has no attribute 'cancel'
- Improve pop-up "Searching for PMS"
- Fix FutureWarning

version 2.6.1:
- WARNING: You will need to reset the Kodi database!
- Fix TV sections not being deleted e.g. after user switch
- Don't show a library sync error pop-up when full sync is interrupted
- Fix to correctly escape paths 
- Update translations

version 2.6.0:
- Support for Kodi 18 Leia
- Big overhaul of the synching process, it's now much faster
- PKC now supports really big Plex and Kodi libraries
- Too many other improvements to recount. See the changelog for the 2.5.x versions
Furthermore:
- Don't lock Plex DB when processing websocket messages
- Fix KeyError: u'kodi_fileid' for some Plex websocket messages
- Update translations

version 2.5.23 (beta only):
- Hopefully fix slow playback startup just after Kodi startup
- Better, safer way to enter network credentials for Direct Paths
- Fix check whether a direct path is accessible 
- Fix OperationalError: no such table on database reset 
- Fix widgets not displaying correct playstate after PKC startup 
- Fix 'NoneType' object has no attribute 'execute' when Plex artwork is not synced and an item is deleted 
- Update translations
- Log whether Plex artwork is synced to Kodi 

version 2.5.22 (beta only):
- Fix rare EOFError and PKC starting wrong video as a consequence

version 2.5.21 (beta only):
- Fix KodiVideoDB object has no attribute kodiconn
- Fix local variable 'set_api' referenced before assignment

version 2.5.20 (beta only):
- Begin a new transaction when database was locked
- Fix browsing to show from info dialog
- Fix rare KeyError if user is playing something somewhere else

version 2.5.19 (beta only):
- Fix crash on startup-sync due to missing albums
- Fix browsing to show from info dialog

version 2.5.18 (beta only):
- Fix playback start: Don't lock databases when starting playback
- Refresh Kodi view only once on full syncs
- Ignore playstate updates for full sync time stamps croneter committed
- Try even longer to write to Kodi database
- Fix some items rarely not being synced

version 2.5.17 (beta only):
- Fix playback not starting for really large libraries

version 2.5.16 (beta only):
- Fix KeyError due to malformed PMS messages
- Fix to database parameter must be string

version 2.5.15 (beta only):
- Make PKC potentially compatible with several database schemas
- Support for Kodi 18 Leia RC 5.2
- Increase number of attempts to write to Kodi DB
- Further increase database sync resiliance

version 2.5.14 (beta only):
Fix rare OperationalError: Locked Database

version 2.5.13 (beta only):
- Fix playback not starting up
- Fix Plex channels and watch later not working
- Hopefully fix playstate not being synced to PMS

version 2.5.12 (beta only):
- WARNING: You will need to reset the Kodi database!
- New option to not use Plex artwork
- Add-on paths: Fix resume if playback not initiated with PKC
- Increase database resiliance with sqlite WAL mode

version 2.5.11 (beta only):
- Direct Paths: Fix AttributeError for widgets

version 2.5.10 (beta only):
- Enable Plex Hub listings to be used for widgets
- Finally fix deleteting of items from PMS not working
- Catch sqlite OperationalError for websocket messages
- Revert "Increase database timeouts"

version 2.5.9 (beta only):
- Compatibility with Kodi 18 RC 4
- New setting to escape paths e.g. for HTTP direct paths
- Ensure path replacement never contains trailing (back)slash
- Leia: fix resetting of videoplayer autoplay next item 
- Don't store identical show artwork for seasons
- Close DB connections while caching images
- Increase database timeouts
- Improve logging for seasons

version 2.5.8 (beta only):
- Hopefully fix Kodi crashing on playback start
- Fix video resuming from old resume point
- Fix database is locked
- Faster way to initialize playlists on the Plex side
- Fix PKC recreating playlists too often
- Shutdown playlist sync if necessary

version 2.5.7 (beta only):
- WARNING: You will need to reset the Kodi database!
- Increase timeout for database connections
- Fix music DB not being wiped on database reset
- Improve Plex playQueue resiliance

version 2.5.6 (beta only):
- Fix many items not getting synced
- Fix episodes not being synced to due a missing season
- Fix some very few items not being synced
- Fix ValueError during sync due to missing Plex timestamp
- Fix resume for episodes for add-on paths
- Fix movies not showing up on switching PMS
- Finish full syncs during playbacks, don't start new ones
- Fix AttributeError when a playlist disappeared
- Close sync dialog if video playback starts
- Don't show sync messages while Kodi is playing something
- Only marking full sync as successful if that is indeed the case
- Optimize code

version 2.5.5 (beta only):
- Fix OperationalError and PKC not starting up

version 2.5.4 (beta only):
- Fix a couple of issues related to episodes
- Fix permanent missing library items if PMS failed to send a single response
- Fix OperationalError: enforce Kodi restart with clean DB once
- Fix switching PMS not recognizing when old PMS is selected
- Fix PKC not automatically connecting to changed PMS IP on startup
- Remove message "Full library sync finished"
- Fix PKC not automatically connecting to changed PMS IP on startup
- Remove cProfile program metrics measurements

version 2.5.3 (beta only):
- Fix Plex sections not showing up or disappearing

version 2.5.2 (beta only):
- Rewire library sync
- Optimize sqlite transactions
- Replace annoying sync message with PKC settings info
- Add PKC settings status indication for caching
- Fix KeyError when synching playlists
- Fix ImportError for Plex Companion gdm issues
- Increase database connection cache size
- Force-Reboot Kodi immediately if sqlite PRAGMA WAL causes errors
- Force a full sync on switching Plex username
- Fix wierd behavior upon switching to another PMS
- More bugfixes and code optimizations

version 2.5.1 (beta only):
- Fix OSError on resetting the database

version 2.5.0 (beta only):
- Huge rewrite of the sync mechanism - it should now be faster and more stable
- Sync huge Plex libraries now: the sync will load all data bit by bit
- Rewrote code for the main program loop, reducing the need for separate Python threads
- Rewrote and sped up code to access and change Kodi and Plex databases
- Fixes to Kodi 18 Leia music library
- Tons of other small fixes I can't remember

version 2.4.10 (beta only):
- Use xml.etree.cElementTree whenever possible to avoid memory leaks

version 2.4.9:
- Fix Kodi crashing due to PKC memory leak 

version 2.4.8:
- Make 2.4.4-2.4.7 available for everyone

version 2.4.7 (beta only):
- Try to fix PKC for Enigma 2
- Fix Kodi 18 wanting to scan tags for songs all the time (you will need to reset the database in the PKC settings)
- Optimize resetting of Kodi and Plex databases

version 2.4.6 (beta only):
- Fix PKC not starting up on Enigma
- Fix sync issues if video lies in root of file system
- Make sure we retain a dummy first music artist entry
- Increase logging

version 2.4.5 (beta only):
- Fix playback not starting up at all
- Rewire Kodi library refreshs
- Wipe Kodi database on first PKC run to more reliably install PKC

version 2.4.4 (beta only):
- Fix rare case when playback would not start-up
- Increase logging

version 2.4.3:
- Fix Kodi addons throwing jsonrpc errors (database reset needed)

version 2.4.2:
- Make version 2.4.1 available for everyone

version 2.4.1 (beta only):
- Hopefully fix endless playlist sync loops
- Ensure shows are deleted before seasons before episodes
- Fix library sync crash on deleting episode with missing season
- Fix numbering of already existing playlist files
- Optimize logging

version 2.4.0:
- Use pretty Plex dialogs for everyone!

version 2.3.14 (beta only):
- Fix AttributeError on forcing texture caching
- Switch to Plex style dialogs
- Include PKC info in plex.tv dialogs
- Include PKC info in user selection dialog

version 2.3.13 (beta only):
- Pretty Plex dialogs for plex.tv sign-in and user selection
- Fix UnicodeDecodeError for PMS with non ASCII chars on local LAN discovery
- Fix add-on settings not opening on installation
- Greatly speed up deleting of items on the Kodi side
- Safely parse XMLs using defusedxml
- Fix PKC trying to sync audio playlists even when audio sync disabled
- Some code cleanup

version 2.3.12:
- Fix Kodi hanging if media stream selection is aborted
- Fix potential sync crash
- Revert "Fix Kodi crash by committing to DB frequently"

version 2.3.11 (beta only):
- Fix Kodi crash by committing to DB frequently

version 2.3.10:
- Compatibility with Kodi 18 Leia Beta 1
- Update translations
- Make version 2.3.9 available for everyone

version 2.3.9 (beta only):
- Fix playback not resuming (Kodi 18 ignores listitem "StartOffset")
- Fix playerid not being retrieved for Kodi 18
- Prefer local trailers; new setting to list extras instead of playing trailer

version 2.3.8:
- Fix typo
- Make version 2.3.4-2.3.7 available for everyone

version 2.3.7 (beta only):
- Fix library sync crash due to exotic playlist characters
- Force-deactivate playlist sync for Microsoft UWP for Kodi 18

version 2.3.6 (beta only):
- Fix PKC not starting by decoupling watchdog/subprocess modules

version 2.3.5 (beta only):
- Fix PKC not starting by importing playlist module only when sync enabled

version 2.3.4 (beta only):
- Fix playback sometimes not starting and UnicodeEncodeError for logging

version 2.3.3:
- Choose trailer if several are present (DB reset required)

version 2.3.2:
- Fix casting to PKC failing

version 2.3.1:
- Fix library sync crashing due to Plex photo albums

version 2.3.0:
Major stable version bump. Highlights:
- Sync Plex playlists to Kodi and Kodi playlists to Plex!
- Support for Plex collection/set artwork
- Many bug fixes, especially Plex Companion
- Tons of code improvements in the hope that someone else will help with developing PKC
Warning: the 2 helper add-ons for movies and tv shows also received an upgrade from 2.0.4 to 2.0.5. If you want to downgrade PKC, be sure to downgrade these add-ons as well!

version 2.2.18 (beta only):
- Fix PKC tv show node "all"
- Move PKC playlist shortcut

version 2.2.17 (beta only):
- Access Plex Hubs. Listing will be different depending on Kodi section!
- Fix year for songs missing
- Fix Plex extras not playing
- Fix rare library sync crash

version 2.2.16 (beta only):
- Enable Kodi libraries for Plex Music libraries
- New Playlists menu item for video libraries
- Only show Plex libraries in the applicable Kodi media category
- Optimize code

version 2.2.15 (beta only):
- Fix ImportError on first PKC run

version 2.2.14 (beta only):
- Hopefully fix playlist sync loops

version 2.2.13 (beta only):
- Fix library sync crash
- Fix switching to __future__ module
- Fix "Prefer Kodi Artwork" toggle doing the exact opposite
- Fix "Prefer Kodi artwork" setting not being visible

version 2.2.12 (beta only):
- Fix slow sync. Fix endless sync of corrupted PMS elements
- Refactor playlist code
- Fix FutureWarning

version 2.2.11 (beta only):
- Fix OnDeck widget for Direct Paths
- Fix Plex Companion crashing when connected to Plex Web
- Fix Plex Companion crash when connected to Plex Web playing playlist music
- Improve Plex playback report when playing music playlist
- Improve reliability in Kodi song playback
- Catch some errors if user mixes audio and video in Kodi playqueue 

version 2.2.10 (beta only):
- Fix playlists getting recreated and deleted in an endless loop
- Add some safety nets for playlist sync
- Fix FutureWarning
- Fix playlist sync settings not disappearing
- Optimize code

version 2.2.9 (beta only):
- Hopefully fix Kodi and Plex playlists getting out of sync
- Fix and optimize startup of playlist sync
- Hide certain playlist settings under certain conditions
- Fix errors in Kodi log

version 2.2.8 (beta only):
- Support for Plex collection artwork (PKC settings toggle under Artwork)
- Fix hard PKC reset not working (OSError: no such file)
- Deduplication
- Catch exception
- Update translations
- Extend Kodi metadata
- Update readme

version 2.2.7 (beta only):
- Allow to only sync specific Plex or Kodi playlists
- Don't show artwork sync progress, reduce setting-writes
- Fix playback sometimes not starting up
- Use __future__ for contextmenu.py
- Fix imports

version 2.2.6 (beta only):
- Fix default settings string, only show in English, hopefully fixes PKC loosing its settings

version 2.2.5 (beta only):
- Fix AttributeError and add_update has crashed

version 2.2.4 (beta only):
- Fix LibrarySync crashing due to Plex Companion messages

version 2.2.3 (beta only):
- Compatibility with Kodi Krypton Alpha 2
- Append tv show and SxxExx to episode playlist entries

version 2.2.2 (beta only):
- Fixes to locking mechanisms which resulted in weird behavior in some cases
- Switch to Python __future__ unicode_literals and absolute paths
- Fix UnboundLocalError for playlists
- Check all Kodi database versions before starting PKC
- Fix KeyError on non-PKC playback startup
- Speed up subtitle download to Kodi
- Update translations
- PEP-8 stuff

version 2.2.1 (beta only):
- Fix library sync crash due to PMS sending string, not unicode
- Fix playback from playlists for add-on paths
- Detect playback from a Kodi playlist for add-on paths - because we need some hacks due to Kodi bugs
- Fix add-on paths playstate and Plex Companion for playlists
- Fix Kodi telling Plex companion false playqueue position
- Don't try to get a Kodi library items for Plex clips
- Update translations

version 2.2.0 (beta only):
- Support for syncing Plex playlists to Kodi and vice-versa! (Kodi mixed music and video playlists cannot be supported as Plex does not support them)

version 2.1.6:
- Fix slow sync. Fix endless sync of corrupted PMS elements

version 2.1.5:
- Fix OnDeck widget for Direct Paths

version 2.1.4:
- Fix PKC settings suddenly getting lost
- Don't show artwork sync progress, reduce setting-writes

version 2.1.3:
- Fix default settings string, only show in English, hopefully fixes PKC loosing its settings

version 2.1.2:
- Compatibility with Kodi Krypton Alpha 2
- Check all Kodi database versions before starting PKC
- Fix KeyError on non-PKC playback startup
- PEP-8 stuff

version 2.1.1:
- Fix Library Sync crash on Android

version 2.1.0:
Finally a new update for the stable version. You will need to reconnect to your PMS and reset the Kodi database once. Highlights of v2 include:
- Support for Plex extras
- Huge improvements to Plex Companion
- Fixes to Alexa voice control
- Kodi 18 Leia Alpha 1 support
- Improvements to playback start-up
- Improvements to the syncing mechanism, which should get rid of a ton of small bugs
- Fixes to widgets and resuming playback
- Use of plex.direct paths instead of local IP addresses to ensure the SSL certificates shown by the PMS are deemed valid
- Fix Kodi screensaver
- Faster PKC startup
- And tons of other stuff...

version 2.0.30 (beta only):
- Fix resume for On Deck widget for direct paths
- Fix DB reset on Startup if PMS connection fails
- Fix searching for PMS if there is no internet connection
- Fix context menu missing "Delete item from PMS"

version 2.0.29 (beta only):
- Fix a racing condition leading to e.g. Plex Companion not working as intended
- Force a sync on startup even if Kodi is playing something
- Include Plex Home username in "Log-out Plex Home user"
- Direct paths: Don't download PMS sections twice
- Less logging

version 2.0.28 (beta only):
- Fix endless reboots if Plex music library missing
- Fix Plex Companion failing leading to PMS connection loss
- Fix PKC add-on setting user changes not saving
- Fix playback of last item not starting up
- Update Czech translation
- Declare PMS connection dead on first failed connection
- Fix KeyErrors if Kodi player does not return position
- Fix AttributeError
- Fix logging
- Use float for resume and runtime instead of int

version 2.0.27 (beta only):
- WARNING: You will need to reset the Kodi database! Sorry for that...
- Fix PKC not connecting: Fix ValueError if plex.tv returns Plex Cloud URIs
- Fix episode widget resume not working (add-on paths)
- Speed up PKC start-up
- Speed up checking of PMS connection, e.g. on startup
- Improve collection lookup; fix PKC caching wrong url
- Revert "Default to not show image caching notifications"

version 2.0.26 (beta only):
- Reduce CPU strain for artwork caching progress
- Fallback connection if plex.direct does not resolve
- Prettify Plex context menu, thanks @dazedcrazy
- Update translations
- Default to not show image caching notifications

version 2.0.25 (beta only):
- Fix migration not working correctly for re-connecting PMS
- Fix PMS showing up twice
- Improve artwork caching counter in PKC settings

version 2.0.24 (beta only):
- WARNING: You will need to reset the Kodi database! Sorry for that...
- PKC will force you to re-connect with your PMS
- Use plex.direct url instead of local ip to use correct SSL certificate; thus fix artwork caching
- Revert "Increase timeout between syncing images"
- Don't ask user for DB reset if forced by PKC
- Ensure movies and tv shows are synced before music
- Ensure a later migration if user downgraded PKC

version 2.0.23 (beta only):
- WARNING: You will need to reset the Kodi database!
- Finally support for Extras!
- Fix context menu not working for shows in library view
- Fix Plex Companion music playstate status for iOS
- Show caching progress and FanartTV lookup progress in PKC settings
- Fix rare library sync errors
- Fix ValueError for third party add-ons calling PKC
- Tweak PKC settings

version 2.0.22 (beta only):
- Fix Recently Added for tv shows not working
- Fix PKC crashing on startup

version 2.0.21 (beta only):
- Fix TV show artwork Kodi native library (reset Kodi DB!)
- Cache missing posters and backgrounds/fanart on Kodi startup
- Add toggle to deactivate image caching during playback
- Increase timeout between syncing images
- Fix music database if new music is added in the background

version 2.0.20 (beta only):
- Fix missing episode poster in certain views. You will have to manually reset your Kodi database to benefit
- Fix episode artwork sometimes not being complete
- Fix IndexError for certain Plex channels
- Kodi Leia: Fix playback failing
- Fix TV On Deck direct paths asking to choose between different media

version 2.0.19 (beta only):
- Fix PKC playback startup getting caught in infinity loop
- Rewire library sync, suspend sync during playback
- Fix playback failing in certain cases
- Fix PKC not working anymore after using context menu on songs
- Fix deletion of Plex music items
- Code cleanup

version 2.0.18 (beta only):
- Fix some playqueue inconsistencies using Plex Companion
- Direct paths: fix replaying item where playback was started via PMS
- Fix Plex trailers screwing up playqueue 
- Fix IndexError when emptying Kodi playqueue
- Incorporate PKC player in kodimonitor module
- Fix pretty printing of PKC playqueues not working
- Code cleanups

version 2.0.17 (beta only):
- Finally make PKC compatible with Kodi 18 Leia Alpha 1
- Fix information screen and Plex option not working
- Activate Kodi background updates to hide "Compressing Database"
- Update translations
- Remove most strings not being used by PKC
- Remove some legacy settings

version 2.0.16 (beta only):
- Do NOT delete playstates before getting new ones from the PMS

version 2.0.15 (beta only):
- Fix Plex Companion thinking video is playing again
- Warn if "Play next video automatically" is enabled, cause it breaks PKC playback report 
- Don't clean the Kodi file table
- Only remember which player has been active if we got a Plex id
- Hopefully fix ValueError for datetime.utcnow() 

version 2.0.14 (beta only):
- Fix resetting PKC player state - should fix PKC telling the PMS that an old, just-played item is playing
- Play the selected element first, then add the Kodi playqueue to the Plex playqueue
- Ensure that playstate for ended (not stopped) video is recorded correctly
- Make sure that LOCK is released after adding one element

version 2.0.13 (beta only):
- Fix resume for On Deck and browse by folder
- Fix PKC sometimes telling wrong item being played
- Don't tell PMS last item is playing if non-Plex item is played
- Fix rare KeyError for playback including trailers
- Use an empty video file to "fail" playback
- Use identical add-on paths for On Deck and browsing folders

version 2.0.12 (beta only):
- Fix resume not working for some Kodi interface languages
- Fix widget navigating to entire TV show not working
- Fix library sync crash TypeError
- Revert "Revert "Fix for "In Progress" not appearing""
- Simplify error message

version 2.0.11 (beta only):
- WARNING: You will need to reset the Kodi database!
- Fix playback for add-on paths
- Fix artwork for episodes for add-on paths
- Revert "Fix for "In Progress" not appearing"
- Fix playback resuming potentially too often

version 2.0.10 (beta only):
- Fix wrong item being reported using direct paths
- Direct paths: correctly clean up after context menu play
- Always resume playback if playback initiated via context menu
- Do not play trailers for resumable movies using playback via PMS
- Fix for "In Progress" widget not appearing 
- Fix correctly recording ended (not stopped!) video
- Don't record last played date if state unwatched
- Clean Kodi DB more thoroughly after playback start via PMS

version 2.0.9 (beta only):
- Fix AttributeError on playback start

version 2.0.8 (beta only):
- Fix videos not being correctly marked as played
- Improve playback startup resiliance
- Fix playerstates not being copied/reset correctly
- Fix tv shows not being correctly deleted
- Fix episode rating not being correct
- Make generally sure that we're correctly deleting videos from the Kodi DB
- Fix disabling of background sync (websockets) 

version 2.0.7 (beta only):
- Fix another UnicodeDecodeError for playlists
- Hardcode plugin-calls instead of using urlencode
- Fix Kodi 18 log warnings by declaring all settings variables

version 2.0.6 (beta only):
- Addon paths playback was basically broken - hope it works again!
- Fixes to add-on paths playback startup
- Fix UnicodeDecodeError for playqueue logging 

version 2.0.5 (beta only):
- WARNING: You will need to reset the Kodi database!
- Fix art and show info not showing for addon paths
- Fix episode information not working
- Big Kodi DB overhaul - ensure video metadata updates/deletes correctly
- Artwork code overhaul
- Greatly speed up switch of PMS
- And a lot of other stuff

version 2.0.4 (beta only):
- WARNING: You will need to reset the Kodi database!
- Many improvements to the Kodi database handling which should get rid of some weird bugs
- Many improvements to playback startup
- Fix info screen and actors not working
- Fix Companion displaying and selecting wrong subtitle
- Don't cache subtitles if direct playing
- Wipe all existing resume point, e.g. on user switch
- Don't mess with Kodi's screensaver settings
- Inhibit idle shutdown only during initial sync
- Fix KeyError for server discovery 
- Increase Python requests dependency to version 2.9.1
- Re-introduce PlexKodiConnect dependency add-ons for movies and tv shows
- And a lot of other stuff

version 2.0.3 (beta only):
- Fix Alexa playback
- Fix Kodi boot loop
- Fix playback being reported to the wrong Plex user
- Fix GB/BBFC content ratings
- Fix KeyError when browsing On Deck
- Make sure that empty XML elements get deleted
- Code optimizations

version 2.0.2 (beta only):
- Fix playback reporting not starting up correctly
- Fix playback cleanup if PKC causes stop
- Always detect if user resumes playback
- Enable resume within a playqueue
- Compare playqueue items more reliably

version 2.0.1 (beta only):
- Fix empty On Deck for tv shows
- Fix trailers not playing

version 2.0.0 (beta only):
- HUGE code overhaul - Remember that you can go back to earlier version ;-)
- Completely rewritten Plex Companion
- Completely rewritten playback startup
- Tons of fixes, see the Github changelog for more details
- WARNING: You will need to reset the Kodi database!

version 1.8.18:
- Russian translation, thanks @UncleStark, @xom2000,  @AlexFreit
- Fix Plex context menu not showing up
- Deal better with missing stream info (e.g. channels)
- Fix AttributeError if Plex key is missing

version 1.8.17:
- Hopefully fix stable repo
- Fix subtitles not working or showing up as Unknown
- Enable channels for Plex home users
- Remove obsolete PKC settings show contextmenu

version 1.8.16:
- Add premiere dates for movies, thanks @dazedcrazy
- Fix items not getting marked as fully watched

version 1.8.15:
- version 1.8.14 for everyone
- Update translations

version 1.8.14 (beta only):
- Greatly speed up displaying context menu 
- Fix IndexError e.g. for channels if stream info missing
- Sleep a bit before marking item as fully watched
- Don't sleep before updating playstate to fully watched (if you watch on another Plex client)
- Fix KeyError for TV live channels for getGeople

version 1.8.13 (beta only):
- Background sync now picks up more PMS changes
- Detect Plex item deletion more reliably
- Fix changed Plex metadata not synced repeatedly
- Detect (some, not all) changes to PKC settings and apply them on-the-fly
- Fix resuming interrupted sync
- PKC logging now uses Kodi log levels
- Further code optimizations

version 1.8.12:
- Fix library sync crashing trying to display an error

version 1.8.11:
- version 1.8.10 for everybody

version 1.8.10 (beta only):
- Vastly improve sync speed for music
- Never show library sync dialog if media is playing
- Improvements to sync dialog
- Fix stop synching if path not found
- Resume aborted sync on PKC settings change
- Don't quit library sync if failed repeatedly
- Verify path for every Plex library on install sync
- More descriptive downloadable subtitles
- More code fixes and optimization

version 1.8.9
- Fix playback not starting in some circumstances 
- Deactivate some annoying popups on install 

version 1.8.8
- Fix playback not starting in some circumstances
- Fix first artist "missing" tag (Reset your DB!) 
- Update Czech translation

version 1.8.7 (beta only):
- Some fixes to playstate reporting, thanks @RickDB
- Add Kodi info screen for episodes in context menu
- Fix PKC asking for trailers not working
- Fix PKC not automatically updating

version 1.8.6:
- Portuguese translation, thanks @goncalo532 
- Updated other translations

version 1.8.5:
- version 1.8.4 for everyone

version 1.8.4 (beta only):
- Plex cloud should now work: Request pictures with transcoding API 
- Fix Plex companion feedback for Android
- Update translations

version 1.8.3:
- Fix Kodi playlists being empty

version 1.8.2:
- Choose to replace user ratings with the number of available versions of a media file
- More collection artwork: use TheMovieDB art
- Support new Companion command "refreshPlayQueue"
- Use https for TheMovieDB
- Update translations

version 1.8.1:
- Fix library sync crash due to UnicodeDecodeError
- Fix fanart for collections
- Comply with themoviedb.org terms of use 
- Add some translations

version 1.8.0
Featuring:
- Major music overhaul: Direct Paths should now work! Many thanks @Memesa for the pointers! Don't forget to reset your database
- Big transcoding overhaul
- Many Plex Companion fixes
- Add support to Kodi 18.0-alpha1 (thanks @CotzaDev)

version 1.7.22 (beta only)
- Fix playback stop not being recognized by the PMS
- Better way to sync progress to another account 

version 1.7.21 (beta only)
- Fix Playback and watched status not syncing
- Fix PKC syncing progress to wrong account
- Warn user if a xml cannot be parsed

version 1.7.20 (beta only)
- Fix for Windows usernames with non-ASCII chars
- Companion: Fix TypeError
- Use SSL settings when checking server connection
- Fix TypeError when PMS connection lost
- Increase timeout

version 1.7.19 (beta only)
- Big code refactoring
- Many Plex Companion fixes
- Fix WindowsError or alike when deleting video nodes
- Remove restart on first setup 
- Only set advancedsettings tweaks if Music enabled 

version 1.7.18 (beta only)
- Fix OperationalError when resetting PKC 
- Fix possible OperationalErrors
- Companion: ensure sockets get closed
- Fix TypeError for Plex Companion
- Update Czech

version 1.7.17 (beta only)
- Don't add media by other add-ons to queue
- Fix KeyError for Plex Companion
- Repace Kodi mkdirs with os.makedirs
- Use xbmcvfs exists instead of os.path.exists 

version 1.7.16 (beta only)
- Fix PKC complaining about files not found
- Fix multiple subtitles per language not showing
- Update Czech translation
- Fix too many arguments when marking 100% watched
- More small fixes

version 1.7.15 (beta only)
- Fix companion for "Playback via PMS"
- Change sleeping behavior for playqueue client
- Plex Companion: add itemType to playstate
- Less logging

version 1.7.14 (beta only)
- Fix TypeError, but for real now 

version 1.7.13 (beta only)
- Fix TypeError with AdvancedSettings.xml missing

version 1.7.12 (beta only)
- Major music overhaul: Direct Paths should now work! Many thanks @Memesa for the pointers! Don't forget to reset your database
- Some Plex Companion fixes
- Fix UnicodeDecodeError on user switch
- Remove link to Crowdin.com
- Update Readme

version 1.7.11 (beta only)
- Add support to Kodi 18.0-alpha1 (thanks @CotzaDev)
- Fix PKC not storing network credentials correctly

version 1.7.10 (beta only)
- Avoid xbmcvfs entirely; use encoded paths 
- Update Czech translation

version 1.7.9 (beta only)
- Big transcoding overhaul
- Fix for not detecting external subtitle language
- Change Plex transcoding profile to Android
- Use Kodi video cache setting for transcoding
- Fix TheTVDB ID for TV shows 
- Account for missing IMDB ids for movies
- Account for missing TheTVDB ids
- Fix UnicodeDecodeError on user switch
- Update English, Spanish and German

version 1.7.8 (beta only)
- Fix IMDB id for movies (resync by going to the PKC settings, Advanced, then Repair Local Database)
- Increase timeouts for PMS, should fix some connection issues
- Move translations to new strings.po system
- Fix some TypeErrors
- Some code refactoring

version 1.7.7
- Chinese Traditional, thanks @old2tan
- Chinese Simplified, thanks @everdream
- Browse by folder: also sort by Date Added
- Update addon.xml

version 1.7.6
- Hotfix: Revert Cache missing artwork on PKC startup. This should help with slow PKC startup, videos not being started, lagging PKC, etc.

version 1.7.5
- Dutch translation, thanks @mvanbaak

version 1.7.4 (beta only)
- Show menu item only for appropriate Kodi library: Be careful to start video content through Videos -> Video Addons -> ... and pictures through Pictures -> Picture Addons -> ...
- Fix playback error popup when using Alexa 
- New Italian translations, thanks @nikkux, @chicco83
- Update translations
- Rewire Kodi ListItem stuff
- Fix TypeError for setting ListItem streams 
- Fix Kodi setContent for images
- Fix AttributeError due to missing Kodi sort methods

version 1.7.3 (beta only)
- Fix KeyError for channels if no media streams
- Move plex node navigation, playback to main thread
- Fix TypeError for malformed browsing xml
- Fix IndexError if we can't get a valid xml from PMS
- Pass 'None' instead of empty string in url args

version 1.7.2
- Fix for some channels not starting playback

version 1.7.1
- Fix Alexa not doing anything

version 1.7.0
- Amazon Alexa support! Be sure to check the Plex Alexa forum first if you encounter issues; there are still many bugs completely unrelated to PKC
- Plex Channels!
- Browse video nodes by folder/path 
- Fix IndexError for playqueues
- Update translations
- Code optimization

version 1.6.5 (beta only)
- Plex Channels!
- Browse video nodes by folder/path 
- Update Danish translation
- Code optimization

version 1.6.4 (beta only)
- Amazon Alexa support! Be mindful to check the Alexa forum thread first; there are still many issues completely unrelated to PKC
- Enable skipping for Plex Companion 
- Set default companion name to PlexKodiConnect

version 1.6.3
- Fix UnicodeEncodeError for non ASCII filenames in playback_starter 
- Cleanup playlist/playqueue string/unicode

version 1.6.2
- Fix Plex Web Issue, thanks @AllanMar
- Fix TypeError on manually entering PMS port
- Fix KeyError
- Update Danish translation
- Update readme

version 1.6.1
- New Danish translation, thanks @Osberg
- Fix UnicodeDecodeError for non-ASCII filenames
- Better error handling for Plex Companion
- Fix ValueError for Watch Later
- Try to skip new PMS items we've already processed
- Fix TypeError 

version 1.6.0
A DATABASE RESET IS ABSOLUTELY NECESSARY if you're not using beta PKC
Make previous version available for everyone. The highlights:
- New Spanish translation, thanks @bartolomesoriano
- New Czech translation, thanks @Pavuucek
- Plex Companion is completely rewired and should now handly anything you throw at it
- Early compatibility with Kodi 18 Leia
- New playback startup mechanism for plugin paths
- Code rebranding from Emby to Plex, including a plex.db database :-)
- Fixes to Kodi ratings
- Fix playstate and PMS item changes not working/not propagating anymore (caused by a change Plex made with the websocket interface)
- Improvements to the way PKC behaves if the PMS goes offline
- New setting to always transcode if the video bitrate is above a certain threshold (will not work with direct paths)
- Be smarter when deciding when to transcode
- Only sign the user out if the PMS says so
- Cache missing artwork on PKC startup
- Lots of code refactoring and code optimizations
- Tons of fixes

version 1.5.15 (beta only)
- Fix ratings for movies
- Fixes to Plex Companion
- Always run only one instance of PKC

version 1.5.14 (beta only)
- Krypton: Fix ratings for episodes and TV shows
- Plex Companion: Fix KeyError for Plex Web
- Fix UnicodeDecodeError for non-ASCII filenames
- Hopefully fix items not marked as entirely watched after having seen >90%
- Code optimization

version 1.5.13 (beta only)
- New Spanish translation, thanks @bartolomesoriano
- Fix some possible connection issues
- Fix screensaver not toggling back after full sync
- Update addon.xml
- Update readme
- Updated installation instructions on the Wiki
- Updated translations

version 1.5.12 (beta only)
- Possible compatibility with Alexa - do report back!
- Setup crowdin translations. Please help out translating PlexKodiConnect: https://crowdin.com/project/plexkodiconnect/invite
- Fix OperationalError on update sync
- Apply item limit to On Deck if OnDeckTVextended not set, thanks @dettwild

version 1.5.11 (beta only)
- Fix userratings for Kodi Krypton
- Krypton: update userratings on startup and on user change
- Overhaul of fanart sync download
- Background sync: wait till PMS says its finished
- Background sync: reduce std safety margin to 5s
- Add error message for PKC playback failure
- Better warnings when resetting the Kodi database
- Update playstates and userratings only once
- Shut down libsync thread correctly 
- Remove uniqueid and ratings entries if item deleted

version 1.5.10 (beta only)
- Fix OperationalError upon database reset

version 1.5.9 (beta only)
A DATABASE RESET IS ABSOLUTELY NECESSARY
- Early compatibility with Kodi 18 Leia
- Add Czech language (thanks @Pavuucek)
- Ignore empty Plex Collections
- Fix additional artwork not downloading
- Get missing fanart on Kodi startup
- Add notification for Companion GDM port fail
- Shutdown artwork thread correctly
- Fix AttributeError if caching deactivated
- Enable abort on choosing PMS from list
- Delete items of a removed Plex library
- Lots of code refactoring
- Lots of small fixes

version 1.5.8 (beta only)
- Hopefully compatibility with Plex Cloud
- Get rid of some logging
- Add some error checking for playlists

version 1.5.7 (beta only)
- Cache missing artwork on PKC startup
- Customize number of items fetched from PMS
- Don't cache actor artwork 
- Fix some connection issues 
- Do a video node refresh on startup
- More logging to find Plex Cloud info
- Prevent OperationalError: database is locked
- Rewire image cache thread to service.py

version 1.5.6 (beta only)
- Fix playstate not being reported to the PMS
- Added logging to hopefully find Plex Cloud info. Please report back with your logs if you're trying to connect to Plex Cloud (do remove your tokens!)
- Transcode pictures if Kodi does not support the format - thanks @Memesa!
- Added setting to force transcode pictures
- Fix to some playQueue errors

version 1.5.5 (beta only)
- Fix for Plex Companion showing last item played
- Fix KeyError for playlists
- Krypton: Fix playState notifications for 1 video
- Fix Plex playQueue ID not being recorded 
- Fix TypeError for Plex playQueue init
- Fix ValueError for plex.tv URLs

version 1.5.4 (beta only)
- Fix IndexError for PKC communicating watch state
- Fix for Plex Companion showing old video

version 1.5.3 (beta only)
- Fix sync crashing due to AttributeError
- Fix playback startup via PMS

version 1.5.2 (beta only)
A DATABASE RESET IS ABSOLUTELY NECESSARY
- Plex Companion is completely rewired and should now handly anything you throw at it
- New playback startup mechanism for plugin paths
- Krypton: add ratings and IMDB id for movies
- Krypton: add ratings and theTvDB id for TV shows
- Don't support Plex Companion mirror
- Fix for Plex Companion not showing up
- Code rebranding from Emby to Plex, including a plex.db database :-)
- Lots of code refactoring and code optimizations

version 1.5.1 (beta only)
- Fix playstate and PMS item changes not working/not propagating anymore (caused by a change Plex made with the websocket interface). UPGRADE YOUR PMS!!
- Improvements to the way PKC behaves if the PMS goes offline
- New setting to always transcode if the video bitrate is above a certain threshold (will not work with direct paths)
- Be smarter when deciding when to transcode
- Only sign the user out if the PMS says so
- Improvements to PMS on/offline notifications
- Note to PLEASE read the Wiki if one is using several Plex libraries (shows on first PKC install only)
- Get rid of low powered device option (always use low powered option)
- Don't show a notification when searching for PMS 
- Combine h265 und HEVC into one setting
- Less traffic when PKC is checking whether a PMS is still offline
- Improve logging

version 1.5.0
Out for everyone:
- reatly speed up the database sync. Please report if you experience any issues!
- Only show database sync progress for NEW PMS items
- Speed up the pathname verifications
- Update readme to reflect the advent of the official Plex for Kodi
- Fix for not getting tv show additional fanart
- Fix for fanart url containing spaces
- Fix library AttributeError
- Catch websocket handshake errors correctly

version 1.4.10 (beta only)
- Fix library AttributeError

version 1.4.9 (beta only)
- Greatly speed up the database sync. Please report if you experience any issues!
- Only show database sync progress for NEW PMS items
- Speed up the pathname verifications
- Update readme to reflect the advent of the official Plex for Kodi

version 1.4.8 (beta only)
- Fix for not getting tv show additional fanart
- Fix for fanart url containing spaces
- Catch websocket handshake errors correctly

version 1.4.7
- Fix for Krypton premiered synch for new items
Make previous version available for everyone
- New contextmenu: Force transcode video
- New contextmenu: force playback from PMS. Shows up if you use direct paths. Can be useful if you want trailers before a movie. Or if you have a movie with several different parts/versions. 
- Close Plex companion connection on exceptions

version 1.4.6 (beta only)
- New contextmenu: Force transcode video
- New contextmenu: force playback from PMS. Shows up if you use direct paths. Can be useful if you want trailers before a movie. Or if you have a movie with several different parts/versions. 
- Close Plex companion connection on exceptions

version 1.4.5
Make previous version available for everyone
- Contextmenu! Delete media from the Plex Media Server. Make sure to enable the setting on your PMS
- Fix a really ugly bug that had crept in and caused some weird behavior
- Fix Plex trailers not being synced
- Fix for missing Plex item bitDepth
- Fix Movie filename and paths not updating, many thanks @piotrsmolinski
- Fix TV show paths not updating
- Fix episode filename & path not being updated
- Fix Plex user switch not working
- PKC should now be updated automatically again
- New setting: Display message if PMS goes offline
- Fix smb credentials password not being url-encoded
- Fix not updating new user settings

version 1.4.4 (beta only)
- PKC should now be updated automatically again
- New setting: Display message if PMS goes offline
- Fix smb credentials password not being url-encoded

version 1.4.3 (beta only)
- Contextmenu! Delete media from the Plex Media Server. Make sure to enable the setting on your PMS
- Fix a really ugly bug that had crept in and caused some weird behavior
- Fix Plex trailers not being synced
- Fix for missing Plex item bitDepth
- Fix Movie filename and paths not updating, many thanks @piotrsmolinski
- Fix TV show paths not updating
- Fix episode filename & path not being updated
- Fix Plex user switch not working

version 1.4.2
Make previous version available for everyone

version 1.4.1 (beta only)
- Fix Kodi crashing on low powered devices
- Fix movie year for Krypton (reset your Kodi DB!)
- Only start downloading art AFTER sync completed
- Add warning to addon description
- Revert "Don't set-up clips/trailers like other videos"

version 1.4.0
- Compatibility with new DVR component of the Plex Media Server
- Speed up sync - download all art in the background. This should especially speed up your initial sync. Remember to let Kodi sit for a while to let it download the artwork
- New setting to look for missing artwork (the non-Plex stuff ;-))
- Fix caching not working
- Ommit DVR status messages from the PMS. This should fix duplicate movies appearing
- Fix possible IndexError on deleting items
- Fix TypeError for manually entering PMS address
- Fix "Opening Stream..." dialog not closing
- Try to prevent OperationalError: database is locked
- Revert "Download one item at a time"
- Remove obsolete import
- Compile regex only once
- Music sync: Fix ProgrammingError
- Don't set-up clips/trailers like other videos (Should fix PKC trying to tell the PMS where we are playing that item)
- Fix capitalization
- Fix backgroundsync KeyError
- Don't double-update playstate of a playing item
- Rearrange the PKC settings
- Use file settings instead of window settings, should fix some errors on changing the PKC settings
- Remove size limitation on sync queue 
- Fix TypeError if no extras available
- Other small fixes

version 1.3.9 (beta only)
- Hopefully maximum compatibility with the new DVR component of the Plex Media Server :-)
- Ommit DVR status messages from the PMS. This should fix duplicate movies appearing
- Fix possible IndexError on deleting items

version 1.3.8 (beta only)
- Fix TypeError for manually entering PMS address
- Fix "Opening Stream..." dialog not closing
- Try to prevent OperationalError: database is locked
- Revert "Download one item at a time"
- Remove obsolete import
- Compile regex only once 

version 1.3.7 (beta only)
- Music sync: Fix ProgrammingError
- Don't set-up clips/trailers like other videos (Should fix PKC trying to tell the PMS where we are playing that item)

version 1.3.6 (beta only)
- Fix capitalization

version 1.3.5 (beta only)
- Fix backgroundsync KeyError
- Don't double-update playstate of a playing item

version 1.3.4 (beta only)
- Speed up sync - download all art in the background. This should especially speed up your initial sync. Remember to let Kodi sit for a while to let it download the artwork
- New setting to look for missing artwork (the non-Plex stuff ;-))
- Rearrange the PKC settings
- Fix caching not working
- Use file settings instead of window settings, should fix some errors on changing the PKC settings
- Other small fixes

version 1.3.3
- 1.3.1 and 1.3.2 for everyone
- Fix direct play & transcoding subtitles, finally! 
- Fix playing from widgets without direct paths
- Fix getting Bit Depth from Plex metadata
- Inform if subtitle needs to be burnt in
- Consider several media streams if transcoding
- Fix AttributeError
- New setting to use Plex default subtitles
- Clarify subtitle size
- Fix UnboundLocalError on very first startup
- Code cleanup
- Merge with plugin.video.emby up to 00c0556300041cecf91715a5a1707504f42bd96e

version 1.3.2 (beta only)
- Fix direct play & transcoding subtitles, finally! 
- Fix getting Bit Depth from Plex metadata
- Inform if subtitle needs to be burnt in
- Consider several media streams if transcoding
- Fix AttributeError
- New setting to use Plex default subtitles
- Clarify subtitle size

version 1.3.1 (beta only)
- Fix playing from widgets without direct paths
- Fix UnboundLocalError on very first startup
- Code cleanup
- Merge with plugin.video.emby up to 00c0556300041cecf91715a5a1707504f42bd96e

version 1.3.0
- Compatibility with latest Kodi Krypton
- Complete redesign of Plex Companion playlist handling
- Improvements to Plex Companion daemon
- Try reducing strain on PMS for metadata
- Don't let PMS crash: download one item at a time
- Don't open PKC settings if PMS not found
- sync: dont force show "full library sync finished" (thanks @milaq)
- fix 'raspberry pi' spelling and capitalisation (thanks @milaq)
- Revert: New setting to lower the number of PMS items to cache

version 1.2.14 (beta only)
- New setting to lower the number of PMS items to cache. Hopefully fixes Wetek crashes

version 1.2.13 (beta only)
- Compatibility with latest Kodi Krypton
- fix 'raspberry pi' spelling and capitalisation (thanks @milaq)

version 1.2.12 (beta only)
- Complete redesign of playlist handling
- Improvements to Plex Companion daemon 
- Try reducing strain on PMS for metadata
- Don't let PMS crash: download one item at a time
- sync: dont force show "full library sync finished" (thanks @milaq)

version 1.2.11
-  Fix PKC not releasing connections to the PMS. Should fix memory, connection and PMS issues
-  Fix TypeError for playlists

version 1.2.10
- Hotfix: Fix ValueError for playing certain files

version 1.2.9
- Don't let the PMS force scan the media when requesting PMS item metadata
- Improve detection of the need to transcode
- Increase (and enforce) a higher connection timeout
- Enable stream/media selection for direct play (e.g. if you have several files for the same movie item on the PMS)

version 1.2.8
- Fix PKC playstate updates for widgets on Krypton
- Let user choose to always play trailer in highest quality
- Fixes to choice of media stream
- Plex Companion: fix skipping forward and backward

version 1.2.7
- Let the user pick between several streams or if you have, several different files for the same movie (can be deactivated in the settings)
- Use the playing item's filename and path to figure out the Plex id. Now Plex should really always be informed what you're currently playing

version 1.2.6
- Fix Watch Later TypeError

version 1.2.5
-  Plex Photos! Choose "Refresh Plex playlists/nodes" to use the new feature.
-  Compatibility with latest Kodi Krypton (which is still under heavy development and in an alpha state). If PKC stops working for you, update your Kodi Krypton to the latest version.
-   Fixes to getExtraFanart. If not using the PKC repository, you will have to manually update plugin.video.plexkodiconnect.movies and plugin.video.plexkodiconnect.tvshows to profit from these changes.
- Use language codes ('spa'), not verbose 'español' for audio streams and subtitles. You will have to reset your Kodi DB manually to profit from this change.
- Fix fanart.tv fallback to English not working.
- Fix plex.tv Watch Later ignored resume points.
- Fix double PKC settings strings.

version 1.2.4
- Automatically download Plex collection artwork from FanArtTv! Many thanks to @im85288
- A dedicated PKC setting to download this set fanart (independent of the other FanArtTv download)

version 1.2.3
- Improvements to resume points. PKC should now correctly mark an item as completely watched.
- Get rid of obsolete setting markPlayed. Mark a video item as played after 90%, just like Plex.

version 1.2.2
- Fix filename change recognition for episodes and movies - finally! If you experienced this, you will have to manually reset the Kodi database in the PKC settings
- Fix PKC resume points set way too high
- Clarify that transcode settings are TARGET quality

version 1.2.1
- Fix crash when Kodi not playing as expected
- Improve player.py stability
- Background sync: don't try to process infinitely
- Only tell PMS we're connected to what we're playing. This should enable the Plex Media Server to fall to sleep because PKC is not constantly bugging it
- Ensure credentials are known when reconnecting
- Remove some emby references
- Ask on first run if we have a low powered device

version 1.2.0
- Re-wired connection manager completely
- Periodically check if PMS address has changed
- Smarter, faster way to tell that PMS went offline
- Fix DTS-HD audio is not correctly identified (you will need to manually reset your Kodi DB)
- Improvements to PMS connection checks
- Fix default transcoding quality / network speed (so that PKC won't transcode initially)
- Fix direct path replacing possibly several times
- Initialize Kodi DBs only once
- Correctly update views on server switch

version 1.1.11
- Episodes and movies should now correctly be marked as watched in Kodi

version 1.1.10
- A donation link is up. Your support is much appreciated :-)
- Movie sets are working (without set art as this is missing from Plex). Many thanks to mattsch!
- Fix playback report and marking an item played. Should fix issues with e.g. episodes not correctly being set to watched in Kodi in the On Deck view
- Fix UnicodeEncodeError for file paths
- New setting: show watched movies in recently added
- New setting: don't show already watched episodes
- New setting: Force transcode HEVC
- New setting: Force transcode 10bit
- New setting: do a sync after screensaver deactivated. Very useful for Kodi for Android as Android may put Kodi in a weird kind of sleep
- Merge with plugin.video.emby up to 417b8d3b2237f982d1eab462c130e8a4f445dd8b

version 1.1.9
- Fix new episodes not being detected 
- Use direct file paths for on deck shows if enabled
- Added Python requests to the PKC repo (should fix install problems)

version 1.1.8
- Account for string.encode() not allowing args. This will hopefully fix any sync problems now, especially for Android TV
- Also show already watched recently added episodes
- Increase logging for background updates

version 1.1.7
- Fix UnicodeDecodeError with file paths on sync
- Remove Emby reference from logs

version 1.1.6
- Corrected the addon's folder name from `PlexKodiConnect-develop` to `plugin.video.plexkodiconnect` in the Kodi addon folder. If you still experience issues, check your addon folder and delete `PlexKodiConnect-develop`
- Fix TypeError during Plex user switch
- Fix TypeError when trying to transcode

version 1.1.5
(you will need to rescan your library)
- A Kodi repository for easy installation and updating is now available. Download the [ZIP file from Github](https://github.com/croneter/PlexKodiConnect). Instructions can be found [in the Wiki](https://github.com/croneter/PlexKodiConnect/wiki/Installation)
- Additional artwork download from FanartTV! Enable it in the PKC settings under Sync Options
- New setting: Add TV show name and SxxExx to an episode in Recently Added 
- Fix UnicodeEncodeError during sync
- Plex Companion now always reports playstate. Should increase stability
- Merge Emby for Kodi commits up to 3dbdab79a9d213aab3cb6347af0b8fb905bb6e45

version 1.1.4
(you will need to rescan your library)
- Plex Watch Later available as a separate Video Node!
- Fix Kodi Movie Info showing instead of Episode Info
- New settings option: use default Plex On Deck TV Shows
- Fix TV show on deck view
- Enable playstate update if Kodi does not give us a Kodi DB id
- First startup: Add warning for large music libraries and not using Direct Paths
- Fix KeyError: 'librarySectionID' during syncPMStime
- Retrieve banner art when available
- New setting: I own this PMS (needed if you manually set your IP)
- Increased default full sync frequency to 60 minutes

version 1.1.3
YOU WILL NEED TO RECONNECT TO YOUR PMS: PKC Settings -> Connection -> 'Choose Plex Server from a list'. Just repick your PMS
- 'true' awesome & fast direct play without 'direct paths' if your Plex library points to paths that are accessible to Kodi. Customize paths in the settings
- Fix endless trailer loop
- Fix smart playlists (you will need to choose 'Refresh Plex playlists/nodes')
- Plex Collections available under Movies-Collections
- Fix TypeError when marking item watched
- Shutdown lib sync threads correctly on user switch
- Fix KeyError if Kodi webserver disabled
- Fix playback report for trailers that seem like the movie
- Fix playback report when playing something on a PMS that's not ours
- Correctly stop transcoding
- Sync Music playstates on a full library scan (like movies and tv)
- Handle connection errors and unauthorized connections differently
- Reordered some settings
- Tons of other fixes

version 1.1.2
- Backwards compatibility py2.6: replace etree iter (fixes AttributeError: _ElementInterface instance has no attribute 'iter')
- Redirect /Extras calls by e.g. Video Extras plugin
- Try to shutdown more cleanly

version 1.1.1
(you will need to rescan your library)
- Fix Kodi information screen not working
- Fix entire TV shows showing up as watched
- Clear playlists and video nodes on user switch
- Update playstate if owner plays for single user PMS
- Deal with PMS reply 401 under too much strain
- Fix Library Repair Sync
- Rewired downloads and connecting to PMS
- Shut down libsync more cleanly if interrupted
- Use Plex library for timesync
- Try 3x before declaring plex connection dead
- Plex Companion cleanup (e.g. fix instance chaos)
- Fix TypeError with PMS item 'addedAt' missing


version 1.1.0
(you will need to rescan your library)
- No constant polling of your PMS anymore! (use websockets)
- Fix 'NameError: global name 'guidoc' is not defined'
- Fix time sync for Music items
- Music: set default rating to 0, not NULL
- Music: scrape Studio/Label 

version 1.0.17
- Fix transcoding
- Get a machineIdentifier if it is missing
- New Setting: Choose Plex Server from a list
- Generate a new unique Plex device ID in settings

version 1.0.16
- Kodi profiles up and running; try assigning different Plex users per profile!
- Change "Switch User" to "Log Out Plex User: username"
- TV shows On Deck: append season and episode number in the settings
- Shut down PKC correctly (useful for Kodi profiles)
- Don't de-authorize if several PMS are present
- Relabel to "Full PKC reset" in settings

version 1.0.15
- Enable external Plex subtitles if available
- TV On Deck: option to include show name
- Playback updates now if an item is resumed
- Fix PMS not being informed of playback stop
- Fix playback updates for remote PMS
- Deactivate info "Gathering information from files"
- Updated readme

version 1.0.14
- Fix TV shows rating not showing up
- Fix music libraries being scanned twice
- Fix potential crash for fast sync
- Fixed some plex.tv token issue
- Fix removing Plex libraries on PMS side (e.g. user switch)
- Don't dump PMS item xml to log if library sync crashed
- Merge with MediaBrowser/master up until 0afd338cc7bb495f8f0f2c92ba084419b87ff775
- And other stuff

version 1.0.13
- Sync theTVDB id for TV shows from Plex to Kodi
- Custom smb path substitutions for direct paths
- Fix direct path playback not being reported to PMS
- Fix Plex Companion not working with direct paths
- Clean up PKC settings
- Fix network credentials dialog issues
- Update readme

version 1.0.12
- Possibility to use direct paths (you need to reset!)
- Replicate Plex views in video nodes

version 1.0.11
- Hotfix DB comparison. Sorry for that :-)

version 1.0.10
- Limit max number of items requested from PMS (default=200)
- Enforce PMS authentication before playback start
- Fix KeyError for library sync 
- Fix TypeError for Plex Companion 
- New fix item episode thumbs not caching

version 1.0.9
- Fix Recently Added
- Update node names to reflect plex
- Fix tv show season posters not showing
- Fix TV shows episode artwork not caching
- Increase download timeout to 30s
- Increase image caching timeouts to 5s

version 1.0.8
- Redesigned fast incremential sync
- Workaround to sync Kodi time with PMS time
- Fix library sync key error

version 1.0.7
- Fix userclient
- Fix KeyError in library sync
- Make user switch always available
- Get rid of some unneccessary logs in lib sync 

version 1.0.6
- Enable traceback and dump XMLs of failed PMS items in the log for lib sync
- Optimize notifications for library syncs
- Manually trigger full library scan from settings
- Merge with MediaBrowser/master up until db4cb448b0e4fd82662f8b82a800d8da8ea33688


version 1.0.5
- Catch exceptions in itemtypes and log them
- Slightly increased download timeouts 
- Overhaul userclient

version 1.0.4
- Sleep for a while in loops - drastically reduces CPU load
- Connect to remote PMS!
- New Setting to reset all PMS and the plex.tv connection
- Correct encoding
- Much shorter download timeouts
- Improve sync resiliance and GDM discovery
- Reduce number of unsuccesful retries to 3 before telling user
- Clean-up library sync loop
- Language strings for library sync

version 1.0.3
- Hotfix database minimum version = 1.0.2 

version 1.0.2
- Setting to turn off constant background sync
- HTTPS!
- Fix refreshing playlists and videonodes 
- Allow non-ASCI library names
- Bugfix: enforce PIN for protected users
- Enable non-ASCI PMS server name and username
- Loads of unicode/utf-8 fixes
- Merge with MediaBrowser/master up until 948015d43368052fbe9894a4b6e6e4e2370cdb57

version 1.0.1
- Overhaul userclient

version 1.0.0
- initial release
