diff --git a/src/OpenTelemetry.Instrumentation.AWS/.publicApi/PublicAPI.Unshipped.txt b/src/OpenTelemetry.Instrumentation.AWS/.publicApi/PublicAPI.Unshipped.txt
index d9f3466a01..1d865f3be0 100644
--- a/src/OpenTelemetry.Instrumentation.AWS/.publicApi/PublicAPI.Unshipped.txt
+++ b/src/OpenTelemetry.Instrumentation.AWS/.publicApi/PublicAPI.Unshipped.txt
@@ -1,6 +1,5 @@
#nullable enable
OpenTelemetry.Instrumentation.AWS.SemanticConventionVersion
-OpenTelemetry.Instrumentation.AWS.SemanticConventionVersion.Legacy = -1 -> OpenTelemetry.Instrumentation.AWS.SemanticConventionVersion
OpenTelemetry.Instrumentation.AWS.SemanticConventionVersion.Latest = 0 -> OpenTelemetry.Instrumentation.AWS.SemanticConventionVersion
OpenTelemetry.Instrumentation.AWS.SemanticConventionVersion.V1_29_0 = 2 -> OpenTelemetry.Instrumentation.AWS.SemanticConventionVersion
OpenTelemetry.Instrumentation.AWS.SemanticConventionVersion.V1_28_0 = 1 -> OpenTelemetry.Instrumentation.AWS.SemanticConventionVersion
diff --git a/src/OpenTelemetry.Instrumentation.AWS/CHANGELOG.md b/src/OpenTelemetry.Instrumentation.AWS/CHANGELOG.md
index 11d55af4be..8f39c5a0fa 100644
--- a/src/OpenTelemetry.Instrumentation.AWS/CHANGELOG.md
+++ b/src/OpenTelemetry.Instrumentation.AWS/CHANGELOG.md
@@ -2,6 +2,9 @@
## Unreleased
+* BREAKING: Change default Semantic Convention to 1.28
+* BREAKING: Remove option to use Legacy semantic conventions (the old default)
+
## 1.10.0-beta.3
Released 2024-Dec-20
diff --git a/src/OpenTelemetry.Instrumentation.AWSLambda/.publicApi/PublicAPI.Unshipped.txt b/src/OpenTelemetry.Instrumentation.AWSLambda/.publicApi/PublicAPI.Unshipped.txt
index 7afa5bd534..b71913f746 100644
--- a/src/OpenTelemetry.Instrumentation.AWSLambda/.publicApi/PublicAPI.Unshipped.txt
+++ b/src/OpenTelemetry.Instrumentation.AWSLambda/.publicApi/PublicAPI.Unshipped.txt
@@ -1,5 +1,4 @@
#nullable enable
-OpenTelemetry.Instrumentation.AWSLambda.SemanticConventionVersion.Legacy = -1 -> OpenTelemetry.Instrumentation.AWSLambda.SemanticConventionVersion
OpenTelemetry.Instrumentation.AWSLambda.SemanticConventionVersion
OpenTelemetry.Instrumentation.AWSLambda.SemanticConventionVersion.Latest = 0 -> OpenTelemetry.Instrumentation.AWSLambda.SemanticConventionVersion
OpenTelemetry.Instrumentation.AWSLambda.SemanticConventionVersion.V1_29_0 = 2 -> OpenTelemetry.Instrumentation.AWSLambda.SemanticConventionVersion
diff --git a/src/OpenTelemetry.Instrumentation.AWSLambda/CHANGELOG.md b/src/OpenTelemetry.Instrumentation.AWSLambda/CHANGELOG.md
index ea4df13ce6..817c6b06af 100644
--- a/src/OpenTelemetry.Instrumentation.AWSLambda/CHANGELOG.md
+++ b/src/OpenTelemetry.Instrumentation.AWSLambda/CHANGELOG.md
@@ -2,6 +2,9 @@
## Unreleased
+* BREAKING: Change default Semantic Convention to 1.28
+* BREAKING: Remove option to use Legacy semantic conventions (the old default)
+
## 1.10.0-beta.3
Released 2024-Dec-20
diff --git a/src/OpenTelemetry.Resources.AWS/.publicApi/PublicAPI.Unshipped.txt b/src/OpenTelemetry.Resources.AWS/.publicApi/PublicAPI.Unshipped.txt
index 34d384331a..958bfbb929 100644
--- a/src/OpenTelemetry.Resources.AWS/.publicApi/PublicAPI.Unshipped.txt
+++ b/src/OpenTelemetry.Resources.AWS/.publicApi/PublicAPI.Unshipped.txt
@@ -1,5 +1,4 @@
OpenTelemetry.Resources.AWS.SemanticConventionVersion
-OpenTelemetry.Resources.AWS.SemanticConventionVersion.Legacy = -1 -> OpenTelemetry.Resources.AWS.SemanticConventionVersion
OpenTelemetry.Resources.AWS.SemanticConventionVersion.Latest = 0 -> OpenTelemetry.Resources.AWS.SemanticConventionVersion
OpenTelemetry.Resources.AWS.SemanticConventionVersion.V1_29_0 = 2 -> OpenTelemetry.Resources.AWS.SemanticConventionVersion
OpenTelemetry.Resources.AWS.SemanticConventionVersion.V1_28_0 = 1 -> OpenTelemetry.Resources.AWS.SemanticConventionVersion
diff --git a/src/OpenTelemetry.Resources.AWS/CHANGELOG.md b/src/OpenTelemetry.Resources.AWS/CHANGELOG.md
index dc8f22ca8f..d592cf945b 100644
--- a/src/OpenTelemetry.Resources.AWS/CHANGELOG.md
+++ b/src/OpenTelemetry.Resources.AWS/CHANGELOG.md
@@ -2,6 +2,9 @@
## Unreleased
+* BREAKING: Change default Semantic Convention to 1.28
+* BREAKING: Remove option to use Legacy semantic conventions (the old default)
+
## 1.10.0-beta.1
Released 2024-Dec-20
diff --git a/src/Shared/AWS/AWSSemanticConventions.Legacy.cs b/src/Shared/AWS/AWSSemanticConventions.Legacy.cs
index e391632c2b..275fe38f2a 100644
--- a/src/Shared/AWS/AWSSemanticConventions.Legacy.cs
+++ b/src/Shared/AWS/AWSSemanticConventions.Legacy.cs
@@ -20,7 +20,7 @@ internal partial class AWSSemanticConventions
///
/// Future version specific convention classes will only need to define new or changed attributes.
///
- private class AWSSemanticConventionsLegacy : AWSSemanticConventionsBase
+ private abstract class AWSSemanticConventionsLegacy : AWSSemanticConventionsBase
{
// CLOUD Attributes
public override string AttributeCloudAccountID => "cloud.account.id";
diff --git a/src/Shared/AWS/AWSSemanticConventions.cs b/src/Shared/AWS/AWSSemanticConventions.cs
index 6c843b1db8..c6c771dc99 100644
--- a/src/Shared/AWS/AWSSemanticConventions.cs
+++ b/src/Shared/AWS/AWSSemanticConventions.cs
@@ -19,9 +19,6 @@
#pragma warning disable SA1201
#pragma warning disable SA1623
-// disable obsolete warning - remove in RC
-#pragma warning disable CS0618
-
namespace OpenTelemetry.AWS;
///
@@ -69,10 +66,7 @@ internal partial class AWSSemanticConventions
/// Per SemanticConventionVersion, default should stay as
/// until next major version bump.
///
- internal const SemanticConventionVersion DefaultSemanticConventionVersion = SemanticConventionVersion.Legacy;
-
- // RC Release: change to
- //SemanticConventionVersion.V1_28_0;
+ internal const SemanticConventionVersion DefaultSemanticConventionVersion = SemanticConventionVersion.V1_28_0;
private readonly SemanticConventionVersion semanticConventionVersion;
@@ -494,9 +488,6 @@ private AWSSemanticConventionsBase GetSemanticConventionVersion()
case SemanticConventionVersion.V1_28_0:
return new AWSSemanticConventions_V1_28_0();
- case SemanticConventionVersion.Legacy:
- return new AWSSemanticConventionsLegacy();
-
default:
throw new InvalidEnumArgumentException(
argumentName: nameof(SemanticConventionVersion),
diff --git a/src/Shared/AWS/SemanticConventionVersion.cs b/src/Shared/AWS/SemanticConventionVersion.cs
index e00e600699..53c6156878 100644
--- a/src/Shared/AWS/SemanticConventionVersion.cs
+++ b/src/Shared/AWS/SemanticConventionVersion.cs
@@ -73,18 +73,6 @@ public enum SemanticConventionVersion
///
Latest = 0,
- ///
- /// Represents the mixture of Semantic Conventions used in OpenTelemetry.*.AWS libraries
- /// in 1.10.0-beta.x.
- ///
- /// This allows users to upgrade to the latest beta nuget package without experiencing a change in
- /// Semantic Convention output. Then there is an opportunity for users to trial .
- ///
- /// This option will be REMOVED in the next Release Candidate.
- ///
- [Obsolete("This will be removed in the 1.10.0-RC", error: false)]
- Legacy = -1,
-
///
/// Pin to the specific state of all Semantic Conventions as of the 1.28.0
/// release. See: