Skip to content

Releases: TeamNewPipe/NewPipeExtractor

v0.22.2

02 Nov 20:40
4cae66f

Choose a tag to compare

v0.22.2 Pre-release
Pre-release

NOTE: This pre-release has been created to keep track of what Extractor changes went in which NewPipe release. That's its only purpose. The source zips under Assets DO NOT match the changes listed below.

New

  • Support delivery methods other than progressive HTTP #810 #859 #864

Improved

  • [Bandcamp] Extract stream length #839

Fixed

  • [YouTube] Fix extracting YouTube Music client version and key in the EU #848

Development

  • Cleanup TimeAgoParser #821
  • Cleanup of YoutubeStreamExtractor and some related classes #782
  • Fix some warnings and in Bandcamp use Java 8 streams #822
  • Remove Checkstyle suppressions file and fix too-long links #843
  • Correct PeertubePlaylistExtractorTest unit tests #860
  • Remove unused methods #846
  • Bump jsoup from 1.14.3 to 1.15.1 #847
  • Bump spotbugs-annotations from 4.6.0 to 4.7.0 #845
  • Update User-Agent just for tests #838

v0.22.1

28 Apr 09:06
ac1c22d

Choose a tag to compare

Fixed

  • [YouTube] Use correct order of clients to get Android streams first #841

Development

  • Bump actions/setup-java from 2 to 3 #828
  • Update User-Agent (for tests) #838

v0.22.0

16 Apr 15:08
52fa2d9

Choose a tag to compare

⚠️ This version contains breaking changes (thus the bump to 0.22) due to the introduction of Checkstyle and mixes extraction in related items:

  • average_bitrate in AudioStream has been removed. Use getAverageBitrate() instead.
  • emptyDescription in Description has been replaced by EMPTY_DESCRIPTION.
  • defaultInstance in PeertubeInstance has been replaced by DEFAULT_INSTANCE.
  • InfoItemsSearchCollector has been removed in favor of MultiInfoItemsCollector.

New

  • Add MixInfoItem and extract YouTube mixes in related items #788

Improved

  • Add support for extracting channel subscriber count in StreamInfo #796
  • [YouTube] Make throttling decryption more resilient to API change #786
  • [YouTube] Add more parameters to InnerTube requests, use the iOS client for livestreams #780

Fixed

  • Remove the need for a CommentsInfo instance in CommentsInfo.getMoreItems and fix PeertubeCommentsExtractorTest.Default test #807
  • [YouTube] Fix the extraction of series playlists and don't return the view count as the stream count for learning playlists #811
  • [YouTube] Fix music mixes in some countries #804
  • Fixed various tests + YouTube shorts in channels #813
  • [YouTube] Fix extraction of embeddable age-restricted videos and contents with a warning before playback #780
  • [YouTube] Extract subtitles for age-restricted videos #829
  • [YouTube] Fix throttling decrypter function parsing #832

Development

  • Refactored YoutubeCommentsExtractor #799
  • Bump actions/checkout from 2 to 3 #805
  • Bump spotbugs-annotations from 4.5.3 to 4.6.0 #809
  • Bump gson from 2.8.9 to 2.9.0 #800
  • Removed hardcoded SoundCloud CLIENT_ID #815
  • Add @MockOnly Junit 5 extension #816
  • Bump actions/cache from 2 to 3 #819
  • Bump rhino from 1.7.13 to 1.7.14 #774
  • Add Checkstyle #817

v0.21.14

18 Feb 19:34

Choose a tag to compare

Fixed

  • [YouTube] Parse timestamps with >3 digits correctly #775
  • [YouTube] Fix NullPointerException in YoutubeStreamExtractor.getStreamSegments() #797, #802
  • [SoundCloud] Update clientId #798

Development

  • Disabled SoundcloudStreamExtractorTest#SoundcloudGeoRestrictedTrack#testRelatedItems as it's unreliable #761
  • Cleanup: Remove old ways of getting YT dis/likes and more #755
  • Convert tests to JUnit 5 #768
  • Bump spotbugs-annotations from 4.5.0 to 4.5.3 #759 #764 #772

Meta

  • Update the license to the latest version #818

v0.21.13

01 Feb 12:34

Choose a tag to compare

Fixed getting the YouTube Javascript function name in YoutubeThrottlingDecrypter which is required to get video information (streams and other) thanks to @AbduAmeen and @SebastianSong #785

v0.21.12

11 Dec 15:14
7484b6a

Choose a tag to compare

New

  • [YouTube] Added short description to StreamInfoItem #731
  • Add support for y2u.be links #741

Fixed

  • [PeerTube] Support short links #743
  • [SoundCloud] Update hardcoded client_id #745, #760
  • [YouTube] Fix extraction of likes and dislikes #753

Development

  • Bump spotbugs-annotations from 4.4.1 to 4.5.0 #738, #749
  • Bump gson from 2.8.8 to 2.8.9 #742
  • Improve code readability #747
  • Fix YouTube tests #760

v0.21.11

02 Oct 14:50
0b0c39a

Choose a tag to compare

New

  • Added support for extracting comment replies continuation #703

Improved

  • [SoundCloud] Updated client id d8ec3ce

Development

  • Bump jsoup from 1.14.2 to 1.14.3 #734

v0.21.10

13 Sep 14:42

Choose a tag to compare

New

  • Add invidious instance EduVid Tubus #712
  • Extract Uploader's Avatar in StreamInfoItems (YouTube and PeerTube) #723, #725
  • Make uploaderVerified available in StreamInfo #724

Fixed

  • [YouTube] Support csv and zip subscription import (Google Takeout) #709 #721
  • [SoundCloud] Update client id #722

Development

  • Bump gson from 2.8.7 to 2.8.8 #718
  • Bump spotbugs-annotations from 4.4.0 to 4.4.1 #727

v0.21.9

22 Aug 17:43

Choose a tag to compare

New

  • Added verified info to ChannelInfo. #714

Improved

  • [YouTube] Updated supported countries list #705
  • [YouTube] Faster iframe-API based player extraction #694

Fixed

  • [YouTube] Consolidate the regular expressions used to find the cipher decryption function #713

Development

  • Keep original exception when there is an error message #710
  • Fixed failing PeertubeStreamExtractorTest #717
  • Upgraded to Gradle 7.1.1 #687
  • Bump jsoup from 1.13.1 to 1.14.2 (#716)
  • Bump spotbugs-annotations from 4.2.3 to 4.4.0 #715
  • Fixed minor typos in Javadoc #711

v0.21.8

03 Aug 18:46
bb3815d

Choose a tag to compare

New

  • [PeerTube] Support livestreams #661
  • Make thumbnail preview frames accessible #647

Fixed

  • [YouTube] Fix buffering issues by decoding n parameter in stream URLs #683 #696
    • ⚠️ This introduces a cache of decoded n parameters. This cache is not managed, meaning it continuously grows. YoutubeThrottlingDecrypter.getCacheSize() and YoutubeThrottlingDecrypter.clearCache() are provided to clear it manually.
  • [SoundCloud] Update hardcoded client id #692
  • [YouTube] Use the new internal API, also fixing comments and most of age-restricted videos extraction #604
  • [YouTube] Fix crashes with disabled comments #652
  • [YouTube] Fix YouTube Music search #699