# Revision history for youtube-viewer.
# Only the most important changes and features are included here.

# For all changes, check out the release notes at:
#   https://github.com/trizen/youtube-viewer/releases

[CHANGELOG]

- GUI: extended the right-click menu in the Saved Channels window.                           - (v3.11.3)
- GUI: added "Backward" and "Forward" buttons for navigating the history.                    - (v3.11.2)
- Recognize more itag values returned by `yt-dlp` with `--force-fallback`.                   - (v3.11.0)
- GUI: added the "Split A/V videos" check button.                                            - (v3.11.0)
- GUI: highlight downloaded videos as watched.                                               - (v3.11.0)
- GUI: tweak interface to be less cramped (requires gtk+ >= 3.6).                            - (v3.10.3)
- Added support for changing the audio quality.                                              - (v3.10.3)
- Workaround for "Video Not Available" issue.                                                - (v3.10.2)
- Extract closed-captions for age-restricted videos.                                         - (v3.10.1)
- Switched to "OAuth 2.0 for TV and Limited-Input Device Applications".                      - (v3.10.0)
- Added support for downloading videos with yt-dlp / youtube-dl.                             - (v3.10.0)
- New workaround for age-restricted videos.                                                  - (v3.9.9)
- Added the `bypass_age_gate_with_proxy` config-option. (disabled by default)                - (v3.9.8)
- Added support for searching for videos published before a given period of time.            - (v3.9.7)
- Added support for local subscription videos (-ls).                                         - (v3.9.0)
- Added support for local playlists in the Gtk3 version.                                     - (v3.9.0)
- Added support for saving YouTube playlists locally (--save-playlist=ID)                    - (v3.8.1)
- Added support for local playlists. (-lp, --local-playlists)                                - (v3.8.1)
- Added support for listing saved channels from file (-lc, --local-channels).                - (v3.8.1)
- Added support for "watch history" (Gtk3 + CLI) (-wv, --watched-videos).                    - (v3.8.0)
- Documented the configuration options in `man youtube-viewer`.                              - (v3.8.0)
- Added basic support for playing videos by URL when no API key is set.                      - (v3.7.9)
- Added support for choosing random invidious instances.                                     - (v3.7.9)
- Added support for reading cookies from a file. (`--cookies=file`)                          - (v3.7.9)
- Added the `:page=i` STDIN option for jumping to a specific page of results.                - (v3.7.8)
- Added the `--hfr!` option for prefering/ignoring High Frame Rate (HFR) videos.             - (v3.7.7)
- Added support for changing the API key and client ID/secret value in 'api.json' file.      - (v3.7.4)
- Added support for AV1 encoded videos (with `prefer_av1` config-key).                       - (v3.7.3)
- Added support for restoring the previous session. (Gtk3)                                   - (v3.7.2)
- Added the "History" menu to list the previous 10 searches. (Gtk3)                          - (v3.7.2)
- Added the `--trending:s` option, which displays popular videos from a given category.      - (v3.7.1)
- Added support for showing the most popular videos from a given channel.                    - (v3.7.0)
- Added support for resuming an interrupted download.                                        - (v3.7.0)
- Extended `custom_layout_format` to support fixed width, colors and alignment.              - (v3.6.0)
- Added the `--autoplay` option to automatically play related videos of related videos.      - (v3.5.7)
- Added support for downloading videos at 1080p (and other resolutions) with MKV merging.    - (v3.4.0)
- Added the `--prefer-mp4` option to prefer videos in MP4 format, instead of WEBM.           - (v3.4.0)
- Added the `--fat32safe` option to make filenames FAT32-safe, by replacing bad characters.  - (v3.2.5)
- Added the `--highlight` option to remember and highlight watched videos in a session.      - (v3.2.2)
- Added the `i..` range, which plays all the videos, starting with video `i`. (#114)         - (v3.2.1)
- Migration to APIv3; some features have been lost in the process, but nothing too critical. - (v3.1.4)
- Added built-in support for [auto-generated] closed-captions (gcap is no longer required)   - (v3.1.3)
- Added support for specifying the filename format when downloading videos (--filename=s)    - (v3.1.3)
- Added support for special tokens and for extracting information about videos (--extract=s) - (v3.1.3)
- Added support for playing DASH videos and the `--no-dash` option to deactivate it at will  - (v3.1.2)
- Added the options `--ps` and `--pid` to add videos by URL or ID to a given playlistID      - (v3.1.2)
- Added the stdin commands ":ps" and ":s2p" to add one or more videos to a selected playlist - (v3.1.2)
- Added the `--std-input=s` option which can be used to specify the first standard input     - (v3.1.1)
- Added input history support across sessions, with the 'history' config-key                 - (v3.1.1)
- Added support for more video players (--player=s) // Added support for shows (--us=author) - (v3.1.0)
- Added support to --copy-caption for downloaded videos // Added fixed-width for playlists   - (v3.1.0)
- Added the ':play' stdin option // Added the support for 'watch_later' videos (-L)          - (v3.1.0)
- New authentication support (OAuth 2.0) // Added support for download & play (-dp)          - (v3.0.7)
- Added support for YouTube EDU categories (-edu) // Options: :dv, :lec, :courses, :course   - (v3.0.4)
- Some minor bug-fixes // New options has been added: --pp, :pp, :anp, :kregex               - (v3.0.3)
- Added support for more resolutions, UTF-8 support, --convert-to=FMT and many bug-fixes     - (v3.0.1)
- YouTube Viewer 3.0 has been released! New options, better functionality and new bugs :)    - (v3.0.0)
- Added support for detailed results (usage: -D or --details) // Support for comments        - (v2.5.8)
- Switched to Term::ReadLine for a better STDIN support // Better colors // Info support     - (v2.5.7)
- Added support for: -duration, -caption=s, -safe-search=s, -hd // Improved code quality     - (v2.5.6)
- Added support for configuration file, improved stability, improved debug mode              - (v2.5.5)
- Switched to XML::Fast for parsing gdata XML, in consequence, youtube-viewer is faster!     - (v2.5.5)
- Switched to Getopt::Long, added SIGINT handler and a better way to execute mplayer         - (v2.5.5)
- Added support to list playlists created by a specific user (usage: -up <USERNAME>)         - (v2.5.4)
- Improved parsing support for arguments, including arguments specified via STDIN.           - (v2.5.4)
- Added support to search for videos uploaded by a particular YouTube user (-author=USER)    - (v2.5.4)
- Added support to get video results starting with a predefined page (e.g.: -page=4)         - (v2.5.4)
- Added support for previous page and support to list youtube usernames from a file          - (v2.5.2)
- Added colors for text (--use_colors), 360p support (-3), playlist support                  - (v2.5.0)
- Added support for today and all time YouTube tops (usage: -t, --tops, -a, --all-time)      - (v2.4.*)
- Re-added the support for the next page / Added support for download (-d, --download)       - (v2.4.*)
- First version with Windows support. Require SMPlayer to play videos. See MPlayer Line      - (v2.4.*)
- Code has been changed in a proportion of ~60% and optimized for speed // --480 became -4   - (v2.4.*)
- Added mega-powers of omnibox to the STDIN :)                                               - (v2.3.*)
- Re-added the option to list and play youtube videos from a user profile. Usage: -u [user]  - (v2.3.*)
- Added a new option to play only the audio track of a videoclip. Usage: [words] -n          - (v2.3.*)
- Added option for fullscreen (-f, --fullscreen). Usage: youtube-viewer [words] -f           - (v2.3.*)
- Added one new option '-c'. It shows available categories and will let you to choose one.   - (v2.3.*)
- Added one new option '-m'. It shows 3 pages of youtube video results. Usage: [words] -m    - (v2.3.*)
- For "-A" option has been added 3 pages of youtube video results (50 clips)                 - (v2.3.*)
- Added "-prefer-ipv4" to the mplayer line (videoclips starts in no time now).               - (v2.3.*)
- Search and play videos at 480p, 720p. Ex: [words] --480, [words] -A --480                  - (v2.3.*)
- Added support to play a video at 480p even if its resolution is higher. Ex: [url] --480    - (v2.2.*)
- Added a nice feature which prints some information about the current playing video         - (v2.2.*)
- Added support to play videos by your order. Example: after search results, insert: 3 5 2 1 - (v2.1.*)
- Added support for next pages of video results (press <ENTER> after search results)         - (v2.1.*)
- Added support to continue playing searched videos, usage: "youtube-viewer [words] -A"      - (v2.1.*)
- Added support to print counted videos and support to insert a number instead of video code - (v2.1.*)
- Added support to search YouTube Videos in script (e.g.: youtube-viewer avatar trailer)     - (v2.0.*)
- Added support to choose the quality only between 720p and 1080p (if it is available)       - (v2.0.*)
- Added support for YouTube video codes (e.g.: youtube-viewer WVTWCPoUt8w)                   - (v1.0.*)
- Added support for 720p and 1080p YouTube Videos...                                         - (v1.0.*)
