NewPipeExtractor Versions Save

NewPipe's core library for extracting data from streaming sites

v0.22.0

2 years ago

⚠️ 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

2 years ago

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

2 years ago

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

2 years ago

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

2 years ago

New

  • Added support for extracting comment replies continuation #703

Improved

  • [SoundCloud] Updated client id TeamNewPipe/NewPipeExtractor@d8ec3ce3708cae511d5df65622aa9c4fde56b2a7

Development

  • Bump jsoup from 1.14.2 to 1.14.3 #734

v0.21.10

2 years ago

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

2 years ago

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

2 years ago

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

v0.21.6

2 years ago

New

  • Added AccountTerminatedException for terminated channels #580
  • [SoundCloud] Added streamPosition for comments #625

Improved

  • Update Invidious instances and support Piped links #668

Fixed

  • [SoundCloud] Updated HARDCODED_CLIENT_ID #660
  • [YouTube] Fixed extraction of age restricted videos #665
  • [YouTube ] Fixed invalid CONSENT cookie value #676

Development

  • Added dependabot #552
  • Bump gson from 2.8.6 to 2.8.7 #654
  • Bump rhino from 1.7.12 to 1.7.13 #656
  • Bump spotbugs-annotations from 4.0.2 to 4.2.3 #655
  • Removed IPv4 addresses from response during mock recording #673

v0.21.4

2 years ago

Fixed

  • Fix YouTube comments like count #628

Development

  • Update setup java #635
  • Fixed test MetaInfoTest.expectedMetaInfo #630
  • Update Junit to 4.13.2 (1ff56a85df323a86d5d90b78132c0e57b90e9154)
  • Specify UTF-8 file encoding in RecordingDownloader and MockDownloader #644
  • Fixed PeerTubeAccountExtractorTest #645
  • Improve exception message thrown when not accepting an URL in LinkHandlerFactory#fromUrl(String url, String baseUrl) #638
  • Add utility method getService() to Info object #646