Skip to content

Releases: TeamNewPipe/NewPipeExtractor

v0.25.0

11 Jan 13:55

Choose a tag to compare

Breaking

Refactor date parsing #1372 #1411

This removes the deprecated DateWrapper(Calendar) and DateWrapper(Calendar, boolean) constructors. Use DateWrapper(Instant) and DateWrapper(Instant, boolean) or DateWrapper(LocalDateTime, boolean) instead.

New

  • [YouTube] Mark members-only videos #1280

Improved

  • Refactor date parsing #1372 #1411
  • [YouTube] Add custom error for "Sign in to confirm ..." #1352
  • [YouTube] Add support for premieres in lockupViewModels #1361
  • [YouTube] Extract uploader info for videos with multiple uploaders #1397
  • [YouTube] extract additional stream information #1412

Fixed

  • [YouTube] Extract shorts thumbnails from thumbnailViewModel #1417
  • [SoundCloud] Fixed detecting on.soundcloud URLs #1388 #1390
  • [SoundCloud] Fix channel tab pagination looping on empty pages #1387
  • [media.ccc.de] Use correctlink handlers for kiosks #1430

Development

  • Fix aggregatedJavadocs Gradle task and update API link to JDK 11 #1358 #1356
  • [SoundCloud] Miscellaneous refactors #1323
  • Refactor build and publishing setup #1409 #1421

Dependency updates

  • Bump gradle plugin com.google.protobuf from 0.9.5 to 0.9.6 #1418
  • Bump protobufVersion from 4.31.1 to 4.33.2 #1364 #1373 #1391 #1401
  • Bump rhinoVersion from 1.8.0 to 1.8.1 #1413 #1420 #1423
  • Bump com.google.code.gson:gson from 2.13.1 to 2.13.2 #1371
  • Bump com.puppycrawl.tools:checkstyle from 10.4 to 10.26.1 #1380
  • Bump com.squareup.okhttp3:okhttp from 4.12.0 to 5.3.2 #1405
  • Bump org.jsoup:jsoup from 1.21.1 to 1.22.1 #1368 #1426
  • Bump org.junit:junit-bom from 5.13.4 to 5.14.2 #1379 #1398 #1433

CI

  • Bump actions/checkout from 4 to 5 #1363
  • Bump actions/setup-java from 4 to 5 #1365
  • Bump actions/upload-artifact from 4 to 6 #1398 #1416
  • Bump actions/cache from 4 to 5 #1415
  • Set environment var to throw exception when compiling unsafe protobuf gencode #1391

Documentation

  • Highlight notes and tips in README #1381

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