- Add experimental session replay options to common code (#275)
Sentry.init { options ->
// Adjust these values for production
options.experimental.sessionReplay.onErrorSampleRate = 1.0
options.experimental.sessionReplay.sessionSampleRate = 1.0
}
- Add
Sentry.isEnabled()
API to common code (#273) - Add
enableWatchdogTerminationTracking
in common options (#281) - Add
diagnosticLevel
in common options (#287)
- Bump Cocoa SDK from v8.36.0 to v8.38.0 (#279, #285)
- Bump Java SDK from v7.14.0 to v7.16.0 (#284, #289)
- Improve interop with objc headers (#265)
- Plugin: dont use
latest.release
as default for the KMP dependency (#262)
- New Sentry KMP Gradle plugin (#230)
- Install via
plugins { id("io.sentry.kotlin.multiplatform.gradle") version "{version}" }
- Enables auto installing of the KMP SDK to
commonMain
(if all targets are supported)- This also automatically installs the Sentry Android SDK
- Enables auto installing of the required Sentry Cocoa SDK with Cocoapods (if Cocoapods plugin is enabled)
- Configures linking for SPM (needed if you want to compile a dynamic framework with
isStatic = false
) - Configure via the
sentryKmp
configuration block in your build file
- Install via
// Example configuration in build.gradle.kts
sentryKmp {
// Disable auto installing the KMP SDK to commonMain
autoInstall.commonMain.enabled = false
}
- Bump Kotlin version from v1.9.21 to v1.9.23 (#250)
- Bump Java SDK from v7.13.0 to v7.14.0 (#253)
- Bump Cocoa SDK from v8.33.0 to v8.36.0 (#258)
- New Sentry KMP Gradle plugin (#230)
- Install via
plugins { id("io.sentry.kotlin.multiplatform.gradle") version "{version}" }
- Enables auto installing of the KMP SDK to commonMain (if all targets are supported)
- Enables auto installing of the required Sentry Cocoa SDK with Cocoapods (if Cocoapods plugin is enabled)
- Configures linking for SPM (needed if you want to compile a dynamic framework)
- Configure via the
sentryKmp
configuration block in your build file
- Install via
- Bump Kotlin version from v1.9.21 to v1.9.23 (#250)
- Bump Java SDK from v7.9.0 to v7.13.0 (#236, #242, #248)
- Bump Cocoa SDK from v8.26.0 to v8.33.0 (#244, #251)
- Symbol multiply defined when trying to run cocoa targets (#226)
- Allow initializing the KMP SDK with native options (#221)
- This allows you to initialize the SDK with platform-specific options that may not be available in the common code of the KMP SDK yet.
Usage:
// build.gradle.kts
kotlin {
sourceSets {
all {
languageSettings.optIn("kotlinx.cinterop.ExperimentalForeignApi")
}
}
}
// commonMain
fun init() {
Sentry.initWithPlatformOptions(createPlatformOptions())
}
expect fun platformOptionsConfiguration(): PlatformOptionsConfiguration
// iOS
actual fun createPlatformOptions(): PlatformOptionsConfiguration = {
dsn = "your_dsn"
release = "1.0.0"
// ...
}
// Android
actual fun createPlatformOptions(): PlatformOptionsConfiguration = {
dsn = "your_dsn"
release = "1.0.0"
// ...
}
Note: This release includes a bump to Sentry Cocoa v8.25.0. Please use at least version 8.25.0 of the Sentry Cocoa SDK starting from this release. If you are using the Cocoapods gradle plugin you need to adjust your configuration:
pod("Sentry") {
version = "8.25.0"
// These extra options are required
extraOpts += listOf("-compiler-option", "-fmodules")
}
- Don't crash app when
applicationContext
is not available (#217)
- Make
setSentryUnhandledExceptionHook
public (#208)
- Add App Hang Tracking / ANR options (#187)
- Use
isAnrEnabled
andanrTimeoutIntervalMillis
to configure ANR tracking for Android - Use
enableAppHangTracking
andappHangTimeoutIntervalMillis
to configure App Hang tracking for iOS - Both options are enabled by default
- Use
- Add isCrashedLastRun (#186)
- You can use it with
Sentry.isCrashedLastRun()
- You can use it with
- Bump Cocoa SDK from v8.17.2 to v8.20.0 (#180, #182)
- Bump Java SDK from v7.1.0 to v7.4.0 (#177, #181, #189)
- Bump Java SDK from v6.33.1 to v7.1.0 (#157, #164)
- Bump Cocoa SDK from v8.4.0 to v8.17.1 (#158)
- Bump Kotlin version from v1.8.0 to v1.9.21 (#146
- Add sample & trace rate configuration (#144)
- Remove need for context in Sentry.init for Android (#117)
- fix: beforeBreadcrumb discarding if hook is not set (#105)
- feat: automatically disable
io.sentry.auto-init
(#93)
- fix: NSNumber to Kotlin Long crash during SentryException conversion (#92)
- ref: improve samples & add SPM docs (#82)
- fix: beforeSend dropping events if not set in options (#79)
- feat: beforeSend / fingerprinting (#70)
- feat: configuring http client errors for Apple targets (#76)
- feat: improve Objc/Swift experience with @HiddenFromObjc (#62)
- feat: add view hierarchy (#53)
- ref: use explicit api & add code consistency (#63)
- fix: cocoa crash handling due to sdkInfo removal in cocoa sdk (#68)
- fix: crash on Android API levels 23 and below (#61)
- remove other sdks in .craft.yml (#58) by @buenaflor
- fix: sdk name (#57) by @buenaflor
- chore: update readme (#56) by @buenaflor
- bump craft minVersion to 1.2.1 (#55) by @buenaflor
- JVM, Android, iOS, macOS, watchOS, tvOS integration
- Sentry init and close
- Capture Message
- Capture Exception with proper stack traces
- Custom unhandled exception handler on Cocoa to properly catch crashes and the stacktrace
- Scope configuration globally and locally
- User Feedback
- Attachments to Scope
- Screenshots option for Android and iOS
- Add beforeBreadcrumb hook
- Kotlin Multiplatform Sample project