Skip to content

Releases: TeamNewPipe/NewPipe

v0.27.7

07 May 18:16
81b4e3f
Compare
Choose a tag to compare

This hotfix release fixes YouTube only providing a 360p stream #12126 #12134 TeamNewPipe/NewPipeExtractor#1297

Note that the solution employed in this version is likely temporary, and in the long run the SABR video protocol needs to be implemented, but TeamNewPipe members are currently busy so any help would be greatly appreciated! Take a look at #12248 for more information.

v0.27.6

05 Feb 13:50
c6e1721
Compare
Choose a tag to compare

➡️ ➡️ ➡️ Read the blog post, which also contains information about the rewrite state and the team state ⬅️ ⬅️ ⬅️

This hotfix release fixes various YouTube issues:

Warning

YouTube requests now require to run and pass Google's web browsers integrity checks, which NewPipe performs through the system WebView. Therefore, if your device does not have a working WebView implementation, NewPipe will have to fallback to other video extraction methods which might incur in HTTP 403 errors when playing.

New

Improved

  • Convert error report timestamps to ISO format #11887

Fixed

  • Fix caption sizes not being changed #11806
  • Fix loading StreamInfo twice on first VideoDetailFragment opening #11959
  • [Soundcloud] Remove unplayable DRM-protected streams and reduce network requests TeamNewPipe/NewPipeExtractor#1269
  • DownloaderImpl: Auto-close resources and simplify headers setting #11969

Translation / Localization

  • Correct a typo in contribution guidelines #11784
  • Add link to donation page on app drawer #11870

Development

  • Fix image-minimizer on lines containing multiple images #11879

v0.27.5

22 Jan 09:49
58393ad
Compare
Choose a tag to compare

