From 32dc8985fddf4544ff9eab2b5402d677bb181128 Mon Sep 17 00:00:00 2001 From: GitHub Date: Thu, 3 Apr 2025 21:34:57 +0000 Subject: [PATCH 1/7] chore: update scripts/update-java.sh to 8.6.0 --- CHANGELOG.md | 3 +++ buildSrc/src/main/java/Config.kt | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb4cdeeb..a10ce76f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ - Bump Cocoa SDK from v8.44.0 to v8.48.0 ([#345](https://github.com/getsentry/sentry-kotlin-multiplatform/pull/345)) - [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8480) - [diff](https://github.com/getsentry/sentry-cocoa/compare/8.44.0...8.48.0) +- Bump Java SDK from v7.18.1 to v8.6.0 ([#350](https://github.com/getsentry/sentry-kotlin-multiplatform/pull/350)) + - [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#860) + - [diff](https://github.com/getsentry/sentry-java/compare/7.18.1...8.6.0) ## 0.11.0 diff --git a/buildSrc/src/main/java/Config.kt b/buildSrc/src/main/java/Config.kt index 28f3eb23..b6ce1ea6 100644 --- a/buildSrc/src/main/java/Config.kt +++ b/buildSrc/src/main/java/Config.kt @@ -32,7 +32,7 @@ object Config { object Libs { val kotlinStd = "org.jetbrains.kotlin:kotlin-stdlib" - val sentryJavaVersion = "7.18.1" + val sentryJavaVersion = "8.6.0" val sentryAndroid = "io.sentry:sentry-android:$sentryJavaVersion" val sentryJava = "io.sentry:sentry:$sentryJavaVersion" From f852309eebf5e54a19e2ffa63c43aaac67b0e9e7 Mon Sep 17 00:00:00 2001 From: Giancarlo Buenaflor Date: Thu, 3 Apr 2025 23:49:58 +0200 Subject: [PATCH 2/7] Fix api from major --- .../kotlin/multiplatform/JvmScopeProvider.kt | 3 ++- .../sentry/kotlin/multiplatform/SentryEvent.jvm.kt | 3 ++- .../extensions/ContextsExtension.jvm.kt | 14 ++++++++++++++ .../multiplatform/extensions/UserExtensions.jvm.kt | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/ContextsExtension.jvm.kt diff --git a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/JvmScopeProvider.kt b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/JvmScopeProvider.kt index 3e47181a..766cf9c7 100644 --- a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/JvmScopeProvider.kt +++ b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/JvmScopeProvider.kt @@ -5,6 +5,7 @@ import io.sentry.kotlin.multiplatform.extensions.toJvmSentryLevel import io.sentry.kotlin.multiplatform.extensions.toJvmUser import io.sentry.kotlin.multiplatform.extensions.toKmpSentryLevel import io.sentry.kotlin.multiplatform.extensions.toKmpUser +import io.sentry.kotlin.multiplatform.extensions.toMap import io.sentry.kotlin.multiplatform.protocol.Breadcrumb import io.sentry.kotlin.multiplatform.protocol.User @@ -31,7 +32,7 @@ internal class JvmScopeProvider(private val scope: JvmIScope) : Scope { } override fun getContexts(): MutableMap { - return scope.contexts + return scope.contexts.toMap().toMutableMap() } override fun getTags(): MutableMap { diff --git a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/SentryEvent.jvm.kt b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/SentryEvent.jvm.kt index db467e75..15776861 100644 --- a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/SentryEvent.jvm.kt +++ b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/SentryEvent.jvm.kt @@ -1,5 +1,6 @@ package io.sentry.kotlin.multiplatform +import io.sentry.kotlin.multiplatform.extensions.toMap import io.sentry.kotlin.multiplatform.extensions.toKmpBreadcrumb import io.sentry.kotlin.multiplatform.extensions.toKmpMessage import io.sentry.kotlin.multiplatform.extensions.toKmpSentryException @@ -34,7 +35,7 @@ public actual class SentryEvent actual constructor() : SentryBaseEvent() { user = jvmSentryEvent.user?.toKmpUser() serverName = jvmSentryEvent.serverName dist = jvmSentryEvent.dist - contexts = jvmSentryEvent.contexts + contexts = jvmSentryEvent.contexts.toMap() jvmSentryEvent.fingerprints?.let { fingerprint = it } jvmSentryEvent.exceptions?.let { exceptions = it.map { it.toKmpSentryException() }.toMutableList() } jvmSentryEvent.breadcrumbs?.let { breadcrumbs = it.map { it.toKmpBreadcrumb() }.toMutableList() } diff --git a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/ContextsExtension.jvm.kt b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/ContextsExtension.jvm.kt new file mode 100644 index 00000000..839279dc --- /dev/null +++ b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/ContextsExtension.jvm.kt @@ -0,0 +1,14 @@ +package io.sentry.kotlin.multiplatform.extensions + +import io.sentry.kotlin.multiplatform.JvmContexts + +internal fun JvmContexts.toMap(): Map { + val resultMap = mutableMapOf() + for (key in keys()) { + val value = get(key) + value?.let { + resultMap[key] = it + } + } + return resultMap +} \ No newline at end of file diff --git a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/UserExtensions.jvm.kt b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/UserExtensions.jvm.kt index 9b2913cf..49f31208 100644 --- a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/UserExtensions.jvm.kt +++ b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/UserExtensions.jvm.kt @@ -9,7 +9,7 @@ internal fun User.toJvmUser() = JvmUser().apply { username = scope.username email = scope.email ipAddress = scope.ipAddress - others = scope.other?.toMutableMap() + data = scope.other?.toMutableMap() unknown = scope.unknown?.toMutableMap() } @@ -19,6 +19,6 @@ internal fun JvmUser.toKmpUser() = User().apply { username = scope.username email = scope.email ipAddress = scope.ipAddress - other = scope.others?.toMutableMap() + other = scope.data?.toMutableMap() unknown = scope.unknown?.toMutableMap() } From c530859c3bab2ff165ded335a9deb4636f89afdc Mon Sep 17 00:00:00 2001 From: Giancarlo Buenaflor Date: Thu, 3 Apr 2025 23:52:31 +0200 Subject: [PATCH 3/7] Fix api --- .../extensions/SentryOptionsExtensions.android.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sentry-kotlin-multiplatform/src/androidMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryOptionsExtensions.android.kt b/sentry-kotlin-multiplatform/src/androidMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryOptionsExtensions.android.kt index b1f73cd0..9ce3d67d 100644 --- a/sentry-kotlin-multiplatform/src/androidMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryOptionsExtensions.android.kt +++ b/sentry-kotlin-multiplatform/src/androidMain/kotlin/io/sentry/kotlin/multiplatform/extensions/SentryOptionsExtensions.android.kt @@ -21,15 +21,15 @@ internal fun SentryOptions.toAndroidSentryOptionsCallback(): (SentryAndroidOptio androidOptions.anrTimeoutIntervalMillis = kmpOptions.anrTimeoutIntervalMillis // Replay options - androidOptions.experimental.sessionReplay.maskAllText = + androidOptions.sessionReplay.maskAllText = kmpOptions.experimental.sessionReplay.maskAllText - androidOptions.experimental.sessionReplay.maskAllImages = + androidOptions.sessionReplay.maskAllImages = kmpOptions.experimental.sessionReplay.maskAllImages - androidOptions.experimental.sessionReplay.sessionSampleRate = + androidOptions.sessionReplay.sessionSampleRate = kmpOptions.experimental.sessionReplay.sessionSampleRate - androidOptions.experimental.sessionReplay.onErrorSampleRate = + androidOptions.sessionReplay.onErrorSampleRate = kmpOptions.experimental.sessionReplay.onErrorSampleRate - androidOptions.experimental.sessionReplay.quality = + androidOptions.sessionReplay.quality = kmpOptions.experimental.sessionReplay.quality.toAndroidSentryQuality() // kForEach solves an issue with linter where it thinks forEach is the Java version From d5685d636ea35f02581cf028d56e34662b29f9a6 Mon Sep 17 00:00:00 2001 From: Giancarlo Buenaflor Date: Thu, 3 Apr 2025 23:54:17 +0200 Subject: [PATCH 4/7] Fix formatting --- .../kotlin/multiplatform/extensions/ContextsExtension.jvm.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/ContextsExtension.jvm.kt b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/ContextsExtension.jvm.kt index 839279dc..b50e1c76 100644 --- a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/ContextsExtension.jvm.kt +++ b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions/ContextsExtension.jvm.kt @@ -11,4 +11,4 @@ internal fun JvmContexts.toMap(): Map { } } return resultMap -} \ No newline at end of file +} From 5df3fa6df773db745e41cfd179302738fa64e90f Mon Sep 17 00:00:00 2001 From: Giancarlo Buenaflor Date: Fri, 4 Apr 2025 00:03:03 +0200 Subject: [PATCH 5/7] Fix analyze --- .../kotlin/io/sentry/kotlin/multiplatform/SentryEvent.jvm.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/SentryEvent.jvm.kt b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/SentryEvent.jvm.kt index 15776861..4352c725 100644 --- a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/SentryEvent.jvm.kt +++ b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/SentryEvent.jvm.kt @@ -1,11 +1,11 @@ package io.sentry.kotlin.multiplatform -import io.sentry.kotlin.multiplatform.extensions.toMap import io.sentry.kotlin.multiplatform.extensions.toKmpBreadcrumb import io.sentry.kotlin.multiplatform.extensions.toKmpMessage import io.sentry.kotlin.multiplatform.extensions.toKmpSentryException import io.sentry.kotlin.multiplatform.extensions.toKmpSentryLevel import io.sentry.kotlin.multiplatform.extensions.toKmpUser +import io.sentry.kotlin.multiplatform.extensions.toMap import io.sentry.kotlin.multiplatform.protocol.Message import io.sentry.kotlin.multiplatform.protocol.SentryException import io.sentry.kotlin.multiplatform.protocol.SentryId From 7a86782e308156e5d61f62f4c6dcc4cede522a84 Mon Sep 17 00:00:00 2001 From: Giancarlo Buenaflor Date: Fri, 4 Apr 2025 00:03:25 +0200 Subject: [PATCH 6/7] Fix test --- .../io/sentry/kotlin/multiplatform/PlatformOptions.android.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sentry-kotlin-multiplatform/src/androidUnitTest/kotlin/io/sentry/kotlin/multiplatform/PlatformOptions.android.kt b/sentry-kotlin-multiplatform/src/androidUnitTest/kotlin/io/sentry/kotlin/multiplatform/PlatformOptions.android.kt index 09bfb3f2..4dda0bb6 100644 --- a/sentry-kotlin-multiplatform/src/androidUnitTest/kotlin/io/sentry/kotlin/multiplatform/PlatformOptions.android.kt +++ b/sentry-kotlin-multiplatform/src/androidUnitTest/kotlin/io/sentry/kotlin/multiplatform/PlatformOptions.android.kt @@ -71,7 +71,7 @@ class SentryAndroidOptionsWrapper(private val androidOptions: SentryAndroidOptio get() = androidOptions.isAttachViewHierarchy override val sessionReplay: AndroidSentryReplayOptions - get() = androidOptions.experimental.sessionReplay + get() = androidOptions.sessionReplay override fun applyFromOptions(options: SentryOptions) { options.toAndroidSentryOptionsCallback().invoke(androidOptions) From ab1de7c9a86fb76393e75959b0b4e189140c7195 Mon Sep 17 00:00:00 2001 From: Giancarlo Buenaflor Date: Fri, 4 Apr 2025 00:06:52 +0200 Subject: [PATCH 7/7] Bump minSdkVersion --- buildSrc/src/main/java/Config.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/java/Config.kt b/buildSrc/src/main/java/Config.kt index b6ce1ea6..be68afeb 100644 --- a/buildSrc/src/main/java/Config.kt +++ b/buildSrc/src/main/java/Config.kt @@ -67,7 +67,7 @@ object Config { object Android { private val sdkVersion = 33 - val minSdkVersion = 19 + val minSdkVersion = 21 val targetSdkVersion = sdkVersion val compileSdkVersion = sdkVersion }