[B]TODO:[/B]
- Fix RTMP support.
- UTF8/16 does not work consistently(Verify failures against minidom implementation)
- Embed playback fallback

[B]Errata[/B]
- [XBMC] Thumbnails sometimes turns into black box or Folder (XBMC not detecting when thumbnail is set and defaulting to icon?)
- [XBMC] When sorting items, it's impossible to get them to return to their original order
- [XBMC] Has Excessive Memory use after running the plugin for prolonged periods of time
- [RTMPDUMP] Doesn't support handshake type 10 which is required by youtube.
- Youtube implemented encryption of signatures, without knowing the proper decryption method this VEVO content will remain unstable

[B]Version 3.4.6[/B]
- Fixed: Age verification working again due
- Added: Partial hack to support youtubes new encrypted signatures, this will break again.
- Added: Support a 5th login method.
- Changed: Much better cookie management
- Changed: More robust http login

[B]Version 3.4.5[/B]
- Added support for hls only streams. (Thanks to simplyintricate on github)
- Fixed edge case where youtube video object contained an extra delimiter breakning the video player
- Changed: Now requires valid Login to use play all on users playlists
- Changed: Switched trailers to use youtube api

[B]Version 3.4.4[/B]
- Fixed playback after youtube javascript site changes
- Fixed age verification, by making playback always do a full http login on restricted videos since google changed their detection algorithm
- Fixed addition of User Agent was causing problems for Windows and IOS clients. (Thanks to m-hume on github for the fix)
- Fixed download folder was not working for new users of the plugin. (Thanks to Ste Robinson, for pointing this out again)

[B]Version 3.4.3[/B]
- Fixed login

[B]Version 3.4.2[/B]
- Fixed playback bug cause by youtube site changes
- Fixed bug when using unicode characters in search
- Fixed bug in spanish translations

[B]Version 3.4.1[/B]
- Changed plugin release now controlled by release script

[B]Version 3.4.0[/B]
- Fixed Login was broken after youtube changed look
- Fixed Playback of over 18 videos was broken with the new youtube look
- Fixed User scraper for my liked videos
- Fixed scraper for Top 100 Trailers, Youtube weekly Top 100 Music videos, and Youtube Disco
- Added Translations for a multitude of languages, special thanks to the Transifex project

[B]Version 3.3.0[/B]
- Fixed playback of over 18 videos, should now work if the user is logged in.
- Fixed bug where playback or video listing would fail due to bug in cache
- Fixed problem in core that would sometimes break playback
- Fixed problem in player that would cause hard crash when playback stream isn't available
- Disabled movie section since it seems completely broken on the home page
- Disabled show section since it seems completely broken on the home page
- Added new scraper for VISO trailers which seems to have replace the old trailers page.

[B]Version 3.2.0[/B]
- Fixed playback
- Minor refactoring to increase testability

[B]Version 3.1.0[/B]
- Fixed login
- Fixed crash when listing subscriptions with non ascii chars
- Fixed subtitle parser which was broken by the move to parseDOM
- Fixed various scraper integration test failing cause by youtube site changes

[B]Version 3.0.0[/B]
- Fixed show scraper since it was broken in a recent redesign
- Disabled trailers scraper since functionality is gone from YouTubes site
- Fixed Login code broken by YouTube redesign.
- Change from minidom to parsedom(Should speedup raspberry PI)

[B]Version 2.9.2[/B]
- Listing of folders with more than 50 items was broken
- Listing subscriptions was broken by YouTube's sudden api changes.

[B]Version 2.9.1[/B]
- Fixed indentation error that broke pagination of long playlists and subscription lists, basically any folder list with more than 50 elements was broken.

[B]Version 2.9.0[/B]
- Sanity check feeds -> listAll temp_objects, since it (randomly?) fails
- Upgraded dependencies
- Changed Merged Music and disco since YouTube removed almost all disco features
- Changed Removed disco top artists since YouTube Removed it from their site
- Added Scraper for the users watched history feed
- Report SSL errors back to the user
- Fixed page 2 on subscriptions.

[B]Version 2.8.0[/B]
- Changed All videos now have a unique path from xbmc's perspective even though they're present in different folders.
- Changed Replaced the categories scraper with api calls
- Moved some functions from youtube utils to common so they can be shared between different plugins
- Fixed music artist and top hit's scraper
- Added play all option to youtube top 100
- Added setting to control playback of 3d anaglyph streams 
- Changed downloader into a separate service.

