Skip to content

Commit 37f7fa7

Browse files
committed
Merge branch 'dev' into pr9236
2 parents df2e0be + e687eb5 commit 37f7fa7

418 files changed

Lines changed: 12464 additions & 4341 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/DISCUSSION_TEMPLATE/questions.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
name: Question
2-
description: Ask about anything NewPipe-related
3-
labels: [question]
41
body:
52
- type: markdown
63
attributes:
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Add 'size/small' label to any changes with less than 50 lines
2+
size/small:
3+
max: 49
4+
5+
# Add 'size/medium' label to any changes between 50 and 249 lines
6+
size/medium:
7+
min: 50
8+
max: 249
9+
10+
# Add 'size/large' label to any changes between 250 and 749 lines
11+
size/large:
12+
min: 250
13+
max: 749
14+
15+
# Add 'size/giant' label to any changes for more than 749 lines
16+
size/giant:
17+
min: 750

.github/workflows/ci.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ jobs:
3636
contents: read
3737

3838
steps:
39-
- uses: actions/checkout@v3
40-
- uses: gradle/wrapper-validation-action@v1
39+
- uses: actions/checkout@v4
40+
- uses: gradle/wrapper-validation-action@v2
4141

4242
- name: create and checkout branch
4343
# push events already checked out the branch
@@ -47,7 +47,7 @@ jobs:
4747
run: git checkout -B "$BRANCH"
4848

4949
- name: set up JDK 17
50-
uses: actions/setup-java@v3
50+
uses: actions/setup-java@v4
5151
with:
5252
java-version: 17
5353
distribution: "temurin"
@@ -57,7 +57,7 @@ jobs:
5757
run: ./gradlew assembleDebug lintDebug testDebugUnitTest --stacktrace -DskipFormatKtlint
5858

