All Versions
64
Latest Version
Avg Release Cycle
20 days
Latest Release
-
Changelog History
Page 2
Changelog History
Page 2
-
v5.0.5
- ๐ Fixed an issue where sometimes the content length of a stream was equal to
1
due to an error in parsing. - ๐ Fixed an issue where an exception was thrown on videos that contained unplayable media streams. These streams are now ignored.
- ๐ Fixed an issue where trying to get stream manifest on 360ยฐ videos resulted in an exception.
- ๐ Fixed an issue where
Engagement.ToString()
was incorrectly formatting likes and dislikes. (Thanks @bcook254)
- ๐ Fixed an issue where sometimes the content length of a stream was equal to
-
v5.0.3
- ๐ Fixed an issue where streams couldn't be extracted for some videos.
-
v5.0.2
- โ Added
TryParse
static method toChannelId
,UserName
,PlaylistId
,VideoId
objects. - โ Added an extension method to make it simpler to buffer an asynchronous list of videos in-memory. You can now do
var videos = await youtube.Playlist.GetVideosAsync(...)
on top of enumerating it withawait foreach
. The readme has been updated with new usage examples. - ๐ป Simplified exception messages.
- โ Added
-
v5.0.1
- Extended
ClosedCaption
withParts
property that contains separate parts of a caption, along with their individual timings. Note that not all tracks contain this information. - ๐ Fixed an issue where searching for videos sometimes failed with an exception.
- โ Added missing operators for
FileSize
,Bitrate
,Framerate
,VideoResolution
,Container
,Language
,VideoId
,PlaylistId
,ChannelId
,UserName
.
- Extended
-
v5.0
- Reworked the entire library from the ground up.
- ๐ Video, playlist, channel IDs and usernames are now encapsulated in corresponding domain objects. This means that you no longer have to parse IDs manually -- e.g. if a method accepts a parameter of type
VideoId
, you can either specify an ID (bnsUkE8i0tU
) or a URL (https://youtube.com/watch?v=bnsUkE8i0tU
). - Playlist videos and search results are now returned as
IAsyncEnumerable
so you can enumerate through them without worrying about making too many or too few requests. If you want to buffer them in-memory, you can use an extension method calledBufferAsync()
. - ๐ Improved exceptions, exception messages, and everything related to exceptions. Additionally, all exception types now derive from
YoutubeExplodeException
, making them easier to catch. - โ Added built-in retry mechanisms to work around transient errors on YouTube's side.
- ๐ Improved resilience of the library in general.
- ๐ Fixed an issue where attempts to download some videos were periodically causing 403 Forbidden.
- ๐ Fixed a metric ton of YouTube-related issues.
- Many, many others improvements that I didn't think to mention.
- โฌ๏ธ Dropped .NET Framework v4.5 target in favor of v4.6.1 and .NET Standard v1.1 target in favor of v2.0.
-
v4.7.16
March 16, 2020- ๐ Fixed an issue where attempts to download some videos were periodically causing 403 Forbidden.
-
v4.7.15
March 11, 2020- ๐ Fixed some issues revolving around videos marked with "content warning".
-
v4.7.14
March 10, 2020- ๐ Fixed an issue where
GetMediaStreamAsync
andDownloadMediaStreamAsync
threw an exception due to recent YouTube changes. As a side effect, age-restricted videos may no longer work, at least until a new workaround is found.
- ๐ Fixed an issue where
-
v4.7.13
February 10, 2020- ๐ Fixed an issue where
GetPlaylistAsync
only returned 200 videos for some larger playlists. Thanks @polynoman.
- ๐ Fixed an issue where