Skip to content

Releases: TeamNewPipe/NewPipe

v0.24.1

06 Nov 16:27
a95a5ed
Compare
Choose a tag to compare

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

New

Improved

Fixed

  • Fix potential cast exception in comments text #9065

  • Fix DownloadDialog crash on screen rotation #9079

  • Fix crash when clicking download and quitting the history fragment #9143

  • Fix job for removing watched streams from playlist not executing only once #8706

  • Fix duplicate videos in feed group "All" #9230

  • [YouTube] Fix extraction of videos in channels and in feeds when not using dedicated mode (RSS feeds) TeamNewPipe/NewPipeExtractor#944

    ⚠️ Due to the separation of shorts and livestreams (including VODs) of most channels into separate tabs, these contents will be not available until channel tabs support is added.

    However, you can use workarounds until this support is added:

    • For feeds, use the dedicated method to fetch channels (a.k.a. RSS feeds);
    • For channels: you can use the uploads playlist of a channel to get all its public videos: take a channel ID (not a username or a handle), replace UC by UU at the beginning of the ID and use the resulting ID as a playlist ID (append this ID to a playlist URL like https://www.youtube.com/playlist?list= and then open this URL in NewPipe). These playlists may be not available on some YouTube "system" channels.
  • [YouTube] Fix 403 HTTP errors when playing sometimes videos in some countries by using a workaround TeamNewPipe/NewPipeExtractor#960

    ⚠️ The workaround can break at any time. If you see this error again, and you have the ability to block network requests to specific domains for apps on your device, you can block the youtubei.googleapis.com domain to work around this issue.

    However, this has a few downsides:

    • the 720p video stream with audio (used for external players) will be not available on musical contents;
    • the 48kbps M4A audio stream and the 144p 3GPP video stream will be not available;
    • the rewind duration of livestreams will be limited to 30 seconds at most, instead of 1 hour.
  • [YouTube] Fix extraction of author and video count of playlists with their new metadata format TeamNewPipe/NewPipeExtractor#958

    ⚠️ With the new metadata format, no author thumbnail is returned anymore.

  • [SoundCloud] Fix tracks in incorrect order on playlists TeamNewPipe/NewPipeExtractor#939

  • [SoundCloud] Fix getting more comments TeamNewPipe/NewPipeExtractor#943

Localization

  • Add new localizations (Icelandic, Latvian, Malayalam) to language selector #9179
  • Update translations #9092, #9179, #9256
  • Remove empty localizations #9256

Development

  • Use LinkifyCompat #8934
  • Utilize useSimpleSummaryProvider attribute #9011
  • Improve FeedGroupDialogViewModel factory #8734
  • Update Android Gradle Plugin to 7.3.0 #8986
  • Use range-limiting methods in more places #8747
  • Use Okio's ByteString for download checksums #8767
  • Calculate search score using streams #8739
  • Use TextViewCompat.setCompoundDrawableTintList() #8655
  • Update AppCompat to 1.5.1 and compileSdk to 32 #8768
  • Update PrettyTime from 5.0.3 to 5.0.6 to include new localizations made by NewPipe contributors #9272
  • Update NewPipe Extractor #9291

v0.24.0

25 Sep 13:12
0c63950
Compare
Choose a tag to compare

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

New

  • ⚠️ Bump minSdk to 21 (Android 5 Lollipop) and drop support for Android 4.4 KitKat #7613
  • Add Download entry to long-press menu #8397
  • Add option to hide future videos in feed #8545 #8966
  • Add Share menu item to local playlists #8542

Improved

  • Crop the notification thumbnail in 1:1 mode instead of stretching it #8533
  • Make thumbnails' scaleType fitCenter #8573
  • Improve image placeholders #8530
  • Removed the "(beta)"-tag from services #8637
  • Refactor player and extract UI components #8170 #8661 #8678 #8731
  • Sort tags case-insensitively #8709

Fixed

  • Fix wrong image used as a placeholder for channels avatars #8676
  • Fix various issues with player notification #8678 #8899

Localization

  • Make some much needed changes to the README #8372
  • Fix lang code for Chinese Simplified #8549

Development

  • Run CI on all release branches #8565
  • Clean up proguard file #8468
  • Update ExoPlayer to 2.18.1 #8536 #8687
  • Specify used ExoPlayer libraries #8469
  • Use minimum required permissions for GitHub workflows #8569
  • Checkstyle assign on same line #8601
  • Use ViewCompat.setBackgroundTintList() #8633
  • Update some misc libraries #8475
  • Use stream sorting #8635
  • Use Java 9 collection factories: List.of(), Set.of(), Map.of() #8631 #8679
  • Use range-limiting method MathUtils.clamp() #8651 #8737
  • Use Kotlin IO extensions #8648
  • Remove some unnecessary methods #8663 #8740
  • Remove deprecated method calls in FocusAwareCoordinator #8670
  • Deduplicate SQL queries to get feed streams #8621
  • Update OkHttp to 4.10.0 #8624
  • Update Lifecycle to 2.5.1 #8683
  • Update AndroidX Fragment to 1.4.1 #8691
  • Update Google Material to 1.6.1 #8692
  • Use Throwable.stackTraceToString() #8701
  • Update AppCompat to 1.4.2 #8667
  • Use WindowMetrics API #8656
  • Update AndroidX Room to 2.4.3 #8716
  • Remove uses of setBottomSheetCallback() #8669
  • Refactor LicenseFragmentHelper #8682
  • Make OnClickGesture an interface #8721
  • Reduce View.kt size #8708
  • Use toArray() with zero-length arrays #8724
  • Use Comparator factory methods #8728
  • Use Collectors.joining() #8738
  • Update FilePicker to our custom fork and disable Jetifier #8666
  • Add FAQ entry to the template checklists #8822
  • Use ListAdapter for search predictions #8719 #8972
  • Update Gradle to 7.5.1 #8751
  • Remove extra whitespace from issue and PR templates #8755
  • Clarify that span shouldn't be in translated READMEs #8754
  • Keep strong references to Picasso notification icon loading targets #8677
  • Create media session UI and fix player notification #8678

v0.23.3

25 Aug 12:41
4227866
Compare
Choose a tag to compare

Fixed

Development

v0.23.2

13 Aug 10:42
50f3131
Compare
Choose a tag to compare

Fixed

  • [YouTube] Fix "Could not get any stream" error when trying to play any video, thanks to @Theta-Dev! TeamNewPipe/NewPipeExtractor#911
  • [YouTube] Fix replacement of video and audio streams by a video saying The following content is not available on this app #890

v0.23.1

05 Jul 14:41
d81607c
Compare
Choose a tag to compare

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

New

  • Support delivery methods other than progressive HTTP #8153 (thanks to @AudricV!)

    • [YouTube] Use DASH for playback, improving loading times in playback and seeking
    • [YouTube] Full playback of recently ended livestreams
    • [YouTube] Improve availability of some resolutions and formats
    • [PeerTube] Fix seeking on videos with only HLS streams
    • [PeerTube] Fix crash on videos with an audio-only stream
    • [SoundCloud] Fix playback of HLS-only tracks
  • Add button to add a remote playlist to a local one #7355

  • Image preview in Android share sheet (Android 10+ only) #8143

Improved

  • Improve playback parameters dialog's UI #7989 #8349
  • Moved subscription import/export options to (overflow) menu #7458

Fixed

  • Fix keyboard doesn't open with disabled animations #8227
  • Fix crash when opening NewPipe from the notification bar #8244
  • Fix hiding player controls when playing from media button #8315
  • Fix history view count #8336 #8564
  • Fix RouterActivity theming (the menu that shows up when you share something to NewPipe) #8332
  • Fix removing only fully watched videos from playlist #8259
  • Fix crash when rotating device on unsupported channels #8192
  • Make volume progress bar match system volume when we start sliding #8377
  • Fix Add to playlist not working and cleanup RouterActivity choice handling (the menu that shows up when you share something to NewPipe) #8340

Localization

  • Add Hindi translation of the README #8355

Development

  • Update ACRA library #8206
  • Update user agent used by the downloader #8269
  • Remove unused strings.xml resources #8329
  • Update Groupie and ACRA libraries #8407
  • Update Android Gradle Plugin and Kotlin #8406
  • Use JvmOverloads instead of manually overloading method #8391
  • Remove unnecessary compat method calls #8382
  • Use AppCompatResources #8404
  • Made some much needed changes to the ReadMe #8372

v0.23.0

29 Apr 20:04
ecb8ef6
Compare
Choose a tag to compare

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

New

  • Notifications for new streams #2335
  • Seamless transition between background and video players when putting the app in background #7349 #8139
  • Change pitch by semitones #7565
  • Implement appending queue to playlist in main player #8008
  • Load YouTube mixes in related items TeamNewPipe/NewPipeExtractor#788 -- note that this has already been broken by YouTube in the EU

Improved

  • Remember adjustment step size for playback controls (speed and pitch) #7728
  • Mitigating long buffering on initial video playback #7919 #8302
  • Replace R.string.yes with R.string.ok #7976
  • Improve player UI and navigability for Android TV #7963
  • Add a confirmation button when deleting all files in downloader #5878
  • Remove icon duplicates and fix some theming issues #7518 #8081
  • ExoPlayer 2.17.1 update and MediaSource management rework #8020 #8150 #8249

Fixed

  • Fix player controls not hiding if resumed from media button #7341
  • Migrate app update checker to AndroidX Work #7975
  • Fix error notification on KitKat #7977
  • Fix playback being reset to beginning when player type was changed #8020
  • Fix download dialog selector layout #7516
  • Fix crash when rotating device with playlist dialog open #8146
  • Adapt opacity of popup close button to allow touches in other apps on Android >=12 #8279

Development

  • Replace CircleImageView with ShapeableImageView #7925
  • Solve Java warning Raw use of parameterized class #7904
  • Fix Room warning about unused columns during build #7905
  • Fix build on Apple Silicon Macs #7782
  • Refactor generating InfoItemDialog's #7570
  • Better equals check #7910
  • Update Android Gradle Plugin and Gradle #7947
  • Remove duplicate large-land player layout #7894
  • Update ConstraintLayout and Room libraries #7954
  • Update Kotlin to 1.6.10 #7952
  • Update some AndroidX libraries #7978
  • Deduplicate code for fetching stream info when sparse #7981 #8127
  • Extract some view click listeners from player #8011
  • Delete some unused code #8067
  • Clean up the about package a bit #8065
  • Create stub implementation for OnSeekBarChangeListener #8066
  • Some lint cleaning #8068
  • Update Checkstyle to 10.0 and fix various related issues #8073
  • Update license to latest version #8076 #8077
  • Update CONTRIBUTING.md with current checkstyle.xml path #8175
  • Update GitHub action dependencies in workflows #8198
  • Update AGP, Gradle, and Kotlin #8204
  • Use simpler DrawerLayout method #8200
  • Replace checklist drawable #8199

v0.22.2

15 Apr 18:11
53a659c
Compare
Choose a tag to compare

Fixed

v0.22.1

26 Feb 21:35
47f9ed0
Compare
Choose a tag to compare

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

Fixed

  • Load enough initial items and fix crash in lists #7659
  • Have fast seek overlay arc go under system ui #7898
  • Revert "Respect cutouts when playing in MultiWindow" #7924

Development

  • Update ACRA library #7679
  • Improved image-minimizer #7884
  • Change compileSdk from 30 to 31 #7900
  • Small refactor in player class #7901

v0.22.0

19 Feb 23:43
7ae908a
Compare
Choose a tag to compare

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

New

  • New Fast Forward/Rewind behavior #4833
  • Searchable Preferences / Settings #7586, #7860
  • Highlight pinned comments as such #7577
  • Added FSFE-Tube PeerTube instance #7481

Improved

  • Unify error reporting and add error notification #7482
  • Show an alert dialog when no appropriate file manager was found #7452
  • Do not repeatedly say "Video preview thumbnail" when in reader mode #7619
  • Increase playlist stuck target duration coefficient and catch BehindLiveWindowExceptions properly #7661

Fixed

  • Fixed order of local search results #7491
  • Respect cutouts when playing in MultiWindow #7451
  • Fixed hashtags that use non-English characters. #7556
  • Fixed readme link #6855
  • Fixed view of sub-channel icon when not in use #7582
  • Fixed search not accepting key input after closing player overlay #7607
  • Load full stream info before using a stream, fixing empty fields in play queue #7036
  • Fixed crash when sharing a playlist which is loading #7662
  • Workaround: Set recovery before switching player #7668, #7852
  • Added app icon to fastlane metadata #7672
  • Always show playing in background/popup toast #7614, reverting #7224 and #7568
  • Fixed first item always played in the play queue when reloading play queue manager #7693
  • Load uploader url when showing channel details from play queue #7538
  • Fixed crash when long-pressing stream while player is starting #7704

Development

  • Bump ktlint, Checkstyle, Java version #7500 ⚠️ The app requires now Java 11 to be built
  • Update/Fix "Get it on F-Droid" #7498
  • Updated a bunch of libraries #7499
  • Readd sonar CI job #7552
  • Small improvements to code quality and readability #7562
  • Updated NewPipeExtractor #7589
  • CI: Upload test-report when an error occurs #7636
  • Replaced JUnit asserts with AssertJ in HistoryRecordManagerTest #7654
  • Fixed false warning #7648
  • Add traditional Chinese README #7618
  • Add Polish README #7694
  • Some untranslatable string improvements #7317
  • Ensure order of search history entries in tests #7670
  • Sync weblate #7689
  • Fixed some gradle deprecations #7678
  • Improved HistoryRecordManager tests #7700
  • Moved translated READMEs to subfolder #7784
  • Updated FUNDING.yml #7682
  • Small changes to license section of README #7710
  • Added some stuff to paths-ignore #7803

v0.21.16

01 Feb 21:21
4e63350
Compare
Choose a tag to compare