Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
5.5.1 (May 22, 2026)
- Fixed race condition in which killing the SDK process during first initialization could leave cache in an inconsistent state.

5.5.0 (Jan 28, 2026)
- Added functionality to provide metadata alongside SDK update, ready and ready from cache events. Read more in our docs.
- Fixed issue in which TLS 1.2 was being forced for new connections.
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ if (rootProject.name == 'android-client') {
}

ext {
splitVersion = '5.5.0'
splitVersion = '5.5.1'
jacocoVersion = '0.8.8'
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.X509TrustManager;

import io.split.android.client.main.BuildConfig;
import io.split.android.client.impressions.ImpressionListener;
import io.split.android.client.network.CertificatePinningConfiguration;
import io.split.android.client.network.SdkVersionProvider;
import io.split.android.client.network.DevelopmentSslConfig;
import io.split.android.client.network.HttpProxy;
import io.split.android.client.network.ProxyConfiguration;
Expand Down Expand Up @@ -242,7 +242,7 @@

mUserConsent = userConsent;

splitSdkVersion = "Android-" + BuildConfig.SPLIT_VERSION_NAME;
splitSdkVersion = SdkVersionProvider.getSdkVersion();

Check warning on line 245 in main/src/main/java/io/split/android/client/SplitClientConfig.java

View check run for this annotation

SonarQube Pull Requests / SonarQube Code Analysis

Remove this assignment of "splitSdkVersion".

[S3010] Static fields should not be updated in constructors See more on https://sonar.harness.io/project/issues?id=splitio_android-client&pullRequest=881&issues=4969f8d4-bcda-4d91-8e03-a1d50a0c4ab5&open=4969f8d4-bcda-4d91-8e03-a1d50a0c4ab5

mShouldRecordTelemetry = shouldRecordTelemetry;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package io.split.android.client.network;

import io.split.android.client.main.BuildConfig;

public class SdkVersionProvider {

Check warning on line 5 in main/src/main/java/io/split/android/client/network/SdkVersionProvider.java

View check run for this annotation

SonarQube Pull Requests / SonarQube Code Analysis

Add a private constructor to hide the implicit public one.

[S1118] Utility classes should not have public constructors See more on https://sonar.harness.io/project/issues?id=splitio_android-client&pullRequest=881&issues=8a0d8c88-2284-4d12-8771-4554f9f99d9e&open=8a0d8c88-2284-4d12-8771-4554f9f99d9e

public static String getSdkVersion() {
return "Android-" + BuildConfig.SPLIT_VERSION_NAME;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
import java.io.InputStream;
import java.nio.charset.StandardCharsets;

import io.split.android.client.main.BuildConfig;
import io.split.android.client.dtos.HttpProxyDto;
import io.split.android.client.network.BasicCredentialsProvider;
import io.split.android.client.network.BearerCredentialsProvider;
import io.split.android.client.network.CertificatePinningConfiguration;
import io.split.android.client.network.CertificatePinningConfigurationProvider;
import io.split.android.client.network.HttpClient;
import io.split.android.client.network.HttpClientImpl;
import io.split.android.client.network.SdkVersionProvider;
import io.split.android.client.network.HttpProxy;
import io.split.android.client.network.SplitHttpHeadersBuilder;
import io.split.android.client.storage.cipher.SplitCipherFactory;
Expand Down Expand Up @@ -43,7 +43,7 @@ private static HttpClient buildHttpClient(String apiKey, @Nullable CertificatePi
.build();

SplitHttpHeadersBuilder headersBuilder = new SplitHttpHeadersBuilder();
headersBuilder.setClientVersion(BuildConfig.SPLIT_VERSION_NAME);
headersBuilder.setClientVersion(SdkVersionProvider.getSdkVersion());
headersBuilder.setApiToken(apiKey);
headersBuilder.addJsonTypeHeaders();
httpClient.addHeaders(headersBuilder.build());
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package io.split.android.client.network;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import org.junit.Test;

public class SdkVersionProviderTest {

@Test
public void getSdkVersionStartsWithAndroidPrefix() {
assertTrue(SdkVersionProvider.getSdkVersion().startsWith("Android-"));
}

@Test
public void getSdkVersionContainsNonEmptyVersionAfterPrefix() {
String version = SdkVersionProvider.getSdkVersion();
String suffix = version.substring("Android-".length());
assertFalse(suffix.isEmpty());
}
}
Loading