Sentry Android Gradle Plugin Versions Save

Gradle plugin for Sentry Android. Upload proguard, debug files, and more.

4.5.1

2 weeks ago

Fixes

  • Fix auth-token error for ProGuard mapping upload, even when mapping upload is disabled (fixed with sentry-cli 2.31.1)

Dependencies

4.5.0

3 weeks ago

Fixes

  • Remove excessive info logging (#696)

Dependencies

4.4.1

4 weeks ago

Fixes

  • Fix circular depencency issue between mergeAssets and minify tasks (#682)
  • Fix sentry-cli not being extracted prior to task execution (#691)

4.4.0

1 month ago

Fixes

  • Do not pollute build classpath with groovy dependencies (#677)
  • Ensure sentry-cli works well with configuration cache (#675)
  • Fix circular task dependency in combination with DexGuard plugin (#678)

Dependencies

4.3.1

2 months ago

Fixes

  • Do not pollute build classpath with groovy dependencies (#660)
  • Do not execute minifyWithR8 task when running tests with isIncludeAndroidResources enabled (#662)
  • Make tasks with reproducible inputs Cacheable (#664)
    • SentryGenerateIntegrationListTask
    • SentryGenerateDebugMetaPropertiesTask
    • GenerateBundleIdTask
    • SentryGenerateProguardUuidTask

Dependencies

4.3.0

3 months ago

Fixes

  • Bundle ASM version within the plugin and bump it to 9.4 (#637)
    • This should fix the java.lang.AssertionError: Class with incorrect id found exception when using kotlinx.serialization
  • Fall back to findTask if assembleProvider of AndroidVariant is null when hooking source bundle and native symbols upload tasks (#639)
  • Hook source context tasks to also run after install{Variant} tasks (#643)
  • Do not run sentry-cli commands if telemetry is disabled (#648)
  • Proguard and source context tasks don't run on every build (#634)
    • Proguard UUID task now depends on the proguard mapping file. I.e. it will only run if the mapping file has changed
    • Source context tasks now depend on source file changes, if there are no source changes, the tasks won't run

Dependencies

4.2.0

3 months ago

Features

  • Consider sentry-bom version when auto-installing integrations and the SDK (#625)

Fixes

  • Support Room kotlin codegen (#630)
  • Make sentry-cli path calculation configuration-cache compatible (#631)
    • This will prevent build from failing when e.g. switching branches with stale configuration cache
  • Fix FacebookInitProvider instrumentation (#633)

Dependencies

4.1.1

4 months ago

Fixes

  • Fix VerifyError when optimized code is instrumented (#619)

Dependencies

4.1.0

4 months ago

Features

  • Do not consider user-defined sentry versions when auto-installing integrations. This is necessary because we want to align integrations versions to the same one as one of sentry-android-core/sentry/sentry-android/sentry-spring-boot to prevent runtime crashes due to binary incompatibility. (#602)
    • If you have directly defined one of the core versions, we will use that to install integrations, otherwise autoInstallation.sentryVersion or the default bundled SDK version is used.

This means if you have defined something like that:

// direct deps
dependencies {
  implementation("io.sentry:sentry-android-core:7.0.0")
  implementation("io.sentry:sentry-android-okhttp:6.34.0")
}

// or with the gradle plugin
sentry {
  autoInstallation.sentryVersion = '7.0.0' // or the latest version bundled within the plugin
}

dependencies {
  implementation("io.sentry:sentry-android-okhttp:6.34.0")
}

Then in both cases it will use 7.0.0 when installing the sentry-android-okhttp integration and print a warning that we have overridden the version.

  • Add aarch64 sentry-cli (#611)

    • This is used when the build is executed inside a docker container on an Apple silicon chip (e.g. M1)
  • Instrument ContentProvider/Application onCreate calls to measure app-start performance (#565)

    • This feature requires the sentry-java SDK version 7.1.0 and is enabled by default
    • To disable the feature, set sentry.tracingInstrumentation.appStart.enabled to false
sentry {
  tracingInstrumentation {
    appStart {
      enabled.set(false)
    }
  }
}

Fixes

  • Fix sentry-cli url parameter position (#610)

Dependencies

4.0.0

5 months ago

Version 4 of the Sentry Android Gradle plugin brings a variety of features and fixes. The most notable changes are:

  • Bump Sentry Android SDK to 7.0.0. Please, refer to the changelog of the SDK for more details
  • Rename experimentalGuardsquareSupport flag to dexguardEnabled
  • Add new excludes option to allow excluding certain classes from instrumentation. It's available under the sentry.tracingInstrumentation extension

Sentry Android SDK Compatibility

Make sure to use Sentry Gradle plugin 4.+ together with the Sentry Android SDK 7.+, otherwise it might crash at runtime due to binary incompatibility. (E.g. if you're using -timber, -okhttp or other packages)

If you can't do that for some reason, you can specify sentry version via the plugin config block:

sentry {
  autoInstallation {
    sentryVersion.set("7.0.0")
  }
}

Similarly, if you have a Sentry SDK (e.g. sentry-android-core) dependency on one of your Gradle modules and you're updating it to 7.+, make sure the Gradle plugin is at 4.+ or specify the SDK version as shown in the snippet above.

Breaking Changes

  • Rename experimentalGuardsquareSupport flag to dexguardEnabled (#589)
  • Bump Sentry Android SDK to 7.0.0

Other Changes

Features

  • Print a warning if the Sentry plugin is not applied on the app module (#586)
  • Add new excludes option to exclude classes from instrumentation (#590)
  • Send telemetry data for plugin usage (#582)
    • This will collect errors and timings of the plugin and its tasks (anonymized, except the sentry org id), so we can better understand how the plugin is performing. If you wish to opt-out of this behavior, set telemetry = false in the sentry plugin configuration block.

Chores

  • Change cli command from upload-dif to debug-files upload for native symbols (#587)
  • Use new AGP api for native symbols upload (#592)

Dependencies