This hotfix release fixes YouTube videos not loading due to extractor error IOS player response is not valid (see #11934 and TeamNewPipe/NewPipeExtractor#1262).

Note

This release only addresses the most pressing error that prevents YouTube video details from loading.
We are aware there are other problems, and we will soon make a separate release to solve them.

v0.27.4

30 Nov 19:29
3847b32
Compare
Choose a tag to compare

This is a minor release made to allow the new APK to be reproducible for F-Droid, see #11754, and see v0.27.3 for the previous release notes

Improved

  • Always allow changing player notification preferences on Android 13+ #11738

Fixed

  • Fix exporting database/subscriptions would not truncate an already existing file, possibly leading to a corrupted export #11745
  • Fix player resuming from start when clicking on a timestamp #11734

Development

  • Add workflow to build unsigned release APKs reliably #11765

v0.27.3

24 Nov 20:48
d298a12
Compare
Choose a tag to compare

⚠️ Known issues/regressions which are not fixed with this update ⚠️

  • [YouTube] "Sign in to confirm..."/"Watch on the latest version..." error messages are difficult to fix, but we are working on it. See #11139 for more details.
  • [PeerTube] No audio is played in videos with a separated audio file. See #11601 for more details.
  • [YouTube] Age-restricted content will not be available anymore, because YouTube removed all known ways to bypass age-restrictions without login. See #11382 for more details.

Some updates on development

It's been some time since the last release, due to team members being very busy with real life things, and we apologize for that. However, there has been some progress on the rewrite (see the refactor branch) and the NewPipe e.V. started hiring people with the money from donations, which led to the creation of NewPlayer. More details on this will follow in a blogpost on https://newpipe.net. If you want to help out with future releases or with the rewrite, please join our Matrix chat!

Changelog

This version also includes the changes from NewPipe Extractor version v0.24.3.

New

  • Add support for secondary audio track type #11714

Improved

  • Make playlist description clickable to show more / less content #11112
  • [PeerTube] Handle subscribeto.me instance links automatically #11110
  • Only start playing single item in history screen #11696
  • [YouTube] Throttle feed loading to avoid rate limits #11743

Fixed

  • Fix RSS button visibility #11067
  • Fix seekbar preview crashes #11584
  • Fix crash after adding item to a playlist caused by null thumbnail URL #11651
  • Fix seekbar crashing on drag with faulty frameset #11596
  • Fix UI crash when user navigates away before the download dialog appears #11621
  • Fix related items list enqueue popup crash #11614
  • Fix playlist order in add to playlist dialog #11566
  • Adjust the playlist bookmark item layout for RTL languages #11024 #11711

Localization and Documentation

  • Update backup and restore explanation in README #11003
  • Remove Kotlin code restriction from contribution guidelines #11209
  • Update README.pt_BR.md #11275
  • Fixing the 404 page not found, when clicking on "contribution notes" in multiple README.md's translated into different languages #11487
  • Adding Hash of Signing Key to README #11140 #11694
  • Fix a typo in README #11694
  • Use Android's elapsed time formatting #11244
  • Update French README.fr.md #10892
  • Readme translation to arabic #10969
  • Update backup and restore explanation & improve hindi, punjabi and assamese READMEs #11243

Development

  • Fix GitHub workflow for Android tests #11014
  • Migrate to non-transitive R classes #10918
  • Update PrettyTime to 5.0.8 #11094
  • Convert CommentTextOnTouchListener to a lambda #11075
  • Add NewPipe icon to Android Studio's new UI #11230
  • Remove outdated returnActivity test code #11428
  • Replaced IcePick with Bridge and Android-State #11636
  • Update Java version used in CI from 17 to 21 #11636
  • Update Gradle Wrapper from 8.2 to 8.9 #11636
  • Update AGP from 8.2.0 to 8.7.1 #11636
  • Replace symlink list_stream_card_item.xml by a copy of the pointed file to fix compilation on a default Windows setup #11636
  • Remove deprecated android.defaults.buildfeatures.buildconfig Gradle property #11636
  • Fix and update NewPipeExtractor dependency #11636
  • Make it possible to control the version code and name #11656
  • Add null-safe SharedPreferences.getStringSafe #11629
  • Update user agent to Firefox ESR 128 #11268

v0.27.2

25 Jul 19:56
d442b45
Compare
Choose a tag to compare

This hotfix release fixes HTTP 403 errors in the middle of YouTube videos.

New

Improved

Fixed

v0.27.1

11 Jul 21:57
0f64158
Compare
Choose a tag to compare

Fixed

Note that this does not fix 403 errors in the middle of YouTube videos, i.e. #11191. That issue will be addressed in another hotfix release as soon as possible.

v0.27.0

23 Apr 20:45
9828586
Compare
Choose a tag to compare

⚠️ Important fixes ⚠️

  • [YouTube] Fix extraction of comments TeamNewPipe/NewPipeExtractor#1163

    The issue happened because YouTube changed the response of comments. Note that this response doesn't return an exact like count for comments for comments with more than 999 likes, only approximate like counts.

    ℹ️ Third-party social links in descriptions and comments are now showing the accessibility text of YouTube, which is in the form Social media name: YouTube preview text instead of just YouTube's preview text.

  • [YouTube] Restore access to some streams TeamNewPipe/NewPipeExtractor#1168

    These streams are the audio streams with an average bitrate around 32 and 48 kbps (itags 139, 599, 600) and the 720p MPEG-4 muxed (video + audio) video stream on videos with musical contents (itag 22, on other contents it was still available). Note that they are not returned by YouTube on every video depending on multiple factors and they currently come from the Android YouTube app client that we use.

    Unfortunately, this client has now several integrity checks very hard or almost impossible to implement as a third-party client that we used to workaround before. The workaround shipped until 0.26.1 has been disabled by YouTube (the same one used previously by reVanced for non-root users), and the one shipped in this release is being disabled (A/B test or rollout).

    These streams should become completely unavailable in the future and may be fully or partially restored in a future NewPipe update.

  • Fix vulnerability when importing backups GHSA-wxrm-jhpf-vp6v

    There is now a new format for settings stored in backups.
    The old patched format is still supported alongside the new format for backwards compatibility, but will soon be removed completely. NewPipe will show a warning when importing settings in the old format.

    Avoid importing any backup from an untrusted source (e.g. a GitHub issue) if it shows this warning!

⚠️ Known issues/regressions which are not fixed with this update ⚠️

DO NOT OPEN NEW ISSUES FOR THEM BUT FOLLOW THE LINKED ONES INSTEAD!

  • [YouTube] Avatars, banners and subscriber count are unavailable on channels sometimes: a YouTube A/B test or rollout changes the channel header UI, which is currently unsupported by the extractor. See #10826 for more details.

Changelog

This version also includes the changes from NewPipe Extractor version v0.24.0.

New

  • Add support for comment replies #10018
  • Add playlist description to playlist fragment #10091
  • Add option to reset settings #9236
  • Show overall duration of items in a playlist #6045 #10952
  • Allow ordering bookmarked playlists #8221

Improved

  • [Android 13+] Restore support of custom notification actions #10712
    ⚠️ The first three notification actions (play/pause, previous and next) cannot be customized anymore on these Android versions, as they are set by the system ⚠️
  • Allow playing/pausing from the notification when the player is buffering #10712
  • Added "free memory" check before downloading #10505 #10896 #10992
  • Change the landscape layout of list card item #9975
  • Ask for consent before checking for updates #10790
  • Moved player notification setting to notification section #9580

Fixed

  • Don't write defaultFormat setting, use default value #10732
  • Calculate cache key based on info type instead of item type #10717
  • Fix not considering nullability when comparing getAudioTrackType #10909
  • Trim search string and remove duplicate records from the database #8242
  • Various download fixes #10912
  • Fix error if there is no avatar when reloading feed #10957

Localization and Documentation

  • Update translations #10890
  • Use GitHub markdown to emphasise warning in README #10724

Development

  • Update some AndroidX libraries and compileSdk to 34 #10086
  • Update miscellaneous libraries #10530
  • Update Matrix chat URL to new link #10795
  • Update jsoup to 1.17.2 #10817
  • Update GitHub Actions dependencies in workflows #10740
  • Fix typo in TextLinkifier.java #10889
  • Improve app signature check #10618
  • Update workflows to use Node 20 #10908
  • BaseDescriptionFragment: Assert member is initialized #10781

v0.26.1

27 Dec 13:37
49429ff
Compare
Choose a tag to compare

➡️ ➡️ ➡️ Read the blog post ⬅️ ⬅️ ⬅️

Fixed

  • [MediaCCC] Fix crash when opening a channel / conference #10699

v0.26.0

21 Dec 22:19
6762993
Compare
Choose a tag to compare

➡️ ➡️ ➡️ Read the blog post ⬅️ ⬅️ ⬅️

This version also includes the changes from NewPipe Extractor v0.23.0 and v0.23.1, which fix the recurring "Could not get like count" error on YouTube streams.

New

  • Access more content provided by channels which is grouped in different tabs (TeamNewPipe/NewPipeExtractor#1082 #9182 #10645 #10670 #10671 #10673). The content of the channel tabs can vary by service:

    • YouTube: videos, shorts, live, playlists, about
      • Note that YouTube does not provide upload date and duration for shorts, so they won't show up in the feed
    • PeerTube: videos, playlists, channels (for accounts), about
    • SoundCloud: tracks, playlists, albums, about
    • Bandcamp: albums, tracks, about
    • media.ccc.de: videos, about
  • Allow selecting image quality among multiple images #10062 #10482
    NewPipe supports selecting the image quality among multiple image versions. This comes with three different presets which can be selected from within the settings (low, medium and high quality). This is most noticeable in the recently introduced card style for stream lists which is now able to show thumbnails in higher resolutions. Some services (e.g. YouTube) do not always provide the highest quality thumbnails for those lists.

Improved

  • Adjust empty state message for ListInfoFragments depending on Info stream type #10304
  • Show loading indicator before opening the download dialog from the share menu #10407
  • Improved accessibility of player interfaces #10199
  • Include a high-resolution option in the default resolution settings #9987
  • Show play queue button in main player when there is one stream #10396
  • Add option to add playlist name and video name to playlist sharing content #10427
  • Improve audio stream selection for video-only streams in the downloader #10446

Localization and Documentation

  • Make capitalization of "Night theme" setting consistent with others #10313
  • Update Weblate & fix string formats #10376
  • Fix selection of wrong languages in language picker #10406
  • Make "latest release" link more obvious to bug reporters #10331
  • [Readme] Remove Bitcoin and Bountysource donation options #10491
  • [Readme] Add Matrix room link #10632

Fixed

  • Fix player audio focus not respecting mute #10275
  • Fix downloads of streams with missing MediaFormat #10165
  • [YouTube] Fix extraction of age-restricted music videos TeamNewPipe/NewPipeExtractor#1108 #10440
  • Fix restoring software license dialog #10436
  • Fix inconsistency between user interaction and database commit order when re-adding videos to a playlist #8248
  • Fix playing SoundCloud songs under some conditions: now OPUS HLS streams are considered as unplayable, and thus other streams are preferred #10579
  • Fix app not responding, background app crashes and issues with starting the player #10578
  • Fix some null pointer exceptions #10576 #10577
  • Fix custom filename replacement character being interpreted as regex and crashing the app #10489
  • Fix notifying about old "new" streams #10494
  • Fix channel avatar not loading correctly sometimes #10581

Development

  • Simplify MainActivity.tabSelected(MenuItem) #10360
  • Image minimizer: replace Number.toFixed(0) with Math.floor() #10377
  • Update miscellaneous libraries #10234 #10244
  • Improve the download helpers using the Java 7 NIO API. #10248
  • Fix memory leaks and add documentation #10394
  • Replace MathUtils.clamp with Kotlin coerceIn #10224
  • Bump AGP to 8.1.1 #10428
  • Improve codequality #10435
  • Update extractor and remove DeobfuscateException handling #10440
  • Add workflow "PR size labeler" to label PRs based on the number of changed lines #10170 #10447