[B]Version 2.7.0 (Beta)[/B]
- Added new sqlite based caching system with script.common.plugin.cache
- Added support for unlinked accounts
- Added unit test suite of plugin
- Added integration test suite of plugins main functions including full scraper coverage.
- Added Caching module to reduce the traffic load on youtube.
- Fixed Downloads messages.
- Changed scrapers to use custom regex based parsing framework instead of BeautifullSoup since this greatly improved scraper speed.
- Changed default video streams up to 720p to h264 since apple tv doesn't handle VP8 well.
- Changed switched Watch Later to api feed removing a scraper
- Changed switched YouTube Suggests to api feed removing a scraper
- Changed Reworked Regex based scraper framework to be more reliable and easier to use
- Changed Improved Dharma compatability by adding dummy xbmcvfs
- Changed Download progress bar now auto hides when playing a videos.
- Changed Remove legacy download and moved windows to new download system.
- Changed moved from file based locking to new storage service based lock

[B]Version 2.6.0 (Beta)[/B]
- Added New playback function. Now uses unified code accross all pages(html scraping, embeded, flash fallback). Supports fallback server.
- Added fallback for age restricted videos (Will fail if embedding is disabled)
- Added support for locally stored artists in Youtube Music
- Added support for play all on My Liked Videos
- Added support for play all on YouTube suggests
- Added support for play all on Music Artist
- Added support for play all on My Watch Later
- Added Support for Oauth2 authentication
- Added Suppert for 2 factor authentication
- Added Support OAuth2 token refresh when login token expires (reducing the need to re-login all the time) 
- Added support for YouTube Annotations to subtitles
- Added PlayAll support for artist listings
- Added Support for enabling and disabling youtube caching servers (aka o-preffered-yourisp urls)
- Changed YouTube live scraper to use API feed instead, this nearly doubled the amount of live events. 
- Changed Plugin now honors YouTube rules for use of their batch api which sould prevent "Unkown Title" errors from batch queries 
- Changed Subtitle format to SSA to support merging of annotations and subtitles
- Changed Caching of playlists, to support playlist editid accross all pages
- Changed Scraper to use custom dom parsing with regexe's as it greatly improves speed 
- Changed Caching to a common storage system
- Removed old outdated translations
- Fixed playback after youtube changes
- Fixed RTMPe support (we now provide playpath correctly) - NOTE: this requires and updated version of librtmp

[B]Version 2.5.0 (Beta)[/B]
- Added new option to select playback and download quality with dialogs
- Added Caching and alphabetically sorting of My playlists, My contacts and My subscriptions 
- Added "Play all" context menu on certain folders 
- Added "Shuffle and Play All" Context menu on certain folders
- Added "Play All from video position in certain folders (ie. playlists and other non-infinite folders)
- Added Playback of YouTube Live streams 
- Added Caching of playlist and option to reverse playlist order
- Added playback of WebM streams if user enables it on his/her profile
- Added Date for sorting
- Added "Auto-magic" re-login on token verfication failure
- Added 2 new feeds: "most shared" and "trending videos" that gives a better "pulse" of youtube videos.
- Added YouTube live scraper under explore youtube
- Added YouTube Top 100 music chart scraper
- Added YouTube Music and Artist scraper
- Added YouTube My Watch Later scraper
- Added YouTube My liked Video scraper
- Added socket timeout since that makes now appears to work on windows
- Added New download dialog showing queue and progress completion.
- Added support for xbmcvfs in downloads. (ie. download to temp folder then let xbmc move to final location)
- Added support for using embedded link to get video information. Better playback stability
- Changed Login to use new Client Login url
- Changed Playback function now shows a more user friendly error message on failure
- Changed Download function now shows a progress-bar (OSX and Linux only)
- Changed Download function will now only download one file at a time and queues multiple files (OSX and Linux only).
- Changed "Disco Top 25" to "Disco Top 50" scraper 
- Changed plugin will now play a video from file-system if the file is still in the download folder (Partially working as this has revealed XBMC bug.)
- Changed more videos by user, and related videos so you no longer have to be logged in for them to work.
- Refactor: Simplify playback code
- Refactor: Large scale refactor to make code more maintainable
- Fixed Age Verification for 18+ content was broken by YouYube. 
- Fixed notifications on empty folders
- Fixed Playback of very low resolution videos
- Fixed scraper pagination
- Fixed Disco scraper it was broken again.
- Fixed add remove favorites
- Fixed add remove subscription
- Fixed broken Movies Scraper (from patch by chocol...@cpan.org)
- Fixed problems when downloading a file to a network drives (thanks to ToCsIc...@gmail.com)
- Fixed download subtitles when download a video
- Fixed XBMC not refreshing folder after download completes.

