@@ -7,19 +7,20 @@ plugins {
7
7
id(" kotlin-parcelize" )
8
8
id(" androidx.navigation.safeargs.kotlin" )
9
9
id(" com.squareup.sqldelight" )
10
- id(" com.google.devtools.ksp" ) version " 1.8.20-1.0.11"
10
+ // https://github.com/google/ksp/releases
11
+ id(" com.google.devtools.ksp" ) version " 1.9.23-1.0.20"
11
12
}
12
13
13
14
val signingPropertiesFile = rootProject.file(" signing.properties" )
14
15
15
16
android {
16
17
namespace = " co.appreactor.news"
17
- compileSdk = 33
18
+ compileSdk = 34
18
19
19
20
defaultConfig {
20
21
applicationId = " co.appreactor.news"
21
22
minSdk = 29
22
- targetSdk = 33
23
+ targetSdk = 34
23
24
versionCode = 24
24
25
versionName = " 0.4.3"
25
26
testInstrumentationRunner = " androidx.test.runner.AndroidJUnitRunner"
@@ -98,40 +99,41 @@ kotlin {
98
99
dependencies {
99
100
// Simplifies non-blocking programming
100
101
// https://github.com/Kotlin/kotlinx.coroutines/releases
101
- val coroutinesVer = " 1.7 .0"
102
+ val coroutinesVer = " 1.8 .0"
102
103
implementation(" org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVer " )
103
104
testImplementation(" org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutinesVer " )
104
105
105
106
// KTX extensions provide concise, idiomatic Kotlin to Jetpack, Android platform, and other APIs
106
107
// https://developer.android.com/kotlin/ktx/extensions-list#dependency_6
107
- implementation(" androidx.core:core-ktx:1.10 .0" )
108
+ implementation(" androidx.core:core-ktx:1.12 .0" )
108
109
109
110
// Helps to segment the app into multiple, independent screens that are hosted within an Activity
110
111
// https://developer.android.com/jetpack/androidx/releases/fragment
111
- val fragmentVer = " 1.5.7 "
112
+ val fragmentVer = " 1.6.2 "
112
113
implementation(" androidx.fragment:fragment-ktx:$fragmentVer " )
113
114
debugImplementation(" androidx.fragment:fragment-testing:$fragmentVer " )
114
115
115
116
// Simplifies in-app navigation, assumes single activity pattern
116
117
// https://developer.android.com/jetpack/androidx/releases/navigation
118
+ // TODO fix upgrade to 2.7.7, it breaks the bookmarks tab
117
119
val navVer = " 2.5.3"
118
120
implementation(" androidx.navigation:navigation-fragment-ktx:$navVer " )
119
121
implementation(" androidx.navigation:navigation-ui-ktx:$navVer " )
120
122
121
123
// Background job scheduler
122
124
// Used to fetch new data in background
123
125
// https://developer.android.com/jetpack/androidx/releases/work
124
- val workVer = " 2.8.1 "
126
+ val workVer = " 2.9.0 "
125
127
implementation(" androidx.work:work-runtime-ktx:$workVer " )
126
128
androidTestImplementation(" androidx.work:work-testing:$workVer " )
127
129
128
130
// In-app browser, it's about 2x faster than calling an external browser
129
131
// https://developer.android.com/jetpack/androidx/releases/browser
130
- implementation(" androidx.browser:browser:1.5 .0" )
132
+ implementation(" androidx.browser:browser:1.8 .0" )
131
133
132
134
// Provides lifecycle-aware coroutine scopes
133
135
// https://developer.android.com/jetpack/androidx/releases/lifecycle
134
- val lifecycleVer = " 2.6.1 "
136
+ val lifecycleVer = " 2.7.0 "
135
137
implementation(" androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVer " )
136
138
implementation(" androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVer " )
137
139
@@ -141,7 +143,7 @@ dependencies {
141
143
142
144
// List widget
143
145
// https://developer.android.com/jetpack/androidx/releases/recyclerview
144
- implementation(" androidx.recyclerview:recyclerview:1.3.0 " )
146
+ implementation(" androidx.recyclerview:recyclerview:1.3.2 " )
145
147
146
148
// Enables swipe to refresh pattern
147
149
// https://developer.android.com/jetpack/androidx/releases/swiperefreshlayout
@@ -150,19 +152,19 @@ dependencies {
150
152
// Retrofit turns HTTP APIs into Java interfaces
151
153
// Used to communicate with remote backends
152
154
// https://github.com/square/retrofit/blob/master/CHANGELOG.md
153
- val retrofitVer = " 2.9 .0"
155
+ val retrofitVer = " 2.11 .0"
154
156
implementation(" com.squareup.retrofit2:retrofit:$retrofitVer " )
155
157
implementation(" com.squareup.retrofit2:converter-gson:$retrofitVer " )
156
158
157
159
// Modern HTTP client
158
160
// https://github.com/square/okhttp/blob/master/CHANGELOG.md
159
- implementation(platform(" com.squareup.okhttp3:okhttp-bom:4.10 .0" ))
161
+ implementation(platform(" com.squareup.okhttp3:okhttp-bom:4.12 .0" ))
160
162
implementation(" com.squareup.okhttp3:okhttp" )
161
163
testImplementation(" com.squareup.okhttp3:mockwebserver" )
162
164
163
165
// Bundle SQLite binaries
164
166
// https://github.com/requery/sqlite-android/releases
165
- implementation(" com.github.requery:sqlite-android:3.41.1 " )
167
+ implementation(" com.github.requery:sqlite-android:3.45.0 " )
166
168
167
169
// SQLDelight generates typesafe kotlin APIs from SQL statements
168
170
// https://github.com/cashapp/sqldelight/releases
@@ -174,12 +176,13 @@ dependencies {
174
176
// Dependency injection framework
175
177
// https://github.com/InsertKoinIO/koin/tags
176
178
val koinAnnotationsVer = " 1.0.0"
177
- implementation(" io.insert-koin:koin-android:3.4 .0" )
179
+ implementation(" io.insert-koin:koin-android:3.5 .0" )
178
180
implementation(" io.insert-koin:koin-annotations:$koinAnnotationsVer " )
179
181
ksp(" io.insert-koin:koin-ksp-compiler:$koinAnnotationsVer " )
180
182
181
183
// Material design components
182
184
// https://github.com/material-components/material-components-android/releases
185
+ // TODO fix upgrade to 1.11.0, it makes the bottom navigation panel ugly
183
186
implementation(" com.google.android.material:material:1.9.0" )
184
187
185
188
// Used to download, cache and display images
@@ -189,7 +192,7 @@ dependencies {
189
192
// Java HTML parser
190
193
// Used to auto-discover feed links
191
194
// https://github.com/jhy/jsoup/releases
192
- implementation(" org.jsoup:jsoup:1.16.1 " )
195
+ implementation(" org.jsoup:jsoup:1.17.2 " )
193
196
194
197
// Feed parser
195
198
// Used in standalone mode
@@ -198,7 +201,7 @@ dependencies {
198
201
199
202
// Custom global exception handler
200
203
// https://github.com/ACRA/acra/releases
201
- val acraVer = " 5.10.0-beta03 "
204
+ val acraVer = " 5.11.3 "
202
205
implementation(" ch.acra:acra-mail:$acraVer " )
203
206
implementation(" ch.acra:acra-dialog:$acraVer " )
204
207
@@ -208,7 +211,7 @@ dependencies {
208
211
209
212
// Mocking library, better to go easy on that
210
213
// https://github.com/mockk/mockk/releases
211
- testImplementation(" io.mockk:mockk:1.13.5 " )
214
+ testImplementation(" io.mockk:mockk:1.13.10 " )
212
215
213
216
// Core test infrastructure
214
217
// https://junit.org/junit4/
0 commit comments