NewPipe 0.21.2 released: Metadata, crashes, and bug fixes galore - SoundCloud works again too

post image

Here’s another point release for our lovely users. This release refines Bandcamp support, lays the groundwork for an upcoming feature, and adds many little quality-of-life improvements and fixes that we think quite a few users will have reason to be happy about. Also, if you want to use SoundCloud, you need to update to this release.

New

  • @B0pol added the ability to extract video metadata from YouTube, SoundCloud, and media.ccc.de. This was already being done for PeerTube, mainly because it is a really cool and modern and amazing new platform which is 100% user oriented and easy to code for. Hmmm. Where were we? Ah, yes. Metadata. This means things like video tags, license, category, language, etc. are now provided by the extractor. This doesn’t mean that you can see them yet. That will come in a future version.

  • @TobiGr added the ability to view individual songs and their artists as timestamps (similar to Chapters in YouTube) when playing a Bandcamp Radio stream.

  • @fynngodau modified the extractor so that the app now shows related playlists on Bandcamp when playing tracks. To maintain consistency, all references to “related streams” are now changed to the more generic “related items”, because they can now be playlists too.

  • @mhmdanas added the option to directly open a channel page by long-pressing on a list item. Now that short but somewhat annoying period, where you have to wait for the video details to load before being able to open the channel page, is gone. Note: this doesn’t work for feeds yet.

  • @PulkitGarg67 added the nifty little ability to rename a playlist from the Playlist page. Earlier, you could only rename one by long pressing on a playlist item in a list.

  • @Douile added a helpful little timer at the top of the stream queue, telling you its total duration (the combined length of all the streams you queued up), and how far you are into the queue.

Improved

  • @fynngodau, the Bandcamp maestro, improved the Featured page so that it shows more than 10 items.

  • You are experiencing slow internet. You open a video. You end up having to wait an excruciating 10 seconds for the video to buffer, before being able to pause it, and let it load in peace while you do something else. Or, you just skipped ahead in the video, and now have to wait for it to buffer before pausing. GONE! That pain is gone! @Douile added the incredibly useful ability to pause while the video is still buffering! No more pointless waiting around while your dumb internet connection hauls packets like they’re being delivered by messenger birds or something.

  • @krlvm brought about a major overhaul in the theming code of the app. NewPipe looks good both in black theme and white, so it will now switch to whatever your system is using by default. @XiangRongLin and @TobiGr fixed a couple of small regressions caused by that PR, which were noticeable enough to be mentioned here: a rogue black volume icon was made white again. So your volume icon won’t suddenly get an instant tan if you turn the volume up too loud, or turn it down entirely.

  • If you’ve ever encountered cut off channel names (because they were too long), you should know that @krlvm wasn’t able to magically fit the whole name on your screen, but now there is an ellipsis indicator letting you know that it was cut off. Which is something. Right?

Fixed

  • @TobiGr fixed a SoundCloud related part of the extractor. SoundCloud updated how their site works, so TobiGr updated the code. Now it works again.

  • @fynngodau fixed some broken thumbnails on the Featured page in Bandcamp.

  • @TotalCaesar659 updated some HTTP URLs in the NewPipe and Extractor READMEs to HTTPS. Having HTTP URLs lying around in 2021 and not noticing them is pretty embarrassing for us, so we’re looking for a time machine to go back and surreptitiously change them, leaving everyone none the wiser. Please let us know in the comments if you happen to know where we can obtain (or rent) a reliable but affordable one.

  • @wangear fixed the problem of the text of list items overlapping if the font size was large enough.

  • @wangear also fixed a NullPointerException (a crash) that occurred in three different ways: playing the next video and tapping anywhere on it, enqueuing a video by long pressing on the Popup button and then tapping anywhere on the current video, going to Downloads via long-press on the Download button, then returning and tapping on the video yet again.

  • @Stypox fixed a NullPointerException caused by quickly tapping on the search button after launching NewPipe, and also by simultaneously opening two Settings menus at the same time repeatedly. If you do not want to run into any sort of crash whatsoever, we recommend not tapping anywhere in the app and just staring at the home screen. That should help.

  • @sauravrao637 fixed a crash when the user interacted with the top bar on the History page with no videos.

  • Did you know there were supposed to be icons to the left of the selectable notification actions in the notification settings menu? Neither did we, but @Stypox fixed it and now they’re visible.

  • Certain devices which use Huawei’s Hisilicon chipset Hi3798MV200 (we know of the Formuler Z8 Pro, Z8, CC, Z Alpha, and Z+ Neo) showed a black screen when playing videos, due to broken media tunnelling (we have no idea what that means, either). But @Redirion has now fixed this by disabling media tunnelling on this specific chipset, so all’s good now.

  • @sauravrao637 fixed a crash that sometimes occurred if the user rotated the screen while exiting the player.

  • @wangear fixed yet another NPE caused by the app attempting to get the length of a null array (hint: it’s null; there is no array there, NewPipe) in the Main Activity.

  • @sauravrao637 fixed the channel page so that you don’t just get a blank screen when there are no videos. Now you can see the channel header and even subscribe to it, if you feel like it.

  • @TobiGr made the buffering indicator visible again when seeking. At some point in the past, it was accidentally made to vanish, so when a video was skipped forward or backward, it was not clear that the video was loading, and the video playback just seemed to be stuck, causing needless frustration.

Nerd Talk

  • @TobiGr made some code improvements suggested by SonarLint (Wow! We just added the plugin and it is already paying off!) which fixed a couple of potential bugs and also eked out some performance. He also eliminated some type conversions just by introducing a variable. Less work for the app, which means better performance.

  • @fynngodau changed a function’s name and return type to simplify the code. That’s always a win.

  • @XiangRongLin fixed yet more breaking tests in the extractor, and is quite exasperated about it by now. (“This is like playing whac-a-mole!”) Whac-a-mole, indeed. If only there was a way to automatically update tests along with the changed code or something.

  • @XiangRongLin also added a new field to a class to simplify some code.

  • @TacoTheDank replaced FrameLayout, an XML container layout, with the newer FragmentContainerView, as suggested by Google’s Android team, fixing some potential bugs along the way.

  • @TacoTheDank also cleaned up some unnecessary code in the Settings menus.

  • @TacoTheDank updated the Gradle wrapper.

  • @TacoTheDank revamped the About menu and all related code, and also converted it to Kotlin. Yay for modernisation!

  • The ExoPlayer library was updated from version 2.12.3 to 2.13.2 by @Redirion, along with related changes in the app code. (Anyone else get the feeling of déja vu?)

  • @TacoTheDank rearranged the library dependencies in the build gradle file into meaningful sections, and added comments so that neophyte developers can understand their purpose. MAJOR props for fixing one of the biggest pain points for newbie developers!

  • @TacoTheDank migrated all the AlertDialogs in the app to their AppCompat equivalents, which allows them to be used just as they are on earlier Android versions. Gotta keep that sweet, sweet backwards compatibility for as long as we can, after all!

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 you may need to uninstall NewPipe and then install it afresh. (Make sure to backup data by exporting your database from the Content settings 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 freenode), 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.

See also:  pinned  release

Let us know what you think!

Please read our rules before leaving a comment!