Releases: TeamNewPipe/NewPipe
Release list
v0.29.1
v0.29.0
Fixed
- Fix SecurityException when opening downloaded files in other app #13391
- Fix playback not working after player enters idle state #13390
- Fix video playback when exiting popup to main screen #13437
- Fix repeat mode UI out-of-sync when switching videos #13504
- Fix crash when seeking to the end of special videos (again) #13594
- Force keyboard dismissal on non-touch devices #13337
- Fixed importing subscriptions #13608
Translation / Localization
Development
- Update dependencies and plugins #13425 #13444 #13505 #13531 #13611
- Bump
minSdkfrom 21 (Android 5.0) to 23 (Android 6) #13425 #13441 - Update dependencies and build with JDK 21 #13454
- Introduce compose multiplatform #13507
- Compose rewrite #13486 #13652
NewPipe Extractor
This release comes with additional bug fixes from NewPipe Extractor 0.26.4.
v0.28.8
This release fixes issues that were caused by YouTube enforcing its SABR protocol, except for videos made for kids due to a limitation of the workaround. Most notable were missing video resolutions, no separate audio stream available and the sole availability of MP4 360p stream with audio. This workaround is a community effort. Thanks to all the people involved! #13591
This release is shipped with NewPipe Extractor v0.26.3 which contains the mentioned workaround as well as a few other fixes, including no videos extracted on YouTube playlists and Bandcamp search returning no results.
v0.28.7
This is a small hotfix update to make YouTube usable again. It is necessary, because there were changes by YouTube.
NewPipe is able to extract items in channel tabs again thanks to @AudricV's and @Ecomont's efforts.
Further changes from NewPipe Extractor v0.26.2 that are included in this release:
- [YouTube] Fixed duration and live stream display in related videos
- [SoundCloud] Fixed comments crash by handling null page URLs
NewPipe will drop Android 5 support in the next release.
v0.28.6
v0.28.5
⚠️ Android developer verification program updates ⚠️
Alphabet/Google is about to introduce verification for developers who want to distribute apps to more than 20 devices. One of the main goals is to complicate and hinder installing apps through "unofficial" channels. As mentioned in our last release notes and a blog post we strongly oppose these plans. The European Commision has issued a statement that it is monitoring the situation and is "engaged in a regulatory dialogue" with Alphabet/Google. If you haven't already, please reach out to your representatives about this issue. For more updates and background information, visit https://keepandroidopen.org/.
Improved
- Add UI options to import/export subsciptions in backup & restore settings #13347
Fixed
- Fix NullPointerException in enqueue actions by using Application Context #13385
- [YouTube] Fix parsing duration of related items #13403 TeamNewPipe/NewPipeExtractor#1464
Translation & Localization
- Updated translations and removed untranslated locales #13382
Development
- Small improvements to Image handling #13207
- Remove freedroidwarn license #13305
- Port path related changes from refactor #13352
- Update dependencies and Gradle to latest stable release #13363
NewPipe Extractor
This release is shipped with NewPipe Extractor v0.26.1. For additional extractor related changes see the linked release.
v0.28.4
New
Improved
- [Feed] Shuffle the order outdated subscriptions are updated in #13161
- Do not stack comment pages #13213
- VideoDetailFragment: Forcefully catch click events uncaught by children #13203
- Add link to FAQ entry to "Sign in to confirm not a bot" exception message #13310
Fixed
- Fix comment replies header layout without avatar image #13241
- Fix subtitle post-processing error losing original exception #13256
- Hide related items in tablet mode after fullscreen exit if showing related items is disabled #13037
- Hide controls when resuming playback via double tap #13030
- Fix inconsistency in getQuantity and add docs #13293
Development
- Upgrade Android Gradle Plugin to 9.0.0 #13136 #13190
- Kotlin conversion #13028 #13219 #13026 #13224 #13225 #13247
- Code cleanup #13131 #13137 #13236
- Enable lint checks and resource shrinking. The APK size has been reduced significantly. #13194 #13290
- Accomodate extractor changes (EnumSet for service media capabilities) #13148
- Migrate from Picasso to Coil #13272
Dependency updates
- Update dependencies and Gradle to latest stable releases #13276
CI
v0.28.3
Improved
- [YouTube] Added support for more channel URL formats
- [YouTube] Added support for more video metainfo formats
Fixed
- Fixed resuming streams at the last playback position #13195
Translation / Localization
- Updated translations
NewPipe Extractor
This version comes with the changes mentioned above and additional changes which are included in NewPipe Extractor v0.25.2.
v0.28.2
ℹ️ Hotfix release
This hotfix release fixes the "Content not available" error that prevents YouTube videos from being played: #13082. It also fixes a few regressions that slipped through with 0.28.1: #13072 #13031 #13040 #13046.
Improved
- [YouTube] Restore ability to rewind livestreams up to 4 hours #12601
- Disable video and text tracks when playing livestreams in background player #12601
- Allow reporting
ContentNotAvailableExceptionerrors if they may be caused by extractor bugs #13133
Fixed
- [YouTube] Fix page reload required error and related breaking API changes #13129
- Fix playlist items dragging to only neighbor positions #13049
- Fix video title and comments flickering back and forth between current and previous video #13132
- Fix "Start main player in fullscreen" option not working anymore (reverts #12781) #13134
- Fix header crash while scrolling in a playlist or just after deleting a video in it #12996
- Fixed a bug that prevented the display of multiple empty playlists #13055
- Fix "remove watched" button in playlist removes some unwatched streams too #12929
Development
- Delete long orphaned file #13000
- Use "factory" method for creating db migrations #12990
- Update dependencies #12995
- Kotlin refactor #13036
- Delete unused code #13019
- Enable multiple ktlint checks #13081
CI
v0.28.1
➡️ ➡️ ➡️ Read the blog post ⬅️ ⬅️ ⬅️
NewPipe 0.28.1 is shipped with NewPipe Extractor 0.25.0. For extraction related changes see the linked release.
New
Improved
- Fix clearing queue and keep current player when clicking on timestamps #12252 #12254 #12898
- Try to recover pending download missions when possible #12550
- Add option to delete a download without also deleting file #12544
- Add enqueue option to router dialog #12821
- Add more specific error messages and deduplicate their handling #12578 #12603
- Overlay Permission: display explanatory dialog for Android > R #12253
- Notifications are no longer requested again after rotating the phone #12716
- Allow dragging boorkmarked playlist in both directions #13008
Fixed
Player
- [Player] Use original audio language by default #12931
- Remember and restore orientation on fullscreen exit #12840 #12781
- Fix ghost notifications and fix random player crashes ("
startForegroundService()did not then callstartForeground()") #12606 - Fix audio language button pushing player controls off-screen in portrait and popup #12699 #12714 #12729
- Fix scaleX being NaN on minimize to background app switch #12952
Downloader
- Fix insufficient permissions on opening downloaded streams #12934
- Fix download resume corruption when server returns HTTP 200 #13014
- Fix missing subtitle text in manually downloaded *.SRT files #12575
- Fix initial numbering of frames in TTML to SRT converter #12671
Other
- Fix short count formatting for Android versions below 7.0 #12460
- Fix and simplify opening URLs in browser #12605
- Fix long-pressing Play All-button does nothing #12692
- Enforce using SAF on FireOS TVs with Android 10+ #12642
- Commit all the playlist changes to db immediately to prevent incorrect UI states #13005
- Fix incorrect UI states of PlayQueue items #12922
- Fix crash on screen rotation while entering SoundCloud import URL #12995
Translation / Localization
Development
- Target SDK 35 #12388
- Correctly ignore new version check for Picasso #12483
- Update Android Gradle Plugin to 8.13.0 #12616
- Remove
isUsingDSP#12676 - Switch to version catalogs, migrate Gradle files from Groovy DSL to Kotlin DSL #12706 #12765
- Migrate from KAPT to KSP #12746 #12816 #12820 #12489 #12849 #12864 #12954 #12975
- Dependency updates #12684 #12776
- Revert Google Material Components to 1.11.0 #13018
- Deprecation fixes #12885 #12897
- Use context.getString() shorthand instead of context.getResources().getString() #12949
- Convert newpipe/util/KioskTranslator.java to kotlin #12947
- Add AI policy to contribution guidelines and PR template #12909
- Code quality improvements #12973 #12963 #12981
- workflows: Update actions versions #12986
- Kotlin migration #12978