Skip to content

Releases: Athlon1600/youtube-downloader

v4.0.0

12 Nov 22:07
Compare
Choose a tag to compare

Refactored entire project to use type declarations everywhere. Because of that, the minimum supported PHP version is now
PHP 7.4.

Complete list of changes: 3.x...v4

High Impact Changes

  • Removed VideoDetails class. We use VideoInfo class in its place
  • DownloadOptions::getVideoInfo() will now return VideoInfo class
  • AbstractModel class has been renamed to JsonObject
  • PlayerResponseParser class has been renamed to SignatureLinkParser, and its parseLinks method has a different signature

Low Impact Changes

  • removed SplitStream class
  • removed DownloadOptions::getSplitFormats method
  • SignatureDecoder::parseFunctionName and SignatureDecoder::parseFunctionCode are protected methods now

v3.1.2

08 Jun 16:18
f214319
Compare
Choose a tag to compare

v3.1.1

10 Mar 00:40
Compare
Choose a tag to compare
  • Improved security when passing URL to /public/stream.php. #156

v3.1.0

21 Oct 00:47
aa71f0b
Compare
Choose a tag to compare
  • Improved logic for fetching download links that are (usually) not throttled. #142
  • Miscellaneous refactoring to make this library more object oriented

v3.0.2

14 Jul 20:53
Compare
Choose a tag to compare
  • fetching get_video_info is now working again. Something had changed on YouTube's end to break it. #120
  • Added support for PHP 8 #121
  • Implemented a consentCookies method that allows bypassing cookies consent screen that gets shown to European IPs. #125

v3.0.1

24 May 15:34
Compare
Choose a tag to compare
  • Fixed issue (#110) where get_video_info endpoint was always returning 404

v2.1.2

04 Mar 02:37
Compare
Choose a tag to compare
  • Update to SignatureDecoder class. Match functions with double quotes in their name. Issue: #99

v3.0.0 - New major release!

27 Feb 19:46
Compare
Choose a tag to compare

Lots of code refactoring with many breaking changes, but everything now is much easier to read and understand.
Some of the major changes:

  • Added a new php-curl-file-downloader dependency. Previous Browser class just duplicated a bunch of the same HTTP logic that I wrote for that library anyways.

  • We're no longer passing arrays back and forth everywhere. That's just a bad programming practice in general. Most of those arrays are now objects. For example: getDownloadLinks method which used to return an array of links, now returns a DownloadOptions object where each "option" is also an object (StreamFormat).

  • getDownloadLinks now throws a YouTubeException if something unexpected happens. Previously it just returned an empty array.
    We will be using Exceptions a lot more instead of just returning false or null as we were doing before.

  • Youtube was renamed to YouTube (capitalized twice) everywhere, because that is just how YouTube itself does it:
    https://developers.google.com/youtube/v3/code_samples/php

v2.1.1

17 Oct 13:50
Compare
Choose a tag to compare
  • fixed a critical bug where video links were not returned due to improper parsing of player_response JS code that usually appears on /watch?v=XXX page itself.
  • added an alternative way to parse such details for special cases. Solution provided by @julitroalves: #73 (comment)

v2.1.0

28 Jul 15:21
Compare
Choose a tag to compare
  • updated regex pattern for extracting function name used when decoding video signatures. Fixes: #68