diff --git a/runtime/runtime-core/api/runtime-core.api b/runtime/runtime-core/api/runtime-core.api index fcc7f6727..3b88bc640 100644 --- a/runtime/runtime-core/api/runtime-core.api +++ b/runtime/runtime-core/api/runtime-core.api @@ -36,6 +36,11 @@ public abstract interface annotation class aws/smithy/kotlin/runtime/Experimenta public abstract interface annotation class aws/smithy/kotlin/runtime/InternalApi : java/lang/annotation/Annotation { } +public abstract interface annotation class aws/smithy/kotlin/runtime/PlannedRemoval : java/lang/annotation/Annotation { + public abstract fun major ()I + public abstract fun minor ()I +} + public abstract interface class aws/smithy/kotlin/runtime/ProtocolResponse { public abstract fun getSummary ()Ljava/lang/String; } diff --git a/runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/Annotations.kt b/runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/Annotations.kt index ee3ab01e2..0a9dac6a5 100644 --- a/runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/Annotations.kt +++ b/runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/Annotations.kt @@ -58,3 +58,16 @@ public annotation class ExperimentalApi */ @DslMarker public annotation class SdkDsl + +/** + * Indicates that the annotated API is deprecated and scheduled for removal in an upcoming version. + * Any code using this API should migrate to the suggested replacement as soon as possible. + */ +@RequiresOptIn( + message = "This API is deprecated and scheduled for removal in an upcoming version.", + level = RequiresOptIn.Level.WARNING, +) +public annotation class PlannedRemoval( + val major: Int, + val minor: Int, +)