@@ -12,16 +12,16 @@ plugins {
1212}
1313
1414android {
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 996
24- versionName " 0.26.1 "
23+ versionCode 997
24+ versionName " 0.27.0 "
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
106108ext {
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
124125configurations {
@@ -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) {
154155def outputDir = " ${ project.buildDir} /reports/ktlint/"
155156def 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
190191dependencies {
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:v0.23.1 '
201+ implementation ' com.github.TeamNewPipe:NewPipeExtractor:fbe9e6223aceac8d6f6b352afaed4cb61aed1c79 '
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
309306static String getGitWorkingBranch () {
0 commit comments