Version 0.2.8
17 February 2018

Features:
---------

- Lastfm scrobbling (@rien333) (#758)
- `splaylist` and `suser` commands for Spotify (@ritiek) (#678)
- Autoplay support (@nikhilweee) (#594)
- `genpl` command (@nishanthkarthik) (#642)
- `video_format` configuration setting (@Vrihub) (#656)
- `live` command for live streams (@Razesdark) (#635)
- Add time column (@akaWolf) (#582)
- Add video ID column (@Razesdark) (#627)
- Allow filtering search by duration (@jas32096) (#548)
- Allow filtering search by date (@jas32096) (#553)
- Add `history recent` to display history without duplicates (@srvanrell) (#510)
- `--no-textart` to disable ascii art (for screenreaders) (@Gongreg) (#517)
- `set_title` option to disable setting window title (@ardrabczyk) (#498)
- Add `s` command for getting stream information (@ritiek) (#675)
- Add option to disable mpris (@hrnr) (#728)
- Generate playlist from video description (@Razesdark) (#649)

Enhancements:
-------------
- Store playlists as m3u files instead of binary (@kraetzin) (#682)
- Show replies when displaying comments (@paulfertser) (#677)
- Use https urls for album art (@vszakats) (#574)
- When using "repeat" with mpv, keep player running (@ritiek) (#660)
- Display artist/album in mpris using lastfm (@vn-ki) (#739)
- Use channel.list API for user search (@Razesdark) (#628)
- Maintain volume across songs with mpv (@Razesdark) (#720)
- Prevent mpris from crashing the main process (@hrnr) (#728)

Bug fixes:
----------
- Fix mpris seeking with recent mpv vesions (@mg6) (#687)
- Fix removing video from multi-page playlist (@kraetzin) (#695)
- Skip unavailable tracks (@ritiek) (#734)
- Correctly display minutes/seconds (@Laxa) (#748)
- Handle `null` time-pos from mpv (@pritambaral) (#519)
- Fix da/dv command regex (@Vrihub) (#691)
- Skip channels in video/playlist searches (@ritiek) (#664)
- Fix divide by zero error (@ids1024) (#620)

Use `git log v0.2.7.1..0.2.8` to see all changes, including various minor
fixes, documentation changes, etc. not included here.

-------------------------------------------------------------------------------

Version 0.2.7.1
6 July 2016

Bug fixes:
----------
- Fix pickle error (@ids1024) (#503)
- Install LICENSE, README.md, and CHANGELOG as package_data (@ids1024)
- Update youtube-dl in py2exe build (@ids1024)

-------------------------------------------------------------------------------

Version 0.2.7
27 June 2016

Features:
---------
- Setting for default audio format (@nishanthkarthik) (#71 #466 #467)
- Search history with `history` command (@kraetzin) (#344 #472)
- Add syntax for repeating a track several times (@ghallak) (#437 #490)
- Reverse command (@kraetzin) (#422 #473)
- New `daurl <url>` command (@maricn) (#402)

Enhancements:
-------------
- Pass `--no-ytdl` to mpv (@ids1024) (#492)
- Do not suppress mpv output in debug mode (@ids1024)
- Print traceback in debug mode (@ids1024)
- Speed up `checkupdate` by avoiding redirects (@ids1024) (#454)
- Pass `--play-and-exit` if vlc is used as a player (@ids1024)`

Bug fixes:
----------
- Fix error with python 3.3 (@ids1024) (#414)
- Fix maxres bug (@ids1024) (#430)
- Fix playlist cache bug in info command (@ids1024) (#468)
- Fix usersearch argument error (@ids1024) (#469 #482)
- Fix progress bar with new mpv versions (@ids1024) (#470 #485)
- Fix syntax error with set command (@ids1024) (#419)
- Fix syntax error with -w, -f, -a (@ids1024) (#420)
- Fix clipboard support (@ids1024) (#461)
- Fix mpv version checking on windows (@ids1024) (#397)
- Add youtube_dl as dependency to Dockerfile (@PI-Victor) (#481)

Internal api changes:
---------------------
- The code is now split between several files (@ids1024) (#208)
- Add initial content api, for now only used for comments (@ids1024)
- Begin documenting internal apis using sphinx (@ids1024)

-------------------------------------------------------------------------------

Version 0.2.6
1 January 2016

Features:
- Add browserplay command to play video in browser (rjvani) (#355 #390)
- Make url command support multiple url, and allow loading urls from file
    (paulnicolet) (#90 #391)
- Make youtube id available to download command (ids1024) (#375)
- Make pagination work properly for all lists of songs (local playlists, etc.)
    and make them all support the dump command (ids1024) (#201)
- Show warning when adding duplicate track to playlist (BensonQiu) (#374 #383)

Bug fixes:
- Support playlists longer than 200 items (ids1024) (#192)
- Make dapl download complete playlist (JKatzwinkel) (#294 #325)
- Use pyperclip instead of xerox, fixing clipboard on linux (ids1024) (#311)
- Fix error message on windows when video title has & (ids1024) (#321)
- Run notifier command in background (hrnr) (#339)
- Correctly handle -v option of play (TimoDritschler) (#352)
- Make it possible to use a pager with --help (livingBEEF) (#349)
- Allow mplayer for https streams if version is new enough
    (ids1024 Evidlo paddatrapper) (#315 #336 #317)
- Use mpv.com instead of mpv.exe on windows (ids1024)

Internal API changes:
- Split code into several files (still a work in progress) (ids1024) (#208)
- Use a python decorator to declare commands (ids1024)
- Create a paginatesongs() function for handling the pagination and dump
  command uniformly as mentioned in features (#399) (ids1024)
- Various others

There have been various other small bug fixes and internal API changes. Use
`git log v0.2.5..0.2.6` to see all of them.

-------------------------------------------------------------------------------

Version 0.2.5
1 June 2015

- Support python 3 only (will not run with python 2)
- Fix progress bar bug on Windows (#215, #223)
- Fix bug in playlist search (#282)
- Add user_order setting for separate order of user searches (lol768) (#277)
- Add mix command (lol768) (#241, #283)
- Add page count with total number of pages and current page (JKatzwinkel)
- Fix UnicodeEncodeError on non-unicode terminals
- Install .desktop in setup.py so it does not have to be installed manually
    required for Ubuntu sound menu support

-------------------------------------------------------------------------------

Version 0.2.4
13 May 2015

 - Fix issue with rate-limiting in "album" command (#217)
 - Implement support for MPRIS (hrnr and ids1024) (#191, #210)
 - Fix display issue with small terminal width (#215)
 - Use version 3 of the youtube api (JKatzwinkel, ids1024, and lol768) (#256)
     version 2 was disabled by youtube and no longer works

-------------------------------------------------------------------------------

Version 0.2.3
17 February 2015

 - Fix issue with opening old playlist file (#214)
 - Fix issue with "set" command
 - Metadata tagging of downloaded audio files
     requires ffmpeg or avconv
     early implementation, uses YouTube video title, needs more work

-------------------------------------------------------------------------------

Version 0.2.2
14 February 2015

- Implement skip to previous track (ids1024) #175 #18 #14
    Use > and < keys for next and prev track, q for quit (was ctrl-c)
    mpv / mplayer input.conf can be imported to use custom keymappings

- Implement optional external download application (ids1024 and np1) #198 #132
    enter "help dl-command" for more info

- Show stream quality on status line (Brebiche38) #134 #163

- Implement support for creating Windows builds with py2exe (ids1024) #190
    Use setup.py in py2exe branch

- Fix progress bar for mpv 0.7 (ids1024) #155 #161
    Resolves issues with playback looping

- Fix mps-youtube does not run on FreeBSD (nivit)

- Fix YouTube comments overshoot window size

- Fix issue with audio remux when using `d` download command

-------------------------------------------------------------------------------

Version 0.2.1
27 November 2014

[Bugfix] - Detect installed player on installation (#149)

-------------------------------------------------------------------------------

Version 0.2.0
25 November 2014

- Auto detect terminal window size

- Transcode audio to MP3 and other formats (requires ffmpeg or avconv)

- Enabled da and dv commands for playlist search results

- Added dapl and dvpl to download YouTube playlist audio/video
    by url/id to a separate subdirectory (mtahmed) #110

- Progress indicator now works with mpv (previously only mplayer)

- Added option to show system notifications (Alex Nisnevich) #95
    (can be used with libnotify - notify-send on linux)

- Added overwrite true/false option for downloads (mtahmed) #93
    (skips download if downloaded file already exists)

- Added copy to clipboard feature #97
    (requires python xerox module and xclip on linux or pywin32 on windows)

- Remux audio downloads for better file compatibility (#135)

[Bugfix] - Accept two-character length usernames (#99)

[Bugfix] - Expand ~ character in download directory setting (punchagan)

[Bugfix] - Don't truncate filename (YoussF) #122

[Bugfix] - Exit with correct status code

-------------------------------------------------------------------------------

Version 0.01.46
May 18 2014

 - Added c <number> to view comments for a video
    (first 50 comments, no reply-comments)

 - Added feature to match album tracks using MusicBrainz (vixus0)
    To search albums, enter "album" optionally followed by album title

 - Custom formatted search result list using "set columns" command
   Optionally shows: rating, likes, dislikes, views, user, date, category
   and comments (number of) in search results

 - Added "set order <relevance|views|rating|date>" command for
     specifying search result ordering

 - Added "set console-width" for setting output width (default 80)

 - Added uploaded date in video info display (request #64)

 - Added likes / dislikes in video info display

-------------------------------------------------------------------------------

Version 0.01.44
Mar 27 2014

 - Added max_res config item for selecting video resolution (request 56)
 - Added window_size and window_pos for selecting size / position of player
 - Improved handling of playlist file read/write (issue 66)
 - Revert to lower quality on unavailable/corrupt streams (issue 65)
 - Enabled multiple invocation commands (comma separated) (request 61)
    Eg: mpsyt //the doors, 1, shuffle, 1-3-a, quit
 - Improved url caching
 - Added shuffle command (no arguments, shuffles displayed items)
 - Handle 'video not available in your country' during multiple downloads
 - Fix UnicodeDecodeError in mplayer progress parsing (issue 58)
 - Fix UnicodeEncodeError under Windows with Python 2.7 (issue 59)

-------------------------------------------------------------------------------

Version 0.01.41
Mar 14 2014

 - new configuration option, max_results - sets number of returned results
    (1 - 50)
 - pl <url> now accepts YouTube playlist id's as well as url's
 - Fix error in download of .m4a files when mplayer is set as player.
 - Added option for downloading multiple items
     eg. da 1-4 or dv 3,5,6

-------------------------------------------------------------------------------

Version 0.01.40
Mar 11 2014

 - Bugfix release, corrects UnicodeDecode error

-------------------------------------------------------------------------------

Version 0.01.39
Mar 10 2014

Features:
 - Added time / progress bar indicator. Big thanks to Thomas LÉVEIL!
    (mplayer only)
 - Added command to retrieve YouTube user playlists; 
    userpl {username} or upl {username}
 - Added command to retrieve related videos; r{number}
 - playurl now respects -f, -w, and -a flags (fullscreen, window or audio)
 - Implemented input history persistence (uses readline, linux only)
 - Implemented non-interactive mode for command line invocation with playurl
 - Implemented less interactive mode for command line invocation with dlurl

Changes:
 - // or .. prefix to search for YouTube playlists (was plsearch / pls)

Help / Documentation:
 - help <command> will show relevant help topic page e.g., help dlurl
 - Documented configuration options ("set" commands)
 - Re-authored some help categories
 - Changed help <number> to help <topic>, removed menu from help pages

Bugfixes
 - mplayer / mpv window now displays content title instead of url
 - Fixed issue with Python3 terminal output on playback ctrl-c interrupt
 - Fixed issue with debug mode not logging to file
 - Changed year format in YT playlist result screen to last two digits.
      (Under some environments it was showing 4-digit years)

-------------------------------------------------------------------------------

Version 0.01.38
Mar 5 2014

 - Added i<number> for YT playlist information display 
 - Added stream url preloading for first item of opened YT playlists
 - Added last-updated date to YT playlist search result list 
 - Fixed UnicodeError when run in non-UTF8 environments
 - Added more verbosity to --version command line option
 - Added --debug command line option (logs to <tmpdir>/mpsyt.log)

-------------------------------------------------------------------------------

Version 0.01.37
Mar 2 2014

 - Excluded YouTube paid videos from search results
 - Added "pl <playlist url>" command to open YouTube playlist url
 - Added "plsearch <query>" command to search for YouTube playlists
 - Added "dump" command to show entire YT playlist (useful for saving locally)
 - Added "undump" command to undo dump (re-paginates YT playlist items)
 - Added "u <number>" command to list uploads by uploader of <number>
 - Added "url <YouTube url>" command for retrieving a specific YT video
 - Added "playurl <YouTube url>" command for directly playing a YT video
 - Added "dlurl <YouTube url>" command for directly downloading a YT video
 - Changed command to list user uploads, new syntax is "user <username>"
 - Added mpsyt --version flag for printing version info
 - Added mpsyt --help flag for printing help text
 - Fixed indentation bug when scrolling through readline history

-------------------------------------------------------------------------------

Version 0.01.36
Feb 27 2014

 - Wait for preloading item if it is selected while preloading
 - Fix bug where -a audio override is sometimes ignored

-------------------------------------------------------------------------------

Version 0.01.35
Feb 25 2014

 - Faster opening of audio streams with mpv 
    (--demuxer-lavf-o=fflags=+ignid argument added for m4a streams)

 - Faster opening of audio streams with mplayer 
    (reject m4a streams, prefer ogg streams)
    (fallback to video stream and suppress video when no ogg available)

-------------------------------------------------------------------------------

Version 0.01.34
Feb 22 2014

 - Fix bug: fails when no playlist file exists

-------------------------------------------------------------------------------

Version 0.01.33
Feb 22 2014

 - Changed structure of playlist file. Now consumes KB's rather than MB's
 - Same playlist file shared between Python2.7+ and Python3+ (was separate)
 - Improved display alignment for Russian text
 - Preload of url fails silently on unobtainable items (previously crashed)
 - Added prompt to mux audio on m4v download (experimental)

-------------------------------------------------------------------------------

Version 0.01.32
Feb 17 2014

 - Improve display alignment with certain unicode characters
 - Fix crash when using 'set' command on Windows (thomasleveil)

-------------------------------------------------------------------------------

Version 0.01.31
Feb 13 2014

 - Migrate location of config directory to reflect new name
   (~/.config/mps-youtube)
