openfoodfacts / openfoodfacts-androidapp

(Legacy) Native version of Open Food Facts on Android - Coders & Decoders welcome 🤳🥫
https://android.openfoodfacts.org
Apache License 2.0
773 stars 446 forks source link

build(deps): Bump io.sentry:sentry-android from 6.27.0 to 7.0.0 #5124

Closed dependabot[bot] closed 11 months ago

dependabot[bot] commented 11 months ago

Bumps io.sentry:sentry-android from 6.27.0 to 7.0.0.

Release notes

Sourced from io.sentry:sentry-android's releases.

7.0.0

Version 7 of the Sentry Android/Java SDK brings a variety of features and fixes. The most notable changes are:

  • Bumping minSdk level to 19 (Android 4.4)
  • The SDK will now listen to connectivity changes and try to re-upload cached events when internet connection is re-established additionally to uploading events on app restart
  • Sentry.getSpan now returns the root transaction, which should improve the span hierarchy and make it leaner
  • Multiple improvements to reduce probability of the SDK causing ANRs
  • New sentry-okhttp artifact is unbundled from Android and can be used in pure JVM-only apps

Sentry Self-hosted Compatibility

This SDK version is compatible with a self-hosted version of Sentry 22.12.0 or higher. If you are using an older version of self-hosted Sentry (aka onpremise), you will need to upgrade. If you're using sentry.io no action is required.

Sentry Integrations Version Compatibility (Android)

Make sure to align all Sentry dependencies to the same version when bumping the SDK to 7.+, otherwise it will crash at runtime due to binary incompatibility. (E.g. if you're using -timber, -okhttp or other packages)

For example, if you're using the Sentry Android Gradle plugin with the autoInstallation feature (enabled by default), make sure to use version 4.+ of the gradle plugin together with version 7.+ of the SDK. 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

  • Bump min API to 19 (#2883)
  • If you're using sentry-kotlin-extensions, it requires kotlinx-coroutines-core version 1.6.1 or higher now (#2838)
  • Move enableNdk from SentryOptions to SentryAndroidOptions (#2793)
  • Apollo v2 BeforeSpanCallback now allows returning null (#2890)
  • SentryOkHttpUtils was removed from public API as it's been exposed by mistake (#3005)
  • Scope now implements the IScope interface, therefore some methods like ScopeCallback.run accept IScope now (#3066)
  • Cleanup startTransaction overloads (#2964)
    • We have reduced the number of overloads by allowing to pass in a TransactionOptions object instead of having separate parameters for certain options
    • TransactionOptions has defaults set and can be customized, for example:
// old
val transaction = Sentry.startTransaction("name", "op", bindToScope = true)
// new
val transaction = Sentry.startTransaction("name", "op", TransactionOptions().apply { isBindToScope = true })

Behavioural Changes

  • Android only: Sentry.getSpan() returns the root span/transaction instead of the latest span (#2855)

... (truncated)

Changelog

Sourced from io.sentry:sentry-android's changelog.

7.0.0

Version 7 of the Sentry Android/Java SDK brings a variety of features and fixes. The most notable changes are:

  • Bumping minSdk level to 19 (Android 4.4)
  • The SDK will now listen to connectivity changes and try to re-upload cached events when internet connection is re-established additionally to uploading events on app restart
  • Sentry.getSpan now returns the root transaction, which should improve the span hierarchy and make it leaner
  • Multiple improvements to reduce probability of the SDK causing ANRs
  • New sentry-okhttp artifact is unbundled from Android and can be used in pure JVM-only apps

Sentry Self-hosted Compatibility

This SDK version is compatible with a self-hosted version of Sentry 22.12.0 or higher. If you are using an older version of self-hosted Sentry (aka onpremise), you will need to upgrade. If you're using sentry.io no action is required.

Sentry Integrations Version Compatibility (Android)

Make sure to align all Sentry dependencies to the same version when bumping the SDK to 7.+, otherwise it will crash at runtime due to binary incompatibility. (E.g. if you're using -timber, -okhttp or other packages)

For example, if you're using the Sentry Android Gradle plugin with the autoInstallation feature (enabled by default), make sure to use version 4.+ of the gradle plugin together with version 7.+ of the SDK. 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

  • Bump min API to 19 (#2883)
  • If you're using sentry-kotlin-extensions, it requires kotlinx-coroutines-core version 1.6.1 or higher now (#2838)
  • Move enableNdk from SentryOptions to SentryAndroidOptions (#2793)
  • Apollo v2 BeforeSpanCallback now allows returning null (#2890)
  • SentryOkHttpUtils was removed from public API as it's been exposed by mistake (#3005)
  • Scope now implements the IScope interface, therefore some methods like ScopeCallback.run accept IScope now (#3066)
  • Cleanup startTransaction overloads (#2964)
    • We have reduced the number of overloads by allowing to pass in a TransactionOptions object instead of having separate parameters for certain options
    • TransactionOptions has defaults set and can be customized, for example:
// old
val transaction = Sentry.startTransaction("name", "op", bindToScope = true)
// new
val transaction = Sentry.startTransaction("name", "op", TransactionOptions().apply { isBindToScope = true })

Behavioural Changes

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
sonarcloud[bot] commented 11 months ago

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

dependabot[bot] commented 11 months ago

Superseded by #5136.