Releases: TeamNewPipe/NewPipeExtractor
v0.24.8
Breaking
- [SoundCloud] The
Top 50kiosk 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
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
@Nullableannotations inListExtractor#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
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
v0.24.5
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
v0.24.3
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
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
v0.24.1
Fixed
- [YouTube] Fix for HTTP error 403 when starting videos: #1191
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
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:
areHardcodedClientVersionAndKeyValidwas renamed toisHardcodedClientVersionValidgetKeywas removed, since there is no InnerTube API key anymoreresetClientVersionAndKeywas renamed toresetClientVersionisHardcodedYoutubeMusicKeyValidwas renamed toisHardcodedYoutubeMusicClientVersionValidgetYoutubeMusicKeywas renamed togetYoutubeMusicClientVersionand 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
getCommentTextreturn@Nonnullvalues #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
v0.23.0
- Channel tabs support (more details in #1082):
ChannelExtractoris now only anExtractor(and not aListExtractor)- All link handlers for the channel tab extractors of a specific channel can be obtained through
ChannelExtractor.getTabs() ChannelTabExtractordoes inheritListExtractor<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*Urltoget*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
- All extractor methods that used to return image urls have been renamed from
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()toCommentsInfoItem#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