From 6ba9409102ba2a6922b52a0dab7fd06e7205d03d Mon Sep 17 00:00:00 2001 From: Gaston Thea Date: Tue, 4 Jul 2023 18:11:36 -0300 Subject: [PATCH 1/8] Version 3.3.0-rc1 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 9074c632f..aba790ed3 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ apply plugin: 'signing' apply plugin: 'kotlin-android' ext { - splitVersion = '3.2.2' + splitVersion = '3.3.0-rc1' } android { From 4442931fc35420c05883d52c2171f6e03d0e23ef Mon Sep 17 00:00:00 2001 From: Gaston Thea Date: Wed, 12 Jul 2023 13:05:13 -0300 Subject: [PATCH 2/8] Change compression type parsing --- .../notifications/SplitsChangeNotification.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/split/android/client/service/sseclient/notifications/SplitsChangeNotification.java b/src/main/java/io/split/android/client/service/sseclient/notifications/SplitsChangeNotification.java index 59248300a..3c22888fe 100644 --- a/src/main/java/io/split/android/client/service/sseclient/notifications/SplitsChangeNotification.java +++ b/src/main/java/io/split/android/client/service/sseclient/notifications/SplitsChangeNotification.java @@ -21,7 +21,7 @@ public class SplitsChangeNotification extends IncomingNotification { @SerializedName("c") @Nullable - private CompressionType compressionType; + private Integer compressionType; public SplitsChangeNotification() { @@ -47,6 +47,16 @@ public String getData() { @Nullable public CompressionType getCompressionType() { - return compressionType; + if (compressionType != null) { + if (compressionType == 0) { + return CompressionType.NONE; + } else if (compressionType == 1) { + return CompressionType.GZIP; + } else if (compressionType == 2) { + return CompressionType.ZLIB; + } + } + + return null; } } From 7ad67f28273ab1b2572481788d57f61c67ad3588 Mon Sep 17 00:00:00 2001 From: Gaston Thea Date: Wed, 12 Jul 2023 13:33:11 -0300 Subject: [PATCH 3/8] Version 3.3.0-rc2 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index aba790ed3..f3b897b65 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ apply plugin: 'signing' apply plugin: 'kotlin-android' ext { - splitVersion = '3.3.0-rc1' + splitVersion = '3.3.0-rc2' } android { From 8932d5e02eb3e76504f64614bfa908e0d5b1e888 Mon Sep 17 00:00:00 2001 From: Gaston Thea Date: Fri, 14 Jul 2023 15:04:33 -0300 Subject: [PATCH 4/8] Update Guava & SnakeYAML --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index f3b897b65..59dcff2cd 100644 --- a/build.gradle +++ b/build.gradle @@ -98,8 +98,8 @@ dependencies { def lifecycleVersion = '2.5.1' def annotationVersion = '1.2.0' def gsonVersion = '2.9.1' - def guavaVersion = '31.1-android' - def snakeYamlVersion = '1.32' + def guavaVersion = '32.0.0-android' + def snakeYamlVersion = '2.0' def jetBrainsAnnotationsVersion = '22.0.0' def okHttpVersion = '3.12.13' def playServicesVersion = '17.6.0' From 9d1573f322748c4655fad5df4dd26b4ee359f8ad Mon Sep 17 00:00:00 2001 From: Gaston Thea Date: Fri, 14 Jul 2023 17:07:06 -0300 Subject: [PATCH 5/8] Version 3.3.0-rc3 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 59dcff2cd..f964ca002 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ apply plugin: 'signing' apply plugin: 'kotlin-android' ext { - splitVersion = '3.3.0-rc2' + splitVersion = '3.3.0-rc3' } android { From 1fb2210d0e11caf632c9bcb6126218a60cb5bcd1 Mon Sep 17 00:00:00 2001 From: Gaston Thea Date: Tue, 18 Jul 2023 14:35:56 -0300 Subject: [PATCH 6/8] Update proguard rules --- split-proguard-rules.pro | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/split-proguard-rules.pro b/split-proguard-rules.pro index 7165edd00..8dc624df9 100644 --- a/split-proguard-rules.pro +++ b/split-proguard-rules.pro @@ -20,3 +20,35 @@ -dontwarn java.beans.IntrospectionException -dontwarn java.beans.Introspector -dontwarn java.beans.PropertyDescriptor + +##---------------Begin: proguard configuration for Gson ---------- +# Gson uses generic type information stored in a class file when working with fields. Proguard +# removes such information by default, so configure it to keep all of it. +-keepattributes Signature + +# For using GSON @Expose annotation +-keepattributes *Annotation* + +# Gson specific classes +-dontwarn sun.misc.** +#-keep class com.google.gson.stream.** { *; } + +# Application classes that will be serialized/deserialized over Gson +-keep class com.google.gson.examples.android.model.** { ; } + +# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory, +# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter) +-keep class * extends com.google.gson.TypeAdapter +-keep class * implements com.google.gson.TypeAdapterFactory +-keep class * implements com.google.gson.JsonSerializer +-keep class * implements com.google.gson.JsonDeserializer + +# Prevent R8 from leaving Data object members always null +-keepclassmembers,allowobfuscation class * { + @com.google.gson.annotations.SerializedName ; +} + +# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher. +-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken +-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken +##---------------End: proguard configuration for Gson ---------- From 5243693cae026762e0c228cd3f49760e06956997 Mon Sep 17 00:00:00 2001 From: Gaston Thea Date: Tue, 18 Jul 2023 14:45:11 -0300 Subject: [PATCH 7/8] Version 3.3.0-rc4 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index f964ca002..c44e67fa0 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ apply plugin: 'signing' apply plugin: 'kotlin-android' ext { - splitVersion = '3.3.0-rc3' + splitVersion = '3.3.0-rc4' } android { From 337688c95320ca722ea2bf1e7c1ccccf899dd8fe Mon Sep 17 00:00:00 2001 From: Gaston Thea Date: Tue, 18 Jul 2023 16:20:03 -0300 Subject: [PATCH 8/8] Version 3.3.0 --- CHANGES.txt | 4 ++++ build.gradle | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 1de3274e6..51c5c684e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,7 @@ +3.3.0 (Jul 18, 2023) +- Improved streaming architecture implementation to apply feature flag updates from the notification received which is now enhanced, improving efficiency and reliability of the whole update system. +- Added logic to do a full check of feature flags immediately when the app comes back to foreground, limited to once per minute. + 3.2.2 (Jun 7, 2023) - Refactored cipher creation to avoid NPE scenarios. diff --git a/build.gradle b/build.gradle index c44e67fa0..8e1e9b273 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ apply plugin: 'signing' apply plugin: 'kotlin-android' ext { - splitVersion = '3.3.0-rc4' + splitVersion = '3.3.0' } android {