diff --git a/CHANGELOG.md b/CHANGELOG.md index 67c997fe..df8731a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,17 @@ # Changelog -## Unreleased +## Version 1.30.0-RC (2025-01-27) + +**NOTICE**: This is a release candidate (RC), preceding the first stable release of `io.opentelemetry.semconv:opentelemetry-semconv`. + +* **BREAKING**: Prepare for stable release. Remove deprecated `ResourceAttributes`, `SemanticAttributes`. + ([#130](https://github.com/open-telemetry/semantic-conventions-java/pull/130)) +* Exclude `exception.escaped` from (to-be-stable) artifact + ([#133](https://github.com/open-telemetry/semantic-conventions-java/pull/133)) +* Remove schema urls for `1.22.0`, `1.23.1`. + ([#134](https://github.com/open-telemetry/semantic-conventions-java/pull/134)) +* Bump to semantic-conventions v1.30.0 + ([#141](https://github.com/open-telemetry/semantic-conventions-java/pull/141)) ## Version 1.29.0 (2024-12-19) diff --git a/README.md b/README.md index 9c3003ae..b97d4476 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,14 @@ is the need to set the Gradle property `android.useFullClasspathForDexingTransfo builds. Please see [this](https://github.com/open-telemetry/opentelemetry-android/pull/309) pull request on the OpenTelemetry Android Extension for details. +## Compatibility + +Artifacts from this repository follow semantic versioning, mirroring the versions of the upstream [semantic-conventions](https://github.com/open-telemetry/semantic-conventions) repository. If a patch release is needed for logic in this repository, a release will be published with a fourth version component (i.e. `1.30.0.1` to patch an issue with `1.30.0`). + +Stable artifacts (i.e. artifacts without -alpha version suffix) come with strong backwards compatibility guarantees for public APIs. + +Compatibility guarantees are inherited from [opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java/blob/main/VERSIONING.md). + ## Generating semantic conventions Requires docker. diff --git a/RELEASING.md b/RELEASING.md index d3e6026c..b178a934 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -34,6 +34,37 @@ the `semantic-convention` release version, e.g. `v1.21.0.1` * This workflow will publish artifacts to maven central and will publish a GitHub release with release notes based on the change log. +## Making release candidate locally + +* Follow steps to [prepare a new release](#preparing-a-new-release), but DO NOT [make the release](#making-the-release) +* Check out release branch locally +* Set required environment variables + * `export CI=true` - trick tooling to thinking this is the official release process, and sign artifacts + * `export GPG_PRIVATE_KEY=` + * `export GPG_PASSWORD=` + * `export SONATYPE_USER=` + * `export SONATYPE_KEY=` +* Adjust version tag to include `-rc.` suffix (i.e. `-rc.1` for the first release candidate) in [build.gradle.kts](./build.gradle.kts): + + ``` + var ver = semanticConventionsVersion + ver += "-rc.1" // <-- ADD THIS LINE + val release = findProperty("otel.release") + if (release != null) { + ver += "-" + release + } + if (snapshot) { + ver += "-SNAPSHOT" + } + version = ver + ``` + +* Build and publish artifacts to staging repository + * Run `./gradlew assemble publishToSonatype closeSonatypeStagingRepository` + * Notably, this stages the artifacts in sonatype and gives a chance for manual verification before publishing + * Publishing via the sonatype UI +* After publishing, manually create Github release using the contents from the [CHANGELOG.md](./CHANGELOG.md) + ## Credentials See [opentelemetry-java credentials](https://github.com/open-telemetry/opentelemetry-java/blob/main/RELEASING.md#credentials).