5959
- name: Upload APK
60-
uses: actions/upload-artifact@v3
60+
uses: actions/upload-artifact@v4
6161
with:
6262
name: app
6363
path: app/build/outputs/apk/debug/*.apk
@@ -80,10 +80,10 @@ jobs:
8080
contents: read
8181

8282
steps:
83-
- uses: actions/checkout@v3
83+
- uses: actions/checkout@v4
8484

8585
- name: set up JDK 17
86-
uses: actions/setup-java@v3
86+
uses: actions/setup-java@v4
8787
with:
8888
java-version: 17
8989
distribution: "temurin"
@@ -98,7 +98,7 @@ jobs:
9898
script: ./gradlew connectedCheck --stacktrace
9999

100100
- name: Upload test report when tests fail # because the printed out stacktrace (console) is too short, see also #7553
101-
uses: actions/upload-artifact@v3
101+
uses: actions/upload-artifact@v4
102102
if: failure()
103103
with:
104104
name: android-test-report-api${{ matrix.api-level }}
@@ -111,19 +111,19 @@ jobs:
111111
contents: read
112112

113113
steps:
114-
- uses: actions/checkout@v3
114+
- uses: actions/checkout@v4
115115
with:
116116
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
117117

118118
- name: Set up JDK 17
119-
uses: actions/setup-java@v3
119+
uses: actions/setup-java@v4
120120
with:
121121
java-version: 17
122122
distribution: "temurin"
123123
cache: 'gradle'
124124

125125
- name: Cache SonarCloud packages
126-
uses: actions/cache@v3
126+
uses: actions/cache@v4
127127
with:
128128
path: ~/.sonar/cache
129129
key: ${{ runner.os }}-sonar

.github/workflows/image-minimizer.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ jobs:
1717
runs-on: ubuntu-latest
1818

1919
steps:
20-
- uses: actions/checkout@v3
20+
- uses: actions/checkout@v4
2121

22-
- uses: actions/setup-node@v3
22+
- uses: actions/setup-node@v4
2323
with:
2424
node-version: 16
2525

2626
- name: Install probe-image-size
2727
run: npm i probe-image-size@7.2.3 --ignore-scripts
2828

2929
- name: Minimize simple images
30-
uses: actions/github-script@v6
30+
uses: actions/github-script@v7
3131
timeout-minutes: 3
3232
with:
3333
script: |

.github/workflows/pr-labeler.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: "PR size labeler"
2+
on: [pull_request_target]
3+
permissions:
4+
contents: read
5+
pull-requests: write
6+
7+
jobs:
8+
changed-lines-count-labeler:
9+
runs-on: ubuntu-latest
10+
name: Automatically labelling pull requests based on the changed lines count
11+
permissions:
12+
pull-requests: write
13+
steps:
14+
- name: Set a label
15+
uses: TeamNewPipe/changed-lines-count-labeler@main
16+
with:
17+
repo-token: ${{ secrets.GITHUB_TOKEN }}
18+
configuration-path: .github/changed-lines-count-labeler.yml

README.md

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,19 @@
1313
<a href="https://github.com/TeamNewPipe/NewPipe/actions" alt="Build Status"><img src="https://github.com/TeamNewPipe/NewPipe/workflows/CI/badge.svg?branch=dev&event=push"></a>
1414
<a href="https://hosted.weblate.org/engage/newpipe/" alt="Translation Status"><img src="https://hosted.weblate.org/widgets/newpipe/-/svg-badge.svg"></a>
1515
<a href="https://web.libera.chat/#newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
16-
<a href="https://www.bountysource.com/teams/newpipe" alt="Bountysource bounties"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"></a>
16+
<a href="https://matrix.to/#/#newpipe:matrix.newpipe-ev.de" alt="Matrix channel: #newpipe"><img src="https://img.shields.io/badge/Matrix%20chat-%23newpipe-blue"></a>
1717
</p>
1818
<hr>
1919
<p align="center"><a href="#screenshots">Screenshots</a> &bull; <a href="#supported-services">Supported Services</a> &bull; <a href="#description">Description</a> &bull; <a href="#features">Features</a> &bull; <a href="#installation-and-updates">Installation and updates</a> &bull; <a href="#contribution">Contribution</a> &bull; <a href="#donate">Donate</a> &bull; <a href="#license">License</a></p>
2020
<p align="center"><a href="https://newpipe.net">Website</a> &bull; <a href="https://newpipe.net/blog/">Blog</a> &bull; <a href="https://newpipe.net/FAQ/">FAQ</a> &bull; <a href="https://newpipe.net/press/">Press</a></p>
2121
<hr>
2222

23-
*Read this document in other languages: [Deutsch](doc/README.de.md), [English](README.md), [Español](doc/README.es.md), [Français](doc/README.fr.md), [हिन्दी](doc/README.hi.md), [Italiano](doc/README.it.md), [한국어](doc/README.ko.md), [Português Brasil](doc/README.pt_BR.md), [Polski](doc/README.pl.md), [ਪੰਜਾਬੀ ](doc/README.pa.md), [日本語](doc/README.ja.md), [Română](doc/README.ro.md), [Soomaali](doc/README.so.md), [Türkçe](doc/README.tr.md), [正體中文](doc/README.zh_TW.md), [অসমীয়া](doc/README.asm.md)*
23+
*Read this document in other languages: [Deutsch](doc/README.de.md), [English](README.md), [Español](doc/README.es.md), [Français](doc/README.fr.md), [हिन्दी](doc/README.hi.md), [Italiano](doc/README.it.md), [한국어](doc/README.ko.md), [Português Brasil](doc/README.pt_BR.md), [Polski](doc/README.pl.md), [ਪੰਜਾਬੀ ](doc/README.pa.md), [日本語](doc/README.ja.md), [Română](doc/README.ro.md), [Soomaali](doc/README.so.md), [Türkçe](doc/README.tr.md), [正體中文](doc/README.zh_TW.md), [অসমীয়া](doc/README.asm.md), [Српски](doc/README.sr.md)*
2424

25-
<b>WARNING: THIS APP IS IN BETA, SO YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE IN OUR GITHUB REPOSITORY BY FILLING OUT THE ISSUE TEMPLATE.</b>
26-
27-
<b>PUTTING NEWPIPE, OR ANY FORK OF IT, INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.</b>
25+
> [!warning]
26+
> <b>THIS APP IS IN BETA, SO YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE IN OUR GITHUB REPOSITORY BY FILLING OUT THE ISSUE TEMPLATE.</b>
27+
>
28+
> <b>PUTTING NEWPIPE, OR ANY FORK OF IT, INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.</b>
2829
2930
## Screenshots
3031

@@ -126,16 +127,6 @@ If you like NewPipe, you're welcome to send a donation. We prefer Liberapay, as
126127
<td><a href="https://liberapay.com/TeamNewPipe/"><img src="assets/liberapay_qr_code.png" alt="Visit NewPipe at liberapay.com" width="100px"></a></td>
127128
<td><a href="https://liberapay.com/TeamNewPipe/donate"><img src="assets/liberapay_donate_button.svg" alt="Donate via Liberapay" height="35px"></a></td>
128129
</tr>
129-
<tr>
130-
<td><img src="https://bitcoin.org/img/icons/logotop.svg" alt="Bitcoin"></td>
131-
<td><img src="assets/bitcoin_qr_code.png" alt="Bitcoin QR code" width="100px"></td>
132-
<td><samp>16A9J59ahMRqkLSZjhYj33n9j3fMztFxnh</samp></td>
133-
</tr>
134-
<tr>
135-
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Bountysource.png/320px-Bountysource.png" alt="Bountysource" width="190px"></a></td>
136-
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="assets/bountysource_qr_code.png" alt="Visit NewPipe at bountysource.com" width="100px"></a></td>
137-
<td><a href="https://www.bountysource.com/teams/newpipe/issues"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f" height="30px" alt="Check out how many bounties you can earn."></a></td>
138-
</tr>
139130
</table>
140131

141132
## Privacy Policy

app/build.gradle

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,16 @@ plugins {
1212
}
1313

1414
android {
15-
compileSdk 33
15+
compileSdk 34
1616
namespace 'org.schabi.newpipe'
1717

1818
defaultConfig {
1919
applicationId "org.schabi.newpipe"
2020
resValue "string", "app_name", "NewPipe"
2121
minSdk 21
2222
targetSdk 33
23-
versionCode 994
24-
versionName "0.25.2"
23+
versionCode 996
24+
versionName "0.26.1"
2525

2626
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2727

@@ -98,17 +98,19 @@ android {
9898
resources {
9999
// remove two files which belong to jsoup
100100
// no idea how they ended up in the META-INF dir...
101-
excludes += ['META-INF/README.md', 'META-INF/CHANGES']
101+
excludes += ['META-INF/README.md', 'META-INF/CHANGES',
102+
// 'COPYRIGHT' belongs to RxJava...
103+
'META-INF/COPYRIGHT']
102104
}
103105
}
104106
}
105107

106108
ext {
107109
checkstyleVersion = '10.12.1'
108110

109-
androidxLifecycleVersion = '2.5.1'
110-
androidxRoomVersion = '2.5.2'
111-
androidxWorkVersion = '2.7.1'
111+
androidxLifecycleVersion = '2.6.2'
112+
androidxRoomVersion = '2.6.1'
113+
androidxWorkVersion = '2.8.1'
112114

113115
icepickVersion = '3.2.0'
114116
exoPlayerVersion = '2.18.7'
@@ -118,7 +120,6 @@ ext {
118120

119121
leakCanaryVersion = '2.12'
120122
stethoVersion = '1.6.0'
121-
mockitoVersion = '4.0.0'
122123
}
123124

124125
configurations {
@@ -133,7 +134,7 @@ checkstyle {
133134
toolVersion = checkstyleVersion
134135
}
135136

136-
task runCheckstyle(type: Checkstyle) {
137+
tasks.register('runCheckstyle', Checkstyle) {
137138
source 'src'
138139
include '**/*.java'
139140
exclude '**/gen/**'
@@ -154,7 +155,7 @@ task runCheckstyle(type: Checkstyle) {
154155
def outputDir = "${project.buildDir}/reports/ktlint/"
155156
def inputFiles = project.fileTree(dir: "src", include: "**/*.kt")
156157

157-
task runKtlint(type: JavaExec) {
158+
tasks.register('runKtlint', JavaExec) {
158159
inputs.files(inputFiles)
159160
outputs.dir(outputDir)
160161
getMainClass().set("com.pinterest.ktlint.Main")
@@ -163,7 +164,7 @@ task runKtlint(type: JavaExec) {
163164
jvmArgs("--add-opens", "java.base/java.lang=ALL-UNNAMED")
164165
}
165166

166-
task formatKtlint(type: JavaExec) {
167+
tasks.register('formatKtlint', JavaExec) {
167168
inputs.files(inputFiles)
168169
outputs.dir(outputDir)
169170
getMainClass().set("com.pinterest.ktlint.Main")
@@ -189,15 +190,15 @@ sonar {
189190

190191
dependencies {
191192
/** Desugaring **/
192-
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.3'
193+
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.4'
193194

194195
/** NewPipe libraries **/
195196
// You can use a local version by uncommenting a few lines in settings.gradle
196197
// Or you can use a commit you pushed to GitHub by just replacing TeamNewPipe with your GitHub
197198
// name and the commit hash with the commit hash of the (pushed) commit you want to test
198199
// This works thanks to JitPack: https://jitpack.io/
199200
implementation 'com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751'
200-
implementation 'com.github.TeamNewPipe:NewPipeExtractor:95a3cc0a173bba28c179f9f9503b1010ec6bff21'
201+
implementation 'com.github.Stypox:NewPipeExtractor:aaf3231fc75d7b4177549fec4aa7e672bfe84015'
201202
implementation 'com.github.TeamNewPipe:NoNonsense-FilePicker:5.0.0'
202203

203204
/** Checkstyle **/
@@ -208,42 +209,39 @@ dependencies {
208209
implementation "org.jetbrains.kotlin:kotlin-stdlib:${kotlin_version}"
209210

210211
/** AndroidX **/
211-
implementation 'androidx.appcompat:appcompat:1.5.1'
212+
implementation 'androidx.appcompat:appcompat:1.6.1'
212213
implementation 'androidx.cardview:cardview:1.0.0'
213214
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
214-
implementation 'androidx.core:core-ktx:1.10.0'
215+
implementation 'androidx.core:core-ktx:1.12.0'
215216
implementation 'androidx.documentfile:documentfile:1.0.1'
216-
implementation 'androidx.fragment:fragment-ktx:1.4.1'
217+
implementation 'androidx.fragment:fragment-ktx:1.6.2'
217218
implementation "androidx.lifecycle:lifecycle-livedata-ktx:${androidxLifecycleVersion}"
218219
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:${androidxLifecycleVersion}"
219220
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0'
220-
implementation 'androidx.media:media:1.6.0'
221-
implementation 'androidx.preference:preference:1.2.0'
222-
implementation 'androidx.recyclerview:recyclerview:1.2.1'
221+
implementation 'androidx.media:media:1.7.0'
222+
implementation 'androidx.preference:preference:1.2.1'
223+
implementation 'androidx.recyclerview:recyclerview:1.3.2'
223224
implementation "androidx.room:room-runtime:${androidxRoomVersion}"
224225
implementation "androidx.room:room-rxjava3:${androidxRoomVersion}"
225226
kapt "androidx.room:room-compiler:${androidxRoomVersion}"
226227
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
227228
// Newer version specified to prevent accessibility regressions with RecyclerView, see:
228229
// https://developer.android.com/jetpack/androidx/releases/viewpager2#1.1.0-alpha01
229-
implementation 'androidx.viewpager2:viewpager2:1.1.0-beta01'
230+
implementation 'androidx.viewpager2:viewpager2:1.1.0-beta02'
230231
implementation "androidx.work:work-runtime-ktx:${androidxWorkVersion}"
231232
implementation "androidx.work:work-rxjava3:${androidxWorkVersion}"
232-
implementation 'com.google.android.material:material:1.9.0'
233+
implementation 'com.google.android.material:material:1.11.0'
233234

234235
/** Third-party libraries **/
235236
// Instance state boilerplate elimination
236237
implementation "frankiesardo:icepick:${icepickVersion}"
237238
kapt "frankiesardo:icepick-processor:${icepickVersion}"
238239

239240
// HTML parser
240-
implementation "org.jsoup:jsoup:1.16.1"
241+
implementation "org.jsoup:jsoup:1.17.2"
241242

242243
// HTTP client
243-
implementation "com.squareup.okhttp3:okhttp:4.11.0"
244-
// okhttp3:4.11.0 introduces a vulnerability from com.squareup.okio:okio@3.3.0,
245-
// remove com.squareup.okio:okio when updating okhttp
246-
implementation "com.squareup.okio:okio:3.4.0"
244+
implementation "com.squareup.okhttp3:okhttp:4.12.0"
247245

248246
// Media player
249247
implementation "com.google.android.exoplayer:exoplayer-core:${exoPlayerVersion}"
@@ -272,19 +270,19 @@ dependencies {
272270
implementation "io.noties.markwon:linkify:${markwonVersion}"
273271

274272
// Crash reporting
275-
implementation "ch.acra:acra-core:5.10.1"
273+
implementation "ch.acra:acra-core:5.11.3"
276274

277275
// Properly restarting
278276
implementation 'com.jakewharton:process-phoenix:2.1.2'
279277

280278
// Reactive extensions for Java VM
281-
implementation "io.reactivex.rxjava3:rxjava:3.1.6"
279+
implementation "io.reactivex.rxjava3:rxjava:3.1.8"
282280
implementation "io.reactivex.rxjava3:rxandroid:3.0.2"
283281
// RxJava binding APIs for Android UI widgets
284282
implementation "com.jakewharton.rxbinding4:rxbinding:4.0.0"
285283

286284
// Date and time formatting
287-
implementation "org.ocpsoft.prettytime:prettytime:5.0.6.Final"
285+
implementation "org.ocpsoft.prettytime:prettytime:5.0.7.Final"
288286

289287
/** Debugging **/
290288
// Memory leak detection
@@ -297,13 +295,12 @@ dependencies {
297295

298296
/** Testing **/
299297
testImplementation 'junit:junit:4.13.2'
300-
testImplementation "org.mockito:mockito-core:${mockitoVersion}"
301-
testImplementation "org.mockito:mockito-inline:${mockitoVersion}"
298+
testImplementation 'org.mockito:mockito-core:5.6.0'
302299

303300
androidTestImplementation "androidx.test.ext:junit:1.1.5"
304301
androidTestImplementation "androidx.test:runner:1.5.2"
305302
androidTestImplementation "androidx.room:room-testing:${androidxRoomVersion}"
306-
androidTestImplementation "org.assertj:assertj-core:3.23.1"
303+
androidTestImplementation "org.assertj:assertj-core:3.24.2"
307304
}
308305

309306
static String getGitWorkingBranch() {

0 commit comments

Comments
 (0)