NewPipe 0.24.1 released: Et tu, channels?!

post image

So, YouTube channel videos up and vanished, and even refreshing the feed didn’t get them back. That’s never a good sign, so we went looking for them and found the slippery little things. Make sure you tie them properly to the fence next time. Put the bell icon around their necks. Might help, or so we’ve heard from several popular YouTubers ad nauseam.

This release is quite interesting, because we had a bunch of new users sneaking into the repo all nearly at the same time, eagerly asking to fix issues. We look squinty-eyed at any gift horse, so some probing revealed that these were students of the Australian National University. As part of their Software Engineering course, they are required to contribute to a real-life OSS project (Which. Is. AWESOME.), and NewPipe was one of the suggestions.

Seriously, more programming courses should focus on this aspect. There are dozens of blog posts every year bemoaning the hard transition from programming courses to real-world projects.

By the way, these weren’t mere token changes either, just to make them feel good about participating and ticking a box on their course checklist! Each contribution has either added a nifty new feature, or fixed an actual bug faced by our users, which is worth appreciating. No low-effort Hacktoberfest PRs here. You could even say that this release was largely ANU contributor-driven, because without their participation, we would have likely issued a simple hotfix.

We’ve highlighted the ANU contributors with an asterisk. They were working in groups, so take the usernames to mean the entire team. Please join us in congratulating these students for successfully contributing to a real-world open source project! There were some who didn’t make it in time for their project deadline, and will swing back around later to finish their PRs. Yet others had their contributions rejected for one reason or another. But even that is a great learning experience (we made sure to give detailed feedback), and we hope it hasn’t discouraged them from future contributions. You’re all welcome to help out any time! Bring your friends as well! Hold a NewPipe hackathon, even!

New

  • Comment reply count support on YouTube has been added to the Extractor thanks to @xz-dev! The app-side work is still under way. Watch out for it in coming releases.

  • @AudricV added support for YouTube handles. This refers to channel links starting with ‘@’. Also, more kinds of usernames are supported now.

  • @Sandelinos added a monochrome icon for the app to fit in with the cool kids on Android 13. Gotta keep up with the ever-changing fashion trends, or there will be all sorts of terrible gossiping behind your back.

  • @Yuuu2990* added a link to our FAQ in the app’s About section.

  • @YonghaoDeng* added an ‘Open in browser’ button on the error page shown when a video page fails to load.

  • @cernunnos1710* added a list layout for channel groups, to improve accessibility for users with sight issues. There is now a button to toggle between list and grid layouts. The default layout is the one selected in Appearance settings.

  • @Callisto404* added the ability to long-press on YouTube chapters to share a timestamped URL.

Improved

  • @HybridAU added a button to the minimised bottom player which opens the play queue.

  • @Jfax510* made it so that the app shows the “Hold to enqueue” tooltip for the playback header buttons in local playlists, which should help new users.

Fixed

  • YouTube changed the layout of the channel page, which broke extraction of videos in channels, and caused feed update requests to return empty-handed. @Theta-Dev adapted the code to correctly parse the new layout and fetch videos properly again. Note that since YouTube has separated Shorts and Livestreams into their own dedicated tabs, those won’t be shown in the channel page… for now. (Dun dun duuun!)

  • @Isira-Seneviratne fixed a potential NullPointerException error in media.ccc.de’s Recent kiosk.

  • @TurtleArmyMc fixed the extraction of SoundCloud playlists, which tracks were not necessarily being returned in the correct order.

  • @TobiGr fixed the error seen when trying to fetch more comments on SoundCloud.

  • YouTube rolled out a new metadata format for playlists, which broke extraction of video count and uploader name. This is now supported thanks to @AudricV.

  • @AudricV added a workaround for all the 403 HTTP errors users were getting. Basically, YouTube is testing a new method to detect 3rd-party clients and push them to use the official one, so we’ve changed the code to avoid said detection.

  • @devlearner fixed the crash that sometimes occurred when the user touched a comment while scrolling.

  • They also fixed the crash that occurred upon rotating the screen while the Download dialog was visible.

  • If a user opened a Download dialog on the History page and then backed out of the page before the dialog could load, it caused a crash. @plasticanu* has fixed this.

  • @Isira-Seneviratne fixed the bug where the ‘remove watched streams from playlist’ one-off function would get turned on permanently instead of running only once, and so any newly watched videos would get removed immediately.

  • When the same channel was added to multiple channel groups, its videos would appear multiple times in the What’s New (a.k.a. All) feed upon refreshing. @Stypox has fixed this.

