Skip to content

Releases: TeamNewPipe/NewPipeExtractor

v0.24.8

31 Jul 21:39
88ff897

Choose a tag to compare

Breaking

  • [SoundCloud] The Top 50 kiosk was removed because it has been discontinued by SoundCloud #1276
  • [YouTube] New kiosks have been added, the default kiosk was changed to "Live" after a poll, and the previous default kiosk is now deprecated because YouTube announced they are dismissing it #1354

New

  • [PeerTube] Detect video-only streams #1319
  • [SoundCloud] Add support for likes channel tab #1308

Improved

  • [Soundcloud] Add support for AAC 160k unprotected stream #1317
  • [YouTube] Speed up n parameter presence check #1330
  • [YouTube] Support podcasts in their lockup model (LOCKUP_CONTENT_TYPE_PODCAST) #1338

Fixed

  • [YouTube] Fix extraction of continuations in initial playlist responses #1301
  • [YouTube] Fix parsing subscribers count of channels with pronouns #1318
  • [YouTube] Fix view count extraction error for members-first and members-only shorts #1326
  • [YouTube] Add new deobfuscation function name regex #1302
  • [YouTube] Fix signature deobfuscation function name extraction #1290
  • [YouTube] Add support for video lockup content type (LOCKUP_CONTENT_TYPE_VIDEO) #1320 #1350
  • [YouTube] Workaround Shorts UI for playlists by using a continuation for initial items #1104
  • [YouTube] Correctly set uploaderUrl for lockup content type items #1344
  • [YouTube Music] Fix uploader and stream count for album/playlist info items #1351
  • [YouTube] Make channelId resolution follow redirects and fix YoutubeStreamInfoItemLockupExtractor building incorrect handles #1347

Development

  • Fix javadoc typo #1305
  • Add @Nullable annotations in ListExtractor #1313
  • Create FUNDING.yml #1334
  • Fix all tests and make everything work offline/with mocks #1332
  • Update user agent to Firefox ESR 140 for test downloader #1348

Dependencies

  • Bump org.junit:junit-bom from 5.12.1 to 5.13.4 #1316 #1342
  • Bump com.google.code.gson:gson from 2.12.1 to 2.13.1 #1293
  • Bump org.jsoup:jsoup from 1.19.1 to 1.21.1 #1309
  • Bump protobufVersion from 4.30.2 to 4.31.1 #1340