[B]Version 2.2.4[/B]
- Verfied Compatibility with Eden - pre and submitted to repo.

[B]Version 2.0.5[/B]
- Changed Name string from Holland to The Netherlands (thanks to Syrion for pointing it out)

[B]Version 2.0.4[/B]
- Fixed YouTube character encoding changes broke disco scraper.
- Fixed YouTube character encoding changes broke show scraper
- Fixed Site changes broke Disco top 25 scraper
- Fixed YouTube design changes broken categories scraper
- Fixed Movies Scraper (backport of fix from new beta by chocol)
- Fixed problems when downloading a file to a network drives (thanks to ToCsIc)
- Fixed Age verification was broken, back working again.
- Changed more videos by user, and related videos so you no longer have to be logged in for them to work.

[B]Version 2.0.3[/B]
- Fixed Context menus were "suddenly" missing on a lot of folder items (probably since pre v.2)
- Fixed "New Subscriptions Videos" feed would show up on every subscriptions page this has been corrected
- Fixed YouTube changed character encoding of their webpage which messed up playback in the plugin.
- Added Portuguese (Brazil) translation courtesy of fschnack

[B]Version 2.0.2[/B]
- Fixed problem with "Now Playing" context menu item showing the Music Playlist and not the Video Playlist
- Fixed Issue preventing the plugin running on XBMC builds using external python (ie. v2.7)
- Fixed Issue where the Trailers scraper wouldn't allow you to see the last videos on the last page. 
- Fixed issue where Show and movie Scrapers would fail due to assumptions about the number of videos on a page
- Fixed issue where Show Scraper would miss the 1st video in every row after the first row
- Fixed Unicode problems reported by vikjon0
- Added Spanish translations courtesy of Jurrabi
- Updated Licensing information

[B]Version 2.0.1[/B]
- Removed some unnecessary print's statements that were sadly included in production code, slowing the plugin down

[B]Version 2.0.0[/B]
- Version bump to Final Release
- Updated Changelog
- Changed Name to remove beta tag 

[B]Version 1.9.6[/B]
- Fixed zip file to make install from zip possible again, and reduced install size by 50%

[B]Version 1.9.5[/B]
- Update icon and thumbnail licensing
- Fixed folder visibility settings for Explore YouTube Category
- Allow user to select view modes between "Video Thumbnails", "Thumbnails Everywhere" and "XBMC Default" for listings
- Added Upload Date and view count to video info pane 
- Added "Related videos" to context menu
- Added option to access Download folder from within the plugin 
- Added support for viewing Subscription Playlists
- Added queue folder option to newsubscription videos
- Fixed Disco search after batch query JSON experimentation broke it
- Fixed some minor errors in show scraper

[B]Version 1.9.4[/B]
- Add to favorites works again.
- Restructured main folder structure to seperate scraper functions and feeds from user specific functions 
- Changed download function to use Temporary filename while downloading, marking download as incomplete ex. video-incomplete.mp4 -> video.mp4
- Added Scraper for YouTube Movies
- Added icon for YouTube Movies
- Updated icon for YouTube Trailers
- Fixed Browse YouTube scraper (broken due to bad regex)
- Switched to Thumbnail mode for tv show icons, cause it looks better
- Batch processing functions now running against the official youtube API
- Fixed Disco search (again) as YouTube broke it (again)... x2

[B]Version 1.9.3[/B]
- Improved api login
- Improved http login
- Added YouTube Show Scraper
- Fixed Disco Search (YouTube broke it)
- Fixed missing context menu items from folders everywhere..
- Hardened handling of age restricted videos
- No longer try login when no credentials have been provided.

