kodi.plugin.video.youtube/changelog.txt
2025-05-26 14:11:52 +09:00

2539 lines
110 KiB
Text

## v7.2.0.2
### Fixed
- Fix regression preventing video playback from Kodi Info dialog #1184
- Fix exception in youtube.helper.v3.response_to_items when using Kodi 18 (Python 2) #1188
- Fix exception in YouTubeRequestClient.json_traverse when using Kodi 18 (Python 2) #1187
- Fix handling of custom Watch Later playlist in add to playlist dialog
- Fix Liked video playlist not loading #1175
- Fix typo preventing some video only searches from working
- Fix incorrect deletion of provider parameter in 10c3758 #1160
- Fix possible hangs in multiple busy dialog workaround
- Fix misidentifying channels in channel filter #1159
- Attempt to avoid race condition where user input occurs prior to window rerouting #1021
- Fix incorrectly referencing channels as playlist in My Subscriptions after db44928
- Improve handling of invalid playlists in My Subscriptions after db44928
- Update YouTube.get_related_videos and YouTube.get_related_for_home #1161
- Fix error with listing comments if number of replies is 1000+
- Fix regression in opening playlists of logged in user #1154
- Fix regressions in checking channel filters
- Clear old function cache values on initial run after install #1150
- Fix My Subscriptions not loading old or previously accessed content #1123
- Manually redirect video server requests if required #1127 #1135
- Improve logging of client ID #1117
- Fix possible exception that may occur if video thumbnails fail to update
- Fix unsubscribing from My Subscriptions #1137
- Fix folders for channel shorts and live streams not being routed correctly #988 #1060
- Update YouTube.get_recommended_for_home #1107
- Improve url resolver error handling
- Fix showing Uploads playlist if all videos are private #988 #1060
- Fix updating progress of background progress dialogs #1032
- Fix showing duplicate channel progress dialogs in My Subscriptions #1032
- Ensure correct playlist_type_hint is used with audio only playback
- Workaround various issues with Kodi window opening and history navigation when accepting search inputs #1070
- Fix various Python2 unicode encoding errors
- Disable refresh parameter on Kodi forced refresh #1072
- Improve handling of playlists feeds in My Subscriptions
- Reprioritise clients and avoid re-authenticating requests if authentication already provided #1076
- Reduce CPU usage while waiting for HTTP server input/output to be ready #1103
- Fix repeated subtitle queries/prompts #1056
- Fix always using video playlist even for audio items
- Improve error handling and http server shutdown/restart #1056
- Fix possible exception in creating request clients if client_data is not provided
- Only force playback if plugin invocation was triggered through UI
- Ensure that any set UI playback properties are cleared if playback does not start
- Fix episode and season getter/setter not being available for AudioItem
- Fix full playlist listings not being able to be redirected
- Fix audio langauge fallback selection #989 #1036
- Also correctly distinguish between original vs default audio streams
- Respect Kodi Prefer default audio streams setting
- Applies to both default audio and original audio
- Fix search context menu items for Next Page and New Search items
- Fix lock acquire/release logic in My Subscriptions #1032
- Avoid potential player request loop
- Revert using configured language settings for player requests
- Fix missing message argument for InvalidGrant #1038
- Fix incorrectly trying to refresh access tokens when no refresh tokens exist #1038
- Fix issues with handling duplicated and unavailable items in lists
- Fix issues with processing channel handles
- Fix processing of "q" and "channelId" search query params
- Fix using incorrect client headers with cURL when ISA is not used
- Fix incorrect use of str.lstrip
- Ensure language and region are passed to StreamInfo instances #989
- Fix not updating cache for empty feeds in My Subscriptions
- Make parsing and serialising of list type parameters a reversible operation
- Fix logic used to filter out various type of streams
- Was previously checking any inclusion filters
- Now any exclusion filter that matches will filter stream out
- Fix plugin URI redirect from search
- Fix incorrect path handling during migration of old sqlite databases in Setup Wizard
- Fix errors with progress dialogs in Kodi 18 #1000
- Fix remote watch history not updating #1008
- Fix error when all subtitles are requested
- Fix Python2 syntax error #1000
- Fix interaction between certain plugin URI query parameters when used in STRM files
- Fix playing clips in a playlist #1007
- Fix not identifying own playlists in personal channel
- Fix API requests when not signed in #1013
- Fix potential leak of sensitive data via HTTPServer logging #1016
- Fix adding/removing subscriptions to/from filter list
- Fix playback not working when no API key is provided #1018
- Fix using provided keys for requests that can't use them #1018
- Fix window redirect on video playback failure #1018
### Changed
- Update client details #1185
- Properly identify custom History playlist in add to playlist dialog
- Use channel handle by default when adding/removing/matching channels
- Channel filters may need to be updated to use handles instead of channel name
- e.g. "@channel_1_handle,@channel_2_handle" instead of "channel 1 name, channel 2 name"
- Channels can be added/removed from the filter through the Subscriptions or Bookmarks context menu
- Use channel handle as artist and in channel info for visibility
- Reduce number of GET requests when using v3 Data API
- Improve listing filler handling #1035
- Migrate My Subscriptions, Recommendations, Related, Trending and channel listings to use new filler methods
- Show comment statistics before text in listings
- Respect hide_folders plugin url query parameter in My Subscriptions
- Also respect value of hide_videos (new), hide_shorts, and hide_live params
- Improve handling of using filtered playlists in channels #988 #1060
- Base64 encode/decode header query param to obfuscate in debug logs
- Update client details
- Automatically handle different types of identifiers as channel_id parameter
- Improve pagination of filtered listings #984 #1035
- Split My Subscriptions into Long Form, Shorts and Live folders #988
- Various improvements to thread handling and cache usage in My Subscriptions #1072
- Delay progress dialog creation if other dialogs are open #1072
- Minor optimisation and improve reliability of stream proxy
- Update client details and include player response visitorData
- Improve handling of invalid filter attributes #1102 #984
- Disable http server idle shutdown on Linux systems #1056
- Fetch last updated subscription feeds first and fetch playlists feeds in My Subscriptions
- Hide empty/unavailable standard playlists in channels #1060
- Store date added to playlist for playlist items #1059
- Add indication to Next page item if listing has been filtered #1035
- Proxy stream requests using HTTPServer #527 #1040
- Correct primary video server url #1040
- Allow skipping adaptive formats for clients that may need PO tokens #1040
- Add option to redirect streams using stream proxy #1040
- As headers are not matched this can lead to detection of Kodi being used as a client
- Use default http server listen address of 127.0.0.1
- Allow playback parameters to be applied for entire listings
- Further improvements to fallback window handling to minimise crashes and loss of window history
- Enable intercepting and redirecting PlayMedia calls
- Improve handling of search keyboard input when navigating through window history
- Also allow bookmarks/favourites to be created for Quick Search
- Remove need to store search query in data cache
- Improve handling of searching for YouTube urls
- Store modified date from player requests as publishedAt for local history #991
- Update player request client details
- Reorganise video item context menu
- Re-enable player request clients that require specific OAuth tokens
- Re-enable OAuth authorisation for YouTube TV
- Update itags for 30fps HLS VP9.2 streams
- Update player client details and selections
- Add some ultra low quality itags
- Optimise wakeup to ensure http server is only started when required
- Improve check for Kodi subtitle language
- Improve handling of audio language selection #989
- Replace preferred language subtitle option with preferred language + fallback + no ASR option #992
- Allow for caching of subscriptions API requests in My Subscriptions
- Only use OAuth tokens if necessary #994 #996
- Set default live stream type to MPEG-DASH for Kodi 21+ #1004
- Skip asking or re-ordering playlists if there is only 1 item in the list
- Prevent caching in incognito mode
- Improve caching and updating of playlist details #1024
- Improve listen address config in Setup Wizard #1016
- Also make 127.0.0.1 the default listen address
- Fallback to 0.0.0.0 if no other local address works
### New
- Add hide_progress plugin url query parameter
- Show broadcasting streams at the top of channel live streams folder listings #1092
- Send JSON-RPC event notification when video playback fails
- Add additional debug logging of complete API response content #1107
- Add "Play recently added" context menu item to playlists #1059
- Will play all videos added to the playlist in the last day
- Allow channels and playlists to be played from Info dialog
- Add IPv6 support for http server #1039
- Show total number of uploads, shorts and live videos in channel playlists
- Add support for more channel url formats
- Update display of comments to be match other listings
- Make comment details follow "Show video details in video lists" setting
- Allow various sorting options
- Truncate comment to 140 characters in listing, full comment available in info dialog
- Show user thumbnail in listing
- Show user with thumbnail in info dialog
- Show video/comment details in navigation breadcrumb bar
- Overhaul update of fanart and other channel info for listings
- Add additional channel info to all items in listings in one pass
- channel name thumbnail in info dialog
- channel name in context menu items
- channel fanart if enabled
- Reduce network requests
- Improve cache usage
- Reduce thread usage
- Add custom Shorts duration #984
- Allow use of HLS streams in external players
- Also allows for playing in Kodi without InputStream.Adaptive
- Add ability to create arbitrary filter criteria to My Subscriptions #984
- "{ATTR_1}{OPERATOR_1}{VALUE_1}[{ATTR_X}{OPERATOR_X}{VALUE_X}...]"
- where ATTR_X can be any valid item getter or property e.g.
- "duration", "title", "artists"/"artists_string", "plot", "date", etc. or
- ".live", ".upcoming", ".completed" etc. Note the "." prefix
- where OPERATOR_X can be
- ">", ">=" (default), "<", "<=", "=", "==", "!=" typically for a int/float/bool type VALUE or
- "contains", "startswith", "endswith", "search" for a string type VALUE
- where VALUE_X is the desired criteria value.
- String type values are wrapped in double quote marks eg. "example"
- "," must be encoded as "%2C" eg. "example,test" becomes "example%2Ctest"
- "}" must be encoded as "%7D" eg. "example}test" becomes "example%7Dtest"
- any number of criteria rules can be used together
- rules seperated by a comma are OR rules
- rules contained within a comma group are AND rules
- Add filler parameter to v3.response_to_items
- Allows listings to be recursively filled after post request filtering
- Also show progress dialog for all listings
- Add support for sequentially filling Recommendations listing
- Add support for sequentially filling Trending listing
- Add new advanced list filter setting
- Works in the same manner as the My Subscriptions filter, but for all listings
- Can also be set using the item_filter plugin URI query parameter
- Add option to prefer lower resolution streams for unselected codecs
- Populate My Subscription listings using feed details
- Store video details from player requests for local history #991
- Add separate Shorts sub-folder in Channel folders #988
- Implementation by @mhomak
- Allow adding/removing bookmarks to/from filter list
- Add direct playback of temporary playlists from YouTube or plugin urls in the form
- plugin://plugin.video.youtube/play?video_ids=xxxxxxxx,xxxxxxxx
## v7.2.0+beta.9
### Fixed
- Fix incorrect deletion of provider parameter in 10c3758 #1160
- Fix possible hangs in multiple busy dialog workaround
- Fix misidentifying channels in channel filter #1159
- Attempt to avoid race condition where user input occurs prior to window rerouting #1021
- Fix incorrectly referencing channels as playlist in My Subscriptions after db44928
- Improve handling of invalid playlists in My Subscriptions after db44928
- Update YouTube.get_related_videos and YouTube.get_related_for_home #1161
- Fix error with listing comments if number of replies is 1000+
### Changed
- Use channel handle by default when adding/removing/matching channels
- Channel filters may need to be updated to use handles instead of channel name
- e.g. "@channel_1_handle,@channel_2_handle" instead of "channel 1 name, channel 2 name"
- Channels can be added/removed from the filter through the Subscriptions or Bookmarks context menu
- Use channel handle as artist and in channel info for visibility
- Reduce number of GET requests when using v3 Data API
- Improve listing filler handling #1035
- Migrate My Subscriptions, Recommendations, Related, Trending and channel listings to use new filler methods
- Show comment statistics before text in listings
- Respect hide_folders plugin url query parameter in My Subscriptions
- Also respect value of hide_videos (new), hide_shorts, and hide_live params
### New
- Add hide_progress plugin url query parameter
## v7.2.0+beta.8
### Fixed
- Fix regression in opening playlists of logged in user #1154
- Fix regressions in checking channel filters
## v7.2.0+beta.7
### Fixed
- Clear old function cache values on initial run after install #1150
## v7.2.0+beta.6
### Fixed
- Fix My Subscriptions not loading old or previously accessed content #1123
- Manually redirect video server requests if required #1127 #1135
- Improve logging of client ID #1117
- Fix possible exception that may occur if video thumbnails fail to update
- Fix unsubscribing from My Subscriptions #1137
- Fix folders for channel shorts and live streams not being routed correctly #988 #1060
- Update YouTube.get_recommended_for_home #1107
### Changed
- Improve handling of using filtered playlists in channels #988 #1060
- Base64 encode/decode header query param to obfuscate in debug logs
- Update client details
- Automatically handle different types of identifiers as channel_id parameter
- Improve pagination of filtered listings #984 #1035
- Split My Subscriptions into Long Form, Shorts and Live folders #988
### New
- Show broadcasting streams at the top of channel live streams folder listings #1092
## v7.2.0+beta.5
### Fixed
- Improve url resolver error handling
- Fix showing Uploads playlist if all videos are private #988 #1060
- Fix updating progress of background progress dialogs #1032
- Fix showing duplicate channel progress dialogs in My Subscriptions #1032
- Ensure correct playlist_type_hint is used with audio only playback
- Workaround various issues with Kodi window opening and history navigation when accepting search inputs #1070
- Fix various Python2 unicode encoding errors
- Disable refresh parameter on Kodi forced refresh #1072
- Improve handling of playlists feeds in My Subscriptions
- Reprioritise clients and avoid re-authenticating requests if authentication already provided #1076
- Reduce CPU usage while waiting for HTTP server input/output to be ready #1103
### Changed
- Various improvements to thread handling and cache usage in My Subscriptions #1072
- Delay progress dialog creation if other dialogs are open #1072
- Minor optimisation and improve reliability of stream proxy
- Update client details and include player response visitorData
- Improve handling of invalid filter attributes #1102 #984
### New
- Send JSON-RPC event notification when video playback fails
- Add additional debug logging of complete API response content #1107
## v7.2.0+beta.4
### Fixed
- Fix repeated subtitle queries/prompts #1056
- Fix always using video playlist even for audio items
- Improve error handling and http server shutdown/restart #1056
### Changed
- Disable http server idle shutdown on Linux systems #1056
- Fetch last updated subscription feeds first and fetch playlists feeds in My Subscriptions
- Hide empty/unavailable standard playlists in channels #1060
- Store date added to playlist for playlist items #1059
- Add indication to Next page item if listing has been filtered #1035
### New
- Add "Play recently added" context menu item to playlists #1059
- Will play all videos added to the playlist in the last day
## v7.2.0+beta.3
### Fixed
- Fix possible exception in creating request clients if client_data is not provided
- Only force playback if plugin invocation was triggered through UI
- Ensure that any set UI playback properties are cleared if playback does not start
- Fix episode and season getter/setter not being available for AudioItem
- Fix full playlist listings not being able to be redirected
### Changed
- Proxy stream requests using HTTPServer #527 #1040
- Correct primary video server url #1040
- Allow skipping adaptive formats for clients that may need PO tokens #1040
- Add option to redirect streams using stream proxy #1040
- As headers are not matched this can lead to detection of Kodi being used as a client
- Use default http server listen address of 127.0.0.1
- Allow playback parameters to be applied for entire listings
## v7.2.0+beta.2
### Fixed
- Fix audio langauge fallback selection #989 #1036
- Also correctly distinguish between original vs default audio streams
- Respect Kodi Prefer default audio streams setting
- Applies to both default audio and original audio
- Fix search context menu items for Next Page and New Search items
- Fix lock acquire/release logic in My Subscriptions #1032
- Avoid potential player request loop
- Revert using configured language settings for player requests
- Fix missing message argument for InvalidGrant #1038
- Fix incorrectly trying to refresh access tokens when no refresh tokens exist #1038
- Fix issues with handling duplicated and unavailable items in lists
- Fix issues with processing channel handles
### Changed
- Further improvements to fallback window handling to minimise crashes and loss of window history
- Enable intercepting and redirecting PlayMedia calls
- Improve handling of search keyboard input when navigating through window history
- Also allow bookmarks/favourites to be created for Quick Search
- Remove need to store search query in data cache
- Improve handling of searching for YouTube urls
- Store modified date from player requests as publishedAt for local history #991
- Update player request client details
- Reorganise video item context menu
### New
- Allow channels and playlists to be played from Info dialog
- Add IPv6 support for http server #1039
- Show total number of uploads, shorts and live videos in channel playlists
- Add support for more channel url formats
## v7.2.0+beta.1
### Fixed
- Fix processing of "q" and "channelId" search query params
- Fix using incorrect client headers with cURL when ISA is not used
- Fix incorrect use of str.lstrip
- Ensure language and region are passed to StreamInfo instances #989
- Fix not updating cache for empty feeds in My Subscriptions
- Make parsing and serialising of list type parameters a reversible operation
- Fix logic used to filter out various type of streams
- Was previously checking any inclusion filters
- Now any exclusion filter that matches will filter stream out
- Fix plugin URI redirect from search
- Fix incorrect path handling during migration of old sqlite databases in Setup Wizard
- Fix errors with progress dialogs in Kodi 18 #1000
- Fix remote watch history not updating #1008
- Fix error when all subtitles are requested
- Fix Python2 syntax error #1000
- Fix interaction between certain plugin URI query parameters when used in STRM files
- Fix playing clips in a playlist #1007
- Fix not identifying own playlists in personal channel
- Fix API requests when not signed in #1013
- Fix potential leak of sensitive data via HTTPServer logging #1016
- Fix adding/removing subscriptions to/from filter list
- Fix playback not working when no API key is provided #1018
- Fix using provided keys for requests that can't use them #1018
- Fix window redirect on video playback failure #1018
### Changed
- Re-enable player request clients that require specific OAuth tokens
- Re-enable OAuth authorisation for YouTube TV
- Update itags for 30fps HLS VP9.2 streams
- Update player client details and selections
- Add some ultra low quality itags
- Optimise wakeup to ensure http server is only started when required
- Improve check for Kodi subtitle language
- Improve handling of audio language selection #989
- Replace preferred language subtitle option with preferred language + fallback + no ASR option #992
- Allow for caching of subscriptions API requests in My Subscriptions
- Only use OAuth tokens if necessary #994 #996
- Set default live stream type to MPEG-DASH for Kodi 21+ #1004
- Skip asking or re-ordering playlists if there is only 1 item in the list
- Prevent caching in incognito mode
- Improve caching and updating of playlist details #1024
- Improve listen address config in Setup Wizard #1016
- Also make 127.0.0.1 the default listen address
- Fallback to 0.0.0.0 if no other local address works
### New
- Update display of comments to be match other listings
- Make comment details follow "Show video details in video lists" setting
- Allow various sorting options
- Truncate comment to 140 characters in listing, full comment available in info dialog
- Show user thumbnail in listing
- Show user with thumbnail in info dialog
- Show video/comment details in navigation breadcrumb bar
- Overhaul update of fanart and other channel info for listings
- Add additional channel info to all items in listings in one pass
- channel name thumbnail in info dialog
- channel name in context menu items
- channel fanart if enabled
- Reduce network requests
- Improve cache usage
- Reduce thread usage
- Add custom Shorts duration #984
- Allow use of HLS streams in external players
- Also allows for playing in Kodi without InputStream.Adaptive
- Add ability to create arbitrary filter criteria to My Subscriptions #984
- "{ATTR_1}{OPERATOR_1}{VALUE_1}[{ATTR_X}{OPERATOR_X}{VALUE_X}...]"
- where ATTR_X can be any valid item getter or property e.g.
- "duration", "title", "artists"/"artists_string", "plot", "date", etc. or
- ".live", ".upcoming", ".completed" etc. Note the "." prefix
- where OPERATOR_X can be
- ">", ">=" (default), "<", "<=", "=", "==", "!=" typically for a int/float/bool type VALUE or
- "contains", "startswith", "endswith", "search" for a string type VALUE
- where VALUE_X is the desired criteria value.
- String type values are wrapped in double quote marks eg. "example"
- "," must be encoded as "%2C" eg. "example,test" becomes "example%2Ctest"
- "}" must be encoded as "%7D" eg. "example}test" becomes "example%7Dtest"
- any number of criteria rules can be used together
- rules seperated by a comma are OR rules
- rules contained within a comma group are AND rules
- Add filler parameter to v3.response_to_items
- Allows listings to be recursively filled after post request filtering
- Also show progress dialog for all listings
- Add support for sequentially filling Recommendations listing
- Add support for sequentially filling Trending listing
- Add new advanced list filter setting
- Works in the same manner as the My Subscriptions filter, but for all listings
- Can also be set using the item_filter plugin URI query parameter
- Add option to prefer lower resolution streams for unselected codecs
- Populate My Subscription listings using feed details
- Store video details from player requests for local history #991
- Add separate Shorts sub-folder in Channel folders #988
- Implementation by @mhomak
- Allow adding/removing bookmarks to/from filter list
- Add direct playback of temporary playlists from YouTube or plugin urls in the form
- plugin://plugin.video.youtube/play?video_ids=xxxxxxxx,xxxxxxxx
## v7.1.1.6
### Fixed
- Fix http server not listening on any interface if listen IP is 0.0.0.0 #927
- Standardise return type of LoginClient.refresh_token #932
- Fix curl headers not being used when set on path of setResolvedUrl listitem
- Fix HEAD requests to MPD manifests
- Fix various Python2 incompatible changes
- Properly distinguish between VP9 and VP9.2 with HDR info
- Fix http server not running when script shows client IP
- Fix not listing full stream details in selection dialog
- Fix translated subtitles not being available for some videos #945
- Fix labelling for auto dubbed audio tracks
- Fix regressions in handling VP9.2 video streams
- Fix error handling items without headers #946
- Fix incorrectly determining Kodi release name
- Fix search window history navigation when using direct links
- Fix Python2/Android incompatibilty when checking CPU count #958
- Fix method used to determine address of local network interface #938
- Fix potential infinite loop with corrupted access_manager.json
- Various improvements to multiple busy dialog crash workarounds #938
- Fallback to search listing when search query is empty
- Fix debug log string formatting error #938
- Fix duplicated separators in context menu
- Fix Kodi builtin using wrong playlist type #938
- Ensure http server is started prior to creating MPD for playback #961
- Fix shuffle play of playlists not working
- Fix plugin category label not being applied if content type not set
- Fix Kodi navigating to root path of Video window if plugin listing fails
- Fix loading of Watch Later playlist #971
- Also fix other incorrect/missing parameter names
- Fix possible exception if plugin navigation fails #976
- Fix sign in when one or more access token requests fail #979
- Attempt to fix possible deadlock on http server shutdown
- Fix potential infinite loop with old data from access_manager.json #980
- Reduce unnecessary window navigation fallback attempts
- Fix incorrect duration display in Kodi 18 and Kodi 19 #999
- Fix possible error with getting names of bookmarks that have not been updated with info
- Fix missing "Live" label in Kodi 18
- Fix uncaught exception when sign-in does not succeed #985
- Fix missing "Ask" translation string
- Fix incorrect parameter name breaking auto-remove from Watch Later #993
- Fix processing of "q" and "channelId" search query params #1004
- Fix errors with progress dialogs in Kodi 18 #1000
- Fix remote watch history not updating #1008
- Fix API requests when not signed in #1013
- Fix playback not working when no API key is provided #1018
### Changed
- Improve display and update of bookmarks
- Explicitly set http server protocol version to HTTP/1.1
- Improve logging
- Use alternative streams to improve compatibility with external players
- Improve https server sleep and wakeup #810 #951
- Update Setup Wizard to disable all alternative player settings if not required #938
- Improve support for optional search API parameters #689
- Ensure changing sort order of search replaces existing search
- Use redirect in multiple busy dialog crash workaround #938
- Disable unusable alternate players #966
- Standardise plugin URIs for routing
- path parameters used for folders and sub-folders
- query parameters used for changing display modes, filtering, sorting and inputs
- Don't retry server wakeup on error unless settings change
- Allow ISA and MPD in 720p performance preset in Setup Wizard
- Only use OAuth tokens if necessary #994 #996
### New
- Explicitly enable TCP keep alive #913
- Add localised title and description for videos, channels and playlists
- Update display of playlists to show the following details:
- item count
- date
- channel name
- description
- web url
- podcast status
- Update display of channels to show the following details:
- view count
- subscriber count
- video count
- date
- description
- channel name in description
- web url
- Add View all and Shuffle context menu items for playlists
- New setting to enable debug logging for addon
- Setting > Advanced > Logging > Enable debug logging
- Improvements to searching
- Add context menu items for changing sort order of saved searches #172
- Allow search parameters to be stored per search #172 #689
- Allow additional optional search parameters to be used #689
- Improve parsing of date offset when searching for completed live events
- Add additional search type links to search results #689
- Add ability to replace window when rerouting using window_replace query parameter
- Add search sort context menu items to search results #172
- Add prompts and notifications for deleting items and clearing lists
- Add Quick Search and search management context menu items to Search folders
- Add context menu items to Clear and Play All/Shuffle in Bookmarks/Watch Later/Watch History folders
- Add progress dialog to My Subscription loading
## v7.1.1+beta.7
### Fixed
- Fix loading of Watch Later playlist #971
- Also fix other incorrect/missing parameter names
### Changed
- Don't retry server wakeup on error unless settings change
## v7.1.1+beta.6
### Fixed
- Ensure http server is started prior to creating MPD for playback #961
- Fix shuffle play of playlists not working
- Fix plugin category label not being applied if content type not set
- Fix Kodi navigating to root path of Video window if plugin listing fails
### Changed
- Use redirect in multiple busy dialog crash workaround #938
- Disable unusable alternate players #966
- Standardise plugin URIs for routing
- path parameters used for folders and sub-folders
- query parameters used for changing display modes, filtering, sorting and inputs
### New
- Add Quick Search and search management context menu items to Search folders
- Add context menu items to Clear and Play All/Shuffle in Bookmarks/Watch Later/Watch History folders
- Add progress dialog to My Subscription loading
## v7.1.1+beta.5
### Fixed
- Fix Python2/Android incompatibilty when checking CPU count #958
- Fix method used to determine address of local network interface #938
- Fix potential infinite loop with corrupted access_manager.json
- Various improvements to multiple busy dialog crash workarounds #938
- Fallback to search listing when search query is empty
- Fix debug log string formatting error #938
- Fix duplicated separators in context menu
- Fix Kodi builtin using wrong playlist type #938
### Changed
- Improve support for optional search API parameters #689
- Ensure changing sort order of search replaces existing search
### New
- Add additional search type links to search results #689
- Add ability to replace window when rerouting using window_replace query parameter
- Add search sort context menu items to search results #172
- Add prompts and notifications for deleting items and clearing lists
## v7.1.1+beta.4
### Fixed
- Fix incorrectly determining Kodi release name
- Fix search window history navigation when using direct links
### Changed
- Improve https server sleep and wakeup #810 #951
- Update Setup Wizard to disable all alternative player settings if not required #938
### New
- Improvements to searching
- Add context menu items for changing sort order of saved searches #172
- Allow search parameters to be stored per search #172 #689
- Allow additional optional search parameters to be used #689
- Improve parsing of date offset when searching for completed live events
## v7.1.1+beta.3
### Fixed
- Fix not listing full stream details in selection dialog
- Fix translated subtitles not being available for some videos #945
- Fix labelling for auto dubbed audio tracks
- Fix regressions in handling VP9.2 video streams
- Fix error handling items without headers #946
### Changed
- Use alternative streams to improve compatibility with external players
## v7.1.1+beta.2
### Fixed
- Standardise return type of LoginClient.refresh_token #932
- Fix curl headers not being used when set on path of setResolvedUrl listitem
- Fix HEAD requests to MPD manifests
- Fix various Python2 incompatible changes
- Properly distinguish between VP9 and VP9.2 with HDR info
- Fix http server not running when script shows client IP
### Changed
- Improve display and update of bookmarks
- Explicitly set http server protocol version to HTTP/1.1
- Improve logging
### New
- Add View all and Shuffle context menu items for playlists
- New setting to enable debug logging for addon
- Setting > Advanced > Logging > Enable debug logging
## v7.1.1+beta.1
### Fixed
- Fix http server not listening on any interface if listen IP is 0.0.0.0 #927
### New
- Explicitly enable TCP keep alive #913
- Add localised title and description for videos, channels and playlists
- Update display of playlists to show the following details:
- item count
- date
- channel name
- description
- web url
- podcast status
- Update display of channels to show the following details:
- view count
- subscriber count
- video count
- date
- description
- channel name in description
- web url
## v7.1.0.1
### Fixed
- Fix logging/retry of sqlite3.OperationalError
- Fix trying to use ISA for progressive live streams
- Retain list position when refreshing listings
- Add workarounds for trying to play videos using RunPlugin rather PlayMedia
- Fix possible regression causing 6s delay on first play
- Fix regression in building client details causing wrong referer to be used
- Only reroute to new window if container was not filled by the plugin #896
- Only reroute to new window if modal dialog is not open #896
- Fix various timing and sync issues with script, service, plugin and Kodi settings
- Fix playback history related context menu items not being shown #904
- Fix new resume details not being saved in plugin local playback history #904
- Fix default thumbnails not being updated if available
- Fix login to personal project only #910
- Fix regression with not using content type when routing after f239764 #922
- Partially revert eb0f81c to avoid merge error in unofficial version #924
- Only attempt to import InputStream Helper if necessary #923
### Changed
- Update multiple busy dialog crash workaround #891
- Use all playable codecs but deprioritise if not selected in stream features
- Change default live stream type to suit ISA and Youtube stream availability
- Use a CommandItem that opens the Info dialog for comments to avoid log spam
- Revert old workaround for Kodi treating a non-folder listitem as playable
- Improve parsing of plugin url query parameters to allow empty values
- Move IP location lookup to script and add to settings dialog
- Move language and region selection to script and add to settings dialog
- Allow default thumbnail selection fallbacks for all results
- Simplify handling of local history
- Incognito will no longer prevent existing local history from being shown
- Incognito will continue to prevent any update to local history
- Remove revoked API credentials #905
- Improve handling of "forbidden - The caller does not have permission" errors #905
- Allow retries on POST requests #913
### New
- Allow ask for quality from context menu to override audio only setting
- Add items_per_page query parameter to allow number of items in widgets to be customised #896
- Add item_filter query parameter to override "Hide videos from listings" setting #896
- Comma seperated string of item types to be filtered out of listing
- "?item_filter=shorts" will remove shorts from listing
- "?item_filter=shorts,live" will remove shorts and live streams from listing
- "?item_filter" will show all item types
- Allowable item types:
- shorts
- upcoming
- upcoming_live
- live
- premieres
- completed
- vod
- Add hide_next_page query parameter to hide plugin Next page item #896
- Add new input_prompt command for search endpoint to bypass Kodi window caching
- plugin://plugin.video.youtube/kodion/search/input_prompt
- Add support for proxy settings #884
- Preliminary support for /watch_videos YouTube urls
- Player client updates
## v7.1.0+beta.5
### Fixed
- Fix default thumbnails not being updated if available
### Changed
- Remove revoked API credentials #905
- Improve handling of "forbidden - The caller does not have permission" errors #905
### New
- Preliminary support for /watch_videos YouTube urls
- Player client updates
## v7.1.0+beta.4
### Fixed
- Fix playback history related context menu items not being shown #904
- Fix new resume details not being saved in plugin local playback history #904
### Changed
- Allow default thumbnail selection fallbacks for all results
- Simplify handling of local history
- Incognito will no longer prevent existing local history from being shown
- Incognito will continue to prevent any update to local history
### New
- Add support for proxy settings #884
## v7.1.0+beta.3
### Fixed
- Fix various timing and sync issues with script, service, plugin and Kodi settings
### Changed
- Move IP location lookup to script and add to settings dialog
- Move language and region selection to script and add to settings dialog
### New
- Add hide_next_page query parameter to hide plugin Next page item #896
- Add new input_prompt command for search endpoint to bypass Kodi window caching
- plugin://plugin.video.youtube/kodion/search/input_prompt
## v7.1.0+beta.2
### Fixed
- Fix possible regression causing 6s delay on first play
- Fix regression in building client details causing wrong referer to be used
- Only reroute to new window if container was not filled by the plugin #896
- Only reroute to new window if modal dialog is not open #896
### Changed
- Use a CommandItem that opens the Info dialog for comments to avoid log spam
- Revert old workaround for Kodi treating a non-folder listitem as playable
- Improve parsing of plugin url query parameters to allow empty values
### New
- Add items_per_page query parameter to allow number of items in widgets to be customised #896
- Add item_filter query parameter to override "Hide videos from listings" setting #896
- Comma seperated string of item types to be filtered out of listing
- "?item_filter=shorts" will remove shorts from listing
- "?item_filter=shorts,live" will remove shorts and live streams from listing
- "?item_filter" will show all item types
- Allowable item types:
- shorts
- upcoming
- upcoming_live
- live
- premieres
- completed
- vod
## v7.1.0+beta.1
### Fixed
- Fix logging/retry of sqlite3.OperationalError
- Fix trying to use ISA for progressive live streams
- Retain list position when refreshing listings
- Add workarounds for trying to play videos using RunPlugin rather PlayMedia
### Changed
- Update multiple busy dialog crash workaround #891
- Use all playable codecs but deprioritise if not selected in stream features
- Change default live stream type to suit ISA and Youtube stream availability
### New
- Allow ask for quality from context menu to override audio only setting
## v7.0.9.2
### Fixed
- Fix various Kodi 18 listitem setInfo compatibility issues
- Additional fixes and compatibility shims for playing AudioItems #873
- Fix early thread loop termination in My Subscriptions #888
## v7.0.9.1
### Fixed
- Add playlist_type_hint property to workaround issues with CPlayListPlayer::Play #873
- Fix comments not displaying for recommended videos #878
- Fix not correctly loading bookmarks for My Subscriptions
- Fix invalid escape sequence in non-raw string #885
- Attempt to fix various threading issues with My Subscriptions #882
### New
- Add refresh settings to Setup Wizard
## v7.0.9
### Fixed
- Fix renaming playlists
- Improve http server wakeup #746 #801
- Fix ask for video quality setting being inconsistently applied
- Fix http server not sleeping after initial start of service #746 #801
- Fix not reloading WL playlist if open after playback of video in WL
- Fix navigating to search page after playback and prompt re-opening
- Fix issues with next page and jump to page in related video listings
- Attempt to workaround issue with getting system idle time on Xbox #839
- Better handle unknown errors in player request responses #845
- Fix double playback due to busy dialog crash workaround
- Fix disabling certification verification #841
- Fix not using player request fallbacks #845
- Fix incorrectly identifying VP9 streams #833
- Fix videos not able to be re-opened from Kodi playlist #810
- Fix http server not working in Kodi 18
- Fix issues with http server wakeup and sleep on initial start/restart
- Fix API requests failing if not logged in
- Fix multi-audio streams failing to play
- Fix not properly defining default audio role #861
- Don't retry player requests for offline live streams
- Fix incorrectly updating playing live stream details
- Fix typo causing http server to restart when checking status
### Changed
- Make live query parameter optional when playing channel live stream
- Allow for removal of custom watch later and history playlists from settings #818
- Use default value of "HL" for history or "WL" for watch later as reset value
- This will then clear the setting and clear value from access_manager.json
- Old values will be stored as a backup, just in case
- Update cached data when playlists are modified (removed/renamed)
- Changed bandwidth attribute of subtitles in MPEG-DASH manifest to 0
- Rename My Subscriptions plugin url
- From:
- plugin://plugin.video.youtube/special/new_uploaded_videos_tv
- plugin://plugin.video.youtube/special/new_uploaded_videos_tv_filtered
- To:
- plugin://plugin.video.youtube/special/my_subscriptions
- plugin://plugin.video.youtube/special/my_subscriptions_filtered
- Old url retained for backwards compatibility, to be removed with Kodi v22
- Disable OPUS audio again by default #537
- Respect disable certificate verification setting with cURL in ISA #841
- Update bookmarks when listing rather than only using item snapshot
- Player requests no longer use configured plugin language
- Alternate client selections removed
### New
- Add notifications for creating/removing/clearing bookmarks #720
- Add support for channel handles
- Enable loop to first page on last page of manually paginated listings (My Subscriptions)
- Improve use of progressive streams
- Improve stream selection for HLS stream in InputStream.Adaptive
- Add script action to refresh settings
- Settings > Maintenance > Refresh settings.xml
- Will remove unused settings from settings.xml to stop log spam
- Add context menu item to play live stream from start #320
## v7.0.9+beta.10
### Fixed
- Don't retry player requests for offline live streams
- Fix incorrectly updating playing live stream details
### New
- Add context menu item to play live stream from start #320
## v7.0.9+beta.9
### Fixed
- Fix not properly defining default audio role #861
## v7.0.9+beta.8
### Fixed
- Fix API requests failing if not logged in
- Fix multi-audio streams failing to play
### New
- Add script action to refresh settings
- Settings > Maintenance > Refresh settings.xml
- Will remove unused settings from settings.xml to stop log spam
## v7.0.9+beta.7
### New
- Improve use of progressive streams
- Improve stream selection for HLS stream in InputStream.Adaptive
## v7.0.9+beta.6
### Fixed
- Fix http server not working in Kodi 18
- Fix issues with http server wakeup and sleep on initial start/restart
### Changed
- Player requests no longer use configured plugin language
- Alternate client selections removed
## v7.0.9+beta.5
### Fixed
- Fix disabling certification verification #841
- Fix not using player request fallbacks #845
- Fix incorrectly identifying VP9 streams #833
- Fix videos not able to be re-opened from Kodi playlist #810
## v7.0.9+beta.4
### Fixed
- Fix issues with next page and jump to page in related video listings
- Attempt to workaround issue with getting system idle time on Xbox #839
- Better handle unknown errors in player request responses #845
- Fix double playback due to busy dialog crash workaround
### Changed
- Respect disable certificate verification setting with cURL in ISA #841
- Update bookmarks when listing rather than only using item snapshot
### New
- Enable loop to first page on last page of manually paginated listings (My Subscriptions)
## v7.0.9+beta.3
### Fixed
- Fix navigating to search page after playback and prompt re-opening
### Changed
- Disable OPUS audio again by default #537
### New
- Add support for channel handles
## v7.0.9+beta.2
### Fixed
- Fix ask for video quality setting being inconsistently applied
- Fix http server not sleeping after initial start of service #746 #801
- Fix not reloading WL playlist if open after playback of video in WL
### Changed
- Rename My Subscriptions plugin url
- From:
- plugin://plugin.video.youtube/special/new_uploaded_videos_tv
- plugin://plugin.video.youtube/special/new_uploaded_videos_tv_filtered
- To:
- plugin://plugin.video.youtube/special/my_subscriptions
- plugin://plugin.video.youtube/special/my_subscriptions_filtered
- Old url retained for backwards compatibility, to be removed with Kodi v22
### New
- Add notifications for creating/removing/clearing bookmarks #720
## v7.0.9+beta.1
### Fixed
- Fix renaming playlists
- Improve http server wakeup #746 #801
### Changed
- Make live query parameter optional when playing channel live stream
- Allow for removal of custom watch later and history playlists from settings #818
- Use default value of "HL" for history or "WL" for watch later as reset value
- This will then clear the setting and clear value from access_manager.json
- Old values will be stored as a backup, just in case
- Update cached data when playlists are modified (removed/renamed)
- Changed bandwidth attribute of subtitles in MPEG-DASH manifest to 0
## v7.0.8
### Fixed
- Update selection and sorting of streams to fix missing live streams
- Fix using cached settings for XbmcContext.use_inputstream_adaptive
- Wakeup http server on playback start if required #746
- Improve handling of context menu play items
- Use consistent return values for function cache to avoid caching errors #782
- Attempt to fix PlaylistPlayer race condition error #704
- Fix not reloading access manager when performing user actions #780
- Fix page jump when page_token is not used
- Ensure container is always refreshed when required and available
- Fix incorrect comparison after cd45122
- Fix various caching issues #786 #797
- Fix including un-redacted IP address in debug logs
- Additional fixes for redacting IP addresses in debug logs #801
- Various minor fixes for external player use
- Fix trying to access playlists for account that has no Youtube channel #803
- Poll for http server restart when required for playback #746 #808
- Fix unsubscribe from My Subscriptions #809
- Fix Python2 UnicodeDecodeError when removing/renaming searches #815
- Fix not catching socket.error in Python2 when force shutting down socket
- Fix deleting window property with multiple threads causing hang on exit #813
### Changed
- Update icons
- Only enable recommendations when logged in
- Improve sync with internal Kodi watched state #709
- Align default value for watched percentage with Kodi default #746
- Limit need to check window property for sleep and wakeup
- Only show Next Page listitem linking to first page when in the GUI #787
- Use youtu.be urls with external players to work with different types of videos
- Test not starting/checking for http server until required for playback #746
- Invalidate portion of playlist cache if item added to playlist #797
- Update 720p preset in Setup Wizard #807
- Update itags found in HLS playlists and exclude them in quality selection #806
### New
- Cache and update My Subscriptions content per channel feed #785 #786
- Use separate database for My Subscription feed history #785
- Enable action parameter in play playlist route
- Use placeholder in empty listings to provide info and allow refreshing #797
- Enable subtitles for alternative client 2 #806
## v7.0.8+beta.5
### Fixed
- Fix Python2 UnicodeDecodeError when removing/renaming searches #815
- Fix not catching socket.error in Python2 when force shutting down socket
- Fix deleting window property with multiple threads causing hang on exit #813
### Changed
- Update 720p preset in Setup Wizard #807
- Update itags found in HLS playlists and exclude them in quality selection #806
### New
- Enable subtitles for alternative client 2 #806
## v7.0.8+beta.4
### Fixed
- Poll for http server restart when required for playback #746 #808
- Fix unsubscribe from My Subscriptions #809
## v7.0.8+beta.3
### Fixed
- Additional fixes for redacting IP addresses in debug logs #801
- Various minor fixes for external player use
- Fix trying to access playlists for account that has no Youtube channel #803
## v7.0.8+beta.2
### Fixed
- Fix various caching issues #786 #797
- Fix including un-redacted IP address in debug logs
### Changed
- Test not starting/checking for http server until required for playback #746
- Invalidate portion of playlist cache if item added to playlist #797
### New
- Use placeholder in empty listings to provide info and allow refreshing #797
## v7.0.8+beta.1
### Fixed
- Update selection and sorting of streams to fix missing live streams
- Fix using cached settings for XbmcContext.use_inputstream_adaptive
- Wakeup http server on playback start if required #746
- Improve handling of context menu play items
- Use consistent return values for function cache to avoid caching errors #782
- Attempt to fix PlaylistPlayer race condition error #704
- Fix not reloading access manager when performing user actions #780
- Fix page jump when page_token is not used
- Ensure container is always refreshed when required and available
- Fix incorrect comparison after cd45122
### Changed
- Update icons
- Only enable recommendations when logged in
- Improve sync with internal Kodi watched state #709
- Align default value for watched percentage with Kodi default #746
- Limit need to check window property for sleep and wakeup
- Only show Next Page listitem linking to first page when opening listings from the GUI #787
- Use shortened YouTube url with external players for better compatibility with different types of videos
### New
- Cache and update My Subscriptions content per channel feed #785 #786
- Use separate database for My Subscription feed history #785
- Enable action parameter in play playlist route
## v7.0.7
### Fixed
- Fixed not being able to re-refresh a directory listing that has already been refreshed
- Fixed various window and history nagivation issues
- Fixed http server idle shutdown not restarting if plugin is run but GUI is still idle
- Additional improvements to busy dialog crash workaround
- Workaround for new settings interface not updated correctly
- Fix bookmarks icon background colour
- Fix adding channel items directly to bookmarks
- Fixes for player monitoring preventing item being marked as watched #746
- Fix invalid pageToken error by removing jump from unsupported listings #715
- Fix issues with post play refresh possibly causing loss of window history
- Fix bug that could lead to plugin continuously reloading #608
- Attempted fix for socket error 98 on Linux #746
- For error 10013 on Windows try either of the following:
- Start-Process powershell -Verb runAs -ArgumentList "net stop winnat; net start winnat"
- Start-Process powershell -Verb runAs -ArgumentList "net stop hns; net start hns"
- Fix changing fanart type on My Subscriptions #751
- Fix not using thumbnail fanart for channels/subscriptions/playlists when enabled #751
- Fix My Subscriptions threading issues #529
- Fix failing to login #759
- Improve resource usage
- Fix adding video to playlist #764
- Fix plugin settings raising exception in Kodi 19-20 #769
### Changed
- Removed Settings > Advanced > Views > Show channel fanart
- Now included as option in Settings > Advanced > Views > Show fanart
- MPEG-DASH for live streams only enabled by default in Kodi v21
- Make better use of reuselanguageinvoker and various memory usage improvements
- Use internal Kodi resume enable/disable for all playback #693
- For playback where Kodi does not prompt to resume, the plugin will also no longer resume
- For playback where Kodi does prompt to resume, the plugin will follow whatever is selected
- Cached data for My Subscriptions and Related Videos will be replaced due to changes in cached data
- Use channel fanart as backup to thumbnail fanart for channel items without thumbnails #751
### New
- Improvements to plugin page navigation #715
- Refresh added to context menu of Next page item
- Jump to page added to context menu of Next page item
- Can also be used in plugin url: plugin://plugin.video.youtube/goto_page/<PAGE>/<PATH> #317
- Home added to context menu of Next page item
- Quick search added to context menu of Next page item
- Next page item added to last page of directory list to go back to first page
- Add option to use channel name as studio and/or cast #717
- Settings > Advanced > Views > Use channel name as
- Add option to use best available thumbnail quality
- Settings > Advanced > Views > Thumbnail size
- Added option to use video thumbnail as fanart in Settings > Advanced > Views > Show fanart #716
- Also added plugin url query parameter fanart_type to override settings
- Can be used to set fanart for specific widgets only: plugin://plugin.video.youtube/<PATH>?fanart_type=<0/1/2/3>
- Allowable values are the same as the setting:
- 0: No fanart
- 1: Default
- 2: Channel
- 3: Thumbnail
- Enable syncing of plugin watched state with Kodi watched state when using Kodi mark as (un)watched #709
- Add website link to video descriptions #721
- Update video filtering for live streams #755
- Add options to filter/hide the following types of videos
- shorts
- upcoming videos (either live streams or premieres)
- upcoming live streams
- currently live streams
- upcoming premieres
- completed videos (previously either live or premieres)
- No currently live streams will be shown in searches, only in the Live subfolder
- No currently live or upcoming live streams will be shown in channels, only in the Live subfolder
- Should also be much faster
- Completed stream will continue to be shown in listings unless filtered out
- Live subfolders will not be filtered by default
- Filter selection dialog has option to also filter the Live subfolder
- Most other listings will be filtered using whatever options have been set
## v7.0.7+beta.3
### Fixed
- Fix plugin settings raising exception in Kodi 19-20 #769
## v7.0.7+beta.2
### Fixed
- Fix invalid pageToken error by removing jump from unsupported listings #715
- Fix issues with post play refresh possibly causing loss of window history
- Fix bug that could lead to plugin continuously reloading #608
- Attempted fix for socket error 98 on Linux #746
- For error 10013 on Windows try either of the following:
- Start-Process powershell -Verb runAs -ArgumentList "net stop winnat; net start winnat"
- Start-Process powershell -Verb runAs -ArgumentList "net stop hns; net start hns"
- Fix changing fanart type on My Subscriptions #751
- Fix not using thumbnail fanart for channels/subscriptions/playlists when enabled #751
- Fix My Subscriptions threading issues #529
- Fix failing to login #759
- Improve resource usage
- Fix adding video to playlist #764
### Changed
- Use internal Kodi resume enable/disable for all playback #693
- For playback where Kodi does not prompt to resume, the plugin will also no longer resume
- For playback where Kodi does prompt to resume, the plugin will follow whatever is selected
- Cached data for My Subscriptions and Related Videos will be replaced due to changes in cached data
- Use channel fanart as backup to thumbnail fanart for channel items without thumbnails #751
### New
- Enable syncing of plugin watched state with Kodi watched state when using Kodi mark as (un)watched #709
- Add website link to video descriptions #721
- Update video filtering for live streams #755
- Add options to filter/hide the following types of videos
- shorts
- upcoming videos (either live streams or premieres)
- upcoming live streams
- currently live streams
- upcoming premieres
- completed videos (previously either live or premieres)
- No currently live streams will be shown in searches, only in the Live subfolder
- No currently live or upcoming live streams will be shown in channels, only in the Live subfolder
- Should also be much faster
- Completed stream will continue to be shown in listings unless filtered out
- Live subfolders will not be filtered by default
- Filter selection dialog has option to also filter the Live subfolder
- Most other listings will be filtered using whatever options have been set
## v7.0.7+beta.1
### Fixed
- Fixed not being able to re-refresh a directory listing that has already been refreshed
- Fixed various window and history nagivation issues
- Fixed http server idle shutdown not restarting if plugin is run but GUI is still idle
- Additional improvements to busy dialog crash workaround
- Workaround for new settings interface not updated correctly
- Fix bookmarks icon background colour
- Fix adding channel items directly to bookmarks
- Fixes for player monitoring preventing item being marked as watched #746
### Changed
- Removed Settings > Advanced > Views > Show channel fanart
- Now included as option in Settings > Advanced > Views > Show fanart
- MPEG-DASH for live streams only enabled by default in Kodi v21
- Make better use of reuselanguageinvoker and various memory usage improvements
### New
- Improvements to plugin page navigation #715
- Refresh added to context menu of Next page item
- Jump to page added to context menu of Next page item
- Can also be used in plugin url: plugin://plugin.video.youtube/goto_page/<PAGE>/<PATH> #317
- Home added to context menu of Next page item
- Quick search added to context menu of Next page item
- Next page item added to last page of directory list to go back to first page
- Add option to use channel name as studio and/or cast #717
- Settings > Advanced > Views > Use channel name as
- Add option to use best available thumbnail quality
- Settings > Advanced > Views > Thumbnail size
- Added option to use video thumbnail as fanart in Settings > Advanced > Views > Show fanart #716
- Also added plugin url query parameter fanart_type to override settings
- Can be used to set fanart for specific widgets only: plugin://plugin.video.youtube/<PATH>?fanart_type=<0/1/2/3>
- Allowable values are the same as the setting:
- 0: No fanart
- 1: Default
- 2: Channel
- 3: Thumbnail
## v7.0.6.3
### Fixed
- Improve updating containers and (re)loading windows #681
- Fix refreshing video listing also forcing next pages to refresh when loaded
- Fix overflow error resulting from parsing hashtags as episode numbers
- Fix 6s delay on video playback start
- Further fixes for multiple busy dialog crash workaround
- Possibly fix issues reported in comments of #704
- Update error checks to avoid unnecessary retries of player requests
- Fix adding and viewing items to internal bookmarks and watchlater list #720
- Fix error checks to prevent prematurely stopping retries of player requests #730
- Disable using android client player request by default #737
### Changed
- Setup Wizard default settings now disable pre-downloading subtitles if MPEG-DASH is enabled
- Ask for quality, Play with subtitles, Play audio only context menu items only displayed if associated setting is not already enabled
- Only make extra request for subtitles for Android client when all subtitle languages are enabled
- Overhaul alternative player support due to Kodi changes and also improve external player support
- Make "Support alternative player" and "Use YouTube website urls with default player" mutually exclusive options #692
- Enable OPUS audio by default #537
- Enable MPEG-DASH for live streams by default #680
- Setup Wizard will prompt to run when plugin first opens after updating, in order to update default settings
- http server will shutdown on idle timeout #699
- Update client details used for player requests
### New
- Add recommended settings in Setup Wizard for Raspberry Pi 1/2 class devices #688
- Added Bookmarks
- Save videos, channels, playlists to Bookmarks
- Bookmarked channels will be checked for updates in My Subscriptions
- Data is stored locally, without needing to be logged in
## v7.0.6+beta.3
### Fixed
- Fix adding and viewing items to internal bookmarks and watchlater list #720
## v7.0.6+beta.2
### Fixed
- Further fixes for multiple busy dialog crash workaround
- Possibly fix issues reported in comments of #704
- Update error checks to avoid unnecessary retries of player requests
### Changed
- Make "Support alternative player" and "Use YouTube website urls with default player" mutually exclusive options #692
- Enable OPUS audio by default #537
- Enable MPEG-DASH for live streams by default #680
- Setup Wizard will prompt to run when plugin first opens after updating, in order to update default settings
- http server will shutdown on idle timeout #699
## v7.0.6+beta.1
### Fixed
- Improve updating containers and (re)loading windows #681
- Fix refreshing video listing also forcing next pages to refresh when loaded
- Fix overflow error resulting from parsing hashtags as episode numbers
- Fix 6s delay on video playback start
### Changed
- Setup Wizard default settings now disable pre-downloading subtitles if MPEG-DASH is enabled
- Ask for quality, Play with subtitles, Play audio only context menu items only displayed if associated setting is not already enabled
- Only make extra request for subtitles for Android client when all subtitle languages are enabled
- Overhaul alternative player support due to Kodi changes and also improve external player support
### New
- Add recommended settings in Setup Wizard for Raspberry Pi 1/2 class devices #688
- Added Bookmarks
- Save videos, channels, playlists to Bookmarks
- Bookmarked channels will be checked for updates in My Subscriptions
- Data is stored locally, without needing to be logged in
## v7.0.5
### Fixed
- Fix typo causing no fractional frame rate hinting to fail #679
- Fix typo that caused android player requests to fail
- Fix error message when rating video #666
- Fix various issues with Kodi 18 and Python 2 #668
- Fix issues with video playback #654, #659, #663
- Fix typos #661
- Fix typo that prevented videos from being listed in Kodi versions prior to v20 #662
- Try to prevent Kodi freezing when settings are updated and container is reloaded
- Fix lockups when using xbmc.executebuiltin #647, #653
- Fix searching for preferred language subtitles not using non-region specific subtitles
- Fix not being able to set custom watch later history playlist per user #646
- Update workarounds for multiple busy dialog crashes #640, #649
- Fix playing incorrect video when player request is blocked #654
### Changed
- Update language used for maintenance action prompts that clear data
- Display search history as list rather than videos
- Update Setup Wizard
- Add settings for Raspberry Pi 3 class devices (1080p30, VP9 enabled)
- Update settings for Raspberry Pi 4 class devices (1080p60, VP9 enabled)
- Move option to disable list details to last step in wizard
- Shared playlist play using default order without prompting
- Removed dependency on script.module.infotagger #479
- Removed Nexus specific releases
- Matrix releases will now work in Kodi v19+
- Leia releases will work, but are unsupported, for Kodi v18 only
- Updated client versions used for player requests
- Use iOS client as fallback for default client selection
### New
- Add new client that may provide 1080p non-adaptive formats
- Can be accessed as Alternate #2
- Allow channel name to be displayed/sorted in listing depending on sort order #644
## v7.0.5+beta.5
### Fixed
- Fix typo causing no fractional frame rate hinting to fail #679
## v7.0.5+beta.4
### Fixed
- Fix typo that caused android player requests to fail
## v7.0.5+beta.3
### Fixed
- Fix error message when rating video #666
- Fix various issues with Kodi 18 and Python 2 #668
- Fix issues with video playback #654, #659, #663
## v7.0.5+beta.2
### Fixed
- Fix typos #661
- Fix typo that prevented videos from being listed in Kodi versions prior to v20 #662
### Changed
- Update language used for maintenance action prompts that clear data
### New
- Add new client that may provide 1080p non-adaptive formats
- Can be accessed as Alternate #2
- Allow channel name to be displayed/sorted in listing depending on sort order #644
## v7.0.5+beta.1
### Fixed
- Try to prevent Kodi freezing when settings are updated and container is reloaded
- Fix lockups when using xbmc.executebuiltin #647, #653
- Fix searching for preferred language subtitles not using non-region specific subtitles
- Fix not being able to set custom watch later history playlist per user #646
- Update workarounds for multiple busy dialog crashes #640, #649
- Fix playing incorrect video when player request is blocked #654
### Changed
- Display search history as list rather than videos
- Update Setup Wizard
- Add settings for Raspberry Pi 3 class devices (1080p30, VP9 enabled)
- Update settings for Raspberry Pi 4 class devices (1080p60, VP9 enabled)
- Move option to disable list details to last step in wizard
- Shared playlist play using default order without prompting
- Removed dependency on script.module.infotagger #479
- Removed Nexus specific releases
- Matrix releases will now work in Kodi v19+
- Leia releases will work, but are unsupported, for Kodi v18 only
- Updated client versions used for player requests
- Use iOS client as fallback for default client selection
## v7.0.4
### Fixed
- Fix issues with Profiler running without timer when debug logging was enabled
- Fix additional Python 2 unicode handling issues when accessing My Subscription #639
### Changed
- Only set combined cache size to 20 MB in Setup Wizard if value is not already larger
- Cached playlist items will be forced to reload when deleting item from playlist rather than waiting 5 minutes
### New
- Make colours used for extra details in video listings customisable in Kodi 20+
## v7.0.4+beta.2
### Fixed
- Overhaul of http server settings to try and fix #633
- Fix unicode handling error when accessing My Subscriptions in Kodi 18 #636
- Update url resolver
- remove redundant resolving attempt
- attempt to bypass cookie consent redirect #631
### Changed
- Live stream sorting changed
- Upcoming sorted by date
- Live sorted by most viewed
- Completed by most viewed in last 3 days
- Update setup wizard performance tier settings
- Disable MPEG-DASH for old devices
- Enable VP9 for low powered devices
### New
- Kodi 18 (Leia) release available
- These releases are unsupported and may not be completely functional
- If something works, then that is good
- If something doesn't work, it will not be addressed unless it applies to Kodi 19+
- Known issues:
- accessing script actions through settings does not work (e.g. maintenance and user actions)
- Setup wizard will disable use of website urls if no playercorefactory.xml is found #632
## v7.0.4+beta.1
### Fixed
- Workarounds for buggy language and region details in Kodi
- Incorrect language fallbacks for subtitles
- Trying to use InputStream.Adaptive to load downloaded subtitles #624
- Duplicated/overridden subtitles with same language but different type
- Missing order parameter used when loading playlists #607
### Changed
- Setup Wizard replaces Settings in main menu
- Settings available as seperate item
- Settings have been re-organised to group similar settings together
- Less commonly changed settings have all been moved to Advanced settings tab
- Updated client versions used for API, login, and player requests
- Improve language display for subtitles loaded through InputStream.Adaptive
- Updated translatons to reflect API config page moving to http://<ipaddress>:<port>/youtube/api #618
- Update script.module.requests min version required #610
### New
- Setup Wizard now provides ability to set recommended setting values
- Old search history and playback history will be imported when Setup Wizard is run #619
- Respect Kodi preferred subtitle language setting when attempting to load subtitles
- Include original video language as a default fallback language for subtitles
- Enable profiler when Kodi debug logging is enabled
## v7.0.3.2
### Fixed
- Fix settings not being saved and setup wizard repeatedly activating in Kodi 20 and lower #604
- Fix plugin refresh on settings change
## v7.0.3.1
### Fixed
- Restore support for old format plugin urls used for trailers #598
- Restore support for plugin search urls #599
## v7.0.3
### Fixed
- Fix incorrect labelling of subtitle language in Kodi subtitle selection dialog #595
- Fix failure to play videos when MPEG-DASH and subtitles were enabled in Kodi 20 and lower #595
- Fix Python 2 compatibility
## v7.0.3+beta.5
### Fixed
- Properly fix infotagger error with Kodi v19
- Disable non-functioning saved playlists menu item #569
- Fix forced logout on upgrade from v7.0.2.2 or below
- Fix Youtube progress tracking #581
## v7.0.3+beta.4
### Fixed
- Fix handling of isPostLiveDrv streams #579
- Fix infotagger error with Kodi v19
- Fix errors with creating and deleting temporary folders
- Fix listing more than 50 items in local history list
- Fix context menus in local history and local watch later list
- Fix not using user API key when not logged in #585, #587
- Fix unofficial version not using correct content type for videos #586, #589
### New
- Add setting to disable label details #559
- Allow searching by Youtube url to access unlisted videos that can't be searched for
- New option to list all subtitles in Kodi subtitle dialog when MPEG-DASH is enabled #121, #201, #247, #305, #489
## v7.0.3+beta.3
### Fixed
- Fix invalid error when removing subscriptions #568
- Fix removing item from playlist #570
- Fix related videos and respect pagination limits #572
- Fix not correctly including visitor data in continuation requests
- Fix for possible database locks during setup
- Fix incorrect timezone details for premiered time #574
### Changed
- Don't show subscribe context menu item in My Subscriptions #568
### New
- Add ability to unsubscribe from My Subscriptions #240, #568
- Make MPEG-DASH frame rate details configurable #336
## v7.0.3+beta.2
### Changed
- Function and data cache are now created per user
- Video channel no longer used as studio infolabel
- Since v7.0.3+beta.1 setting values are logged to the debug log
- Now sensitive details (location, API key, etc.) are masked
- Deprecated plugin actions removed
- Changed caching of playlists
- First page of playlists are only cached for 5 minutes
- Following pages are cached for 1 hour
### Fixed
- Fix error when opening My Subscriptions after login #555
- Fix directory items being treated as short videos #556
- Fix error with Setup Wizard not loading #557
- Refresh context menu item will now actually refresh listings #558
## v7.0.3+beta.1
### New
- Add display of extra video information (premieres, views, comments, likes) #18, #464, #503
- Add support for Clips #450
- Add ability to combine playlists #480
- Add support for timestamps in links #502
- Add initial support for higher bitrate streams #505
- Add ability to limit video FPS at max resolution #539
- Add local Watch Later and History for use when not logged in or custom playlist not set
- Update main menu items:
- New Recommended videos (similar to YouTube home page, will use login if available)
- Old Recommended videos renamed to Related videos (requires local/remote history enabled)
- Popular right now renamed to Trending
### Changed
- Local history made optional and enabled by default
- Existing user data will be lost due to changes in data format:
- Search, local history, and local watch later is stored per user
- Function and data cache will be wiped (will also become per user in future)
- Disable OPUS audio by default #537
### Fixed
- Fix sharing links #115, #250, #538
- Fix date and sorting issues #411, #425, #434
- Fix issues with randomising playlists #485
- Fix Recommendations, Related Videos, and Auto-play next #508
- Fix issue with switching between H264/AV1 streams #532
- Fix issues with live streams #530, #540
- Fix prompt for subtitles #534
- Fix issues with corrupt user data #536
- Fix issues with loading large playlists #545
- Fix queuing from current playlist #549
- Workaround for crashes #113, #540
## v7.0.2.2
[fix] Fix Matrix compatibility
[fix] Update unofficial patch
## v7.0.2.1
[fix] fix Matrix InputStream.Adaptive dependency version
## v7.0.2
[new] quality and stream feature selection
[new] enable HLS live streams
[new] stream and language labelling
[chg] separately enable local/remote history
[chg] restore unsupported compatibility for Kodi v19 (Matrix)
[fix] fix various playback issues |contrib: various|
[fix] Limit host connections getting subscription feeds |contrib: cas--|
[fix] fix handling of connection failures
[upd] Translations updated from Kodi Weblate
## v7.0.1
[fix] video duration not showing in lists
[upd] Translations updated from Kodi Weblate
## v7.0.0
[rem] removed support for versions of Kodi pre-Nexus v20
[rem] removed support for python 2
[rem] removed dependency on six
[upd] Translations updated from Kodi Weblate
## v6.8.25
[fix] Nexus compatibility with InfoTagVideo |contrib: jurialmunkey|
[chg] make httpd /api url case insensitive due to skin choice of uppercase settings text
[chg] use listitem property for Inputstream Adaptive headers instead of url piped on Nexus+
[upd] Translations updated from Kodi Weblate
## v6.8.24
[fixup] resolve playback history not being updated
[add] add opus audio support
[upd] use more descript reasons for failed playback
[upd] Translations updated from Kodi Weblate
## v6.8.23
[revert] subscription groups/tags - causing breaking issues
## v6.8.21
[chg] Icons and Fanart updated |contrib: papercore-dev|
[add] Add setting General - Hide short videos (1 minute or less)
[add] Add support for /shorts/video_id format links |contrib: jmbreuer|
[add] Add Fanart to Subscriptions
[add] Access to Saved Playlists
[fix] Display of channel fanart
[fix] Misc missing fanart
[lang] translation updates from Weblate
## v6.8.20
[fix] Fix to_str |contrib: RNavega|
[fix] Fix playback buffering |contrib: RNavega|
[fix] Subtitle language names
[lang] translation updates from Weblate
## v6.8.19
[fix] /uri2addon/ endpoint for playback of youtube.com urls
[fix] Don't assume addon is installed in home directory |contrib: jfly|
[lang] translation updates from Weblate
## v6.8.18
[fix] Fix to_str |contrib: RNavega|
[fix] Fix playback buffering |contrib: RNavega|
[lang] translation updates from Weblate
## v6.8.17
[fix] Fix comments on Kodi 19+ |contrib: ramateur|
[fix] Fix ratebypass
[upd] Update icon and fanart |contrib: papercore-dev|
[lang] translation updates from Weblate
## v6.8.16
[fix] Fix playback of some content (ie. Music videos)
[fix] Calcuate n parameter to enable ratebypass
## v6.8.15
[fixup] No streams found, consent cookies |contrib: jaylinski|
[fixup] Age gate detection, show age gate error instead of 'No streams found'
[fixup] encoding of some titles/authors - ie. russian
[lang] translation updates from Weblate
## v6.8.14
[fixup] playback of some streams due to encoding issues
[fixup] default player response type
## v6.8.13
[fix] player config and client discovery
[fix] No Streams Found |contrib: 14mRh4X0r|
[fix] capability map to contain unversioned capabilities |contrib: jmbreuer|
[lang] zh_tw strings |contrib: JuenTingShie|
## v6.8.11
[fix] mktime overflow when loading My Subscriptions
[fix] encoding issues in search history |contrib: dreznichuk|
## v6.8.10
[fix] fix javascript player retrieval and playback of some videos for affected users |contrib: thomazz-nl|
- Invalid URL 'http://': No host supplied
## v6.8.9
[fix] my subscriptions section using YouTube RSS |contrib: PureHemp|
[fix] items per page settings on Kodi 19
[chg] recommendations only available for users with custom history playlist id configured
[chg] no longer show watch later unless custom watch later playlist is configured
[rem] remove usage of discontinued api and dual login (no longer required)
## v6.8.8
[fixup] encoding of subtitle track names
## v6.8.7
[fixup] encoding of titles and authors during playback
## v6.8.6
[fix] some videos failing to play with an Invalid URL exception
[fix] searching in some instances with encoding issues |contrib: tsaklidis|
[fix] support python 3.9 html.unescape |contrib: asavah|
## v6.8.5
[fix] playback of purchased movies |contrib: MisterD81|
[fix] notifications for some languages on Kodi 19
[fix] searching for some languages
[fix] loading on some versions of python 3
[fix] some videos failing to play with an Invalid URL exception
[upd] use xbmcvfs.translatePath if available, clean up for Kodi 19
## v6.8.4
[fix] next page now ignores sorting, remains at the end of the directory
[fix] searching, no longer require remote safe search
[fix] notifications for some languages
[chg] only log http server ping failures
[lang] zh_cn strings |contrib: yureng, xiaojun|
## v6.8.3
[fix] playback of some videos
[fix] notifications for some languages |contrib: Mutronics|
[fix] fix rating videos causing and error even though it succeeded
[upd] cache javascript player url for4 hours, reduces http requests per play by 1
[upd] use new settings format on Kodi 19
[lang] el_gr strings |contrib: twilight0|
[lang] hu_hu strings |contrib: thelacesz|
## v6.8.2
[fixup] recommendations with > 50 channels
## v6.8.1
[fix] playback failing
[fix] viewing comments when logged in
[fix] intermittent issue with Subscriptions
[fix] encoding of video unavailable messages
[upd] updates to recommendations
[upd] update logging for Kodi 19
[lang] fr_fr strings |contrib: alan7000|
[lang] pl_pl strings |contrib: drrak|
[lang] nl_nl strings |contrib: Markman-B|
## v6.8.0
[add] support for video comments, Comments in the More... dialog |contrib: doko-desuka|
[add] simulate deprecated recommended home API |contrib: hedleyroos|
[fix] error caused by timestamp formatting
[fix] fix Premiere's exiting after 5 seconds |contrib: jpfox156|
[fix] playlists over json-rpc |contrib: JasperE84|
[lang] de_de strings |contrib: tweimer|
[lang] el_gr strings |contrib: twilight0|
[lang] es_es strings |contrib: roliverosc|
[lang] pt_pt strings |contrib: daniel3x|
## v6.7.0
[add] send PlaybackInit, PlaybackStarted, PlaybackStopped notifications containing video id, channel id, and the status of the playing video
[fix] allow playback regardless of API status
- fixes playback for strm, playlists, other add-ons, and sharing videos from devices
[fix] finding player config, allow playback to continue when not found if possible
[fix] fix possible loop due to invalid keys and login information
[fix] fix playback of mpeg-dash streams if HTTP Server - Listen on IP is blank
[upd] use a dialog to notify users of API key requirements with link to wiki
- https://ytaddon.page.link/keys
[rem] remove provided api keys
[lang] de_de strings |contrib: tweimer|
[lang] el_gr strings |contrib: twilight0|
[lang] hu_hu strings |contrib: thelacesz|
[lang] pl_pl strings |contrib: drrak|
## v6.6.0
[add] 'Play (Ask for quality)' context menu
[add] search by channel or playlist id
[add] hide_folders, hide_playlists, hide_search, and hide_live to /channel/<channel_id>/ end-point
- ie. plugin://plugin.video.youtube/channel/UC4PooiX37Pld1T8J5SYT-SQ/?hide_folders=true will hide all folders(Playlists, Search, and Live) in the channel listing
[fix] playback for some videos (ie. music videos)
[fix] playback of some videos with no adaptive video streams
[fix] don't update watch history when incognito/screensaver/live |contrib: regseb|
[fix] search prompting for input after video playback or refresh
[lang] el_gr strings |contrib: twilight0|
[lang] es_es strings |contrib: roliverosc|
[lang] pt_br strings |contrib: MediaBrasil|
[lang] cs_cz strings |contrib: llzn.cz|
[lang] it_it strings |contrib: SebastianoPistore|
[lang] de_de strings |contrib: tweimer|
## v6.5.2
[fix] playback (No streams found)
[fix] missing metadata
[fix] ended live streams not using mpeg-dash when enabled
[fix] subscriptions not showing latest videos
[upd] simplify youtube_resolver regex |contrib: Twilight0|
[lang] de_de strings |contrib: TehTux|
[lang] pl_pl strings |contrib: drrak|
[lang] nl_nl strings |contrib: Markman-B|
## v6.5.1
[add] get_live to youtube_requests module to retrieve live stream info for a channel
[add] Adaptive (MP4) and Adaptive (WEBM) to MPEG-DASH - Video quality
[fix] live stream playback
[fix] unable to seek when using mpeg-dash
[fix] mpeg-dash video quality selection
[fix] sqlite requests breaking when another add-on/module uses sqlite3.register_converter(..)
[fix] signal endofdirectory in case of a provider navigation exception |contrib: enen92|
## v6.5.0
[add] Video quality selection to Settings - MPEG-DASH
[add] Limit to 30fps to Settings - MPEG-DASH
[add] Uploads playlist to channel playlists
[chg] Use search for channel videos instead of the Uploads playlist
[fix] Signature cipher, some videos unplayable (ie. music videos)
[fix] Playback monitoring using Python 3
[fix] unescape html entities in title and plot
[fix] handling of invalid grant when refreshing access token
[fix] adding suggested videos when played from some widgets
[fix] http server /client_ip using Python 3 |contrib: t6|
[upd] refactor youtube_resolver.resolve
[lang] el_gr strings |contrib: twilight0|
[lang] es_es strings |contrib: roliverosc|
[lang] ko_kr strings |contrib: parkmino|
## v6.4.1
[upd] Use the activation url provided by the authentication request
[add] add Settings - MPEG-DASH - Default to WEBM adaptation set
- required for 4k stream automatic selection
[add] add Settings - MPEG-DASH - Include VP9.2
- includes HDR content in the manifest
[add] add support for &hide_folders=true parameter in search query urls
- when added to the url it will hide the Playlists, Channels, and Live folders
[add] &seek=<time_in_seconds> to play urls
[fix] fix playback of Purchases
[fix] fixed saved playlists that don't belong to a channel
[fix] mpeg-dash frame rate representation
[fix] datetime parsing if no datetime string is available
[chg] handle playback monitoring in threads
[lang] nl_nl strings |contrib: MB1968|
[lang] el_gr strings |contrib: twilight0|
## v6.4.0
[add] 4K videos with InputStream Adaptive >= v2.3.14
- Thanks to @peak3d
[fix] some videos not playing when logged in
[fix] reset function cache at restart/update to resolve issues persisting due to cached results
[fix] service potentially not shutting down http server
[fix] added to playlist/subscriptions notifications
[fix] only generate mpeg-dash file if adaptive formats are available
[fix] map frame rates to more common representation to lessen the chance of double refresh rate changes (only applies to generated mpeg-dash files)
[fix] currently playing file check when playing file is a plugin:// url
[chg] Settings - General - Autoplay suggested videos
- limit playlist size to 1000 videos
- request less relevant videos at one time
- old behavior: add 50 most relevant videos for each video played, repeats allowed
- result: a lot of barely relevant videos in groups of 50
- new behavior: add single most relevant video, no repeats
- result: next video is always the most relevant video to the last video played
[upd] player javascript retrieval
## v6.3.1
[fix] ensure playback monitoring is monitoring the correct item
[fix] check for abortRequested while processing purchased collections
[upd] Use setArt instead of iconImage, thumbnailImage and setProperty('fanart_image')
## v6.3.0
[add] support for keymapping of some endpoints, wiki: https://kodi.wiki/view/Add-on:YouTube#Keymaps
[add] 'Rate videos in playlists' setting to 'Settings - General - Rate after watching'
[add] Support for purchased collections |contrib: MisterD81|
[fix] Playback of some videos (e.g. music videos)
[fix] Live stream playback
[fix] post play add to watch history
[fix] fix add-ons playback history not saving
[fix] playback monitoring/post play events triggering for the wrong videos in some cases
[fix] call setResolvedUrl(False) if get_video_streams fails
[upd] code cosmetics and resolve inspections
[upd] improve watch history tracking, actively report watch times and state during playback
[upd] sign in/out, switch user, and settings ListItems to isFolder=False and isPlayable=False
[upd] improve watch later playlist id retrieval and feedback
[upd] Use SPDX license identifier
[lang] de_de strings |contrib: tobhor|
[lang] el_gr strings |contrib: twilight0|
[lang] es_es strings |contrib: roliverosc|
[lang] ko_kr strings |contrib: parkmino|
[lang] nl_nl strings |contrib: Markman-B|
## v6.2.3
[add] Next Page to 'More...' -> 'Add to...' context menu
[add] icon and description to playlists in 'More...' -> 'Add to...' context menu on Kodi 17+
[add] 'Play audio only' context menu item
[fix] generated dash with no supported video streams(audio only) being played when Audio only not enabled
[fix] potential RuntimeError when retrieving total time of playing content if player is stopped immediately
[lang] nl_nl strings |contrib: Markman-B|
[lang] pl_pl strings |contrib: xulek|
[lang] pl_pl strings |contrib: drrak|
[lang] sk_sk strings |contrib: jose1711|
[lang] el_gr strings |contrib: twilight0|
[lang] es_es strings |contrib: roliverosc|
## v6.2.2
[fix] signature function not found on some videos
## v6.2.1
[fix] some streams reporting as Unavailable
[fix] utf-8 file paths
[fix] settings, and switch user causing perpetual busy dialog on Kodi 18
## v6.2.0
[add] Context menu -> 'Play with subtitles' |contrib: solarus|
[add] Option to download subtitles before playback in Settings -> General -> Configure subtitles
[add] Refresh context menu to all videos/live streams
[add] &strm=true parameter for strm files in Kodi 18 |contrib: vlmaksime|
- use description from library and set watched status
[add] 'Settings -> Advanced -> Use YouTube website urls' for external/alternative players
eg. Player: MPC-BE, URL: https://www.youtube.com/watch?v=C0NyvxTJGcQ
eg. playercorefactory.xml
<?xml version="1.0" encoding="UTF-8"?>
<playercorefactory>
<players>
<player name="MPC-BE" type="ExternalPlayer" audio="false" video="true">
<filename>C:\Program Files\MPC-BE x64\mpc-be64.exe</filename>
<args>"{1}" /fullscreen /close</args>
<hidexbmc>true</hidexbmc>
<hideconsole>true</hideconsole>
<warpcursor>none</warpcursor>
</player>
</players>
<rules action="prepend">
<rule filename="(?:http)*s*:*[/]{0,2}(?:www\.)*youtu(?:\.be/|be\.com/(?:embed/|watch/|v/|.*?[?&/]v=))[a-zA-Z0-9_\-]{11}.*" player="MPC-BE" />
</rules>
</playercorefactory>
[fix] Reported background progress dialog percentage
[fix] Playlist items, use video_items instead of playback_items
[fix] search history size
[fix] remove Spanish (Latin America)|es-419 from the setup wizard, causing invalidLanguage and invalidRelevanceLanguage errors
[upd] Improve speed of playback starting and resolver
before: min: 1.5s max: 2.6s median: 1.7s
after: min: 0.9s max: 2.6s median: 1.2s
[chg] refactor logging and system version
[chg] Localize confirmation
[lang] el_gr strings |contrib: twilight0|
[lang] es_es strings |contrib: roliverosc|
[lang] es_mx strings |contrib: Intel11|
[lang] it_it strings |contrib: SebastianoPistore|
[lang] nl_nl strings |contrib: Markman-B|
[lang] ru_ru strings |contrib: vlmaksime|
## v6.1.4
[fix] Signature function not found
## v6.1.3
[fix] timedelta.total_seconds python 2.6 compat.
## v6.1.2
[fix] dash settings check and defaults
[fix] addon-check raised warning for services complex entry point
[fix] codacy raised issue in http server (https://app.codacy.com/app/Kodi/repo-plugins/pullRequest?prid=2080401)
[chg] move seek to onPlayBackStarted, onAVStarted only in K18
[chg] geolocation provider changed from ipstack to ip-api
[del] frodo listitem art compatibility
[lang] ru_ru strings |contrib: Burgaduk|
[lang] zh_tw strings |contrib: Zankio|
## v6.1.1
[fix] http proxy using incorrect setting id causing 403 errors
## v6.1.0
[add] Multi-user support
- Switch User folder (default: on) Settings -> Folders
- User management (Add, Remove, Rename, Switch) Settings - Users
- Signed in users are green, Current user has an *
[add/upd] add data cache and optimize caching
- add Settings -> Maintenance -> Clear data cache/Delete data cache
- increase allowed cache size
- database accesses per 50 videos: before: 70~100 after: 4~6
- load time of 50 videos w/ no cached videos: before: ~11.6 secs, after: ~3 secs
- load time of 50 videos w/ all cached videos: before: ~0.8 secs, after: ~0.7 secs
- cached size per 50 videos: before ~1MB, after ~550KB
[add] Refresh after watching (default: off) Settings -> General
[add] Completed Live folder (default: on) Settings -> Folders
[add] Upcoming Live folder (default: on) Settings -> Folders
[add] My Location folder (default: on) Settings -> Advanced -> Enable setup-wizard
[add] Play count minimum percent (default: 85%) Settings -> General -> Play count minimum percent
[add] Playback history (default: off) Settings -> Advanced -> Use playback history
[add] Time since published for videos as item properties Property(PublishedSince), Property(PublishedLocal) |contrib: pannal|
[add] Check My IP, Settings -> HTTP Server
[add] Developer authentication, allowing add-ons to use their own access tokens
- see youtube_authentication.py, youtube_registration.py, youtube_requests.py, and youtube_resolver.py
[upd] YouTube UTC datetimes to local timezone |contrib: pannal|
[upd] Localize API key errors, provide a more descriptive notification
[fix] Add to YouTube watch history
[fix] My Channel videos (Error 403)
[fix] allow fallback to dash, when using Audio only
[fix] Signature function not found error for some users
[fix] Context Menu -> More -> Related Videos w/ Kodi 18
[fix] Sign In/Sign Out causing crash with Kodi 18 nightlies
[fix] Channel 'mine' caching
[fix] Time changing when playing generated dash
[lang] es_es strings |contrib: roliverosc|
[lang] el_gr strings |contrib: twilight0|
[lang] nl_nl strings |contrib: Markman-B|
## v6.0.2
[fix] incorrectly raised 'Proxy is not running' error
## v6.0.1
[fix] notification encoding
## v6.0.0
[add] Python 3 compat.
[add] Settings -> Maintenance -> Delete temporary files
[add] Settings -> General -> Rate video after watching
[add] Settings -> API -> Enable API configuration page
- when enabled, visit http://<ipaddress>:<port>/api to configure API keys from a web browser
- port is configured in Settings - HTTP Server - Port
[chg] Storing personal api keys in api_keys.json
[chg] Storing login tokens in access_manager.json
[add] youtube_registration module, register developer keys and use them by appending an addon_id=<addon_id> parameter to youtube add-on plugin urls
[add] screensaver=true parameter to /play route - no suggested videos, no post play events, don't ask for quality
[add] play route for channel live streams
- plugin://plugin.video.youtube/play/?channel_id=UCLA_DiR1FfKNvjuUpBHmylQ&live=1
[add] Purchases
- requires Kodi 18
- requires inputstream.adaptive >= 2.2.12
- if a purchase fails after 10 seconds
- provide a debug log
- set InputStream Adaptive -> Settings -> Stream selection -> manual
- change video stream during playback to preferred working resolution
- huge thanks to peak3d
[add] relevanceLanguage to search requests
[add] Refresh to My Subscriptions (Filtered)
[fix] mpeg-dash proxy with multi-profiles
[fix] search input, now works with Yatse
[fix] Signature deciphering
[fix] context menu after playback
[fix] alternative player, do not append headers
[fix] My Subscriptions (Filtered) channel matching
[fix] Audio only, failover to video if no audio only streams available
[fix] My Subscriptions missing page 3
[fix/upd] function cache, update max rows and resolve hang on some requests
[fix/upd] post play events happen post play
[fix/upd] set title from metadata on play
[chg] only automatically remove temp folder at start-up
[upd] Dutch strings [MB1968]
[upd] French strings [bubuleur]
[upd] Greek strings [twilight0]
[upd] Spanish strings [roliverosc]
## v5.5.0
[add] Saved Playlists
[add] allow developers to use their own api key
- xbmcgui.Window(10000).setProperty('plugin.video.youtube-configs', json.dumps({"origin": ADDON_ID, "main": {"system": SYSTEM_NAME, "key": API_KEY[, "id": CLIENT_ID, "secret": CLIENT_SECRET]}}))
[add] Audio only: Settings -> General
[add] Age gate enforcement: Settings -> General
[add] Quick search and Quick search (Incognito)
- Settings -> Folders
- incognito doesn't add to search history or run post play events (add to watch history)
[add] Quick search to channels (no history)
[add] Live folder to channels
[fix] My Channel videos incl. private
[fix] mpeg-dash vods, proxy required
- Settings - MPEG-DASH
- Thanks to Schtek for generating the needed mpd file
[fix/upd] use select dialog for subtitle settings
- [add] Configure subtitles: Settings -> General
- [add] Current language with No auto-generated subtitles option
[upd] language/translation paths * Isengard (15.x)+ required
[upd] youtube_resolver: allow resolve by url
[fix/upd] do not use distutils.version.LooseVersion for version compare [stefansaraev]
[fix/upd] add check to api key stripping
[fix/upd] subtitles default to non asr track when possible
[fix/upd] login client logging and endpoints
[fix/upd] Watch Later
- Clear: Settings - Folders - Custom Watch Later playlist id
- Settings - Folders - Retrieve Watch Later playlist id
[fix/upd] History
- cannot add to history from add-on
- Clear: Settings - Folders - Custom History playlist id
[fix] /api/update route logging
[rem] SPMC mpeg-dash support
[upd] Hebrew strings [Eng2Heb]
[upd] Polish strings [Etharr]
[upd] Italian strings [DjDiabolik]
[upd] Hungarian strings [lacesz-sh]
## v5.4.5
[fix] tighten regex for routing, resolving incorrect routing
## v5.4.4
[fix] overlapping regex causing no playlist videos
## v5.4.3
[add] mpeg-dash support for live content (requires inputstream.adaptive >= 2.0.12)
[add] add route to update api keys
plugin://plugin.video.youtube/api/update/?enable=true&client_id=<client_id>&client_secret=<client_secret>&api_key=<api_key>
[fix/upd] refactor subtitles ** subtitles setting will be reset
[fix/upd] add My Subscriptions (Filtered) to dual login requirements
[fix/upd] only show Browse Channels when logged in
[upd] Greek strings [Twilight0]
[upd] Polish strings [Etharr]
## v5.4.2
[fix/upd] My Subscriptions
## v5.4.1
[fix/upd] dash working for vevo/etc
[upd] rework of auto subtitles
[fix] leia nightly login issues
[fix] 403 error on 'My Channel'/uploaded videos
## v5.4.0
[upd] Greek strings [Twilight0]
[upd] Polish strings [Etharr]
[upd] Finnish strings [teemue]
[upd] Spanish strings [roliverosc]
[fix/upd] resolve "Error Contents: 'q'" error [horstepipe]
[fix/upd] resolve Play All/Play from here not starting playback
[fix/upd] resolve playlists starting on second item
[fix/upd] allow dash in quality choices
[fix/upd] set content to files for menus, resolves mouse/scrolling
[fix/upd] fix cipher
[fix/upd] increase search history limit to 200
[fix/upd] storage db
[add] Safe Search to Settings -> General
[add] Thumbnail size to Settings -> General
[add] Auto-play suggested [mehdilauters]
[add] Automatic subtitles [Uukrull]
[add] My Subscriptions (Filtered) - whitelist/blacklist version of My Subscriptions [chhe]
[add] module extension point:
add-ons can now add plugin.video.youtube dependency and resolve youtube video id's or make v3 api requests using the youtube plugin,
""" <addon.xml>
<import addon="plugin.video.youtube"/>
"""
""" <example.py>
import youtube_resolver
streams = youtube_resolver.resolve(<video_id>)
import youtube_requests
videos = youtube_requests.get_videos([<video_id_1>, <video_id_2>, <video_id_3>])
"""
## v5.3.11
[fix/upd] replace custom simple_requests with script.module.requests to resolve ssl and cross-platform issues
[add] 'Reset access manager' added to Maintenance section, sign out process(available when logged out) to clean up tokens in settings.xml
[upd] set default for SSL certificate verification to 'true'
## v5.3.10
[fix/upd] resolve 'No video streams found' for age-gated content and other minor.
[fix/upd] unescaping HTML entities in subtitles [mdmdmdmdmd]
[upd] Polish strings [Etharr]
## v5.3.6-9
[fix/upd] resolve 'No video streams found'
[fix/upd] SPMC dash support guidosarducci
[upd] Italian strings [iz8mbw]
[upd] Spanish strings [roliverosc]
[upd] Dutch strings [Sjord]
[fix/upd] Frodo backwards compat. setArt [lulol]
## v5.3.5
[add] MPEG-DASH support for Kodi 17 w/ inputstream.adaptive Add-on
[add] optional History and Watch Later custom playlist to Settings -> Folders, or (My)Playlists context menu to set/remove
[add] Maintenance section to Settings
[add] 'Subtitle language(s) to download' selection to Settings -> General
[add] 'Force SSL Certificate verification' to Settings -> Advanced
[upd] API key set switching from Settings -> API (this will log you out)
[upd] Dual login only required if My Subscriptions folder is enabled at sign-in
[upd] setting content type from episodes, now videos
[del] override view options
[upd] Norwegian strings [torstehu]
[upd] Greek strings [twilight0]
[upd] Portuguese strings [Wanilton]
[upd] Dutch strings [flemlion]
[fix/upd] API tweaking and various other updates
## v5.2.2 (2016-05-28)
[upd] Insert old API-Keys from Bromix because of Quota-Exceed-Error
[add] Dutch strings (thanks to Guilouz)
[upd] French strings (thanks to royreinders)
[upd] Greek strings (thanks to Twilight0)
## v5.2.1 (2016-05-12)
[add] Additional "Recommend for You" section (thanks to anxdpanic)
## v5.2.0 (2016-05-11)
[upd] APi-Changer - First login delete old Credentials - New Login Required! Sorry :)
## v5.1.20.7 (2016-05-03)
Workaround for the Quota Exceed-Error.
[add] API-Changer for a Pool of 6 API-Keys
[add] Auto-Reauthenticate with Pool-Key on "Quota Exceed" error
[add] "Use own API"-Button
[hint] The Message "Invalid Credentials" after Update could be fixed with deleting the Userdata-Settings.xml
[add] add Recommendations to main listing when logged in [anxdpanic]
## v5.1.20.6 (2016-04-03)
[add] Greek Translation from twilight0
[upd] Fixed italian translation from DjDiabolik
## v5.1.20.5 (2016-03-20)
[upd] Ignore if '.apps.googleusercontent.com' entered in API Id string in add-on settings
## v5.1.20.4 (2016-03-05)
[add] API Key in add-on settings
[upd] All string.po for new API Key functionality. New entries in language string.po files not translated from English.
## v5.1.20.3 (2016-03-04)
[fix] All Key changed with YouTube TV
## v5.1.20.2 (2016-03-04)
[fix] Live streams itag 91 patch
[add] Kodi 17 Krypton support. Patch by Uukrul
## v5.1.20 (2016-02-25)
[fix] Final fix for APIs
## v5.1.16 (2015-12-24)
[fix] reverted search order by date
## v5.1.15 (2015-12-22)
[fix] signature calculation
## v5.1.14 (2015-12-22)
[upd] default search order by date (newest first)
[fix] VEVO signature calculation
## v5.1.13 (2015-12-20)
[fix] frodo...DIE FRODO DIE !!!
[fix] some cleanup for Jarvis
## v5.1.12 (2015-11-29)
[fix] sort issues with Jarvis (thx 2 guidosarducci)
## v5.1.11 (2015-11-24)
[fix] signature calculation (e.g. VEVO)
## v5.1.10 (2015-11-13)
[fix] signature calculation (e.g. VEVO)
## v5.1.9 (2015-09-21)
[add] Hebrew (thx 2 smoky-jr)
[upd] don't set default season and episodes (1x1)
[upd] another try to optimize the quota problem. Move all searches to the individual keys instead of one global
[fix] playback issues (skip discontinued video/format by YouTube)
## v5.1.8 (2015-08-23)
[add] Bulgarian (thx 2 NEOhidra)
[upd] new quota shaping
[fix] personal playlists (Watch Later, Liked Video, ...) should work again
[fix] playback of VEVO videos - some videos still using discontinued ITAG13
[fix] show login, when an endpoint is called, which requires permissions.
## v5.1.7 (2015-07-15)
ADD: quota optimization via separate key for none-token depended API calls
UPD: new login semantic to sign out if someone upgrades to a newer version of KODI
FIX: 'Next Page (X)' item was added to the current playlist for playback
## v5.1.6 (2015-06-14)
ADD: Chinese (Traditional) (thx 2 beddfaf916)
ADD: Czech (thx 2 tomaswcz)
ADD: Romanian (thx 2 Danny3)
UPD: test some new pagination for 'My Subscriptions'
UPD: Polish (thx 2 Etharr)
FIX: show notification again for unsupported rtmpe streams
FIX: unicode/utf-8 trouble in kodion
## v5.1.5 (2015-05-29)
UPD: remove deprecation warning for Isengard
FIX: Issue 7163 (Missing pagination for subscriptions - YouTube APIv3 bug)
## v5.1.4 (2015-05-26)
ADD: Frodo support (only if you install via zip or bromix repo)
UPD: new API-KEY - thanks to the guy for hijacking the key for trailer searches
UPD: Russian (thx 2 BytEvil)
FIX: cache wasn't working correctly without login
## v5.1.3 (2015-05-16)
UPD: code cleaning
FIX: minor fixes
## v5.1.2 (2015-05-15)
ADD: ask for video quality (optional)
UPD: code cleaning
UPD: Russian (thx 2 BytEvil)
UPD: kodion
FIX: add 'Play all' for playlist (again)
## v5.1.1 (2015-05-10)
ADD: 'More...' in context menu to provide more items
ADD: show deprecation warning of old plugin calls starting with Isengard
ADD: EndPoint: 'plugin://plugin.video.youtube/search/?q=[URL_ENC_TEXT]'
ADD: API Key for each major version of KODI
UPD: Ukrainian (thx 2 Dukobpa3)
UPD: Russian (thx 2 BytEvil)
UPD: new second fanart
UPD: reorganized context menu
UPD: improved logging (debug only)
UPD: Improved error handling
FIX: refresh after rating a video (own playlist only)
FIX: add 'refresh' again for 'My subscriptions'
DEL: removed old v2 API
## v5.1.0 (2015-04-22)
ADD: Double login to support 'My subscriptions' via YouTube TV API
ADD: 'More Links from the description' - extracts further links from the description
ADD: Korean (thx 2 piodio)
UPD: removed old implementation of 'My Subscriptions'
UPD: new fanart and icon
UPD: changed credentials
UPD: minimal quota-optimization
UPD: French (thx 2 eauland)
UPD: YouTube relevant description links - improved extraction and resolving of video/playlist urls
UPD: YouTube relevant description links - improved extraction and resolving of user/channel urls
UPD: YouTube relevant description links - improved performance resolving urls with caching
UPD: regex optimizations for season and expisode extraction
FIX: support fanart of channel in new implementation of 'My Subscriptions'
FIX: YouTube relevant description links - script error while some server return garbage for a location
FIX: script error while resolving url fails
FIX: script error while adding video to a playlist
FIX: show seconds (runtime) in Gotham
## v5.0.9 (2015-03-14)
ADD: 'duration' optimized for KODI 15.X (Isengard)
ADD: EndPoint for listing the videos of a playlist: "plugin://plugin.video.youtube/playlist/<PLAYLIST_ID>/"
UPD: optimized client-/server transfer (use gzip)
## v5.0.8 (2015-03-05)
UPD: Polish (thx 2 Etharr)
UPD: Russian (thx 2 BytEvil)
FIX: improved playback
## v5.0.7 (2015-02-27)
ADD: 'Refresh' in 'My Subscriptions' and all my playlists
ADD: rename search history item
UPD: French (thx 2 Trilip)
UPD: Ukrainian (thx 2 posledov)
UPD: Spanish (thx 2 PatOso)
FIX: possible crash on not well formed language ids
FIX: optimized logging
FIX: unicode trouble
## v5.0.6 (2015-02-17)
ADD: setting for hiding the channel name in the description
ADD: Ukrainian (thx 2 posledov)
UPD: show 'Watch History' (default)
UPD: Russian (thx 2 BytEvil)
UPD: improved support for live streams
UPD: improved stream selection based on container
FIX: 'What to watch' => 'Popular right now'
FIX: don't crash while trying to play rtmpe
FIX: corrected ITAG 18 in 360p instead of 260p
## v5.0.5 (2015-02-01)
ADD: clear search history items
UPD: replace context menu not everywhere
UPD: dropped dependency of 'requests'-module because of performance issues
FIX: Add playing video to the 'Watch History'
FIX: maybe a fix for a problem (again!) on unix systems while using python 2.7.9 + certificate verification
FIX: removed pagination for "Related Videos" - the fix before produced some nasty side-effects
FIX: Vevo signature
## v5.0.4 (2015-01-15)
ADD: 'Live' in search
ADD: 'Play with...' for supporting external/alternative player
ADD: live events (needed some tests and feedback)
ADD: support for user names instead of channel ids
UPD: set XBMC/KODI to at least Gotham 13.2
UPD: Setup-Wizard views based on content type (KODION update)
FIX: Playlist should work again
FIX: Pagination in APIv2
FIX: settings for hiding 'Live' menu
DEL: support for Frodo
## v5.0.3 (2015-01-08)
ADD: 'Disliked Videos'
ADD: 240p, 360p and 480p
UPD: adjustment in KODION classes (maybe causing problems on MAC OS X 10.10.X + Python 2.6)
UPD: Russian (thx 2 BytEvil)
UPD: Spanish (thx 2 PatOso)
UPD: Polish (thx 2 D.K.)
FIX: German translation
FIX: some Frodo updates
## v5.0.2 (2015-01-01)
ADD: Support for shared playlists via Yatse
ADD: 'Play from here' for playlists
ADD: 'Queue Video'
FIX: German translation
FIX: Portuguese (Brazil) (thx 2 ASH_Macedo)
## v5.0.1 (2014-12-31)
ADD: 'Play all' (default, reverse, shuffle)
ADD: Italian (thx 2 peppe_sr)
ADD: Portuguese (Brazil) (thx 2 ASH_Macedo)
ADD: Hungarian (thx 2 gyeben)
ADD: Portuguese (thx 2 enen92)
ADD: Polish (thx 2 D.K.)
ADD: Russian (thx 2 BytEvil)
ADD: Spanish (thx 2 PatOso)
ADD: French (thx 2 roondar)
UPD: support for '1080XF' and 'Xperience1080'
FIX: some live streams should work
FIX: update meta data for video played via ext. url
FIX: remove video from 'Watch Later' playlist
REV: reverted to requests
## v5.0.0 (2014-12-27)
DEL: removed beta
ADD: new rating system - like/dislike/remove
ADD: show confirmation before remove a video or deleting a playlist
ADD: rename your playlists
ADD: setup default view modes (default and videos)
ADD: setup correct language and region for YouTube
ADD: support for old YouTube url calls (plugin://plugin.video.youtube/?action=play_video&videoid=[ID])
UPD: new icons
UPD: reorganized context menu
UPD: some minor tests
UPD: moved 'Watch Later' up in context menu
FIX: rename playlist
FIX: show newest videos first (uploads of channel)
FIX: show fanarts in 'Watch Later' and 'Liked Videos'
## v1.0.0~alpha29 (2014-12-14)
UPD: new login mechanism (removed the old one)
ADD: translation fr-FR (thanks to roondar)
ADD: manage playlists - create, remove and add videos to a selected playlists
FIX: support cyrillic letters
## v1.0.0~alpha28 (2014-12-07)
ADD: subscribe to channel (from videos and playlist)
UPD: rework of handling context menu
FIX: remove next page for related videos (because APIv3 is broken)
## v1.0.0~alpha27 (2014-12-01)
UPD: performance improved for auto-removing videos from 'Watch Later' list
FIX: error while navigating to the next page
## v1.0.0~alpha26 (2014-11-30)
ADD: hide all entries (except search) via settings in the root menu
ADD: missing pagination for 'My Subscriptions'
FIX: next page is working again (Watch Later)
UPD: disabled language (for now) Kodi isn't providing reliable language IDs
## v1.0.0~alpha25 (2014-11-29)
UPD: requests with language/region
UPD: new icons
ADD: Auto-Remove from 'Watch Later' list
ADD: 'Related Videos'
UPD: show channel name in the description
FIX: disable verification warnings
## v1.0.0~alpha24 (2014-11-27)
ADD: 'Browse Channels'
FIX: support for skins calling '.*/extrafanart/'
## v1.0.0~alpha23 (2014-11-26)
ADD: 'What to watch'
FIX: 'My subscriptions' switched to version APIv2.1 (Google) DAMN YOU!!!
## v1.0.0~alpha22 (2014-11-25)
ADD: sorting
FIX: crash when calling 'My subscriptions'
FIX: signature calculation
## v1.0.0~alpha21 (2014-11-24)
CHG: method for playing a video changed to a more query like uri
FIX: crash under android systems. Regular Expressions work a little different :)
## v1.0.0~alpha20 (2014-11-23)
FIX: Git merge with master
## v1.0.0~alpha19 (2014-11-23)
UPD: complete rewrite
UPD: switch to kodion
## v1.0.0~alpha18 (2014-08-31)
- ADD: Support for ETag - could improve performance
- ADD: remove item of search history
- FIX: #22 calculation of duration
- FIX: #28 display 'general' instead of 'like' in settings
## v1.0.0~alpha17 (2014-08-10)
- ADD: 'Go to CHANNEL' of a selected video
- ADD: Support for 'Subscribe' and 'Unsubscribe' of channels
- ADD: Full support for 'Like'
- ADD: Remove own playlist via context menu
- ADD: Show/Hide 'Browse Channels' via settings
- FIX: Using only thumbnails from API v3 - 'My Subscriptions' is using v2 and returning different thumbnails
- FIX: Displaying false channel in video description
- FIX: Don't update search history before showing the search result
## v1.0.0~alpha16 (2014-08-08)
- FIX: provide 'Next Page' under 'My Subscriptions' if there are more results
- ADD: Hide and show menu items via settings
- ADD: Search history (set the size via settings from 0-50 items)
## v1.0.0~alpha15 (2014-08-04)
- FIX: moved (only) for the subscribtions to V2 to see new uploaded videos
## v1.0.0~alpha14 (2014-08-03)
- ADD: 'Remove' via context menu for playlists
- ADD: 'Watch Later' via context menu to add a video to the 'Watch Later' playlist
- ADD: Automatic remove from the 'Watch Later' playlists (optional via settings - default = true)
- ADD: Support for history - after playback the video should be added to the history. Not working correct.
- ADD: Fanart for channels. Only if you select a channel directly.
- optimized some of the addon code
## v1.0.0~alpha13 (2014-08-02)
- FIX: improved token and login validation
## v1.0.0~alpha12 (2014-08-01)
- ADD: Show 'Published on' and 'Channel' in the description of a video (can be disabled via setting)
- ADD: support for 3D videos (can be disabled via setting)
- Accelerated resolving of video URLs (almost 2x as fast)
## v1.0.0~alpha11 (2014-07-30)
- FIX: added a fallback for videos that require a login (works very fast?!?!)
- FIX: if username or password is missing reset the whole token logic
## v1.0.0~alpha10 (2014-07-29)
- FIX: improved performance on decoding signatures for some videos
- ADD: support for custom-created playlists
- FIX: sort own subscriptions
- ADD: enable/disable video, channel and/or playlist search
## v1.0.0~alpha9 (2014-07-28)
- FIX: removed debug
## v1.0.0~alpha8 (2014-07-28)
- ADD: login tests
## v1.0.0~alpha7 (2014-07-27)
- FIX: added support from freemake.com to decode signatures of some videos
## v1.0.0~alpha6 (2014-07-27)
- added support of playlists of a channel (first page only)
- optimized some major routines for easier support of all youtube's content
## v1.0.0~alpha5 (2014-07-27)
- version bump for tests
## v1.0.0~alpha4 (2014-07-26)
- added runtime for each video (crazy hack)
- disabled debug
## v1.0.0~alpha3 (2014-07-26)
- little fixes regarding youtube channels
## v1.0.0~alpha2 (2014-07-26)
- added youtube channels and search
- added playback
## v1.0.0~alpha (2014-07-26)
- initial version for tests