Note: we skipped from v0.24.6 to v0.24.8 because v0.24.7 accidentally pointed at v0.24.6 and JitPack had already built (and there's no way to re-trigger builds).

v0.24.6

07 May 10:31
61059b1

Choose a tag to compare

Improved

  • Remove usage of reflection in timeago-parser module #1288

Fixed

  • [YouTube] Fix crash on SABR-only player responses, do not use WEB client for stream URLs anymore #1297

Development

  • Only include jsr305 and not complete spotbugs #1279
  • Fix tests and cleanup code #1277
  • Update gradle wrapper #1266
  • Use Files methods in tests #1065

Dependency updates

  • Bump org.jsoup:jsoup from 1.17.2 to 1.19.1 #1245 #1282
  • Bump org.mozilla:rhino from 1.7.15 to 1.8.0 #1256
  • Bump org.junit:junit-bom from 5.11.4 to 5.12.1 #1281

v0.24.5

05 Feb 09:14
9f83b38

Choose a tag to compare

v0.24.5 Pre-release
Pre-release

This release introduces a way to pass poTokens to the YouTube extractor, allowing NewPipeExtractor library users to pass the integrity checks required by YouTube on e.g. the web client. However, the changes in #1272 still need some API adjustments, and are not thoroughly tested, hence why this release is a pre-release. Please let us know of any issue.

New

  • [YouTube] Refactor player clients, add support for poTokens, extract visitor data from the service and more #1272

Improved

  • [YouTube] Update iOS client #1265

Fixed

  • [YouTube] Fixes for n param deobfuscation function #1253
  • [Soundcloud] Remove DRM-protected and downloadable formats extraction #1269

Development

  • Remove unused method in TimeAgoParser and improved tests #1212
  • YoutubeSubscriptionExtractor: Use BufferedReader#lines() #1246
  • Followups to #1262 to address review comments: #1263

Dependency updates

  • Bump org.junit:junit-bom from 5.11.3 to 5.11.4 #1249

v0.24.4

21 Jan 22:18
a7154c3

Choose a tag to compare

This is a hotfix release to fix the recent changes made by YouTube, that made NewPipeExtractor unable to load video details.

Fixed

  • [YouTube] Update iOS client, add visitor data to requests #1262

v0.24.3

24 Nov 16:10

Choose a tag to compare

Improved

  • [YouTube] Add support for automatic dubbed and secondary audio tracks #1237
  • [YouTube] Add documentation for faulty framesets #1236

Fixed

  • [YouTube] Fix extraction of Shorts in channels and remove visitor data usage #1221 #1239
  • [YouTube] Fix serialization of Videos channel tab when it is already fetched #1222
  • [PeerTube] Fix parsing ID for instances whose domain ends with a or c #1207
  • [YouTube] Fix extraction of n param deobfuscation function name #1231
  • [YouTube] Add support for new playlist items data structure #1240

Development

  • [tests] Update user agent #1192

Dependency Updates

Miscellaneous changes

  • Add issue templates #1204

v0.24.2

25 Jul 16:30
176da72

Choose a tag to compare

New

  • [SoundCloud] Add support for on.soundcloud.com URLs #1179

Improved

  • [Bandcamp] Show additional info in radio kiosk #1201

Fixed

  • [Bandcamp] Update artist page detection #1199
  • [Bandcamp] Null-safe url catenation in track playlist #1200
  • [Bandcamp] Upgrade incoming links to HTTPS #1177
  • [YouTube] Workaround HTTP 403s on streaming URLs of WEB client (after some time or instantly for some JavaScript players), update clients info #1197
  • [YouTube] Support shows and page header on user channels #1203

Development

  • Bump peaceiris/actions-gh-pages from 3 to 4 #1166

Dependency updates

  • Bump org.mozilla:rhino from 1.7.13 to 1.7.15 #1174
  • Bump com.github.spotbugs:spotbugs-annotations from 4.8.3 to 4.8.6 #1173 #1183
  • Bump org.junit:junit-bom from 5.10.2 to 5.10.3 #1186
  • Bump com.google.code.gson:gson from 2.10.1 to 2.11.0 #1180

v0.24.1

11 Jul 21:26
d39fc43

Choose a tag to compare

Fixed

Note that this does not fix 403 errors in the middle of YouTube videos, i.e. TeamNewPipe/NewPipe#11191. That issue will be addressed in another hotfix release as soon as possible.

v0.24.0

23 Apr 16:55
fbe9e62

Choose a tag to compare

⚠️ This version contains breaking changes (thus the bump to 0.24):

Due to the removal of the usage of InnerTube API keys, some methods in YoutubeParsingHelper which can be used by clients have been changed in #1168:

  • areHardcodedClientVersionAndKeyValid was renamed to isHardcodedClientVersionValid
  • getKey was removed, since there is no InnerTube API key anymore
  • resetClientVersionAndKey was renamed to resetClientVersion
  • isHardcodedYoutubeMusicKeyValid was renamed to isHardcodedYoutubeMusicClientVersionValid
  • getYoutubeMusicKey was renamed to getYoutubeMusicClientVersion and now just returns the version instead of (key, name, version), since there is no key anymore and the name is fixed ("67") and therefore hardcoded
  • other related methods which are not really meant to be used outside of the extractor

New

  • [YouTube] Implement emergency meta info #1135
  • [YouTube] Add Releases channel tab as an extractor albums channel tab #1147
  • [PeerTube] Add support for v6 features (frames and segments) #1142

Improved

  • [YouTube] Detect new account termination messages for YouTube #1160
  • Make getCommentText return @Nonnull values #1162
  • [YouTube] Use accessibility data for social links in attributed descriptions when present #1163

Fixed

  • [PeerTube] Fix local kiosk #1144
  • [PeerTube] Do not accept non-URLs #1143
  • [MediaCCC] Allow obtaining channel tab link handler #1148
  • [YouTube] Support new comments data #1163
  • [YouTube] Update clients versions, restore access to some streams and more #1168

Development

  • Bump org.jsoup:jsoup from 1.16.2 to 1.17.2 #1145
  • Bump com.github.spotbugs:spotbugs-annotations from 4.8.0 to 4.8.3 #1138
  • Bump actions/setup-java from 3 to 4 #1132
  • Bump org.junit:junit-bom from 5.10.0 to 5.10.2 #1156
  • Bump actions/cache from 3 to 4 #1153
  • Bump actions/upload-artifact from 3 to 4 #1139
  • LocaleCompat.forLanguageTag: return Optional if parsing fails #1151

v0.23.1

21 Dec 21:04
f276caf

Choose a tag to compare

v0.23.1 Pre-release
Pre-release

Fixed

  • Fix SearchInfo's non-null MetaInfo being null when initialized or when an extraction error occurs #1141
  • [YouTube] Always return -1 as duration of Shorts returned inside reel items, since YouTube does not provide duration for Shorts anymore #1140

v0.23.0

10 Dec 15:00
91419ec

Choose a tag to compare

v0.23.0 Pre-release
Pre-release

⚠️ This version contains breaking changes (thus the bump to 0.23):

  • Channel tabs support (more details in #1082):
    • ChannelExtractor is now only an Extractor (and not a ListExtractor)
    • All link handlers for the channel tab extractors of a specific channel can be obtained through ChannelExtractor.getTabs()
    • ChannelTabExtractor does inherit ListExtractor<InfoItem>, and thus can return items of different types, and not only videos
  • Multiple images support (more details in #889):
    • All extractor methods that used to return image urls have been renamed from get*Url to get*s (e.g. getThumbnailUrl -> getThumbnails)
    • Those methods return a List<Image>, and every image contains not only the url, but also data about the resolution

New

  • Add support for channel tabs and channel tags #1082 #1092
  • [YouTube] Support more channel headers #1094
  • [YouTube] Support Shorts UI in playlists #1093
  • Multiple images support #889 #1113
  • [YouTube] Add support for ultralow audio formats #1063
  • Add hasCreatorReply() to CommentsInfoItem #1111
  • [YouTube] Add channel owner to CommentsInfoItem: isChannelOwner() #1114

Improved

  • [YouTube] Improve and fix YoutubeJavaScriptExtractor #1087 #1091
  • [YouTube] Refactor JavaScript usage and fix extraction of obfuscated signature deobfuscation function #1108
  • [YouTube] Make some improvements and fixes #1127

Fixed

  • [media.ccc.de] Only extract kiosk live stream rooms if they are streaming #1089
  • [SoundCloud] Detect whether there are any more search results #1081

Development

  • Replace cryptographically secure random with regular random #1088
  • [Bandcamp] Fix StreamExtractorTest #1105
  • Use Locale.forLanguageTag() in tests #1107
  • Update copyright notices to use correct GPLv3 format #1110
  • Dependency updates:
    • Bump org.junit:junit-bom from 5.9.3 to 5.10.0 #1083
    • Bump actions/checkout from 3 to 4 #1103
    • Bump org.jsoup:jsoup from 1.16.1 to 1.16.2 #1117