NewPipe 0.19.3 released: Android TV, YouTube Music, greeting new team members and so much more

post image By Schabi

Another day in quarantine, another release of NewPipe. This one comes with a lot of bug fixes, improvements and more features. It can not get better then that.

Android TV

“Hey, release-post guy,” I hear you say, “I can already run NewPipe on my Android TV, what is the difference now?” Well, now you can actually use it. You can scroll through long video descriptions, can focus what element you want to focus on (and have the first one focused whenever you open a page which is important, I think.), the native keyboard is used instead of an on-screen one, you can seek videos however you like, no annoying ripple effects - it is great. So great, you should probably buy an Android TV just for using NewPipe! All of this happened mostly thanks to @Alexander–. They made their first contribution back in October, but now found time to come back and enhanced the TV experience greatly, thank you. Other people involved in this are @B0pol (who improved the detection of non standard devices as Android TVs), @revathskumar (who found issues), @Pentaphon, @christianfl, @Disonantemus (all found an issue), @sorryusernameisalreadytaken (who found a lot of issues), @wb9688 (who made it possible to open channels when long clicking comments from them) and @TobiGr (who was himself).

YouTube Music

Since 2015, the YouTube Music app exists; since 2018, a web app is there. As of today, you can search for content of this music platform in NewPipe. This looks a little something like this:

@wb9688 is responsible for integrating this into the extractor (a module for getting the content from the platforms) and in the Android app, big thanks for allowing us to indulge in our music habits as much as we like without having reaction videos jumping in our search results.

Bug fixes

Imagine you would see a button where you would not expect one to be. Sounds scary, hmm? @mauriciocolli took care of it. It won’t hurt anyone anymore. He also improved the error experience. Even though we obviously don’t want you to see any, now they are the right ones at least. @wb9688 (if you think you will read this name a lot of times in this post, you are not mistaken) fixed an issue where age restricted videos were shown even though the related option was turned off.

@B0pol fixed the generation of crash reports in the background by using a different JSON library which doesn’t provide invalid JSON in some cases (this library was already used by the extractor). A temporary fix for bookmarked playlists which names changed to null was provided by @mitosagi. Now you can null away all you want. @Stypox tried one more time to fix the handling of reCAPTCHAs for some more types of them and is probably questioning his sanity at this point. Thank you though!

Improvements

@wb9688 improved the background check for new versions, it uses the same JSON parser as other functions of the app now, which will make adding more features to it in the future easier. @mauriciocolli added code in his third contribution to avoid unnecessary changes to upload dates of saved streams, so they do not jump around in your bookmarked playlists anymore. Thanks to @XiangRongLin, the playback parameters you change in the options are now applied in every player, which leads to a more unified experience. The third contribution of @B0pol greatly improves the user experience when NewPipe faces unsupported content. Instead of crashing, you will see a big kaomoji now. Definitely an improvement.

The title of our app, NewPipe, is shown in the upper left corner when you open the sidebar. Sadly on some devices with custom fonts it was forced to be in two lines, not anymore, thanks to the fourth contribution of @mauriciocolli. The resizing of the pop-up window was greatly improved by @harshlele. This was a long-lasting issue and everybody should be happier now. @Stypox found time for a second, little contribution: You can now long-press on the background and pop-up buttons in headers of channels and the videos from that channel are then added to the respective queue. @GradyClark made a big contribution which allows you to delete watched videos from your bookmarked playlists. Now you can easily create a watch-later playlist and occasionally delete the ones you watched from there with one button press. The contribution of @Stypox needs to be mentioned here as well, he greatly improved the efficiency of this action.

Under the hood

This section is for internal changes with this release. To start it off, @wb9688 made a big change in enforcing Checkstyle, which should provide us with even more beautiful code then we already had in this project. Related to this, Checkstyle is also tested in the CI and UTF-8 is enforced for Gradle. @Stypox fixed an issue where the build name was not probably overridden.

The extractor got some improvements not mentioned so far: @Royosef added support for PeerTube video channels (accounts there were already supported), @B0pol added the supported countries for SoundCloud and @wb9688 changed the media.ccc.de url to the new one.

Also worth mentioning here is that we’re now using our fork of nanojson instead of the upstream version. A difference is that it supports {this: 'kind', of: 'json'} instead of {"just":"this"}, which is needed to support more content providers in the future.

Conclusion + internal news

That is it for this release. We would like to use this section and your attention to provide you with some internal news: We want to introduce the following members who have recently joined our team: @B0pol is a persistent contributor and now has an official badge. @wb9688 rejoined the team, he added SoundCloud support back then and now focuses on PipeCast. Also @Poolitzer (Me. I have been here the whole time), who wrote a lot of the recent blog posts and is in general a great human being.

As usually, a big thanks goes out to all the people who made this possible, especially those not mentioned: Developers for helping out fellow developers, testers for testing, maintainers for maintaining, translators for translating and users like you for reporting the bugs in the first place. If you’d like to get a more technical view into the app, you can find the release page here and the corresponding PR here.

As a little additional announcement, thanks to said translators, Acehnese is now supported as an app language.

Where to get the latest version

NewPipe notifies you about new versions, you can download them when you press the notification. An alternative is the GitHub release page. If you use the F-Droid app, it notifies you as well about an update for NewPipe - please keep in mind that it can take F-Droid a while to update their repository.

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.

See also:  release  pinned

Let us know what you think!