← All reportsPublic report

teamnewpipe/newpipe

A libre lightweight streaming front-end for Android.

39k stars Java View on GitHubprofiled 11d ago
Try GitZoid
38PRs this week
14Contributors
0Deps scanned
0Issues found
01 · Repo overview

How newpipe is put together

NewPipe is a libre, lightweight streaming front-end for Android that presents content from YouTube, PeerTube, Bandcamp, SoundCloud, and media.ccc.de without user accounts. The app is built on the Android SDK (Java/Kotlin, Fragment-based UI) and delegates all service data extraction to the separate NewPipeExtractor library; HTTP traffic is funneled through a singleton OkHttp-based DownloaderImpl that injects spoofed User-Agent and cookie headers. Local state lives in a Room SQLite database (schemas up to version 9), SharedPreferences, and in-memory caches (InfoCache, SerializedCache), while background work (feed notifications, update checks) runs via WorkManager workers. The dev branch additionally shows a multiplatform layout (shared/, desktopApp/, iosApp/ Swift sources) layered on top of the main app module.

Languages

KotlinJavaSwift

Frameworks

Android SDKJetpack (Fragment, AppCompat, Material, Preference, WorkManager)RoomOkHttpNewPipeExtractorKotlin Multiplatform (shared/androidMain sources)Fastlane

Datastores

Room SQLite database (org.schabi.newpipe.database.AppDatabase)SharedPreferences (PreferenceManager)In-memory caches (InfoCache, SerializedCache, DownloaderImpl cookie map)

Infrastructure

GitHub Actions CI (workflows/ci.yml referenced by README badge)Gradle wrapperF-Droid / GitHub Releases APK distributionfastlane/metadata/android store listings

Major components

UI layer (activities/fragments)

Fragment-based navigation with MainActivity as the entry point hosting drawer navigation, MainFragment backstack, VideoDetailFragment, SearchFragment, and player bottom sheet integration.

DownloaderImpl (network layer)

Singleton OkHttp client implementing the extractor's Downloader interface: applies compression interceptors (Brotli/Gzip), spoofed Firefox User-Agent, YouTube restricted-mode and reCAPTCHA cookies, and detects HTTP 429 to raise ReCaptchaException.

Extraction/service layer

Uses NewPipeExtractor's StreamingService/NewPipe APIs to fetch streams, channels, playlists, comments, and feeds from supported services.

Local persistence

Room AppDatabase (migrated schema JSONs v2-v9) stores streams, playlists, subscriptions, and watch history; SharedPreferences hold settings like restricted-mode and update consent.

Player

Player/PlayerHolder/PlayQueue manage background and popup playback, exposed through player.event and playqueue packages.

Background workers

NotificationWorker schedules new-stream notifications and NewVersionWorker performs release-update checks gated by user consent keys.

Settings & migration

UpdateSettingsFragment (update consent flow), MigrationManager, and Localization migrate legacy preference/language settings.

Safety/emergency & utilities

PanicResponderActivity/ExitActivity implement the Guardian Project panic wipe trigger; util package provides NavigationHelper, PermissionHelper, ThemeHelper, ShareUtils, ReleaseVersionUtil.

Over the past five weeks, the NewPipe team shipped a new release (version 0.29.1) that fixed a black-video delay in fullscreen and removed support for the Hooktube service, while keeping translations flowing in many languages. Work then shifted to quality-of-life fixes like playlist clearing, search menu polish, and timestamped links, alongside infrastructure upkeep such as dependency updates, brotli download support, and YouTube podcasts/courses tabs.

Week by week

2026-08-17A maintenance-focused week adding brotli compression to downloads, updating dependencies, and fixing link timestamps.latest6 changes

Feature

Brotli support in downloader

Downloads can now use brotli compression, which can make fetching content faster and lighter.

Fix

Timestamped links open correctly

Links that include a start time (like a video at a specific moment) now open where they should.

Chore

Gradle and dependencies updated

The app's underlying build tools and libraries were refreshed to their latest stable versions.

Chore

Checkstyle reverted to 13.8.0

The code-style checking tool was rolled back to an earlier version after a problematic update.

Docs

README typo fixed

Corrected a spelling mistake ('INFINGING' to 'INFRINGING') in the project's README.

Chore

Translations for Japanese and Estonian

Community contributors translated more of the app into Japanese and Estonian.

2026-08-10NewPipe 0.29.1 was released this week, fixing a fullscreen video delay and dropping the Hooktube service.6 changes

Chore

Version bump to 0.29.1

The app version was raised to 0.29.1 with a changelog documenting what's new.

Fix

Black video delay in fullscreen

Entering fullscreen no longer shows a black screen delay before the video appears.

Refactor

Hooktube support removed

The app no longer offers Hooktube as a service since it is no longer viable.

Chore

Piped and Invidious instances updated

The list of alternative front-end servers used by the app was refreshed.

Fix

Media tunneling blacklist expanded

Certain TV devices (JMGO N1S 4K and TCL 65Q651G) were excluded from hardware acceleration that caused playback problems.

Chore

Extractor updated to v0.24.5

The core library that talks to video sites was updated, including adjustments for its new record-class descriptions.

2026-08-03A quiet week with only translation updates for Traditional Chinese.2 changes

Docs

Traditional Chinese translations

Community translators updated the app's Traditional Chinese language strings.

Docs

More Traditional Chinese strings

An additional batch of Traditional Chinese translation updates landed.

2026-07-27User-facing fixes landed this week: playlists clear properly on back-navigation and the search menu looks better.3 changes

Fix

Playlist clearing fixed

Going back from a playlist view now clears it correctly instead of leaving stale content behind.

Refactor

Automatic audio focus cleanup

How the app handles audio focus when other sounds play was simplified, removing unnecessary manual handling.

Fix

Search menu titles polished

The section headers inside the search menu got a visual makeover.

2026-07-20YouTube podcasts and courses tabs gained support, plus keyboard-handling improvements and contributor guidance.5 changes

Feature

YouTube podcasts and courses tabs

The app can now show YouTube's 'podcasts' and 'courses' tabs so users can browse that content.

Chore

PR template improved

Contributors are now asked to explain how they tested their changes before submitting.

Refactor

Keyboard utility replaced with library

Custom keyboard-handling code was swapped out for an existing helper library, reducing code to maintain.

Fix

Cursor issue fixed

A problem with text cursor behavior in input fields was corrected.

Docs

Toki Pona and Portuguese translations

Translations were added or refreshed in Toki Pona and European Portuguese.

03 · Security check

Dependencies and code review

0 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 0 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

39 files reviewed; 0 of 2 claimed findings confirmed after verification.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required