NewPipe 0.21.8 hotfix released: Suffer the buffer!

post image

Hi! We skipped doing a blog post for the last hotfix release (version 0.21.7) because it was quite tiny. So we’ve added the changes from that version here. As a bonus, you get some other much needed fixes and a MAJOR API improvement for YouTube that we’ve been waiting for eagerly! Enjoy.

Fixed

  • First and foremost, the raison d’être for this blog post: the buffering fix. YouTube recently changed their player code to require a new parameter in the stream URLs that needs to be calculated. If the parameter isn’t used when requesting stream URLs, YouTube throttles loading speeds for that client. “What is this mighty parameter called?” you might ask. Well, let it be known that it has the awe-inspiring, absolutely earth-shattering name… ‘n’.

    … Yup.

    @XiangRongLin took up this effort, aided by many of the team members. The solution was initially provided in this youtube-dl issue comment. Big thanks to that user for investigating and finding a solution!

  • YouTube Music search was completely broken, not showing any results. @FireMasterK fixed this.

  • If a video has disabled comments, NewPipe can now deal with this, instead of crashing like it used to. Thank you @litetex. This is a small part of a bigger feature coming in the next version.

  • Downloading through the Share Sheet was broken if SAF was enabled and no download folder was set beforehand. This was fixed by @Stypox.

  • Video thumbnails and titles were too big in grid layout on tablets. @Stypox fixed this by correcting the grid span count calculation.

New

  • @B0pol added support for livestreams on PeerTube, which were introduced with PeerTube v3. NewPipe’s PeerTube support is getting better and better!

Improved

As it happens every year, YouTube migrates from old APIs. This time, it concerns their year old pbj JSON API (API here, in layman terms, is the code your browser or app runs to interact with and watch videos on YouTube) to the new Innertube API.

NewPipe migrated to pbj from an even older HTML-based API in late February last year, but not fast enough, so a large number of our users got Guru Meditation errors when that old API was removed.

This time we were able to migrate to the new version well in time, thanks to TiA4f8R! He’s been working on this large PR since early April! The whole team has been reviewing this PR repeatedly to perfect it for release. Kudos to everyone for getting this shipped!

One clear benefit you may notice is that things load much quicker now, compared to the old API.

What else? It also fixes loading comments (which broke yet again, though that’s different from the disabled comments issue… you get it, right?), as well as partially fixing age-restricted videos. As of this version, NewPipe can only extract those 18+ videos that are embeddable in web pages. This part of the fix was contributed by @FireMasterK.

It improves loading more videos in channels as you scroll down, sending fewer requests and speeding it up a little.

It also uses more lightweight requests to check if the hardcoded client IDs used by NewPipe for YouTube and YouTube Music are still valid.

So many benefits! Good, right?

Nerd Talk

  • @TacoTheDank updated the Kotlin Fragment extensions library, removed two deprecated methods onActivityResult and onRequestPermissionsResult from the code, and updated the related code accordingly.

  • @TobiGr updated the hardcoded client ID for SoundCloud (as you do).

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 till 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!