Skip to content

Releases: TeamNewPipe/NewPipeExtractor

v0.22.5

26 Feb 15:33
99ab977
Compare
Choose a tag to compare
v0.22.5 Pre-release
Pre-release

⚠️ Important note: Starting with this version, NewPipe Extractor requires Java 11 to be built.

New

  • Add support for extracting audio track information #973
  • [YouTube] Extract timestamps and URLs in comments #928
  • [PeerTube] Support comment replies #941
  • [PeerTube] Support searching for playlists and channels #996
  • [YouTube] Add support to extract total comment count #794 #1014

Improved

  • Use Description object for comments text. #987 #991
  • [YouTube] Implement bold/italic/strike-through support #990 #1005 #1006
  • [YouTube] Improve YoutubeStreamInfoItemExtractor #1000
    • make duration of video premieres available
    • returns view count and upload date of streams in playlists
  • Add compat Locale.forLanguageTag() implementation #910
  • [PeerTube] Report Exceptions thrown while getting a stream's subtitles #994
  • [SoundCloud] Implement getUploaderUrl() and isUploaderVerified() for PlaylistInfoItemExtractor #995
  • [YouTube] Support live URLs #1022

Fixed

  • [YouTube] Fix extracting the detailed error message for unavailable streams #980
  • [YouTube] Fix search subscriber count extraction with channel handles #978
  • [YouTube] Remove topStandaloneBadge check for view count of stream items #1016
  • [YouTube] Fix NPE in search when getting channel items without subscriber count #1020
  • [YouTube] Now music mixes can be treated as normal mixes #1013
  • [YouTube] Fix channel ID extraction of YouTube channels RSS feeds #1015
  • [SoundCloud] Fix extraction of tracks like count #1024
  • [YouTube] Fix getting the comment text if the comment contains a hashtag #1021

Development

  • Use immutable sets in YoutubeParsingHelper and bump the required Java version to 11 #893
  • Bump gson from 2.9.1 to 2.10.1 #954 #1009
  • Use StandardCharsets.UTF_8. #880
  • Use JDK 11 for Jitpack gradle builds #975
  • [YouTube] Simplify duration parsing #971
  • Update Checkstyle from 9.3 to 10.4 #985
  • Remove unused autolink dependency #984
  • Block wrong nullable/nonnull imports in Checkstyle #989
  • Improve Utils.isBlank(String) method #992
  • Use immutable Map factory methods #986
  • Bump junit-bom from 5.9.1 to 5.9.2 #1010
  • Bump jsoup from 1.15.3 to 1.15.4 #1028

v0.22.4

09 Nov 17:12
0ea16c0
Compare
Choose a tag to compare
v0.22.4 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

  • [YouTube] Add comment reply count support #936
  • [YouTube] Add uploaderUrl() and uploaderVerified() to PlaylistInfoItem #959
  • [YouTube] Support handles #964

Improved

  • [YouTube] Support new metadata format of playlists #958
  • [YouTube] Add support for attributed text description #953

Fixed

  • [media.ccc.de] Avoid possible NullPointerException in MediaCCCRecentKiosk #930
  • [SoundCloud] Fix SoundcloudPlaylistExtractor: tracks are in correct order #939
  • [SoundCloud] Fix getting more comments #943
  • [YouTube] Workaround 403 HTTP errors of ANDROID client streams #960
  • [YouTube] Support richGridRenderer on channel page to fix extraction of videos in channels #944
  • [YouTube] Support all channel usernames #964

Development

  • Bump spotbugs-annotations from 4.7.1 to 4.7.3 #924 #945
  • Bump junit-bom from 5.9.0 to 5.9.1 #931
  • Use EnumMap in PatternsHolder #888

v0.22.3

02 Nov 20:45
4cae66f
Compare
Choose a tag to compare
v0.22.3 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.

Improved

  • [YouTube] Get original untranslated title #857
  • [YouTube] Return mqdefault thumbnails in fast feed #927
  • [YouTube] Add JavaScript lexer to parse completely throttling decryption function #905

Fixed

  • [YouTube] Fix throttling parameter decryption #891 #912 #925, thanks to @Theta-Dev!
  • [YouTube] Update clients version and improve extraction of API key and client version of WEB client, fixing video and audio streams replacement by the ones of a video saying The following content is not available on this app #890
  • Fixed all tests and the corresponding code #882
  • [YouTube] Fixes mixes playlist extraction in some countries (EU) by allowing YoutubeParsingHelper#consentAccepted to be set to true #882
  • [YouTube] Fix extraction of like count #926
  • [YouTube] Fix extraction of the Trending kiosk #920
  • [YouTube] Fix fallback throttling decryption function regex #934

Development

  • Bump spotbugs-annotations from 4.7.0 to 4.7.1 #867
  • Bump jsoup from 1.15.1 to 1.15.3 #870 #911
  • Use minimum required permissions for GitHub workflows #869
  • Bump junit-bom from 5.8.2 to 5.9.0 #879
  • Use Objects.requireNonNull() #877
  • Use Collections methods #878
  • Bump gson from 2.9.0 to 2.9.1 #883
  • Use String.join() and Collectors.joining() #881
  • Make improvements to methods using toArray() #886
  • [YouTube] Remove deprecated throttling decryption code #901
  • [YouTube] Checks if the throttling parameter decryption function is valid JavaScript code #882
  • Update Gradle wrapper to 7.5.1 #903
  • Remove EMPTY_STRING #907

v0.22.2

02 Nov 20:40
4cae66f
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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