Releases: gotev/android-upload-service
4.2.0
4.1.0
4.0.0
android-upload-service-3.5.2
android-upload-service-3.5.0
Changelog:
- Fixed continuous notification sound while uploading on API >= 26
- Added support for AndroidX
- Added support for Android 9.0 Pie
- Min SDK is now 18 and target SDK is 28
- Updated OkHttp to 3.12.1
- Updated projects for Android Studio 3.3 and Gradle 4.10.1
- Eased maintenance by aggregating all the configurations in manifest.gradle
android-upload-service-3.4.2
This release addresses some Oreo-specific issues: https://github.com/gotev/android-upload-service/milestone/24?closed=1
android-upload-service-3.4.1
Now using latest OkHttp 3.9.1. Refer to 3.4.1 milestone for details about bugfixes.
android-upload-service-3.4
- Added support for Android O and notification channels. Min SDK is now 14. #299
- Important security fixes to prevent man in the middle attacks from other applications! See #305 and #306. Thanks to Sergey Toshin for pointing them out
Breaking changes
Support library
To be able to support Android O, Upload Service uses the latest support libraries 26.0.0
so if you are using support libraries < 26
in your app, make sure to remove any com.android.support:support-v4:25.+
or lower in your gradle file, otherwise you will get a NoSuchMethodException
at runtime.
Namespace
Setting NAMESPACE
(as described in Setup) is now mandatory, to prevent misconfiguration which can lead to sensible data leakage fixed in #305 and #306. If you have not set the NAMESPACE
, you will get this exception at runtime:
java.lang.RuntimeException: Unable to start service net.gotev.uploadservice.UploadService@32340b1 with Intent { act=net.gotev.uploadservice.action.upload cmp=net.gotev.uploadservicedemo/net.gotev.uploadservice.UploadService (has extras) }: java.lang.IllegalArgumentException: Hey dude, please set the namespace for your app by following the setup instructions: https://github.com/gotev/android-upload-service/wiki/Setup
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3556)
at android.app.ActivityThread.-wrap20(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1698)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.IllegalArgumentException: Hey dude, please set the namespace for your app by following the setup instructions: https://github.com/gotev/android-upload-service/wiki/Setup
at net.gotev.uploadservice.UploadService.onStartCommand(UploadService.java:248)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3539)
at android.app.ActivityThread.-wrap20(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1698)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
android-upload-service-3.3.1
Minor release which solves #303
android-upload-service-3.3
This release:
- enhances stability
- reduces battery usage by auto shutting down the service after an idle time
- reduces memory leaks
- improves public API for delegates and broadcast receivers
- introduces notitication action support
- makes the notification configuration more complete and finely tuneable
Check milestone 3.3 issues for more details
If you are migrating from 3.2.x, these are the breaking changes:
UploadNotificationConfig
has been completely redesigned, to allow more customization. See changes- delegates and broadcast receiver's
onError
method has an additional parameterserverResponse
. See changes - The
onCompleted
callback gets called only if the server response code is >= 200 and < 400, so you have to handle both networking and server response errors in theonError
method now. Previous to 3.3, you had to handle networking errors inonError
and server response errors inonCompleted