diff --git a/.github/workflows/generate-post-release-pr.yml b/.github/workflows/generate-post-release-pr.yml new file mode 100644 index 00000000..e1d77f20 --- /dev/null +++ b/.github/workflows/generate-post-release-pr.yml @@ -0,0 +1,73 @@ +name: Generate Post-Release PR +on: + workflow_dispatch: + +permissions: + contents: read + +jobs: + prereqs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: Verify prerequisites + run: | + if [[ $GITHUB_REF_NAME != main ]]; then + echo this workflow should only be run against main + exit 1 + fi + + create-pull-request-against-main: + permissions: + contents: write # for git push to PR branch + runs-on: ubuntu-latest + needs: + - prereqs + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - id: setup-java + name: Set up Java for build + uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 + with: + distribution: temurin + java-version: 17 + + - name: Set environment variables + run: | + version=$(.github/scripts/get-version.sh) + echo "VERSION=$version" >> $GITHUB_ENV + prior_version=$(.github/scripts/get-prior-version.sh) + echo "PRIOR_VERSION=$prior_version" >> $GITHUB_ENV + if [[ $prior_version =~ ^([0-9]+)\.([0-9]+)\.([0-9]+)$ ]]; then + major="${BASH_REMATCH[1]}" + minor="${BASH_REMATCH[2]}" + patch="${BASH_REMATCH[3]}" + + two_releases_ago="$major.$((minor - 1)).$patch" + else + echo "unexpected prior version: $prior_version" + exit 1 + fi + echo "TWO_VERSIONS_AGO=$two_releases_ago" >> $GITHUB_ENV + - name: Use CLA approved github bot + run: .github/scripts/use-cla-approved-github-bot.sh + + - name: Create pull request against main + env: + # not using secrets.GITHUB_TOKEN since pull requests from that token do not run workflows + GH_TOKEN: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }} + run: | + ./gradlew japicmp -PapiBaseVersion=$TWO_VERSIONS_AGO -PapiNewVersion=$PRIOR_VERSION + ./gradlew --refresh-dependencies japicmp + + message="Post release for version $PRIOR_VERSION" + body="Post-release updates for version \`$PRIOR_VERSION\`." + branch="opentelemetrybot/post-release-for-${PRIOR_VERSION}" + + git checkout -b $branch + git add docs/apidiffs + git commit -a -m "$message" + git push --set-upstream origin $branch + gh pr create --title "$message" \ + --body "$body" \ + --base main diff --git a/buildSrc/src/main/kotlin/otel.japicmp-conventions.gradle.kts b/buildSrc/src/main/kotlin/otel.japicmp-conventions.gradle.kts index d94949f5..3260a1a0 100644 --- a/buildSrc/src/main/kotlin/otel.japicmp-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/otel.japicmp-conventions.gradle.kts @@ -73,17 +73,16 @@ if (!project.hasProperty("otel.release")) { // the japicmp "old" version is either the user-specified one, or the latest release. val apiBaseVersion: String? by project val baselineVersion = apiBaseVersion ?: latestReleasedVersion - // TODO: uncomment after first stable release - // oldClasspath.from( - // try { - // files(findArtifact(baselineVersion)) - // } catch (e: Exception) { - // // if we can't find the baseline artifact, this is probably one that's never been published before, - // // so publish the whole API. We do that by flipping this flag, and comparing the current against nothing. - // onlyModified.set(false) - // files() - // }, - // ) + oldClasspath.from( + try { + files(findArtifact(baselineVersion)) + } catch (e: Exception) { + // if we can't find the baseline artifact, this is probably one that's never been published before, + // so publish the whole API. We do that by flipping this flag, and comparing the current against nothing. + onlyModified.set(false) + files() + }, + ) // Reproduce defaults from https://github.com/melix/japicmp-gradle-plugin/blob/09f52739ef1fccda6b4310cf3f4b19dc97377024/src/main/java/me/champeau/gradle/japicmp/report/ViolationsGenerator.java#L130 // with some changes. @@ -110,9 +109,6 @@ if (!project.hasProperty("otel.release")) { // this is needed so that we only consider the current artifact, and not dependencies ignoreMissingClasses.set(true) - // TODO: remove exclusions after first stable release - classExcludes.add("io.opentelemetry.semconv.ResourceAttributes") - classExcludes.add("io.opentelemetry.semconv.SemanticAttributes") val baseVersionString = if (apiBaseVersion == null) "latest" else baselineVersion txtOutputFile.set( apiNewVersion?.let { file("$rootDir/docs/apidiffs/${apiNewVersion}_vs_$baselineVersion/${base.archivesName.get()}.txt") } diff --git a/docs/apidiffs/1.30.0/opentelemetry-semconv.txt b/docs/apidiffs/1.30.0/opentelemetry-semconv.txt new file mode 100644 index 00000000..3c075c21 --- /dev/null +++ b/docs/apidiffs/1.30.0/opentelemetry-semconv.txt @@ -0,0 +1,170 @@ +Comparing source compatibility of opentelemetry-semconv-1.30.0.jar against ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.AttributeKeyTemplate (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + GENERIC TEMPLATES: +++ T:java.lang.Object + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate> booleanArrayKeyTemplate(java.lang.String) + +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate booleanKeyTemplate(java.lang.String) + +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate> doubleArrayKeyTemplate(java.lang.String) + +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate doubleKeyTemplate(java.lang.String) + +++ NEW METHOD: PUBLIC(+) io.opentelemetry.api.common.AttributeKey getAttributeKey(java.lang.String) + +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate> longArrayKeyTemplate(java.lang.String) + +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate longKeyTemplate(java.lang.String) + +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate> stringArrayKeyTemplate(java.lang.String) + +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate stringKeyTemplate(java.lang.String) ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.ClientAttributes (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey CLIENT_ADDRESS + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey CLIENT_PORT ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.ErrorAttributes (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey ERROR_TYPE ++++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.ErrorAttributes$ErrorTypeValues (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String OTHER ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.ExceptionAttributes (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey EXCEPTION_TYPE + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey EXCEPTION_STACKTRACE + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey EXCEPTION_MESSAGE ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.HttpAttributes (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey HTTP_ROUTE + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey HTTP_REQUEST_METHOD + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey HTTP_RESPONSE_STATUS_CODE + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey HTTP_REQUEST_RESEND_COUNT + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.AttributeKeyTemplate> HTTP_REQUEST_HEADER + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey HTTP_REQUEST_METHOD_ORIGINAL + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.AttributeKeyTemplate> HTTP_RESPONSE_HEADER ++++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.HttpAttributes$HttpRequestMethodValues (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String TRACE + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String OTHER + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String HEAD + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String DELETE + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String POST + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String GET + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String CONNECT + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String OPTIONS + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String PATCH + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String PUT ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.JvmAttributes (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey JVM_MEMORY_TYPE + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey JVM_MEMORY_POOL_NAME + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey JVM_THREAD_STATE + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey JVM_GC_NAME + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey JVM_THREAD_DAEMON + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey JVM_GC_ACTION ++++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.JvmAttributes$JvmMemoryTypeValues (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String NON_HEAP + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String HEAP ++++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.JvmAttributes$JvmThreadStateValues (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String NEW + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String TERMINATED + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String RUNNABLE + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String BLOCKED + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String WAITING + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String TIMED_WAITING ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.NetworkAttributes (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_LOCAL_ADDRESS + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_PEER_ADDRESS + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_TYPE + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_PROTOCOL_VERSION + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_LOCAL_PORT + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_PEER_PORT + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_TRANSPORT + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_PROTOCOL_NAME ++++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.NetworkAttributes$NetworkTransportValues (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String TCP + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String UDP + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String QUIC + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String PIPE + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String UNIX ++++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.NetworkAttributes$NetworkTypeValues (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String IPV6 + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String IPV4 ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.OtelAttributes (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey OTEL_SCOPE_NAME + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey OTEL_STATUS_DESCRIPTION + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey OTEL_STATUS_CODE + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey OTEL_SCOPE_VERSION ++++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.OtelAttributes$OtelStatusCodeValues (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String ERROR + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String OK ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.SchemaUrls (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_24_0 + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_30_0 + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_31_0 + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_29_0 + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_32_0 + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_28_0 + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_27_0 + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_26_0 + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_25_0 ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.ServerAttributes (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey SERVER_PORT + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey SERVER_ADDRESS ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.ServiceAttributes (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey SERVICE_NAME + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey SERVICE_VERSION ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.TelemetryAttributes (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey TELEMETRY_SDK_LANGUAGE + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey TELEMETRY_SDK_VERSION + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey TELEMETRY_SDK_NAME ++++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.TelemetryAttributes$TelemetrySdkLanguageValues (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String JAVA + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String CPP + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String RUST + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String WEBJS + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String GO + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String NODEJS + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String PHP + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String SWIFT + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String RUBY + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String PYTHON + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String DOTNET + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String ERLANG ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.UrlAttributes (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey URL_FULL + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey URL_QUERY + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey URL_PATH + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey URL_FRAGMENT + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey URL_SCHEME ++++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.UserAgentAttributes (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey USER_AGENT_ORIGINAL diff --git a/docs/apidiffs/1.31.0_vs_1.30.0/opentelemetry-semconv.txt b/docs/apidiffs/1.31.0_vs_1.30.0/opentelemetry-semconv.txt new file mode 100644 index 00000000..7c462acd --- /dev/null +++ b/docs/apidiffs/1.31.0_vs_1.30.0/opentelemetry-semconv.txt @@ -0,0 +1,4 @@ +Comparing source compatibility of opentelemetry-semconv-1.31.0.jar against opentelemetry-semconv-1.30.0.jar +*** MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.semconv.SchemaUrls (not serializable) + === CLASS FILE FORMAT VERSION: 52.0 <- 52.0 + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_31_0 diff --git a/docs/apidiffs/1.32.0_vs_1.31.0/opentelemetry-semconv.txt b/docs/apidiffs/1.32.0_vs_1.31.0/opentelemetry-semconv.txt new file mode 100644 index 00000000..30f1f55b --- /dev/null +++ b/docs/apidiffs/1.32.0_vs_1.31.0/opentelemetry-semconv.txt @@ -0,0 +1,4 @@ +Comparing source compatibility of opentelemetry-semconv-1.32.0.jar against opentelemetry-semconv-1.31.0.jar +*** MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.semconv.SchemaUrls (not serializable) + === CLASS FILE FORMAT VERSION: 52.0 <- 52.0 + +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_32_0 diff --git a/docs/apidiffs/current_vs_latest/opentelemetry-semconv.txt b/docs/apidiffs/current_vs_latest/opentelemetry-semconv.txt index 6c91b17b..90261919 100644 --- a/docs/apidiffs/current_vs_latest/opentelemetry-semconv.txt +++ b/docs/apidiffs/current_vs_latest/opentelemetry-semconv.txt @@ -1,170 +1,2 @@ -Comparing source compatibility of opentelemetry-semconv-1.32.0-SNAPSHOT.jar against -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.AttributeKeyTemplate (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - GENERIC TEMPLATES: +++ T:java.lang.Object - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate> booleanArrayKeyTemplate(java.lang.String) - +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate booleanKeyTemplate(java.lang.String) - +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate> doubleArrayKeyTemplate(java.lang.String) - +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate doubleKeyTemplate(java.lang.String) - +++ NEW METHOD: PUBLIC(+) io.opentelemetry.api.common.AttributeKey getAttributeKey(java.lang.String) - +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate> longArrayKeyTemplate(java.lang.String) - +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate longKeyTemplate(java.lang.String) - +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate> stringArrayKeyTemplate(java.lang.String) - +++ NEW METHOD: PUBLIC(+) STATIC(+) io.opentelemetry.semconv.AttributeKeyTemplate stringKeyTemplate(java.lang.String) -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.ClientAttributes (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey CLIENT_ADDRESS - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey CLIENT_PORT -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.ErrorAttributes (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey ERROR_TYPE -+++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.ErrorAttributes$ErrorTypeValues (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String OTHER -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.ExceptionAttributes (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey EXCEPTION_TYPE - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey EXCEPTION_STACKTRACE - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey EXCEPTION_MESSAGE -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.HttpAttributes (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey HTTP_ROUTE - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey HTTP_REQUEST_METHOD - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey HTTP_RESPONSE_STATUS_CODE - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey HTTP_REQUEST_RESEND_COUNT - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.AttributeKeyTemplate> HTTP_REQUEST_HEADER - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey HTTP_REQUEST_METHOD_ORIGINAL - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.AttributeKeyTemplate> HTTP_RESPONSE_HEADER -+++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.HttpAttributes$HttpRequestMethodValues (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String TRACE - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String OTHER - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String HEAD - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String DELETE - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String POST - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String GET - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String CONNECT - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String OPTIONS - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String PATCH - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String PUT -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.JvmAttributes (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey JVM_MEMORY_TYPE - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey JVM_MEMORY_POOL_NAME - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey JVM_THREAD_STATE - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey JVM_GC_NAME - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey JVM_THREAD_DAEMON - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey JVM_GC_ACTION -+++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.JvmAttributes$JvmMemoryTypeValues (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String NON_HEAP - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String HEAP -+++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.JvmAttributes$JvmThreadStateValues (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String NEW - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String TERMINATED - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String RUNNABLE - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String BLOCKED - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String WAITING - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String TIMED_WAITING -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.NetworkAttributes (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_LOCAL_ADDRESS - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_PEER_ADDRESS - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_TYPE - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_PROTOCOL_VERSION - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_LOCAL_PORT - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_PEER_PORT - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_TRANSPORT - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey NETWORK_PROTOCOL_NAME -+++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.NetworkAttributes$NetworkTransportValues (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String TCP - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String UDP - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String QUIC - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String PIPE - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String UNIX -+++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.NetworkAttributes$NetworkTypeValues (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String IPV6 - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String IPV4 -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.OtelAttributes (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey OTEL_SCOPE_NAME - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey OTEL_STATUS_DESCRIPTION - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey OTEL_STATUS_CODE - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey OTEL_SCOPE_VERSION -+++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.OtelAttributes$OtelStatusCodeValues (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String ERROR - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String OK -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.SchemaUrls (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_24_0 - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_30_0 - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_31_0 - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_29_0 - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_32_0 - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_28_0 - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_27_0 - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_26_0 - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_25_0 -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.ServerAttributes (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey SERVER_PORT - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey SERVER_ADDRESS -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.ServiceAttributes (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey SERVICE_NAME - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey SERVICE_VERSION -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.TelemetryAttributes (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey TELEMETRY_SDK_LANGUAGE - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey TELEMETRY_SDK_VERSION - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey TELEMETRY_SDK_NAME -+++ NEW CLASS: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.semconv.TelemetryAttributes$TelemetrySdkLanguageValues (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String JAVA - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String CPP - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String RUST - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String WEBJS - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String GO - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String NODEJS - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String PHP - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String SWIFT - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String RUBY - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String PYTHON - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String DOTNET - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String ERLANG -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.UrlAttributes (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey URL_FULL - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey URL_QUERY - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey URL_PATH - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey URL_FRAGMENT - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey URL_SCHEME -+++ NEW CLASS: PUBLIC(+) FINAL(+) io.opentelemetry.semconv.UserAgentAttributes (not serializable) - +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. - +++ NEW SUPERCLASS: java.lang.Object - +++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) io.opentelemetry.api.common.AttributeKey USER_AGENT_ORIGINAL +Comparing source compatibility of opentelemetry-semconv-1.32.0-SNAPSHOT.jar against opentelemetry-semconv-1.32.0.jar +No changes. \ No newline at end of file