[B]Version 1.9.2[/B]
- Disable socket timeout since that makes login fail on windows.

[B]Version 1.9.1[/B]
- Loop on 500, don't know how i missed this.
- Minor cleanup

[B]Version 1.9.0[/B]
- Plugin can now confirm that the user is above 18 ( will only try if safe_search is disabled )
- Added support for trailer thumbnails.
- Added timeout option in advanced settings
- Added sorting options (title, upload date, rating, runtime)
- Added Scraper for YouTube categories (1 level only)
- Added Scraper for YouTube Trailers
- Added Scraper for YouTube Disco music searches
- Added "More videos by User" option as requested by spiff
- Added edit search feature, pops up with search in question and allows you to change it..
- Added "Set content to movies" for video lists as this will allow the user to use other skin view modes
- Added advanced setting to enable users to select playback quality pr video item in the context menu as requested by Nektarios
- Added Nicer default icons for video items
- Added Nicer default icons for searches
- Added useragent to requests send by XBMC.
- Enabled RTMP support in release code.
- Reversed the "folders" settings tab ie Show Feeds (Enabled) instead of "Hide Feeds" (Disabled)
- Refactored core functions for stability and readability.
- Loop all url requests upto 5 times, should increase stability.
- Refactor of navigation layer, hopefully simplifying maintainance
- Removed unnessecary remapping of variable names between core and navigation
- Fixed "Unknown Uploader" for some folders"
- Added dummy video items in batch requests for when youtube removed an item.
- Loop on 503: Service Unavailable errors.
- Updated Browse Youtube to use regex.

[B]Version 1.8.1[/B]
- Enable RTMP support
- Changed icon to conform to XBMC icon guidelines
- Added disclaimer to addon xml (as requested by Team XBMC)

[B]Version 1.8.0[/B]
- Solved confusion caused by multiple licens files (removed GPL v2 license and renamed GPL v3 to LICENSE.txt)
- Version bump to replace old YouTube plugin

[B]Version 1.1.0[/B]
- Version bump to Final Release

[B]Version 0.9.9[/B]
- Bugfixes
- Cleanup
- Errorhandling
- Show/Hide folders
- Fixed thumbnail bug
- Added support for selection of download quality seperate from playback quality 
- Added support thumbnail view on confluence
- New download code supporting useragent.

[B]Version 0.9.8[/B]
- fix login message "bad username and password"
- Always print reply from youtube on uncaught exceptions
- Added steps to httpLogin to aid with debugging
- Harden swfConfig
- Only httpLogin when required
- Minor fixes
- Fix, download didn't work with & in the title
- Loop httpLogin up to 10 times on connection failure.
- Debug is no longer forced on.
- Remove counter on login message

[B]Version 0.9.7[/B]
- Minor bugfixes
- Improve messages
- General cleanup
- Hardening certain function.
- Replaced some icons to fix license issues.
- Add icon licenses file.
- Tested against revision 33122 on linux(ubuntu and arch), Windows vista, and Snow Leopard.
- Added login loop. Max 10 tries, 1 second delay.

[B]Version 0.9.6[/B]
- Fixed potential crash in Recommended core function
- Fixed crash in Feeds when a video was marked private
- Added more debug to rtmp calls
- Added more debug to login
- Added debug to uncaught exceptions through the entire core.
- Fixed pageination in "Most Recent" and "Recently Featured"
- Always have enabled debug.

[B]Version 0.9.5[/B]
- Added even more debug to login
- Make login retry on IOERror failure
- Removed some login headers.

[B]Version 0.9.4[/B]
- Added refinements of searches support
- Added queue folder support
- Fixed RTMP support
- Implemented release disable support for RTMP
- Added try/except to _extractVariables
- Hopefully improved login debugging.

[B]Version 0.9.3[/B]
- Added better errorhandling of videos youtube deny access too
- Actually enable debugging

[B]Version 0.9.2[/B]
- Added debug to login
- Fixed playback of non playable item (settings)

[B]Version 0.9.1[/B]
- After showing the settings window on the first run it didn't log in.
- Improved error messages related to login.
- Added some more error handling.

[B]Version 0.9[/B]
- Cleanup of listFeedFolder
- Cleanup of listUserFolder
- Added Viewed and Downloaded overlay to video items.
