Skip to content

Releases: Killian42/QTube

v2.5.1 - Bugfixes

05 Feb 21:07

Choose a tag to compare

Bugfixes

  • Improved ReadMe
  • Fixed a typo in the check_user_params function, wrongly exiting the program.
  • Fixed the format of the upload date.
  • Fixed an error occurring when no videos pass the upload date filtering.

Full Changelog: v2.5.0...v2.5.1

v2.5.0 - Improved video look-back control

10 Mar 14:47

Choose a tag to compare

Improved video look-back control

This release introduces a new parameter, video_history_limit, which allows users to specify how many past videos the program checks when scanning upload playlists for new content. Allowed values range from 1 up to 50 (limited by the YouTube API), and the default value is set to 5.

Previously, this was hardcoded to 5 videos, which would lead to missed uploads if more than 5 videos were published by a creator between program runs. For example, if run_frequency was set to daily and a creator uploaded 8 videos in a day, only the most recent 5 videos would be considered— ignoring the remaining 3 videos.

Full Changelog: v2.4.0...v2.5.0

v2.4.0 - Made for kids and paid promotion filtering, shorts filtering update

04 Feb 19:19

Choose a tag to compare

Made for kids and paid promotion filtering, shorts filtering update

This release introduces two new user parameters based on video types:

  • only_made_for_kids: Defaults to False. If set to True, only videos that are considered appropriate for children by YouTube will be added to the playlist.
  • allow_paid_promotions: Defaults to True. If set to False, videos that contain paid promotions (if disclosed properly by the creator during the upload process) will not be added to the playlist.

The shorts filtering feature has also been updated and improved. Since YouTube still does not provide a straightforward way to differentiate Shorts from regular videos in their API, the filtering has to be done somewhat creatively:
Regular videos and livestreams redirect when accessed via the Shorts URL format (https://www.youtube.com/shorts/video_ID), while actual Shorts do not. The updated shorts filtering feature takes advantage of this by:

  • Checking if a video ID redirects when accessed via the Shorts URL.
  • If no redirection occurs and the video is shorter than 180 seconds, it is classified as a Short.
  • Shorts are then filtered out or kept based on the keep_shorts parameter.

Full Changelog: v2.3.0...v2.4.0

v2.3.0 - Video statistics filtering

24 Oct 20:51

Choose a tag to compare

Video statistics filtering

This release introduces filtering on several video statistics:

  • View count, with views_threshold: Minimum number of views required for the video to be added.
  • Like count, with likes_threshold: Minimum number of likes required for the video to be added.
  • Comment count, with comments_threshold: Minimum number of comments required for the video to be added.
  • Likes/Views ratio, with likes_to_views_ratio: Minimum likes to views ratio.
  • Comments/Views ratio, with comments_to_views_ratio: Minimum comments to views ratio.

All parameters are set to 0 by default.

Full Changelog: v2.2.0...v2.3.0

v2.2.0 - Fancy mode

18 Oct 18:03

Choose a tag to compare

Fancy mode

Created a fancy mode for terminal output, which uses a unique color and emoji combination for each type of information, improving readability. This mode is enabled by default, but can be disabled by setting the new fancy_mode parameter to False.

Other changes in this release include:

  • Fixed an issue where requests to the YT API would time out (WinError 10060).
  • The program now checks how many videos are in the playlist before adding new ones. In the unlikely event that a playlist is close to its size limit (5000 videos) and adding new videos would overcome this threshold, the program will list the videos that would have been added, their associated URL and a warning to remove older videos from the playlist.

Full Changelog: v2.1.1...v2.2.0

v2.1.1 - Under the hood improvements

29 Sep 13:56

Choose a tag to compare

Under the hood improvements

The following changes have been made:

  • Fixed an issue with the built distribution on PyPI.
  • Improved the readability and efficiency of the command line arguments formatting function.
  • Software version is now always displayed at execution for clarity.
  • Updated the user parameter template file with the latest new parameters.

Full Changelog: v2.1.0...v2.1.1

v2.1.0 - Livestreams and premieres filtering

27 Sep 13:08

Choose a tag to compare

Livestreams and premieres filtering

This release introduces two new parameters: ignore_livestreams and ignore_premieres. They determine if livestreams and premieres are taken into account when checking for new videos to add to the playlist.

  • ignore_livestreams: When set to True, any livestreams that are currently live at the time of the program's execution are ignored and will not be added to the playlist, even if they satisfy all other user defined rules.
  • ignore_premieres: When set to True, upcoming premieres that are scheduled at the time of the program's execution are ignored and will not be added to the playlist, even if they satisfy all other user defined rules.

To clarify how YouTube categorizes these video types based on their status:

  • Livestreams:

    • A livestream that is currently live is categorized as a livestream.
    • Once the livestream ends, it is considered a regular video.
  • Premieres:

    • A scheduled premiere (upcoming) is categorized as a premiere.
    • When a premiere goes live, it is treated as a livestream.
    • Once the premiere is over, it is considered a regular video.

For example, a livestream that ended 30 minutes before the program is run would be added to the playlist if it passes all the user defined checks, even if ignore_livestreams is set to True, since it now considered a regular video.

Full Changelog: v2.0.1...v2.0.2

v2.0.1 - Dependencies security update

08 Aug 13:23

Choose a tag to compare

Updated the minimum version of some dependencies for security reasons.

Full Changelog: v2.0.0...v2.0.1

v2.0.0 - PyPI packaging and CLI

08 Aug 13:15

Choose a tag to compare

Final release of the 2.0.0 version.

This release is the same as the alpha release, apart from the version name.

Full Changelog: v1.10.0...v2.0.0

v2.0.0-alpha - PyPI packaging and CLI

06 Aug 14:26

Choose a tag to compare

Pre-release

This pre-release includes a lot of internal changes, most of which are related to the project now being available on PyPI (PyPI releases are currently incorrect because of mistakes during testing This has now been solved). For this reason, code structure has been changed, which broke compatibility with previous releases. So the major version has been bumped up.

The main changes are the creation of a CLI and the possibility to modify user parameters with command line arguments.

In the directory in which the project is saved, type qtube in the terminal after having configured your user parameters file to run the program.
For more versatile uses, you can now also use command line arguments. Enable this option by setting the override_json parameter to True in your JSON user parameters file. Provided command line arguments will then override what is in your JSON user parameters file. Command line arguments work using the regular python qtube.py [options] or using the CLI.

Other changes include:

  • Upload date filtering now takes into account the full upload time (if the program is run at 8:42pm on April 1st with run_frequency set to daily, videos uploaded between 8:42pm March 31st and 8:42pm April 1st will be taken into account, and not only videos uploaded between 0am March 31st and 8:42pm April 1st as was previously the case).
  • The name of the playlist is now displayed in the terminal above the recap of added videos.
  • Improved version checking at the start of the program. It can now tell if the local version is newer than the latest stable release (i.e. a development version).
  • Fixed punctuation inconsistencies in function docstring.
  • The library.py file has been split into several files, which have been packaged in a new utils directory.
  • Renamed run.py as qtube.py

Full Changelog: v1.10.0...v2.0.0