Skip to content

Commit ce10336

Browse files
committed
Merge branch 'feat/user-feedback-widget' into feat/user-feedback-button
# Conflicts: # CHANGELOG.md
2 parents c6d1919 + 7bc01eb commit ce10336

File tree

75 files changed

+957
-450
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+957
-450
lines changed

.github/workflows/generate-javadocs.yml

Lines changed: 0 additions & 34 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,61 @@
2424
SentryUserFeedbackDialog(context).show()
2525
```
2626

27+
### Fixes
28+
29+
- Send UI Profiling app start chunk when it finishes ([#4423](https://github.com/getsentry/sentry-java/pull/4423))
30+
31+
## 8.13.2
32+
33+
### Fixes
34+
35+
- Don't apply Spring Boot plugin in `sentry-spring-boot-jakarta` ([#4456](https://github.com/getsentry/sentry-java/pull/4456))
36+
- The jar for `io.sentry:sentry-spring-boot-jakarta` is now correctly being built and published to Maven Central.
37+
38+
## 8.13.1
39+
40+
### Fixes
41+
42+
- Fix `SentryAndroid.init` crash if SDK is initialized from a background thread while an `Activity` is in resumed state ([#4449](https://github.com/getsentry/sentry-java/pull/4449))
43+
44+
### Dependencies
45+
46+
- Bump Gradle from v8.14 to v8.14.1 ([#4437](https://github.com/getsentry/sentry-java/pull/4437))
47+
- [changelog](https://github.com/gradle/gradle/blob/master/CHANGELOG.md#v8141)
48+
- [diff](https://github.com/gradle/gradle/compare/v8.14...v8.14.1)
49+
50+
## 8.13.0
51+
52+
### Features
53+
54+
- Add debug mode for Session Replay masking ([#4357](https://github.com/getsentry/sentry-java/pull/4357))
55+
- Use `Sentry.replay().enableDebugMaskingOverlay()` to overlay the screen with the Session Replay masks.
56+
- The masks will be invalidated at most once per `frameRate` (default 1 fps).
57+
- Extend Logs API to allow passing in `attributes` ([#4402](https://github.com/getsentry/sentry-java/pull/4402))
58+
- `Sentry.logger.log` now takes a `SentryLogParameters`
59+
- Use `SentryLogParameters.create(SentryAttributes.of(...))` to pass attributes
60+
- Attribute values may be of type `string`, `boolean`, `integer` or `double`.
61+
- Other types will be converted to `string`. Currently we simply call `toString()` but we might offer more in the future.
62+
- You may manually flatten complex types into multiple separate attributes of simple types.
63+
- e.g. intead of `SentryAttribute.named("point", Point(10, 20))` you may store it as `SentryAttribute.integerAttribute("point.x", point.x)` and `SentryAttribute.integerAttribute("point.y", point.y)`
64+
- `SentryAttribute.named()` will automatically infer the type or fall back to `string`.
65+
- `SentryAttribute.booleanAttribute()` takes a `Boolean` value
66+
- `SentryAttribute.integerAttribute()` takes a `Integer` value
67+
- `SentryAttribute.doubleAttribute()` takes a `Double` value
68+
- `SentryAttribute.stringAttribute()` takes a `String` value
69+
- We opted for handling parameters via `SentryLogParameters` to avoid creating tons of overloads that are ambiguous.
70+
71+
### Fixes
72+
73+
- Isolation scope is now forked in `OtelSentrySpanProcessor` instead of `OtelSentryPropagator` ([#4434](https://github.com/getsentry/sentry-java/pull/4434))
74+
- Since propagator may never be invoked we moved the location where isolation scope is forked.
75+
- Not invoking `OtelSentryPropagator.extract` or having a `sentry-trace` header that failed to parse would cause isolation scope not to be forked.
76+
- This in turn caused data to bleed between scopes, e.g. from one request into another
77+
78+
### Dependencies
79+
80+
- Bump Spring Boot to `3.5.0` ([#4111](https://github.com/getsentry/sentry-java/pull/4111))
81+
2782
## 8.12.0
2883

2984
### Features

Makefile

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
.PHONY: all clean compile javadocs dryRelease update stop checkFormat format api assembleBenchmarkTestRelease assembleUiTestRelease assembleUiTestCriticalRelease createCoverageReports runUiTestCritical check preMerge publish
1+
.PHONY: all clean compile dryRelease update stop checkFormat format api assembleBenchmarkTestRelease assembleUiTestRelease assembleUiTestCriticalRelease createCoverageReports runUiTestCritical check preMerge publish
22

3-
all: stop clean javadocs compile createCoverageReports
3+
all: stop clean compile createCoverageReports
44
assembleBenchmarks: assembleBenchmarkTestRelease
55
assembleUiTests: assembleUiTestRelease
66
preMerge: check createCoverageReports
@@ -15,12 +15,9 @@ clean:
1515
compile:
1616
./gradlew build
1717

18-
javadocs:
19-
./gradlew aggregateJavadocs
20-
2118
# do a dry release (like a local deploy)
2219
dryRelease:
23-
./gradlew aggregateJavadocs distZip --no-build-cache --no-configuration-cache
20+
./gradlew distZip --no-build-cache --no-configuration-cache
2421

2522
# check for dependencies update
2623
update:

build.gradle.kts

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -246,31 +246,6 @@ spotless {
246246
}
247247
}
248248

249-
tasks.register("aggregateJavadocs", Javadoc::class.java) {
250-
setDestinationDir(project.layout.buildDirectory.file("docs/javadoc").get().asFile)
251-
title = "${project.name} $version API"
252-
val opts = options as StandardJavadocDocletOptions
253-
opts.quiet()
254-
opts.encoding = "UTF-8"
255-
opts.memberLevel = JavadocMemberLevel.PROTECTED
256-
opts.stylesheetFile(file("$projectDir/docs/stylesheet.css"))
257-
opts.links = listOf(
258-
"https://docs.oracle.com/javase/8/docs/api/",
259-
"https://docs.spring.io/spring-framework/docs/current/javadoc-api/",
260-
"https://docs.spring.io/spring-boot/docs/current/api/"
261-
)
262-
subprojects
263-
.filter { !it.name.contains("sample") && !it.name.contains("integration-tests") }
264-
.forEach { proj ->
265-
proj.tasks.withType<Javadoc>().forEach { javadocTask ->
266-
source += javadocTask.source
267-
classpath += javadocTask.classpath
268-
excludes += javadocTask.excludes
269-
includes += javadocTask.includes
270-
}
271-
}
272-
}
273-
274249
tasks.register("buildForCodeQL") {
275250
subprojects
276251
.filter {

buildSrc/src/main/java/Config.kt

Lines changed: 2 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ object Config {
66
val kotlinStdLib = "stdlib-jdk8"
77

88
val springBootVersion = "2.7.18"
9-
val springBoot3Version = "3.4.2"
9+
val springBoot3Version = "3.5.0"
1010
val kotlinCompatibleLanguageVersion = "1.6"
1111

1212
val androidComposeCompilerVersion = "1.5.14"
@@ -53,31 +53,6 @@ object Config {
5353
val jacksonDatabind = "com.fasterxml.jackson.core:jackson-databind:2.18.3"
5454
val jacksonKotlin = "com.fasterxml.jackson.module:jackson-module-kotlin:2.18.3"
5555

56-
val springBootStarter = "org.springframework.boot:spring-boot-starter:$springBootVersion"
57-
val springBootStarterGraphql = "org.springframework.boot:spring-boot-starter-graphql:$springBootVersion"
58-
val springBootStarterQuartz = "org.springframework.boot:spring-boot-starter-quartz:$springBootVersion"
59-
val springBootStarterTest = "org.springframework.boot:spring-boot-starter-test:$springBootVersion"
60-
val springBootStarterWeb = "org.springframework.boot:spring-boot-starter-web:$springBootVersion"
61-
val springBootStarterWebsocket = "org.springframework.boot:spring-boot-starter-websocket:$springBootVersion"
62-
val springBootStarterWebflux = "org.springframework.boot:spring-boot-starter-webflux:$springBootVersion"
63-
val springBootStarterAop = "org.springframework.boot:spring-boot-starter-aop:$springBootVersion"
64-
val springBootStarterSecurity = "org.springframework.boot:spring-boot-starter-security:$springBootVersion"
65-
val springBootStarterJdbc = "org.springframework.boot:spring-boot-starter-jdbc:$springBootVersion"
66-
val springBootStarterActuator = "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion"
67-
68-
val springBoot3Starter = "org.springframework.boot:spring-boot-starter:$springBoot3Version"
69-
val springBoot3StarterGraphql = "org.springframework.boot:spring-boot-starter-graphql:$springBoot3Version"
70-
val springBoot3StarterQuartz = "org.springframework.boot:spring-boot-starter-quartz:$springBoot3Version"
71-
val springBoot3StarterTest = "org.springframework.boot:spring-boot-starter-test:$springBoot3Version"
72-
val springBoot3StarterWeb = "org.springframework.boot:spring-boot-starter-web:$springBoot3Version"
73-
val springBoot3StarterWebsocket = "org.springframework.boot:spring-boot-starter-websocket:$springBoot3Version"
74-
val springBoot3StarterWebflux = "org.springframework.boot:spring-boot-starter-webflux:$springBoot3Version"
75-
val springBoot3StarterAop = "org.springframework.boot:spring-boot-starter-aop:$springBoot3Version"
76-
val springBoot3StarterSecurity = "org.springframework.boot:spring-boot-starter-security:$springBoot3Version"
77-
val springBoot3StarterJdbc = "org.springframework.boot:spring-boot-starter-jdbc:$springBoot3Version"
78-
val springBoot3StarterActuator = "org.springframework.boot:spring-boot-starter-actuator:$springBoot3Version"
79-
val springBoot3StarterOpenTelemetry = "io.opentelemetry.instrumentation:opentelemetry-spring-boot-starter:${OpenTelemetry.otelInstrumentationVersion}"
80-
8156
val springWeb = "org.springframework:spring-webmvc"
8257
val springWebflux = "org.springframework:spring-webflux"
8358
val springSecurityWeb = "org.springframework.security:spring-security-web"
@@ -115,6 +90,7 @@ object Config {
11590

11691
val graphQlJava = "com.graphql-java:graphql-java:17.3"
11792
val graphQlJava22 = "com.graphql-java:graphql-java:22.1"
93+
val graphQlJavaNew = "com.graphql-java:graphql-java:24.0"
11894

11995
val quartz = "org.quartz-scheduler:quartz:2.3.0"
12096

@@ -125,43 +101,13 @@ object Config {
125101
val apolloKotlin4 = "com.apollographql.apollo:apollo-runtime:4.1.1"
126102

127103
val sentryNativeNdk = "io.sentry:sentry-native-ndk:0.8.4"
128-
129-
object OpenTelemetry {
130-
val otelVersion = "1.44.1"
131-
val otelAlphaVersion = "$otelVersion-alpha"
132-
val otelInstrumentationVersion = "2.10.0"
133-
val otelInstrumentationAlphaVersion = "$otelInstrumentationVersion-alpha"
134-
val otelSemanticConvetionsVersion = "1.28.0-alpha" // check https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/dependencyManagement/build.gradle.kts#L49 for release version above to find a compatible version
135-
136-
val otelSdk = "io.opentelemetry:opentelemetry-sdk:$otelVersion"
137-
val otelSemconv = "io.opentelemetry.semconv:opentelemetry-semconv:$otelSemanticConvetionsVersion"
138-
val otelSemconvIncubating = "io.opentelemetry.semconv:opentelemetry-semconv-incubating:$otelSemanticConvetionsVersion"
139-
val otelJavaAgent = "io.opentelemetry.javaagent:opentelemetry-javaagent:$otelInstrumentationVersion"
140-
val otelJavaAgentExtensionApi = "io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api:$otelInstrumentationAlphaVersion"
141-
val otelJavaAgentTooling = "io.opentelemetry.javaagent:opentelemetry-javaagent-tooling:$otelInstrumentationAlphaVersion"
142-
val otelExtensionAutoconfigureSpi = "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:$otelVersion"
143-
val otelExtensionAutoconfigure = "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:$otelVersion"
144-
val otelInstrumentationBom = "io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:$otelInstrumentationVersion"
145-
}
146104
}
147105

148106
object AnnotationProcessors {
149107
val springBootAutoConfigure = "org.springframework.boot:spring-boot-autoconfigure-processor"
150108
val springBootConfiguration = "org.springframework.boot:spring-boot-configuration-processor"
151109
}
152110

153-
object TestLibs {
154-
val androidJUnitRunner = "androidx.test.runner.AndroidJUnitRunner"
155-
val awaitility = "org.awaitility:awaitility-kotlin:4.1.1"
156-
val awaitility3 = "org.awaitility:awaitility-kotlin:3.1.6" // need this due to a conflict of awaitility4+ and espresso on hamcrest
157-
val hsqldb = "org.hsqldb:hsqldb:2.6.1"
158-
val javaFaker = "com.github.javafaker:javafaker:1.0.2"
159-
val msgpack = "org.msgpack:msgpack-core:0.9.8"
160-
val leakCanaryInstrumentation = "com.squareup.leakcanary:leakcanary-android-instrumentation:2.14"
161-
val composeUiTestJunit4 = "androidx.compose.ui:ui-test-junit4:1.6.8"
162-
val okio = "com.squareup.okio:okio:1.13.0"
163-
}
164-
165111
object QualityPlugins {
166112
object Jacoco {
167113
// TODO [POTEL] add tests and restore

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ org.gradle.workers.max=2
1414
android.useAndroidX=true
1515

1616
# Release information
17-
versionName=8.12.0
17+
versionName=8.13.2
1818

1919
# Override the SDK name on native crashes on Android
2020
sentryAndroidSdkName=sentry.native.android

0 commit comments

Comments
 (0)