2
I Use This!
High Activity

News

Analyzed about 8 hours ago. based on code collected 1 day ago.
Posted over 2 years ago
This release brings you working imports from your YouTube subscriptions export through Google Takeout, an “Always go into full screen” toggle when you play a video via the main player (welcome back, you were sorely missed, auto full screen!), a new ... [More] Invidious instance, and so much more, that you basically have to read on. New Rejoice! @talanc fixed an issue plaguing users since late July: Google changed the way it exports subscriptions from YouTube, rendering the previous import into NewPipe non-functional. You can now import your downloaded CSV file, or even the ZIP file that contains that CSV, directly into NewPipe! The long-press behaviour in the player queue was streamlined by @ktprograms: It now also displays the popup menu from the queue inside the main player. A much-requested setting was added by @Stypox: You can now set videos to play automatically in full screen when using the main player. So for those of you who were sticking with a 0.19.8 pre-unified version due to the lack of automatic full screen, this is a chance to try it out and see if you like the new iteration! @Stypox also split search suggestions into two categories: local and remote. Now you have the option to enable or disable them independently of each other. @magicbrothers added a new Invidious instance, Tubus, meant for educational videos for children. @ktprograms finished the ongoing work of adding the “Show channel details” option where it was still missing, that is, in local playlists, feed items, and history items. Improved @sauravrao637 modified the app colours to be a bit darker when the dark theme is selected in the app, which looks loads better to us! He further added a darker splash screen variant when the OS’s theme is set to dark. We hope you like the new look too! @Stypox replaced the outdated Android-Universal-Image-Loader library (which has not had any new release in the last 6 years) with the more stable and updated Picasso, a library to download and cache images on Android (think all the thumbnails you see in the app). This fixes a nasty issue where the wrong notification thumbnail size could crash the whole System UI or even forcibly reboot the device! It also makes loading cached images instantaneous, and loading non-cached images smoother. @sherlockbeard changed the “video not available” image from a static PNG to a vector XML image, allowing it to scale properly for screens of all sizes. @Stypox added the mime-type field to all calls to the SAF file picker, which causes files with the incorrect file format to be greyed out and become non-selectable. This will ensure the user can only choose a ZIP file when importing their database, for example. This should be a great quality-of-life improvement for many users! Fixed @litetex, together with @Stypox, improved the parsing of comments for timestamps, which could have resulted in a crash if it happened in the wrong place at the wrong time. @Aga-C added line wrapping to the settings titles, so they don’t get truncated anymore. @acti0 fixed a regression from a past release where the name of the video wasn’t being shared when sharing the video URL. @litetex fixed a bug where you had to tap the Replay button twice for it to actually work. While @litetex fixed the Replay button, they also fixed the direction buttons on D-Pads for Android TV users: the seekbar now jumps only 10 seconds, instead of several minutes. @litetex, being on a roll, reworked the error panel shown when an error occurs. This results in a clearer error display. @Redirion implemented proper closure of audio sessions when playback is stopped. This fixed a longstanding bug where NewPipe would create more and more audio sessions but use only one, which messed with equaliser apps, as they encountered multiple discarded - but open - audio sessions and got confused. @TobiGr added proper error handling for errors that might occur when trying to play a video in popup mode, or when fetching a search suggestion. @TobiGr also took care of a small UI bug: when one played something in the minimized player and changed the visibility of the Description tab in the meantime, the visibility of the Comments tab was changed instead. The app isn’t confused anymore, though we cannot say the same about the developer… Translation @Stypox switched to using the custom “Cancel” string everywhere, which is translated to more languages than the default Android “Cancel” string. They jumped onto that plane and replaced a couple more strings to better translated ones: “Ok”, “Yes”, and “No”. They also removed “Add”, and renamed “Finish” to “Ok”, because it clearly means “Ok”, not “Finish”! @Aga-C added plural forms for download-related strings. @CBSkarmory improved some wording in the issue template; thanks! Nerd Talk @TobiGr updated the hardcoded SoundCloud client ID. @FireMasterK added support for extracting the channel avatar on YouTube and PeerTube. @FireMasterK also added the uploaderVerified info to the StreamInfo class. @litetex switched GitHub Actions to using the Eclipse Temurin Java distribution, as AdoptOpenJDK is getting deprecated. @Redirion replaced NewPipe’s custom buffer values with ExoPlayer’s default ones. @Isira-Seneviratne changed PackageInfo to its backwards-compatible version, PackageInfoCompat to fetch the app signatures. @litetex also updated the version of Kotlin used everywhere, and fixed some build problems as well. They also introduced a cache setting in the CI configuration which lets it run faster. @XiangRongLin added a Gradle parameter to prevent KtLint, the Kotlin linter+formatter, from being run twice in the GitHub Actions CI. dependabot updates: Bump gson from 2.8.7 to 2.8.8 Bump spotbugs-annotations from 4.4.0 to 4.4.1 Where to get this brand-new version NewPipe notifies you about new versions. You can download them when you tap 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: Wait for them to update Switch to NewPipe’s custom repository by following the directions in the announcement post 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 the blog post till the end! We put quite some time into writing these. [Less]
Posted over 2 years ago
This release brings you working imports from your YouTube subscriptions export, an “always go into full screen” toggle when you play a video via the main player, a new Invidious instance, and so much more that you basically have to read on. New ... [More] Rejoice! @talanc fixed an issue plaguing users since late July: Google changed the way it exports subscriptions from YouTube, rendering the previous import into NewPipe non-functional. You can now import your downloaded CSV file, or even the ZIP file that contains that CSV, directly into NewPipe! The behaviour of long press on the player queue was streamlined by @ktprograms: It now also displays the popup menu from the main player. A cool new setting was added by @Stypox: You can now automatically have videos playing in full screen if you use the main player. @Stypox also split search suggestions into two categories: local and remote. Now you have the option to enable or disable them independently of each other. @magicbrothers added a new Invidious instance, Tubus, meant for educational videos for children. @ktprograms finished the ongoing work of adding the “Show channel details” option where it was still missing, that is, in local playlists, feed items, and history items. Improved @sauravrao637 modified the app colours to be a bit darker when the dark theme is selected in the app, which looks loads better to us! He further added a darker splash screen variant when the OS’s theme is set to dark. We hope you like the new look too! @Stypox replaced the outdated Android-Universal-Image-Loader library (which has not had any new release in the last 6 years) with the more stable and updated Picasso, a library to download and cache images on Android (think all the thumbnails you see in the app). This fixes a nasty issue where the wrong notification thumbnail size could crash the whole System UI or even forcibly reboot the device! It also makes loading cached images instantaneous, and loading non-cached images smoother. @sherlockbeard changed the “video not available” image from a static PNG to a vector XML image, allowing it to scale properly for screens of all sizes. @Stypox added the mime-type field to all calls to the SAF file picker, which causes files with the incorrect file format to be greyed out and become non-selectable. This will ensure the user can only choose a ZIP file when importing their database, for example. This should be a great quality-of-life improvement for many users! Fixed @litetex, together with @Stypox, improved the comments parsing for timestamps, which could have resulted in a crash if it happened in the wrong place at the wrong time. @Aga-C added line wrapping to the settings texts, so they don’t get truncated anymore. @acti0 fixed a regression from a past release where the name of the video wasn’t being shared when sharing the video URL. @litetex fixed a bug where you had to tap the Replay button twice for it to actually work. While @litetex fixed the Replay button, they also fixed the direction buttons on D-Pads for Android TV users: the seekbar now jumps only 10 seconds, instead of several minutes. @litetex, being on a roll, reworked the error panel shown when an error happens. This results in a clearer error display. @Redirion implemented proper closure of audio streams when playback is stopped. This fixed a longstanding bug where NewPipe would create more and more audio sessions but use only one. This messed with equaliser apps. @TobiGr added proper error handling which might occur when trying to play a video in popup mode or get a search suggestion. @TobiGr also took care of a small UI bug: when one played something in the minimized player and changed the visibility of the description tab in the meantime, the visibility of the comments tab was changed instead. The app isn’t confused anymore, we cannot say the same about the dev… Translation @Stypox switched to using the custom cancel string everywhere, which is translated to more languages than the default android cancel string. They jumped onto that plane and replaced a couple more strings to better translated ones: “ok”, “yes”, “no”, and “cancel”. They also removed “add”, and renamed “finish” to “ok”, because it clearly means “ok”, not “finish”! @Aga-C added plural forms for download-related strings. @CBSkarmory improved some wording in the issue template; thanks! Nerd Talk @TobiGr updated the hardcoded SoundCloud client ID. @FireMasterK added support for extracting the channel avatar on YouTube and PeerTube. @FireMasterK also added the uploaderVerified info to the StreamInfo class. @litetex switched GitHub Actions to using the Eclipse Temurin Java distribution, as AdoptOpenJDK is getting deprecated. @Redirion replaced NewPipe’s custom buffer values with ExoPlayer’s default ones. @Isira-Seneviratne changed PackageInfo to its backwards-compatible version, PackageInfoCompat to fetch the app signatures. @litetex also updated the version of Kotlin used everywhere, and fixed some build problems. They also introduced a cache setting in the CI configuration which lets it run faster. @XiangRongLin added a Gradle parameter to prevent KtLint, the Kotlin linter+formatter, from being run twice in the GitHub Actions CI. dependabot updates: Bump gson from 2.8.7 to 2.8.8 Bump spotbugs-annotations from 4.4.0 to 4.4.1 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: Wait for them to update Switch to NewPipe’s custom repository by following the directions in the announcement post 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 the blog post till the end! We put quite some time into writing them. [Less]
Posted over 2 years ago
Hi. This release is definitely worth checking out. We are talking thumbnail previews when seeking on YouTube, hearts from YouTube channels on comments, a proper UI for disabled YouTube comments as well as other improved sections of the UI, and so ... [More] much more. Read on to find out! Before we start, we would like to welcome two new members to the NewPipe development team: @litetex and @FireMasterK. Welcome, and onwards to an amazing future! New Seekbar thumbnails are here, and they look awesome! You will see them as soon as you start seeking on a YouTube video. For those who don’t want them, they can be turned off in the Video and audio settings. Big thanks go towards @litetex who made the necessary changes in the app as well as in the Extractor. Speaking of good-looking new features, have a heart: Heart on comments YouTube channels can give comments on their videos a heart, and thanks to @KalleStruik, NewPipe displays these now! And while we are talking about comments, if a video has disabled comments, NewPipe now shows it in the UI properly. The related crash was fixed in the previous version. Thank you @litetex. Oh, and one more thing. You can mark an item from one of your lists as watched without playing it. It looks a little something like this: New mark as watched item in the context menu Thank you @nschulzke for implementing that shortcut. Improved @FireMasterK replaced the current YouTube player extraction API, which uses embedded video URLs, with YouTube’s IFrame player API. This reduces the extracted content size to – wait for it – less than 1/50th of the present size! Say hello to insanely fast player code extraction! @FireMasterK updated the list of countries supported by YouTube. @Stypox made some improvements to the metadata layout in the stream description UI. The tags are easier to view and tap now, thanks to them! Another UI improvement was made regarding service themes by @Stypox, @litetex and @TobiGr. Switches/toggles and the Play Queue page are themed according to the currently selected service now. Last but not least, @evermind-zz improved the player code, which should result in faster closing of the player, as well as preventing a memory leak. Thanks! Fixed The thumbnail in the minimized player at the bottom was broken by an earlier change, which @litetex has fixed now. An Unrecoverable player error occurred sometimes when one dared to rotate their device while a video was playing, which was fixed by @evermind-zz. You can now add the same stream to a queue multiple times as you prefer, thanks to @Stypox. On earlier versions, this would result in endless buffering. So this is a bug fix and a feature rolled into one! Sometimes there could be an old invalid download in the Downloads page which caused a crash on starting new downloads, so @Stypox made the app handle that. While he was at it, @Stypox also fixed a different error, an exception that occurred during a pre-download storage check while SAF was enabled. One wonders how many more there could be. @Douile found a way to minimize data usage for the reCAPTCHA challenge by loading an empty page, which prevents YouTube from staying loaded in the background and consuming data. @Douile also fixed a small issue where one could press on the hidden Feed items while it was being refreshed, resulting in a stuck loading screen. One last UI fix for this release, from @Stypox: The fix for the grid layout of channels in the Subscriptions tab accidentally made the layout less condensed, which has been reversed. @TiA4f8R modified the regular expressions (or regexes, as the cool kids say it) used to find the dreaded cipher deobfuscation function. This fixes a ‘Video not available’ error for some music videos. Nerd Talk @TacoTheDank upgraded the Gradle version to 7.1.1 for both NewPipe and the Extractor. @gardenappl fixed some typos in the comments for the Extractor code. In case content is not available for some reason, @Stypox made the app show the original error which caused it. @TacoTheDank also upgraded some libraries: AndroidX AppCompat 1.2.0 -> 1.3.1 AndroidX Media 1.2.1 -> 1.3.1 AndroidX Core 1.3.2 -> 1.6.0 AndroidX Fragment 1.3.5 -> 1.3.6 AndroidX Lifecycle 2.2.0 -> 2.3.1 Markwon 4.6.0 -> 4.6.2 Stetho 1.5.1 -> 1.6.0 AutoService 1.0-rc7 -> 1.0 @XiangRongLin noticed that the API level 29 runner was timing out, so it was removed temporarily. The bug was fixed by specifying the emulator-build version of the Android Emulator in the GitHub Actions CI to fix the timeout error. It was caused by the runner waiting for some user input to accept the Android SDK license, and was fixed upstream. An earlier version fixed NewPipe so that it shut down properly instead of being killed instantly by the OS. @XiangRongLin cleaned up some related code as a follow-up, including a variable that was no longer needed. He also fixed some warnings emitted by Sonar. @Isira-Seneviratne switched from several libraries to their Compat variants to improve backwards compatibility: NotificationChannel -> NotificationChannelCompat NotificationManager -> NotificationManagerCompat DisplayCutoutCompat -> WindowInsetsCompat GestureDetector -> GestureDetectorCompat (this automatically backports improvements to Android versions below 4.3, and hence, to NewPipe Legacy!) @XiangRongLin added instrumented tests (those which run on actual hardware or emulators to thoroughly detect bugs) for local playlist creation. @Isira-Seneviratne bumped the compileSdkVersion from 29 (Android 10) to 30 (Android 11), which will help detect new errors, warnings and deprecated APIs in the future. @litetex fixed a couple of build warnings regarding deprecated code in the Feed and Subscription tabs, pointed out by Android Studio. @Redirion added a Kotlin section in CONTRIBUTING.md for developers who wish to code for the app in this language. @Isira-Seneviratne introduced modern Kotlin methods to the License page, greatly simplifying the code. @TacoTheDank replaced multiple layouts for text edit dialogues used in various places with a single layout, thus ensuring they look uniform throughout the app. @TacoTheDank also replaced the deprecated (since API level 8! That’s Android Froyo!) fill_parent attribute for width and height in various layouts with match_parent. @litetex added a step to run KtLint, which checks code formatting for Kotlin files, before the build step in the GitHub Actions CI. Some dependabot updates: Bump spotbugs-annotations from 4.2.3 to 4.4.0 Bump jsoup from 1.13.1 to 1.14.2 @XiangRongLin fixed a failing PeerTube stream extractor test. @FireMasterK added the “Verified” field to the ChannelInfo class. It was already being extracted earlier, but now it’s available for use directly by other front-ends (like Piped!). 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: Wait for them to update Switch to NewPipe’s custom repository by following the directions in the announcement post 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. [Less]
Posted over 2 years ago
Hi. This release is definitely worth checking out. We are talking thumbnail previews when seeking on YouTube, hearts from YouTube channels on comments, a proper UI for disabled YouTube comments as well as other improved sections of the UI, and so ... [More] much more. Read on to find out! Before we start, we would like to welcome two new members to the NewPipe development team: @litetex and @FireMasterK. Welcome, and onwards to an amazing future! New Seekbar thumbnails are here, and they look awesome! You will see them as soon as you start seeking on a YouTube video. For those who don’t want them, they can be turned off in the Video and audio settings. Big thanks go towards @litetex who made the necessary changes in the app as well as in the Extractor. Speaking of good-looking new features, have a heart: Heart on comments YouTube channels can give comments on their videos a heart, and thanks to @KalleStruik, NewPipe displays these now! And while we are talking about comments, if a video has disabled comments, NewPipe now shows it in the UI properly. The related crash was fixed in the previous version. Thank you @litetex. Oh, and one more thing. You can mark an item from one of your lists as watched without playing it. It looks a little something like this: New mark as watched item in the context menu Thank you @nschulzke for implementing that shortcut. Improved @FireMasterK replaced the current YouTube player extraction API, which uses embedded video URLs, with YouTube’s IFrame player API. This reduces the extracted content size to – wait for it – less than 1/50th of the present size! Say hello to insanely fast player code extraction! @FireMasterK updated the list of countries supported by YouTube. @Stypox made some improvements to the metadata layout in the stream description UI. The tags are easier to view and tap now, thanks to them! Another UI improvement was made regarding service themes by @Stypox, @litetex and @TobiGr. Switches/toggles and the Play Queue page are themed according to the currently selected service now. Last but not least, @evermind-zz improved the player code, which should result in faster closing of the player, as well as preventing a memory leak. Thanks! Fixed The thumbnail in the minimized player at the bottom was broken by an earlier change, which @litetex has fixed now. An Unrecoverable player error occurred sometimes when one dared to rotate their device while a video was playing, which was fixed by @evermind-zz. You can now add the same stream to a queue multiple times as you prefer, thanks to @Stypox. On earlier versions, this would result in endless buffering. So this is a bug fix and a feature rolled into one! Sometimes there could be an old invalid download in the Downloads page which caused a crash on starting new downloads, so @Stypox made the app handle that. While he was at it, @Stypox also fixed a different error, an exception that occurred during a pre-download storage check while SAF was enabled. One wonders how many more there could be. @Douile found a way to minimize data usage for the reCAPTCHA challenge by loading an empty page, which prevents YouTube from staying loaded in the background and consuming data. @Douile also fixed a small issue where one could press on the hidden Feed items while it was being refreshed, resulting in a stuck loading screen. One last UI fix for this release, from @Stypox: The fix for the grid layout of channels in the Subscriptions tab accidentally made the layout less condensed, which has been reversed. @TiA4f8R modified the regular expressions (or regexes, as the cool kids say it) used to find the dreaded cipher deobfuscation function. This fixes a ‘Video not available’ error for some music videos. Nerd Talk @TacoTheDank upgraded the Gradle version to 7.1.1 for both NewPipe and the Extractor. @gardenappl fixed some typos in the comments for the Extractor code. In case content is not available for some reason, @Stypox made the app show the original error which caused it. @TacoTheDank also upgraded some libraries: AndroidX AppCompat 1.2.0 -> 1.3.1 AndroidX Media 1.2.1 -> 1.3.1 AndroidX Core 1.3.2 -> 1.6.0 AndroidX Fragment 1.3.5 -> 1.3.6 AndroidX Lifecycle 2.2.0 -> 2.3.1 Markwon 4.6.0 -> 4.6.2 Stetho 1.5.1 -> 1.6.0 AutoService 1.0-rc7 -> 1.0 @XiangRongLin noticed that the API level 29 runner was timing out, so it was removed temporarily. The bug was fixed by specifying the emulator-build version of the Android Emulator in the GitHub Actions CI to fix the timeout error. It was caused by the runner waiting for some user input to accept the Android SDK license, and was fixed upstream. An earlier version fixed NewPipe so that it shut down properly instead of being killed instantly by the OS. @XiangRongLin cleaned up some related code as a follow-up, including a variable that was no longer needed. He also fixed some warnings emitted by Sonar. @Isira-Seneviratne switched from several libraries to their Compat variants to improve backwards compatibility: NotificationChannel -> NotificationChannelCompat NotificationManager -> NotificationManagerCompat DisplayCutoutCompat -> WindowInsetsCompat GestureDetector -> GestureDetectorCompat (this automatically backports improvements to Android versions below 4.3, and hence, to NewPipe Legacy!) @XiangRongLin added instrumented tests (those which run on actual hardware or emulators to thoroughly detect bugs) for local playlist creation. @Isira-Seneviratne bumped the compileSdkVersion from 29 (Android 10) to 30 (Android 11), which will help detect new errors, warnings and deprecated APIs in the future. @litetex fixed a couple of build warnings regarding deprecated code in the Feed and Subscription tabs, pointed out by Android Studio. @Redirion added a Kotlin section in CONTRIBUTING.md for developers who wish to code for the app in this language. @Isira-Seneviratne introduced modern Kotlin methods to the License page, greatly simplifying the code. @TacoTheDank replaced multiple layouts for text edit dialogues used in various places with a single layout, thus ensuring they look uniform throughout the app. @TacoTheDank also replaced the deprecated (since API level 8! That’s Android Froyo!) fill_parent attribute for width and height in various layouts with match_parent. @litetex added a step to run KtLint, which checks code formatting for Kotlin files, before the build step in the GitHub Actions CI. Some dependabot updates: Bump spotbugs-annotations from 4.2.3 to 4.4.0 Bump jsoup from 1.13.1 to 1.14.2 @XiangRongLin fixed a failing PeerTube stream extractor test. @FireMasterK added the “Verified” field to the ChannelInfo class. It was already being extracted earlier, but now it’s available for use directly by other front-ends (like Piped!). 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: Wait for them to update Switch to NewPipe’s custom repository by following the directions in the announcement post 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. [Less]
Posted almost 3 years ago
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 ... [More] 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: Wait for them to update Switch to NewPipe’s custom repository by following the directions in the announcement post 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. [Less]
Posted almost 3 years ago
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 ... [More] 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: Wait for them to update Switch to NewPipe’s custom repository by following the directions in the announcement post 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. [Less]
Posted almost 3 years ago
Today brings you 0.21.6, and hopefully much joy. We made slight improvements to the UI of our app: You now get notified about deleted channels upon opening them, or when refreshing your feed, and you can instantly search hashtags given in video ... [More] descriptions. NewPipe also properly supports the Storage Access Framework, which allows you to save your downloads to an external storage medium (such as an SD Card) if you so desire! New You can now tap on hashtags in the stream description, which will execute a search with that hashtag. This was added by @TiA4f8R. @mauriciocolli introduced a new button which lets you hide videos you’ve already played within a feed! Simple in theory, but quite complex in execution. Eventually, @Stypox took over the PR and finished ironing out the kinks, so enjoy your neat feeds devoid of previously seen videos! @Dakkaron added a new Appearance setting to manually enable or disable Tablet Mode. So if you have an Android TV which NewPipe mistakenly considers a phone or vice-versa, you can fiddle with this setting, so it works to your liking. Improved Full SAF (Storage Access Framework) support is finally here! This makes NewPipe future-proof with respect to data storage and retrieval. Why? In Android 10, Google introduced a security feature known as Scoped Storage, which only lets an app see the specific folder or folders in the filesystem which pertain to it, and nothing else (such as your private data from another app). This requires SAF to be enabled. If that wasn’t enough, SAF enables storing your downloads on external storage! This massive undertaking was initiated over a year ago by @wb9688, and was then taken on by @Stypox, who improved upon it. Thanks to both of them for getting this implemented! SAF will automatically be enabled for you if you have Android 6 and above, and is now the only option on Android 10 and above. Meanwhile, Kitkat users can only use the native file picker. Note: SAF is still disabled on Fire TV due to a Fire OS GUI bug. NewPipe has learned to detect deleted channels, both upon opening them from the Subscriptions list, and when refreshing a feed containing such channels! Upon encountering such channels during a refresh, the app will notify you and prompt you to delete them. This functionality required a small addition to NewPipe Extractor as well. @TobiGr took care of both sides, with help from @Stypox regarding implementation. So no more snackbar errors every time you update a feed which has deleted channels! Moreover, opening a terminated channel will show you a proper error message explaining why the channel was terminated, instead of a generic error. Everyone who enjoys reading software licenses (who doesn’t?!) and does this inside the NewPipe app can now explore the websites of these licenses using the new “Open website” button in the license pop-up easily, thanks to @Peyman-hme. @TiA4f8R upgraded the Share Sheet on Android 10 and above to show the title of the media/channel/playlist being shared. Some Android variants don’t provide the “Copy to clipboard” option in the Share Sheet. So @Abanoub8 added the ability to long-press the Share button below the player, which copies the media URL directly into your clipboard. @TiA4f8R also fixed video timestamps in the description so that they open in the popup player (just like timestamps in comments), instead of trying to open in another app entirely, or even in a restarted instance of NewPipe (which led to a loss of browsing session history/backstack). @B0pol updated the list of Invidious instance URLs that can be opened by NewPipe. He also added Piped URLs to the same list. For those who don’t know, Piped is a great alternative YouTube front-end similar to Invidious, but based on the NewPipe Extractor instead! The biggest advantage to having this additional option is that if Invidious isn’t working for you, Piped probably will, and vice-versa! Piped is developed by the awesome @FireMasterK, who you might recognise from previous blog posts and contributions to NewPipe. @Stypox slightly improved the layout of streams in the Play Queue. Fixed @B0pol fixed the extraction of some age-restricted videos on YouTube. @evermind-zz plugged a memory leak by dismissing any user choice dialogues before exiting an activity. @Redirion fixed a crash that occurred when NewPipe connected to certain Bluetooth devices, such as car audio systems. Translation @chr56 fixed Simplified Chinese plurals in the app. Thanks! Also, a huge thanks to all the other translators who keep the many languages of this app up to date every release. Nerd Talk @TobiGr added the streamPosition attribute for comments. This isn’t meant for NewPipe, but for other users of the NewPipe Extractor library who might wish to implement timestamped comments for SoundCloud. @FireMasterK added dependabot to the Extractor repo, which is a GitHub bot that automatically opens PRs to update dependencies one by one, saving the maintainers some manual work. It has already proven useful by updating a few dependencies: Bump gson from 2.8.6 to 2.8.7 Bump rhino from 1.7.12 to 1.7.13 Bump spotbugs-annotations from 4.0.2 to 4.2.3 @TobiGr updated the hardcoded client ID for SoundCloud. @XiangRongLin removed personal IPv4 addresses from the automatically generated mock tests and ensured that they won’t slip in again. Since NewPipe uses Java 8 now, @Isira-Seneviratne went ahead and converted the abstract class DAOs (data access objects) to interfaces (Read: coder did some coding magic, now things are better somehow, don’t ask us why). @Imericxu improved the app code by resolving some Checkstyle warnings related to Tabs (Trending, Subscriptions, etc.). @Isira-Seneviratne updated the AndroidX Room library to v2.3.0. This also allowed him to migrate Converters (utility functions which provide easy conversion from one data type to another) to Kotlin. @danielmbutler replaced the System.exit function calls used to close NewPipe with getActivity.finishAffinity(). Now instead of straight up killing the app process in one go, the OS will let the app close gracefully by allowing it to call all its functions to stop activities in the correct order, and free up memory gradually. This improvement was suggested by @Redirion. @TacoTheDank updated the AndroidX Fragment library from version 1.2.4 to 1.3.4, and changed related app code accordingly. Because there were numerous breaking changes made to the library between these versions, this accidentally introduced a regression where NewPipe would crash upon tapping the Search button. This was eventually fixed by @Douile, who also added a null check to prevent similar crashes in the future. @TacoTheDank also annotated some overridden methods and parameters as NonNull, as suggested by the code linter, improving the code quality. @B0pol refactored a couple of lines of code, as suggested by Android Studio. @XiangRongLin temporarily disabled the test-android GitHub CI job because it wasn’t working properly on macOS. @opusforlife2 added a section for screenshots/screenrecords in the Pull Request template, to be used for easy before/after comparison if developers make UI changes. This improvement was suggested by @B0pol. @TobiGr fixed the invalid CONSENT cookie value. This was causing parsing failures on YouTube. 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: Wait for them to update Switch to NewPipe’s custom repository by following the directions in the announcement post 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. [Less]
Posted almost 3 years ago
Today brings you 0.21.6, and hopefully much joy. We made slight improvements to the UI of our app: You now get notified about deleted channels upon opening them, or when refreshing your feed, and you can instantly search hashtags given in video ... [More] descriptions. NewPipe also properly supports the Storage Access Framework, which allows you to save your downloads to an external storage medium (such as an SD Card) if you so desire! New You can now tap on hashtags in the stream description, which will execute a search with that hashtag. This was added by @TiA4f8R. @mauriciocolli introduced a new button which lets you hide videos you’ve already played within a feed! Simple in theory, but quite complex in execution. Eventually, @Stypox took over the PR and finished ironing out the kinks, so enjoy your neat feeds devoid of previously seen videos! @Dakkaron added a new Appearance setting to manually enable or disable Tablet Mode. So if you have an Android TV which NewPipe mistakenly considers a phone or vice-versa, you can fiddle with this setting, so it works to your liking. Improved Full SAF (Storage Access Framework) support is finally here! This makes NewPipe future-proof with respect to data storage and retrieval. Why? In Android 10, Google introduced a security feature known as Scoped Storage, which only lets an app see the specific folder or folders in the filesystem which pertain to it, and nothing else (such as your private data from another app). This requires SAF to be enabled. If that wasn’t enough, SAF enables storing your downloads on external storage! This massive undertaking was initiated over a year ago by @wb9688, and was then taken on by @Stypox, who improved upon it. Thanks to both of them for getting this implemented! SAF will automatically be enabled for you if you have Android 6 and above, and is now the only option on Android 10 and above. Meanwhile, Kitkat users can only use the native file picker. Note: SAF is still disabled on Fire TV due to a Fire OS GUI bug. NewPipe has learned to detect deleted channels, both upon opening them from the Subscriptions list, and when refreshing a feed containing such channels! Upon encountering such channels during a refresh, the app will notify you and prompt you to delete them. This functionality required a small addition to NewPipe Extractor as well. @TobiGr took care of both sides, with help from @Stypox regarding implementation. So no more snackbar errors every time you update a feed which has deleted channels! Moreover, opening a terminated channel will show you a proper error message explaining why the channel was terminated, instead of a generic error. Everyone who enjoys reading software licenses (who doesn’t?!) and does this inside the NewPipe app can now explore the websites of these licenses using the new “Open website” button in the license pop-up easily, thanks to @Peyman-hme. @TiA4f8R upgraded the Share Sheet on Android 10 and above to show the title of the media/channel/playlist being shared. Some Android variants don’t provide the “Copy to clipboard” option in the Share Sheet. So @Abanoub8 added the ability to long-press the Share button below the player, which copies the media URL directly into your clipboard. @TiA4f8R also fixed video timestamps in the description so that they open in the popup player (just like timestamps in comments), instead of trying to open in another app entirely, or even in a restarted instance of NewPipe (which led to a loss of browsing session history/backstack). @B0pol updated the list of Invidious instance URLs that can be opened by NewPipe. He also added Piped URLs to the same list. For those who don’t know, Piped is a great alternative YouTube front-end similar to Invidious, but based on the NewPipe Extractor instead! The biggest advantage to having this additional option is that if Invidious isn’t working for you, Piped probably will, and vice-versa! Piped is developed by the awesome @FireMasterK, who you might recognise from previous blog posts and contributions to NewPipe. @Stypox slightly improved the layout of streams in the Play Queue. Fixed @B0pol fixed the extraction of some age-restricted videos on YouTube. @evermind-zz plugged a memory leak by dismissing any user choice dialogues before exiting an activity. @Redirion fixed a crash that occurred when NewPipe connected to certain Bluetooth devices, such as car audio systems. Translation @chr56 fixed Simplified Chinese plurals in the app. Thanks! Also, a huge thanks to all the other translators who keep the many languages of this app up to date every release. Nerd Talk @TobiGr added the streamPosition attribute for comments. This isn’t meant for NewPipe, but for other users of the NewPipe Extractor library who might wish to implement timestamped comments for SoundCloud. @FireMasterK added dependabot to the Extractor repo, which is a GitHub bot that automatically opens PRs to update dependencies one by one, saving the maintainers some manual work. It has already proven useful by updating a few dependencies: Bump gson from 2.8.6 to 2.8.7 Bump rhino from 1.7.12 to 1.7.13 Bump spotbugs-annotations from 4.0.2 to 4.2.3 @TobiGr updated the hardcoded client ID for SoundCloud. @XiangRongLin removed personal IPv4 addresses from the automatically generated mock tests and ensured that they won’t slip in again. Since NewPipe uses Java 8 now, @Isira-Seneviratne went ahead and converted the abstract class DAOs (data access objects) to interfaces (Read: coder did some coding magic, now things are better somehow, don’t ask us why). @Imericxu improved the app code by resolving some Checkstyle warnings related to Tabs (Trending, Subscriptions, etc.). @Isira-Seneviratne updated the AndroidX Room library to v2.3.0. This also allowed him to migrate Converters (utility functions which provide easy conversion from one data type to another) to Kotlin. @danielmbutler replaced the System.exit function calls used to close NewPipe with getActivity.finishAffinity(). Now instead of straight up killing the app process in one go, the OS will let the app close gracefully by allowing it to call all its functions to stop activities in the correct order, and free up memory gradually. This improvement was suggested by @Redirion. @TacoTheDank updated the AndroidX Fragment library from version 1.2.4 to 1.3.4, and changed related app code accordingly. Because there were numerous breaking changes made to the library between these versions, this accidentally introduced a regression where NewPipe would crash upon tapping the Search button. This was eventually fixed by @Douile, who also added a null check to prevent similar crashes in the future. @TacoTheDank also annotated some overridden methods and parameters as NonNull, as suggested by the code linter, improving the code quality. @B0pol refactored a couple of lines of code, as suggested by Android Studio. @XiangRongLin temporarily disabled the test-android GitHub CI job because it wasn’t working properly on macOS. @opusforlife2 added a section for screenshots/screenrecords in the Pull Request template, to be used for easy before/after comparison if developers make UI changes. This improvement was suggested by @B0pol. @TobiGr fixed the invalid CONSENT cookie value. This was causing parsing failures on YouTube. 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: Wait for them to update Switch to NewPipe’s custom repository by following the directions in the announcement post 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. [Less]
Posted almost 3 years ago
“What?”, you exclaim. “A new update? And it’s not even a hotfix? But we had the last update just a few days ago!” Well, deal with it. B) (For the millenials, B) is the cool sunglasses emoji that your parents used in the pre-Unicode era.) Don’t get ... [More] used to it, though. This is still a volunteer project being done in everyone’s free time. This indeed isn’t a hotfix. And it isn’t even a minor update! We actually bring you another main user-facing feature: content metadata! Now you can view more information about a video in the Description tab, such as its category, tags, license and so on. If that is not enough for you, the broken like count for YouTube comments has been fixed. Moreover, the channel description doesn’t lose words between the first and second line anymore. Read on to find out more details. Eh? Eh? Anyone? No? Okay. (Tough crowd.) New @Stypox is back with a bang! You can now view a video’s metadata in the Description tab. For example, the video’s license, category, tags, privacy, age limit (if it applies) and the thumbnail URL. Tags are also tappable, so tapping one opens up a search with that tag. Continuing their previous work, @mhmdanas added the “Show channel details” option to remote playlists as well. @TiA4f8R added the option to open channels or videos in the browser via the long-press menu. Fixed Fetching likes for YouTube comments was broken, so the like count was always zero. @litetex fixed this so you can see the correct like count again. @sauravrao637 limited the “Preferred ‘Open’ action” setting to work on shared video links only, and not for channel and playlist links. Thanks to @SameenAhnaf for noticing this major gotcha. @TobiGr fixed the text on blank tabs to be centre-aligned if it runs into multiple lines. @Imericxu added automatic removal of rich text formatting when pasting any text into the search field. Them HTML tags ain’t gonna be rendered no more. Get outta here with your markup. @sauravrao637 added error handling to the function which fetches stream sizes in the Download dialog. Without it, an error when fetching could potentially crash the app. With it, you will just see a harmless little snackbar, should you ever encounter such an error. @sauravrao637 also fixed channel descriptions in search results truncating words between the first line and the second, which probably led to some users being confused and questioning their grammar knowledge. If you were to rotate the app on a page that showed the “Video not available” error, it would cause a crash, which has been fixed by @evermind-zz. The same crash occurred when you rotated the device while the video page was still loading. @XiangRongLin changed the behaviour of saving the import/export database path to only do so when an import/export successfully takes place. Also, when importing a backup, the path is committed immediately because the app is just about to be restarted. If you changed playback speed from the Play Queue page, it wouldn’t reflect in the UI until you paused or scrubbed through the stream. @TobiGr fixed it so that the speed is updated immediately. @TiA4f8R fixed the “Play with Kodi” button inside the player. It prompted the user to install Kore even if it was already installed. Now it works correctly, just like the buttons on the video page and the long-press menu. @fynngodau fixed the Bandcamp app intent filter so that it doesn’t accept invalid URLs, including a fix from @yashpalgoyal1304. @Douile found and fixed a bug that’s a little complicated to trigger. You open a video with chapters, enqueue another video, open the queue menu, and finally open the chapter menu. This would add the queue progress timer from the queue menu to the chapter menu as well, with the timer stuck. Well, it’s gone now. And maybe avoid such complicated steps in the future. Nerd Talk @litetex updated the Java distribution for GitHub Actions to version 2. If you’re experiencing deja vu upon reading this, that’s because this same update was done by TacoTheDank for the NewPipe repo. litetex has done this update however for the NewPipeExtractor repo. They also changed (for both the Extractor repo and the NewPipe repo) the Java distribution of GitHub CI from the default Zulu to Adopt, which is unbranded and more likely to be maintained than the free version of Zulu. @XiangRongLin fixed a failing test for YouTube Covid-19 metadata, as well as one for PeerTube account extraction. @TobiGr updated the JUnit unit testing framework from version 4.13.1 to 4.13.2, both for the Extractor repo and the NewPipe repo. This is gonna make NewPipe 5x faste– no it won’t. Don’t believe everything you read on the internet. @TiA4f8R specified UTF-8 file encoding in a couple of test-related files, because Windows likes to use non-standard file encodings (“Haha! Look at my market share and weep!”), while the GitHub Actions CI runs on a Linux-based OS. @TobiGr changed a URL-related error message to be more accurate. @Stypox added a neat utility function to replace several repeating lines of code with a single function call. @Imericxu refactored the PlayQueue class and added unit tests for it. Testing is important. Please visit the Aperture Science Enrichment Center to test to your heart’s content (and then test some more). @TobiGr updated the core Android JDK desugaring library from version 1.1.1 to 1.1.5. @mhmdanas bumped the PrettyTime library version from 5.0.0 to 5.0.1. This update brings support for the Somali language and fixes an error in the Romanian time translations. @TobiGr fixed some more Android Studio warnings. 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: Wait for them to update Switch to NewPipe’s custom repository by following the directions in the announcement post 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. [Less]
Posted almost 3 years ago
“What?”, you exclaim. “A new update? And it’s not even a hotfix? But we had the last update just a few days ago!” Well, deal with it. B) (For the millenials, B) is the cool sunglasses emoji that your parents used in the pre-Unicode era.) Don’t get ... [More] used to it, though. This is still a volunteer project being done in everyone’s free time. This indeed isn’t a hotfix. And it isn’t even a minor update! We actually bring you another main user-facing feature: content metadata! Now you can view more information about a video in the Description tab, such as its category, tags, license and so on. If that is not enough for you, the broken like count for YouTube comments has been fixed. Moreover, the channel description doesn’t lose words between the first and second line anymore. Read on to find out more details. Eh? Eh? Anyone? No? Okay. (Tough crowd.) New @Stypox is back with a bang! You can now view a video’s metadata in the Description tab. For example, the video’s license, category, tags, privacy, age limit (if it applies) and the thumbnail URL. Tags are also tappable, so tapping one opens up a search with that tag. Continuing their previous work, @mhmdanas added the “Show channel details” option to remote playlists as well. @TiA4f8R added the option to open channels or videos in the browser via the long-press menu. Fixed Fetching likes for YouTube comments was broken, so the like count was always zero. @litetex fixed this so you can see the correct like count again. @sauravrao637 limited the “Preferred ‘Open’ action” setting to work on shared video links only, and not for channel and playlist links. Thanks to @SameenAhnaf for noticing this major gotcha. @TobiGr fixed the text on blank tabs to be centre-aligned if it runs into multiple lines. @Imericxu added automatic removal of rich text formatting when pasting any text into the search field. Them HTML tags ain’t gonna be rendered no more. Get outta here with your markup. @sauravrao637 added error handling to the function which fetches stream sizes in the Download dialog. Without it, an error when fetching could potentially crash the app. With it, you will just see a harmless little snackbar, should you ever encounter such an error. @sauravrao637 also fixed channel descriptions in search results truncating words between the first line and the second, which probably led to some users being confused and questioning their grammar knowledge. If you were to rotate the app on a page that showed the “Video not available” error, it would cause a crash, which has been fixed by @evermind-zz. The same crash occurred when you rotated the device while the video page was still loading. @XiangRongLin changed the behaviour of saving the import/export database path to only do so when an import/export successfully takes place. Also, when importing a backup, the path is committed immediately because the app is just about to be restarted. If you changed playback speed from the Play Queue page, it wouldn’t reflect in the UI until you paused or scrubbed through the stream. @TobiGr fixed it so that the speed is updated immediately. @TiA4f8R fixed the “Play with Kodi” button inside the player. It prompted the user to install Kore even if it was already installed. Now it works correctly, just like the buttons on the video page and the long-press menu. @fynngodau fixed the Bandcamp app intent filter so that it doesn’t accept invalid URLs, including a fix from @yashpalgoyal1304. @Douile found and fixed a bug that’s a little complicated to trigger. You open a video with chapters, enqueue another video, open the queue menu, and finally open the chapter menu. This would add the queue progress timer from the queue menu to the chapter menu as well, with the timer stuck. Well, it’s gone now. And maybe avoid such complicated steps in the future. Nerd Talk @litetex updated the Java distribution for GitHub Actions to version 2. If you’re experiencing deja vu upon reading this, that’s because this same update was done by TacoTheDank for the NewPipe repo. litetex has done this update however for the NewPipeExtractor repo. They also changed (for both the Extractor repo and the NewPipe repo) the Java distribution of GitHub CI from the default Zulu to Adopt, which is unbranded and more likely to be maintained than the free version of Zulu. @XiangRongLin fixed a failing test for YouTube Covid-19 metadata, as well as one for PeerTube account extraction. @TobiGr updated the JUnit unit testing framework from version 4.13.1 to 4.13.2, both for the Extractor repo and the NewPipe repo. This is gonna make NewPipe 5x faste– no it won’t. Don’t believe everything you read on the internet. @TiA4f8R specified UTF-8 file encoding in a couple of test-related files, because Windows likes to use non-standard file encodings (“Haha! Look at my market share and weep!”), while the GitHub Actions CI runs on a Linux-based OS. @TobiGr changed a URL-related error message to be more accurate. @Stypox added a neat utility function to replace several repeating lines of code with a single function call. @Imericxu refactored the PlayQueue class and added unit tests for it. Testing is important. Please visit the Aperture Science Enrichment Center to test to your heart’s content (and then test some more). @TobiGr updated the core Android JDK desugaring library from version 1.1.1 to 1.1.5. @mhmdanas bumped the PrettyTime library version from 5.0.0 to 5.0.1. This update brings support for the Somali language and fixes an error in the Romanian time translations. @TobiGr fixed some more Android Studio warnings. 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: Wait for them to update Switch to NewPipe’s custom repository by following the directions in the announcement post 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. [Less]