All Versions
Latest Version
Avg Release Cycle
20 days
Latest Release

Changelog History
Page 1

  • v6.2.4 Changes

    • 🛠 Fixed incorrect targets file name.
  • v6.2.3 Changes

    • ➕ Added support for retrieving channel metadata using channel handle or URL. You can do that via ChannelClient.GetByHandleAsync. To parse a channel handle out of a URL, use ChannelHandle.Parse(...). (Thanks @Holger Schmidt)
    • ➕ Added a build check that prevents the package from being used on the territory of a terrorist state.
  • v6.2.2 Changes

    • ↪ Implemented a workaround for resolving media streams for age-restricted videos. This workaround is not perfect and may still not work in some cases, but it should allow you to download age-restricted videos most of the time. (Thanks @Roberto Blázquez)
  • v6.2.1 Changes

    • 🛠 Fixed an issue where calling StreamClient.GetManifestAsync(...) failed with an error saying The following content is not available on this app. (Thanks @Curtis Caulfield)
  • v6.2 Changes

    • ➕ Added support for retrieving channel metadata using a custom channel URL. You can do that via ChannelClient.GetBySlugAsync(...). To parse a channel slug out of a custom channel URL, use ChannelSlug.Parse(...).
  • v6.1.2 Changes

    • 📚 Updated documentation on Engagement.DislikeCount and Engagement.AverageRating to indicate that dislikes are not supported.
    • Obsoleted Author.Title in favor of Author.ChannelTitle for consistency with other properties.
    • 🛠 [Converter] Fixed an issue where downloading a video with subtitles resulted in a truncated video file.
  • v6.1.1 Changes

    • 🛠 Fixed an issue which caused MissingMethodException to be thrown when using YoutubeExplode from a project with assembly trimming enabled.
  • v6.1 Changes

    • ➕ Added IsAudioOnly property to Container. If this property evaluates to true, the container is guaranteed to not contain any video streams. If it evaluates to false, the container may or may not contain video streams.
    • [Converter] Added an overload of VideoClient.DownloadAsync(...) that allows muxing specified streams and closed caption tracks into a single container. Closed captions are embedded inside the container as soft subtitles.
    • [Converter] Obsoleted Container.IsAudioOnly() extension method. Use the newly added property instead.
  • v6.0.8 Changes

    • ➕ Added handling for video URLs in YouTube Shorts format. (Thanks @wellWINeo)
    • ➕ Added support for retrieving metadata of mix playlists using PlaylistClient.GetAsync(...). (Thanks @Roberto Blázquez)
    • ➕ Added ChannelUrl property to Author.
    • 🛠 Fixed an issue where attempting to retrieve certain auto-generated closed caption tracks threw an exception because of malformed data structure in the manifest. (Thanks @AlmightyLks)
    • [Converter] Obsoleted YoutubeExplode.Converter.ConversionFormat type. Going forward, use YoutubeExplode.Videos.Streams.Container instead.
  • v6.0.7 Changes

    • ➕ Added an overload for SearchClient.GetResultBatchesAsync(...) that accepts a SearchFilter parameter. This parameter can be used to limit the query to only certain type of results (videos, playlists, channels) and avoid redundant requests.
    • ⚡️ Updated implementations of SearchClient.GetVideosAsync(...), SearchClient.GetPlaylistsAsync(...), and SearchClient.GetChannelsAsync(...) to use the new overload. These methods should now execute faster on search queries that normally contain mixed results.
    • 🛠 [Converter] Fixed an issue where downloading a video to an mp3 file incorrectly recorded the duration of the file as double of what it's supposed to be.