Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: getsentry/sentry-java
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 8.3.0
Choose a base ref
...
head repository: getsentry/sentry-java
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 8.4.0
Choose a head ref

Commits on Feb 26, 2025

  1. Merge branch 'release/8.3.0'

    getsentry-bot committed Feb 26, 2025
    Copy the full SHA
    0584f7e View commit details

Commits on Mar 3, 2025

  1. feat: Allow Hybrid SDK to setTrace (#4137)

    bitsandfoxes authored Mar 3, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    158d688 View commit details

Commits on Mar 5, 2025

  1. adds default issue types to issue templates (#4234)

    kahest authored Mar 5, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    1a52aa2 View commit details

Commits on Mar 6, 2025

  1. Use java.net.URI for parsing URLs in UrlUtils (#4210)

    * refactor: use `java.net.URI` for parsing in `UrlUtils`
    
    * reorganize tests
    
    * add tests
    
    * tests
    
    * changelog
    
    * Update sentry/src/main/java/io/sentry/util/UrlUtils.java
    
    Co-authored-by: Alexander Dinauer <adinauer@users.noreply.github.com>
    
    * Update CHANGELOG.md
    
    ---------
    
    Co-authored-by: Alexander Dinauer <adinauer@users.noreply.github.com>
    lcian and adinauer authored Mar 6, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    44791e1 View commit details
  2. Add Reactor and Apollo 4 modules to README.md and .craft.yml (#4225)

    lcian authored Mar 6, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    66c895b View commit details
  3. Report missing integrations (#4229)

    * Report missing integrations
    
    * fix name
    
    * spotless
    lcian authored Mar 6, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    ff09dc4 View commit details

Commits on Mar 7, 2025

  1. Add support for setting in-app-includes/in-app-excludes via AndroidMa…

    …nifest.xml (#4240)
    
    * Add support for setting in-app-includes/in-app-excludes via AndroidManifest.xml
    
    * Update Changelog
    markushi authored Mar 7, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    7074d0b View commit details

Commits on Mar 11, 2025

  1. Capture OpenTelemetry span events (#3564)

    * capture otel events
    
    * Set trace for captured error; set timestamp; refactor
    
    * changelog
    
    * fix external option name
    
    * remove duplicate dependency entry
    
    * ignore buildSrc/.kotlin
    adinauer authored Mar 11, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    033bc88 View commit details
  2. Also use port when checking if a request is made to Sentry DSN (#4231)

    * Also use port when checking if a request is made to Sentry DSN
    
    * changelog
    adinauer authored Mar 11, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    762ee2d View commit details
  3. Propagate modifications of OkHttp requests to the affected spans / br…

    …eadcrumbs (#4238)
    
    * Update okhttp span/breadcrumbs in case interceptors change the request
    
    * Update Changelog
    
    * Address PR feedback
    markushi authored Mar 11, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    3bff837 View commit details
  4. Add param for running build before test run (#4232)

    * Also use port when checking if a request is made to Sentry DSN
    
    * changelog
    
    * Add a param to control whether the test script should rebuild before running the tested server
    adinauer authored Mar 11, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    083eb83 View commit details
  5. Add system tests for distributed tracing (#4233)

    * Also use port when checking if a request is made to Sentry DSN
    
    * changelog
    
    * Add a param to control whether the test script should rebuild before running the tested server
    
    * Add system tests for distributed tracing
    adinauer authored Mar 11, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    a2c3d69 View commit details
  6. Reuse util classes for System tests (#4236)

    * Also use port when checking if a request is made to Sentry DSN
    
    * changelog
    
    * Add a param to control whether the test script should rebuild before running the tested server
    
    * Add system tests for distributed tracing
    
    * reuse util classes for system tests
    
    * add schema
    adinauer authored Mar 11, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    251127d View commit details
  7. Add distributed tracing tests to more modules (#4237)

    * Also use port when checking if a request is made to Sentry DSN
    
    * changelog
    
    * Add a param to control whether the test script should rebuild before running the tested server
    
    * Add system tests for distributed tracing
    
    * reuse util classes for system tests
    
    * add schema
    
    * Add distributed tracing tests to more modules
    
    * use mono.just for post body
    adinauer authored Mar 11, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    ac9ebcd View commit details
  8. Replace RestTemplate with OkHttp for system tests (#4239)

    * Also use port when checking if a request is made to Sentry DSN
    
    * changelog
    
    * Add a param to control whether the test script should rebuild before running the tested server
    
    * Add system tests for distributed tracing
    
    * reuse util classes for system tests
    
    * add schema
    
    * Add distributed tracing tests to more modules
    
    * use mono.just for post body
    
    * Replace RestTemplate with OkHttp in system tests
    
    * Format code
    
    * format + api
    
    * Update buildSrc/src/main/java/Config.kt
    
    ---------
    
    Co-authored-by: Sentry Github Bot <bot+github-bot@sentry.io>
    adinauer and getsentry-bot authored Mar 11, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    5eb3279 View commit details

Commits on Mar 12, 2025

  1. Avoid NPEs from SDK in API like setTag, setData, setContext (#4245)

    * Avoid NPEs from SDK in API like setTag, setData, setContext
    
    * changelog
    
    * revert unintentional change
    
    * Update CHANGELOG.md
    
    * set timeouts for okhttp in system tests
    
    * bump timeout
    adinauer authored Mar 12, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    21a214b View commit details
  2. Fix "class ch.qos.logback.classic.spi.ThrowableProxyVO cannot be cast…

    … to class ch.qos.logback.classic.spi.ThrowableProxy" (#4206)
    
    * Fix "class ch.qos.logback.classic.spi.ThrowableProxyVO cannot be cast to class ch.qos.logback.classic.spi.ThrowableProxy"
    
    15:44:34,110 |-ERROR in io.sentry.logback.SentryAppender[SENTRY_ORIGINAL] - Appender [SENTRY_ORIGINAL] failed to append. java.lang.ClassCastException: class ch.qos.logback.classic.spi.ThrowableProxyVO cannot be cast to class ch.qos.logback.classic.spi.ThrowableProxy (ch.qos.logback.classic.spi.ThrowableProxyVO and ch.qos.logback.classic.spi.ThrowableProxy are in unnamed module of loader 'app')
    	at java.lang.ClassCastException: class ch.qos.logback.classic.spi.ThrowableProxyVO cannot be cast to class ch.qos.logback.classic.spi.ThrowableProxy (ch.qos.logback.classic.spi.ThrowableProxyVO and ch.qos.logback.classic.spi.ThrowableProxy are in unnamed module of loader 'app')
    	at 	at io.sentry.logback.SentryAppender.createEvent(SentryAppender.java:113)
    	at 	at io.sentry.logback.SentryAppender.append(SentryAppender.java:80)
    	at 	at io.sentry.logback.SentryAppender.append(SentryAppender.java:41)
    	at 	at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:85)
    	at 	at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
    	at 	at io.opentelemetry.instrumentation.logback.mdc.v1_0.OpenTelemetryAppender.append(OpenTelemetryAppender.java:111)
    	at 	at io.opentelemetry.instrumentation.logback.mdc.v1_0.OpenTelemetryAppender.append(OpenTelemetryAppender.java:30)
    	at 	at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:85)
    	at 	at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
    	at 	at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:272)
    	at 	at ch.qos.logback.classic.Logger.callAppenders(Logger.java:259)
    	at 	at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:426)
    	at 	at ch.qos.logback.classic.Logger.filterAndLog_2(Logger.java:419)
    	at 	at ch.qos.logback.classic.Logger.error(Logger.java:535)
    	at 	at io.micronaut.runtime.Micronaut.handleStartupException(Micronaut.java:343)
    	at 	at io.micronaut.runtime.Micronaut.start(Micronaut.java:173)
    	at 	at io.micronaut.runtime.Micronaut.run(Micronaut.java:328)
    	at 	at io.micronaut.runtime.Micronaut.run(Micronaut.java:314)
    
    * Spotless
    
    * Added changelog.
    
    * add test
    
    * move and extend changelog entry
    
    ---------
    
    Co-authored-by: Alexander Dinauer <alexander.dinauer@sentry.io>
    Co-authored-by: Alexander Dinauer <adinauer@users.noreply.github.com>
    3 people authored Mar 12, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    878fd7b View commit details

Commits on Mar 13, 2025

  1. Pass OpenTelemetry span attributes into TracesSampler callback (#4253)

    * Pass OpenTelemetry span attributes into TracesSampler callback
    
    * Format code
    
    * changelog
    
    * api
    
    * Apply suggestions from code review
    
    Co-authored-by: Lorenzo Cian <lorenzo.cian@sentry.io>
    
    ---------
    
    Co-authored-by: Sentry Github Bot <bot+github-bot@sentry.io>
    Co-authored-by: Lorenzo Cian <lorenzo.cian@sentry.io>
    3 people authored Mar 13, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    9683566 View commit details
  2. Fix AbstractMethodError when using SentryTraced for Jetpack Compose (#…

    …4255)
    
    * Override default interface impl to fix AbstractMethodError
    
    * Update Changelog
    markushi authored Mar 13, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    2882875 View commit details
  3. Update CHANGELOG.md (#4248)

    markushi authored Mar 13, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    0b8cee0 View commit details

Commits on Mar 14, 2025

  1. Fix misuses of CopyOnWriteArrayList (#4247)

    * Avoid copying and iterate correctly on `SentryTracer.children`
    
    * another place
    
    * changelog
    
    * fix
    
    * remove unnecessary test
    
    * wip
    
    * improve
    
    * improve
    
    * Update CHANGELOG.md
    
    Co-authored-by: Alexander Dinauer <adinauer@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Alexander Dinauer <adinauer@users.noreply.github.com>
    lcian and adinauer authored Mar 14, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    9fba6e3 View commit details
  2. Assume http.client for span op if not a root span (#4257)

    * Assume http.client for span op if not a root span
    
    * changelog
    adinauer authored Mar 14, 2025

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    e5e6905 View commit details
  3. release: 8.4.0

    getsentry-bot committed Mar 14, 2025
    Copy the full SHA
    be2d574 View commit details
Showing with 5,301 additions and 3,707 deletions.
  1. +2 −0 .craft.yml
  2. +1 −0 .github/ISSUE_TEMPLATE/bug_report_android.yml
  3. +1 −0 .github/ISSUE_TEMPLATE/bug_report_java.yml
  4. +1 −0 .github/ISSUE_TEMPLATE/feature_android.yml
  5. +1 −0 .github/ISSUE_TEMPLATE/feature_java.yml
  6. +1 −1 .github/workflows/system-tests-backend.yml
  7. +1 −0 .gitignore
  8. +67 −0 CHANGELOG.md
  9. +2 −0 README.md
  10. +1 −1 build.gradle.kts
  11. +4 −2 buildSrc/src/main/java/Config.kt
  12. +1 −0 codecov.yml
  13. +1 −1 gradle.properties
  14. +1 −0 sentry-android-core/api/sentry-android-core.api
  15. +5 −0 sentry-android-core/src/main/java/io/sentry/android/core/CurrentActivityIntegration.java
  16. +3 −0 sentry-android-core/src/main/java/io/sentry/android/core/EnvelopeFileObserverIntegration.java
  17. +21 −0 sentry-android-core/src/main/java/io/sentry/android/core/InternalSentrySdk.java
  18. +18 −1 sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java
  19. +23 −1 sentry-android-core/src/test/java/io/sentry/android/core/InternalSentrySdkTest.kt
  20. +50 −0 sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt
  21. +1 −0 sentry-android-ndk/api/sentry-android-ndk.api
  22. +20 −0 sentry-android-ndk/src/main/java/io/sentry/android/ndk/NdkScopeObserver.java
  23. +6 −0 sentry-compose/src/androidMain/kotlin/io/sentry/compose/SentryModifier.kt
  24. +10 −8 sentry-logback/src/main/java/io/sentry/logback/SentryAppender.java
  25. +23 −0 sentry-logback/src/test/kotlin/io/sentry/logback/SentryAppenderTest.kt
  26. +40 −9 sentry-okhttp/src/main/java/io/sentry/okhttp/SentryOkHttpEvent.kt
  27. +5 −0 sentry-okhttp/src/main/java/io/sentry/okhttp/SentryOkHttpInterceptor.kt
  28. +30 −0 sentry-okhttp/src/test/java/io/sentry/okhttp/SentryOkHttpEventTest.kt
  29. +38 −1 sentry-okhttp/src/test/java/io/sentry/okhttp/SentryOkHttpInterceptorTest.kt
  30. +10 −0 sentry-openfeign/src/main/java/io/sentry/openfeign/SentryFeignClient.java
  31. +5 −5 ...entry-opentelemetry-bootstrap/src/main/java/io/sentry/opentelemetry/OtelStrongRefSpanWrapper.java
  32. +5 −5 ...y-opentelemetry-bootstrap/src/main/java/io/sentry/opentelemetry/OtelTransactionSpanForwarder.java
  33. +7 −0 ...ry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/OpenTelemetryAttributesExtractor.java
  34. +5 −13 ...entry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/OtelInternalSpanDetectionUtil.java
  35. +44 −0 ...etry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/OtelSentrySpanProcessor.java
  36. +19 −6 ...pentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/OtelSpanWrapper.java
  37. +27 −3 ...-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SentrySampler.java
  38. +18 −19 ...try/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SpanDescriptionExtractor.java
  39. +14 −0 ...y-opentelemetry/sentry-opentelemetry-core/src/test/kotlin/OpenTelemetryAttributesExtractorTest.kt
  40. +251 −0 sentry-opentelemetry/sentry-opentelemetry-core/src/test/kotlin/OtelInternalSpanDetectionUtilTest.kt
  41. +344 −0 sentry-opentelemetry/sentry-opentelemetry-core/src/test/kotlin/SpanDescriptionExtractorTest.kt
  42. +2 −11 sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry-noagent/build.gradle.kts
  43. +51 −0 ...try-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java
  44. +190 −0 ...akarta-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/DistributedTracingSystemTest.kt
  45. +2 −2 ...t-jakarta-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/GraphqlGreetingSystemTest.kt
  46. +3 −3 ...ot-jakarta-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/GraphqlProjectSystemTest.kt
  47. +1 −1 ...-boot-jakarta-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/GraphqlTaskSystemTest.kt
  48. +4 −6 ...pring-boot-jakarta-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/PersonSystemTest.kt
  49. +6 −7 ...-spring-boot-jakarta-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/TodoSystemTest.kt
  50. +0 −13 ...arta-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/util/LoggingInsecureRestClient.kt
  51. +0 −76 ...ng-boot-jakarta-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/util/RestTestClient.kt
  52. +0 −43 ...jakarta-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/util/SentryMockServerClient.kt
  53. +0 −162 ...spring-boot-jakarta-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/util/TestHelper.kt
  54. +3 −11 sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/build.gradle.kts
  55. +49 −0 ...entelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java
  56. +0 −3 sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/src/test/graphql/greeting.graphql
  57. +0 −11 sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/src/test/graphql/project.graphql
  58. +0 −70 sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/src/test/graphql/schema.graphqls
  59. +0 −16 sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/src/test/graphql/task.graphql
  60. +190 −0 ...g-boot-jakarta-opentelemetry/src/test/kotlin/io/sentry/systemtest/DistributedTracingSystemTest.kt
  61. +2 −2 ...ring-boot-jakarta-opentelemetry/src/test/kotlin/io/sentry/systemtest/GraphqlGreetingSystemTest.kt
  62. +3 −3 ...pring-boot-jakarta-opentelemetry/src/test/kotlin/io/sentry/systemtest/GraphqlProjectSystemTest.kt
  63. +1 −1 ...s-spring-boot-jakarta-opentelemetry/src/test/kotlin/io/sentry/systemtest/GraphqlTaskSystemTest.kt
  64. +4 −6 ...amples-spring-boot-jakarta-opentelemetry/src/test/kotlin/io/sentry/systemtest/PersonSystemTest.kt
  65. +6 −7 ...-samples-spring-boot-jakarta-opentelemetry/src/test/kotlin/io/sentry/systemtest/TodoSystemTest.kt
  66. +0 −43 ...ring-boot-jakarta-opentelemetry/src/test/kotlin/io/sentry/systemtest/graphql/GraphqlTestClient.kt
  67. +0 −13 ...boot-jakarta-opentelemetry/src/test/kotlin/io/sentry/systemtest/util/LoggingInsecureRestClient.kt
  68. +0 −76 ...les-spring-boot-jakarta-opentelemetry/src/test/kotlin/io/sentry/systemtest/util/RestTestClient.kt
  69. +0 −43 ...ng-boot-jakarta-opentelemetry/src/test/kotlin/io/sentry/systemtest/util/SentryMockServerClient.kt
  70. +0 −162 ...samples-spring-boot-jakarta-opentelemetry/src/test/kotlin/io/sentry/systemtest/util/TestHelper.kt
  71. +3 −11 sentry-samples/sentry-samples-spring-boot-jakarta/build.gradle.kts
  72. +49 −0 ...oot-jakarta/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java
  73. +0 −3 sentry-samples/sentry-samples-spring-boot-jakarta/src/test/graphql/greeting.graphql
  74. +0 −11 sentry-samples/sentry-samples-spring-boot-jakarta/src/test/graphql/project.graphql
  75. +0 −70 sentry-samples/sentry-samples-spring-boot-jakarta/src/test/graphql/schema.graphqls
  76. +0 −16 sentry-samples/sentry-samples-spring-boot-jakarta/src/test/graphql/task.graphql
  77. +190 −0 ...-samples-spring-boot-jakarta/src/test/kotlin/io/sentry/systemtest/DistributedTracingSystemTest.kt
  78. +2 −2 ...try-samples-spring-boot-jakarta/src/test/kotlin/io/sentry/systemtest/GraphqlGreetingSystemTest.kt
  79. +3 −3 ...ntry-samples-spring-boot-jakarta/src/test/kotlin/io/sentry/systemtest/GraphqlProjectSystemTest.kt
  80. +1 −1 .../sentry-samples-spring-boot-jakarta/src/test/kotlin/io/sentry/systemtest/GraphqlTaskSystemTest.kt
  81. +4 −6 ...mples/sentry-samples-spring-boot-jakarta/src/test/kotlin/io/sentry/systemtest/PersonSystemTest.kt
  82. +6 −7 ...samples/sentry-samples-spring-boot-jakarta/src/test/kotlin/io/sentry/systemtest/TodoSystemTest.kt
  83. +0 −43 ...try-samples-spring-boot-jakarta/src/test/kotlin/io/sentry/systemtest/graphql/GraphqlTestClient.kt
  84. +0 −13 ...amples-spring-boot-jakarta/src/test/kotlin/io/sentry/systemtest/util/LoggingInsecureRestClient.kt
  85. +0 −76 ...es/sentry-samples-spring-boot-jakarta/src/test/kotlin/io/sentry/systemtest/util/RestTestClient.kt
  86. +0 −43 ...y-samples-spring-boot-jakarta/src/test/kotlin/io/sentry/systemtest/util/SentryMockServerClient.kt
  87. +0 −173 ...amples/sentry-samples-spring-boot-jakarta/src/test/kotlin/io/sentry/systemtest/util/TestHelper.kt
  88. +4 −12 sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/build.gradle.kts
  89. +56 −0 ...entelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/DistributedTracingController.java
  90. +0 −3 sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/src/test/graphql/greeting.graphql
  91. +0 −11 sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/src/test/graphql/project.graphql
  92. +0 −70 sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/src/test/graphql/schema.graphqls
  93. +0 −16 sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/src/test/graphql/task.graphql
  94. +190 −0 ...g-boot-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/DistributedTracingSystemTest.kt
  95. +2 −2 ...ring-boot-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/GraphqlGreetingSystemTest.kt
  96. +3 −3 ...pring-boot-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/GraphqlProjectSystemTest.kt
  97. +1 −1 ...s-spring-boot-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/GraphqlTaskSystemTest.kt
  98. +4 −6 ...amples-spring-boot-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/PersonSystemTest.kt
  99. +4 −5 ...-samples-spring-boot-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/TodoSystemTest.kt
  100. +0 −43 ...ring-boot-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/graphql/GraphqlTestClient.kt
  101. +0 −32 ...boot-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/util/LoggingInsecureRestClient.kt
  102. +0 −65 ...les-spring-boot-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/util/RestTestClient.kt
  103. +0 −43 ...ng-boot-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/util/SentryMockServerClient.kt
  104. +0 −173 ...samples-spring-boot-opentelemetry-noagent/src/test/kotlin/io/sentry/systemtest/util/TestHelper.kt
  105. +4 −12 sentry-samples/sentry-samples-spring-boot-opentelemetry/build.gradle.kts
  106. +56 −0 ...-boot-opentelemetry/src/main/java/io/sentry/samples/spring/boot/DistributedTracingController.java
  107. +0 −3 sentry-samples/sentry-samples-spring-boot-opentelemetry/src/test/graphql/greeting.graphql
  108. +0 −11 sentry-samples/sentry-samples-spring-boot-opentelemetry/src/test/graphql/project.graphql
  109. +0 −70 sentry-samples/sentry-samples-spring-boot-opentelemetry/src/test/graphql/schema.graphqls
  110. +0 −16 sentry-samples/sentry-samples-spring-boot-opentelemetry/src/test/graphql/task.graphql
  111. +190 −0 ...es-spring-boot-opentelemetry/src/test/kotlin/io/sentry/systemtest/DistributedTracingSystemTest.kt
  112. +2 −2 ...mples-spring-boot-opentelemetry/src/test/kotlin/io/sentry/systemtest/GraphqlGreetingSystemTest.kt
  113. +3 −3 ...amples-spring-boot-opentelemetry/src/test/kotlin/io/sentry/systemtest/GraphqlProjectSystemTest.kt
  114. +1 −1 ...y-samples-spring-boot-opentelemetry/src/test/kotlin/io/sentry/systemtest/GraphqlTaskSystemTest.kt
  115. +8 −10 ...sentry-samples-spring-boot-opentelemetry/src/test/kotlin/io/sentry/systemtest/PersonSystemTest.kt
  116. +4 −5 ...s/sentry-samples-spring-boot-opentelemetry/src/test/kotlin/io/sentry/systemtest/TodoSystemTest.kt
  117. +0 −43 ...mples-spring-boot-opentelemetry/src/test/kotlin/io/sentry/systemtest/graphql/GraphqlTestClient.kt
  118. +0 −32 ...-spring-boot-opentelemetry/src/test/kotlin/io/sentry/systemtest/util/LoggingInsecureRestClient.kt
  119. +0 −68 ...try-samples-spring-boot-opentelemetry/src/test/kotlin/io/sentry/systemtest/util/RestTestClient.kt
  120. +0 −43 ...les-spring-boot-opentelemetry/src/test/kotlin/io/sentry/systemtest/util/SentryMockServerClient.kt
  121. +2 −11 sentry-samples/sentry-samples-spring-boot-webflux-jakarta/build.gradle.kts
  122. +52 −0 ...lux-jakarta/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java
  123. +0 −3 sentry-samples/sentry-samples-spring-boot-webflux-jakarta/src/test/graphql/greeting.graphql
  124. +0 −3 sentry-samples/sentry-samples-spring-boot-webflux-jakarta/src/test/graphql/schema.graphqls
  125. +190 −0 ...-spring-boot-webflux-jakarta/src/test/kotlin/io/sentry/systemtest/DistributedTracingSystemTest.kt
  126. +2 −2 ...les-spring-boot-webflux-jakarta/src/test/kotlin/io/sentry/systemtest/GraphqlGreetingSystemTest.kt
  127. +4 −6 ...ntry-samples-spring-boot-webflux-jakarta/src/test/kotlin/io/sentry/systemtest/PersonSystemTest.kt
  128. +2 −3 ...sentry-samples-spring-boot-webflux-jakarta/src/test/kotlin/io/sentry/systemtest/TodoSystemTest.kt
  129. +0 −28 ...les-spring-boot-webflux-jakarta/src/test/kotlin/io/sentry/systemtest/graphql/GraphqlTestClient.kt
  130. +0 −13 ...pring-boot-webflux-jakarta/src/test/kotlin/io/sentry/systemtest/util/LoggingInsecureRestClient.kt
  131. +0 −65 ...y-samples-spring-boot-webflux-jakarta/src/test/kotlin/io/sentry/systemtest/util/RestTestClient.kt
  132. +0 −43 ...s-spring-boot-webflux-jakarta/src/test/kotlin/io/sentry/systemtest/util/SentryMockServerClient.kt
  133. +0 −173 ...entry-samples-spring-boot-webflux-jakarta/src/test/kotlin/io/sentry/systemtest/util/TestHelper.kt
  134. +4 −12 sentry-samples/sentry-samples-spring-boot-webflux/build.gradle.kts
  135. +52 −0 ...spring-boot-webflux/src/main/java/io/sentry/samples/spring/boot/DistributedTracingController.java
  136. +0 −3 sentry-samples/sentry-samples-spring-boot-webflux/src/test/graphql/greeting.graphql
  137. +0 −3 sentry-samples/sentry-samples-spring-boot-webflux/src/test/graphql/schema.graphqls
  138. +190 −0 ...-samples-spring-boot-webflux/src/test/kotlin/io/sentry/systemtest/DistributedTracingSystemTest.kt
  139. +2 −2 ...try-samples-spring-boot-webflux/src/test/kotlin/io/sentry/systemtest/GraphqlGreetingSystemTest.kt
  140. +4 −6 ...mples/sentry-samples-spring-boot-webflux/src/test/kotlin/io/sentry/systemtest/PersonSystemTest.kt
  141. +2 −3 ...samples/sentry-samples-spring-boot-webflux/src/test/kotlin/io/sentry/systemtest/TodoSystemTest.kt
  142. +0 −28 ...try-samples-spring-boot-webflux/src/test/kotlin/io/sentry/systemtest/graphql/GraphqlTestClient.kt
  143. +0 −32 ...amples-spring-boot-webflux/src/test/kotlin/io/sentry/systemtest/util/LoggingInsecureRestClient.kt
  144. +0 −65 ...es/sentry-samples-spring-boot-webflux/src/test/kotlin/io/sentry/systemtest/util/RestTestClient.kt
  145. +0 −43 ...y-samples-spring-boot-webflux/src/test/kotlin/io/sentry/systemtest/util/SentryMockServerClient.kt
  146. +0 −173 ...amples/sentry-samples-spring-boot-webflux/src/test/kotlin/io/sentry/systemtest/util/TestHelper.kt
  147. +3 −12 sentry-samples/sentry-samples-spring-boot/build.gradle.kts
  148. +56 −0 ...samples-spring-boot/src/main/java/io/sentry/samples/spring/boot/DistributedTracingController.java
  149. +0 −3 sentry-samples/sentry-samples-spring-boot/src/test/graphql/greeting.graphql
  150. +0 −11 sentry-samples/sentry-samples-spring-boot/src/test/graphql/project.graphql
  151. +0 −70 sentry-samples/sentry-samples-spring-boot/src/test/graphql/schema.graphqls
  152. +0 −16 sentry-samples/sentry-samples-spring-boot/src/test/graphql/task.graphql
  153. +190 −0 ...s/sentry-samples-spring-boot/src/test/kotlin/io/sentry/systemtest/DistributedTracingSystemTest.kt
  154. +2 −2 ...ples/sentry-samples-spring-boot/src/test/kotlin/io/sentry/systemtest/GraphqlGreetingSystemTest.kt
  155. +3 −3 ...mples/sentry-samples-spring-boot/src/test/kotlin/io/sentry/systemtest/GraphqlProjectSystemTest.kt
  156. +1 −1 ...-samples/sentry-samples-spring-boot/src/test/kotlin/io/sentry/systemtest/GraphqlTaskSystemTest.kt
  157. +4 −6 sentry-samples/sentry-samples-spring-boot/src/test/kotlin/io/sentry/systemtest/PersonSystemTest.kt
  158. +4 −5 sentry-samples/sentry-samples-spring-boot/src/test/kotlin/io/sentry/systemtest/TodoSystemTest.kt
  159. +0 −43 ...ples/sentry-samples-spring-boot/src/test/kotlin/io/sentry/systemtest/graphql/GraphqlTestClient.kt
  160. +0 −32 ...sentry-samples-spring-boot/src/test/kotlin/io/sentry/systemtest/util/LoggingInsecureRestClient.kt
  161. +0 −65 ...ry-samples/sentry-samples-spring-boot/src/test/kotlin/io/sentry/systemtest/util/RestTestClient.kt
  162. +0 −43 ...es/sentry-samples-spring-boot/src/test/kotlin/io/sentry/systemtest/util/SentryMockServerClient.kt
  163. +0 −173 sentry-samples/sentry-samples-spring-boot/src/test/kotlin/io/sentry/systemtest/util/TestHelper.kt
  164. +2 −0 ...-spring-boot-jakarta/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryAutoConfigurationTest.kt
  165. +2 −0 sentry-spring-boot/src/test/kotlin/io/sentry/spring/boot/SentryAutoConfigurationTest.kt
  166. +577 −0 sentry-system-test-support/api/sentry-system-test-support.api
  167. +56 −0 sentry-system-test-support/build.gradle.kts
  168. 0 ...ta-opentelemetry-noagent/src/test → sentry-system-test-support/src/main}/graphql/greeting.graphql
  169. 0 ...rta-opentelemetry-noagent/src/test → sentry-system-test-support/src/main}/graphql/project.graphql
  170. 0 ...rta-opentelemetry-noagent/src/test → sentry-system-test-support/src/main}/graphql/schema.graphqls
  171. 0 ...akarta-opentelemetry-noagent/src/test → sentry-system-test-support/src/main}/graphql/task.graphql
  172. +10 −0 sentry-system-test-support/src/main/kotlin/io/sentry/systemtest/ResponseTypes.kt
  173. 0 ...t → sentry-system-test-support/src/main}/kotlin/io/sentry/systemtest/graphql/GraphqlTestClient.kt
  174. +74 −0 sentry-system-test-support/src/main/kotlin/io/sentry/systemtest/util/LoggingInsecureRestClient.kt
  175. +59 −0 sentry-system-test-support/src/main/kotlin/io/sentry/systemtest/util/RestTestClient.kt
  176. +43 −0 sentry-system-test-support/src/main/kotlin/io/sentry/systemtest/util/SentryMockServerClient.kt
  177. +58 −17 ...ry/src/test → sentry-system-test-support/src/main}/kotlin/io/sentry/systemtest/util/TestHelper.kt
  178. +12 −1 sentry/api/sentry.api
  179. +17 −4 sentry/src/main/java/io/sentry/Breadcrumb.java
  180. +21 −5 sentry/src/main/java/io/sentry/CombinedContextsView.java
  181. +12 −12 sentry/src/main/java/io/sentry/CombinedScopeView.java
  182. +8 −1 sentry/src/main/java/io/sentry/DsnUtil.java
  183. +14 −0 sentry/src/main/java/io/sentry/ExternalOptions.java
  184. +4 −4 sentry/src/main/java/io/sentry/HubAdapter.java
  185. +4 −4 sentry/src/main/java/io/sentry/HubScopesWrapper.java
  186. +12 −12 sentry/src/main/java/io/sentry/IScope.java
  187. +4 −4 sentry/src/main/java/io/sentry/IScopes.java
  188. +5 −5 sentry/src/main/java/io/sentry/ISpan.java
  189. +4 −4 sentry/src/main/java/io/sentry/NoOpHub.java
  190. +12 −12 sentry/src/main/java/io/sentry/NoOpScope.java
  191. +4 −4 sentry/src/main/java/io/sentry/NoOpScopes.java
  192. +5 −5 sentry/src/main/java/io/sentry/NoOpSpan.java
  193. +5 −5 sentry/src/main/java/io/sentry/NoOpTransaction.java
  194. +13 −0 sentry/src/main/java/io/sentry/PropagationContext.java
  195. +14 −2 sentry/src/main/java/io/sentry/SamplingContext.java
  196. +112 −38 sentry/src/main/java/io/sentry/Scope.java
  197. +5 −5 sentry/src/main/java/io/sentry/Scopes.java
  198. +4 −4 sentry/src/main/java/io/sentry/ScopesAdapter.java
  199. +6 −5 sentry/src/main/java/io/sentry/Sentry.java
  200. +26 −12 sentry/src/main/java/io/sentry/SentryBaseEvent.java
  201. +23 −3 sentry/src/main/java/io/sentry/SentryOptions.java
  202. +23 −21 sentry/src/main/java/io/sentry/SentryTracer.java
  203. +19 −6 sentry/src/main/java/io/sentry/Span.java
  204. +18 −6 sentry/src/main/java/io/sentry/SpanContext.java
  205. +2 −0 sentry/src/main/java/io/sentry/SpotlightIntegration.java
  206. +42 −10 sentry/src/main/java/io/sentry/protocol/Contexts.java
  207. +21 −0 sentry/src/main/java/io/sentry/util/CollectionUtils.java
  208. +11 −0 sentry/src/main/java/io/sentry/util/TracingUtils.java
  209. +32 −103 sentry/src/main/java/io/sentry/util/UrlUtils.java
  210. +39 −0 sentry/src/test/java/io/sentry/BreadcrumbTest.kt
  211. +27 −0 sentry/src/test/java/io/sentry/CombinedContextsViewTest.kt
  212. +57 −0 sentry/src/test/java/io/sentry/CombinedScopeViewTest.kt
  213. +10 −0 sentry/src/test/java/io/sentry/DsnUtilTest.kt
  214. +14 −0 sentry/src/test/java/io/sentry/ExternalOptionsTest.kt
  215. +57 −0 sentry/src/test/java/io/sentry/ScopeTest.kt
  216. +24 −0 sentry/src/test/java/io/sentry/ScopesTest.kt
  217. +29 −0 sentry/src/test/java/io/sentry/SentryEventTest.kt
  218. +9 −0 sentry/src/test/java/io/sentry/SentryOptionsTest.kt
  219. +23 −0 sentry/src/test/java/io/sentry/SentryTracerTest.kt
  220. +19 −0 sentry/src/test/java/io/sentry/SpanContextTest.kt
  221. +33 −0 sentry/src/test/java/io/sentry/SpanTest.kt
  222. +84 −24 sentry/src/test/java/io/sentry/TracesSamplerTest.kt
  223. +84 −0 sentry/src/test/java/io/sentry/protocol/ContextsTest.kt
  224. +23 −0 sentry/src/test/java/io/sentry/util/CollectionUtilsTest.kt
  225. +155 −6 sentry/src/test/java/io/sentry/util/UrlUtilsTest.kt
  226. +1 −0 settings.gradle.kts
  227. +9 −9 test/system-test-run-all.sh
  228. +6 −0 test/system-test-run.sh
2 changes: 2 additions & 0 deletions .craft.yml
Original file line number Diff line number Diff line change
@@ -57,3 +57,5 @@ targets:
maven:io.sentry:sentry-apollo-3:
maven:io.sentry:sentry-android-sqlite:
maven:io.sentry:sentry-android-replay:
maven:io.sentry:sentry-apollo-4:
maven:io.sentry:sentry-reactor:
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report_android.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: 🐞 Bug Report - Android
description: Tell us about something that's not working the way we (probably) intend.
labels: ["Platform: Android", "Type: Bug"]
type: Bug
body:
- type: dropdown
id: integration
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report_java.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: 🐞 Bug Report - Java
description: Tell us about something that's not working the way we (probably) intend.
labels: ["Platform: Java", "Type: Bug"]
type: Bug
body:
- type: dropdown
id: integration
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/feature_android.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: 💡 Feature Request - Android
description: Tell us about a problem our SDK could solve but doesn't.
labels: ["Platform: Android", "Type: Feature Request"]
type: Feature
body:
- type: textarea
id: problem
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/feature_java.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: 💡 Feature Request - Java
description: Tell us about a problem our SDK could solve but doesn't.
labels: ["Platform: Java", "Type: Feature Request"]
type: Feature
body:
- type: textarea
id: problem
2 changes: 1 addition & 1 deletion .github/workflows/system-tests-backend.yml
Original file line number Diff line number Diff line change
@@ -101,7 +101,7 @@ jobs:
- name: Start server and run integration test for sentry-cli commands
run: |
test/system-test-run.sh "${{ matrix.sample }}" "${{ matrix.agent }}" "${{ matrix.agent-auto-init }}"
test/system-test-run.sh "${{ matrix.sample }}" "${{ matrix.agent }}" "${{ matrix.agent-auto-init }}" "0"
- name: Upload test results
if: always()
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -20,3 +20,4 @@ distributions/
sentry-spring-boot-starter-jakarta/src/main/resources/META-INF/spring.factories
sentry-samples/sentry-samples-spring-boot-jakarta/spy.log
spy.log
buildSrc/.kotlin/
67 changes: 67 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,54 @@
# Changelog

## 8.4.0

### Fixes

- The SDK now handles `null` on many APIs instead of expecting a non `null` value ([#4245](https://github.com/getsentry/sentry-java/pull/4245))
- Certain APIs like `setTag`, `setData`, `setExtra`, `setContext` previously caused a `NullPointerException` when invoked with either `null` key or value.
- The SDK now tries to have a sane fallback when `null` is passed and no longer throws `NullPointerException`
- If `null` is passed, the SDK will
- do nothing if a `null` key is passed, returning `null` for non void methods
- remove any previous value if the new value is set to `null`
- Add support for setting in-app-includes/in-app-excludes via AndroidManifest.xml ([#4240](https://github.com/getsentry/sentry-java/pull/4240))
- Modifications to OkHttp requests are now properly propagated to the affected span / breadcrumbs ([#4238](https://github.com/getsentry/sentry-java/pull/4238))
- Please ensure the SentryOkHttpInterceptor is added last to your OkHttpClient, as otherwise changes to the `Request` by subsequent interceptors won't be considered
- Fix "class ch.qos.logback.classic.spi.ThrowableProxyVO cannot be cast to class ch.qos.logback.classic.spi.ThrowableProxy" ([#4206](https://github.com/getsentry/sentry-java/pull/4206))
- In this case we cannot report the `Throwable` to Sentry as it's not available
- If you are using OpenTelemetry v1 `OpenTelemetryAppender`, please consider upgrading to v2
- Pass OpenTelemetry span attributes into TracesSampler callback ([#4253](https://github.com/getsentry/sentry-java/pull/4253))
- `SamplingContext` now has a `getAttribute` method that grants access to OpenTelemetry span attributes via their String key (e.g. `http.request.method`)
- Fix AbstractMethodError when using SentryTraced for Jetpack Compose ([#4255](https://github.com/getsentry/sentry-java/pull/4255))
- Assume `http.client` for span `op` if not a root span ([#4257](https://github.com/getsentry/sentry-java/pull/4257))
- Avoid unnecessary copies when using `CopyOnWriteArrayList` ([#4247](https://github.com/getsentry/sentry-java/pull/4247))
- This affects in particular `SentryTracer.getLatestActiveSpan` which would have previously copied all child span references. This may have caused `OutOfMemoryError` on certain devices due to high frequency of calling the method.

### Features

- The SDK now automatically propagates the trace-context to the native layer. This allows to connect errors on different layers of the application. ([#4137](https://github.com/getsentry/sentry-java/pull/4137))
- Capture OpenTelemetry span events ([#3564](https://github.com/getsentry/sentry-java/pull/3564))
- OpenTelemetry spans may have exceptions attached to them (`openTelemetrySpan.recordException`). We can now send those to Sentry as errors.
- Set `capture-open-telemetry-events=true` in `sentry.properties` to enable it
- Set `sentry.capture-open-telemetry-events=true` in Springs `application.properties` to enable it
- Set `sentry.captureOpenTelemetryEvents: true` in Springs `application.yml` to enable it

### Behavioural Changes

- Use `java.net.URI` for parsing URLs in `UrlUtils` ([#4210](https://github.com/getsentry/sentry-java/pull/4210))
- This could affect grouping for issues with messages containing URLs that fall in known corner cases that were handled incorrectly previously (e.g. email in URL path)

### Internal

- Also use port when checking if a request is made to Sentry DSN ([#4231](https://github.com/getsentry/sentry-java/pull/4231))
- For our OpenTelemetry integration we check if a span is for a request to Sentry
- We now also consider the port when performing this check

### Dependencies

- Bump Native SDK from v0.7.20 to v0.8.1 ([#4137](https://github.com/getsentry/sentry-java/pull/4137))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0810)
- [diff](https://github.com/getsentry/sentry-native/compare/v0.7.20...0.8.1)

## 8.3.0

### Features
@@ -436,6 +485,24 @@ If you have been using `8.0.0-rc.4` of the Java SDK, here's the new changes that
- We are planning to improve this in the future but opted for this fix first.
- Fix swallow NDK loadLibrary errors ([#4082](https://github.com/getsentry/sentry-java/pull/4082))

## 7.22.1

### Fixes

- Fix Ensure app start type is set, even when ActivityLifecycleIntegration is not running ([#4216](https://github.com/getsentry/sentry-java/pull/4216))
- Fix properly reset application/content-provider timespans for warm app starts ([#4244](https://github.com/getsentry/sentry-java/pull/4244))

## 7.22.0

### Fixes

- Session Replay: Fix various crashes and issues ([#4135](https://github.com/getsentry/sentry-java/pull/4135))
- Fix `FileNotFoundException` when trying to read/write `.ongoing_segment` file
- Fix `IllegalStateException` when registering `onDrawListener`
- Fix SIGABRT native crashes on Motorola devices when encoding a video
- (Jetpack Compose) Modifier.sentryTag now uses Modifier.Node ([#4029](https://github.com/getsentry/sentry-java/pull/4029))
- This allows Composables that use this modifier to be skippable

## 7.21.0

### Fixes
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -35,6 +35,7 @@ Sentry SDK for Java and Android
| sentry-jdbc | [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-jdbc/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-jdbc) |
| sentry-apollo | [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-apollo/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-apollo) | 21 |
| sentry-apollo-3 | [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-apollo-3/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-apollo-3) | 21 |
| sentry-apollo-4 | [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-apollo-4/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-apollo-4) | 21 |
| sentry-kotlin-extensions | [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-kotlin-extensions/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-kotlin-extensions) | 21 |
| sentry-servlet | [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-servlet/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-servlet) | |
| sentry-servlet-jakarta | [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-servlet-jakarta/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-servlet-jakarta) | |
@@ -56,6 +57,7 @@ Sentry SDK for Java and Android
| sentry-opentelemetry-agentcustomization | [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-opentelemetry-agentcustomization/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-opentelemetry-agentcustomization) |
| sentry-opentelemetry-core | [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-opentelemetry-core/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-opentelemetry-core) |
| sentry-okhttp | [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-okhttp/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-okhttp) |
| sentry-reactor | [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-reactor/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.sentry/sentry-reactor) |

# Releases

2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
@@ -155,7 +155,7 @@ subprojects {
}
}

if (!this.name.contains("sample") && !this.name.contains("integration-tests") && this.name != "sentry-test-support" && this.name != "sentry-compose-helper") {
if (!this.name.contains("sample") && !this.name.contains("integration-tests") && this.name != "sentry-system-test-support" && this.name != "sentry-test-support" && this.name != "sentry-compose-helper") {
apply<DistributionPlugin>()
apply<com.vanniktech.maven.publish.MavenPublishPlugin>()

6 changes: 4 additions & 2 deletions buildSrc/src/main/java/Config.kt
Original file line number Diff line number Diff line change
@@ -69,12 +69,14 @@ object Config {
val slf4jJdk14 = "org.slf4j:slf4j-jdk14:1.7.30"
val logbackVersion = "1.2.9"
val logbackClassic = "ch.qos.logback:logback-classic:$logbackVersion"
val logbackCore = "ch.qos.logback:logback-core:$logbackVersion"

val log4j2Version = "2.20.0"
val log4j2Api = "org.apache.logging.log4j:log4j-api:$log4j2Version"
val log4j2Core = "org.apache.logging.log4j:log4j-core:$log4j2Version"

val jacksonDatabind = "com.fasterxml.jackson.core:jackson-databind"
val jacksonDatabind = "com.fasterxml.jackson.core:jackson-databind:2.18.3"
val jacksonKotlin = "com.fasterxml.jackson.module:jackson-module-kotlin:2.18.3"

val springBootStarter = "org.springframework.boot:spring-boot-starter:$springBootVersion"
val springBootStarterGraphql = "org.springframework.boot:spring-boot-starter-graphql:$springBootVersion"
@@ -159,7 +161,7 @@ object Config {
val apolloKotlin = "com.apollographql.apollo3:apollo-runtime:3.8.2"
val apolloKotlin4 = "com.apollographql.apollo:apollo-runtime:4.1.1"

val sentryNativeNdk = "io.sentry:sentry-native-ndk:0.7.20"
val sentryNativeNdk = "io.sentry:sentry-native-ndk:0.8.1"

object OpenTelemetry {
val otelVersion = "1.44.1"
1 change: 1 addition & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -16,5 +16,6 @@ coverage:
ignore:
- "**/src/test/*"
- "sentry-android-integration-tests/*"
- "sentry-system-test-support/*"
- "sentry-test-support/*"
- "sentry-samples/*"
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@ org.gradle.workers.max=2
android.useAndroidX=true

# Release information
versionName=8.3.0
versionName=8.4.0

# Override the SDK name on native crashes on Android
sentryAndroidSdkName=sentry.native.android
1 change: 1 addition & 0 deletions sentry-android-core/api/sentry-android-core.api
Original file line number Diff line number Diff line change
@@ -221,6 +221,7 @@ public final class io/sentry/android/core/InternalSentrySdk {
public static fun getAppStartMeasurement ()Ljava/util/Map;
public static fun getCurrentScope ()Lio/sentry/IScope;
public static fun serializeScope (Landroid/content/Context;Lio/sentry/android/core/SentryAndroidOptions;Lio/sentry/IScope;)Ljava/util/Map;
public static fun setTrace (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;)V
}

public final class io/sentry/android/core/LoadClass : io/sentry/util/LoadClass {
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
package io.sentry.android.core;

import static io.sentry.util.IntegrationUtils.addIntegrationToSdkVersion;

import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
import androidx.annotation.NonNull;
import io.sentry.IScopes;
import io.sentry.Integration;
import io.sentry.SentryLevel;
import io.sentry.SentryOptions;
import io.sentry.util.Objects;
import java.io.Closeable;
@@ -27,6 +30,8 @@ public CurrentActivityIntegration(final @NotNull Application application) {
@Override
public void register(@NotNull IScopes scopes, @NotNull SentryOptions options) {
application.registerActivityLifecycleCallbacks(this);
options.getLogger().log(SentryLevel.DEBUG, "CurrentActivityIntegration installed.");
addIntegrationToSdkVersion("CurrentActivity");
}

@Override
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package io.sentry.android.core;

import static io.sentry.util.IntegrationUtils.addIntegrationToSdkVersion;

import io.sentry.ILogger;
import io.sentry.IScopes;
import io.sentry.ISentryLifecycleToken;
@@ -80,6 +82,7 @@ private void startOutboxSender(
try {
observer.startWatching();
options.getLogger().log(SentryLevel.DEBUG, "EnvelopeFileObserverIntegration installed.");
addIntegrationToSdkVersion("EnvelopeFileObserver");
} catch (Throwable e) {
// it could throw eg NoSuchFileException or NullPointerException
options
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.sentry.android.core;

import static io.sentry.Sentry.getCurrentScopes;
import static io.sentry.SentryLevel.DEBUG;
import static io.sentry.SentryLevel.INFO;
import static io.sentry.SentryLevel.WARNING;
@@ -13,6 +14,7 @@
import io.sentry.IScopes;
import io.sentry.ISerializer;
import io.sentry.ObjectWriter;
import io.sentry.PropagationContext;
import io.sentry.ScopeType;
import io.sentry.ScopesAdapter;
import io.sentry.SentryEnvelope;
@@ -30,6 +32,7 @@
import io.sentry.protocol.SentryId;
import io.sentry.protocol.User;
import io.sentry.util.MapObjectWriter;
import io.sentry.util.TracingUtils;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.InputStream;
@@ -329,4 +332,22 @@ private static Session updateSession(
});
return sessionRef.get();
}

/**
* Allows a Hybrid SDK to set the trace on the native layer
*
* @param traceId the trace ID
* @param spanId the trace origin's span ID
* @param sampleRate the sample rate used by the origin of the trace
* @param sampleRand the random value used to sample with by the origin of the trace
*/
public static void setTrace(
final @NotNull String traceId,
final @NotNull String spanId,
final @Nullable Double sampleRate,
final @Nullable Double sampleRand) {
TracingUtils.setTrace(
getCurrentScopes(),
PropagationContext.fromExistingTrace(traceId, spanId, sampleRate, sampleRand));
}
}
Original file line number Diff line number Diff line change
@@ -107,6 +107,10 @@ final class ManifestMetadataReader {

static final String IGNORED_ERRORS = "io.sentry.ignored-errors";

static final String IN_APP_INCLUDES = "io.sentry.in-app-includes";

static final String IN_APP_EXCLUDES = "io.sentry.in-app-excludes";

static final String ENABLE_AUTO_TRACE_ID_GENERATION =
"io.sentry.traces.enable-auto-id-generation";

@@ -414,8 +418,21 @@ static void applyMetadata(
.setMaskAllImages(readBool(metadata, logger, REPLAYS_MASK_ALL_IMAGES, true));

options.setIgnoredErrors(readList(metadata, logger, IGNORED_ERRORS));
}

final @Nullable List<String> includes = readList(metadata, logger, IN_APP_INCLUDES);
if (includes != null && !includes.isEmpty()) {
for (final @NotNull String include : includes) {
options.addInAppInclude(include);
}
}

final @Nullable List<String> excludes = readList(metadata, logger, IN_APP_EXCLUDES);
if (excludes != null && !excludes.isEmpty()) {
for (final @NotNull String exclude : excludes) {
options.addInAppExclude(exclude);
}
}
}
options
.getLogger()
.log(SentryLevel.INFO, "Retrieving configuration from AndroidManifest.xml");
Original file line number Diff line number Diff line change
@@ -19,6 +19,7 @@ import io.sentry.SentryExceptionFactory
import io.sentry.SentryItemType
import io.sentry.SentryOptions
import io.sentry.Session
import io.sentry.SpanId
import io.sentry.android.core.performance.ActivityLifecycleTimeSpan
import io.sentry.android.core.performance.AppStartMetrics
import io.sentry.exception.ExceptionMechanismException
@@ -318,7 +319,7 @@ class InternalSentrySdkTest {
fun `serializeScope provides fallback app data if none is set`() {
val options = SentryAndroidOptions()
val scope = Scope(options)
scope.setContexts("app", null)
scope.setContexts("app", null as Any?)

val serializedScope = InternalSentrySdk.serializeScope(context, options, scope)
assertTrue(((serializedScope["contexts"] as Map<*, *>)["app"] as Map<*, *>).containsKey("app_name"))
@@ -505,4 +506,25 @@ class InternalSentrySdkTest {
assertEquals(20.toLong(), actualProcessSpan["start_timestamp_ms"])
assertEquals(100.toLong(), actualProcessSpan["end_timestamp_ms"])
}

@Test
fun `setTrace sets correct propagation context`() {
val fixture = Fixture()
fixture.init(context)

val traceId = "771a43a4192642f0b136d5159a501700"
val spanId = "771a43a4192642f0"
val sampleRate = 0.5
val sampleRand = 0.3

InternalSentrySdk.setTrace(traceId, spanId, sampleRate, sampleRand)

Sentry.configureScope { scope ->
val propagationContext = scope.propagationContext
assertEquals(SentryId(traceId), propagationContext.traceId)
assertEquals(SpanId(spanId), propagationContext.parentSpanId)
assertEquals(sampleRate, propagationContext.baggage.sampleRateDouble)
assertEquals(sampleRand, propagationContext.baggage.sampleRandDouble)
}
}
}
Loading