Localisation

  • OneGuitars* added new localizations, namely Icelandic, Latvian, and Malayalam, to the language selector.

  • @TobiGr updated the PrettyTime library from v5.0.3 to v5.0.6 to include new localizations made by NewPipe contributors. Thanks to @Nizami20052022 for bringing this to our notice, as well as for being one such contributor.

Nerd Talk

  • dependabot updates:
    • Bump junit-bom from 5.9.0 to 5.9.1
    • Bump spotbugs-annotations from 4.7.1 to 4.7.3
  • @FireMasterK added uploaderUrl() and uploaderVerified() methods to the PlaylistInfoItem class for YouTube.

  • YouTube has started to use attributed text descriptions, which allow internal links (YT to YT) to be shown as clickable chips. @Theta-Dev has added support for this to the Extractor.

  • @TacoTheDank replaced the manual android:summary="%s" usage with the useSimpleSummaryProvider attribute to display the current value of a set preference.

  • @Stypox improved the FeedGroupDialogViewModel factory to match the previous improvements to FeedViewModel.

  • In this month’s IsiraNews, @Isira-Seneviratne:
    • replaced Linkify with its Compat variant to work on older Android versions.
    • Updated Android Gradle Plugin to 7.3.0.
    • Used range-limiting methods in more places.
    • Replaced the manual calculation of checksums of downloaded files with Okio’s ByteString version.
    • Used the Java 8 Streams API to calculate the search score of items when searching inside Settings.
    • Used the TextViewCompat.setCompoundDrawableTintList() method to simplify some code.
    • Updated AppCompat to v1.5.1, and the compileSdk to 32.

New members!

Please join us in welcoming @SameenAhnaf and @Isira-Seneviratne to the team! You’re probably already used to seeing Isira’s name from the huge number of PRs in nearly every blog post.

Sameen has been around for a couple of years now, helping out with issue maintenance and interacting with the community members.

Where to get this brand-new version

NewPipe notifies you about new versions. You can download them when you press the notification, which will take you to the GitHub Releases page.

If you use the F-Droid app, it, too, notifies you about updates for NewPipe. Please keep in mind that it can take F-Droid a while to update their repository. If you have problems installing the update, you may need to uninstall NewPipe and then install it afresh. (Make sure to backup data by exporting your database from the Settings > Content menu.)

If you already installed NewPipe from F-Droid’s repository, to get this version of NewPipe you can do one of the following:

Note: If you installed NewPipe from GitHub Releases you will not have to uninstall NewPipe to switch to our custom repo. Just let it update your current version. Make sure you back up your data as mentioned in the warning at the top of the FAQ page!

Now that you’ve (hopefully) updated, please let us know what your experience of the latest release is, especially bugs in need of fixing. As usual, you can reach out to us via IRC (#newpipe on Libera.Chat), open issues on GitHub or, ideally, use our built-in crash reporter to send us machine-readable issue reports. You can even send in fixes yourself.

If you have any other questions, feel free to post them in the comments here and someone will reply to you. Also, thanks for reading it until the end! We put quite some time into these blog posts.

See also:  pinned  release

Let us know what you think!

Please read our rules before leaving a comment!

→ Feature requests or bug reports need to be reported on GitHub! ←