From f5ad168098bc7dd0a874d03634e879a6a1c0fae0 Mon Sep 17 00:00:00 2001 From: Josh Elkins Date: Fri, 20 Sep 2024 10:31:40 -0500 Subject: [PATCH] chore: Add SDK versioning policy --- .../Documentation.docc/versioning.md | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Sources/Core/AWSSDKForSwift/Documentation.docc/versioning.md diff --git a/Sources/Core/AWSSDKForSwift/Documentation.docc/versioning.md b/Sources/Core/AWSSDKForSwift/Documentation.docc/versioning.md new file mode 100644 index 00000000000..f94aa1dde88 --- /dev/null +++ b/Sources/Core/AWSSDKForSwift/Documentation.docc/versioning.md @@ -0,0 +1,47 @@ +# Versioning Policy + +## Numbering + +The AWS SDK for Swift uses the following versioning format: +``` +.. +``` + +The version components are incremented when one of the following occurs: +- Major: Significant, breaking API changes. New major versions will be + very infrequent. Expect to perform additional development to upgrade + to a new major version. +- Minor: Changes that are not major but may require attention from + developers. Specific changes will be detailed in release notes. + Examples of minor changes may be: + - Changes to behavior of existing features. + - Deprecation of existing SDK features. + - Dropping support for an Xcode, Swift, or platform version. + - A significant internal change to an existing feature. +- Patch: Less significant changes that should require no additional development to adopt and should not change SDK behavior. + Patch releases will contain updates to the APIs for the AWS services. + There is an unlikely possibility that patch changes to specific AWS services may break existing APIs; please file an + [issue](https://github.com/awslabs/aws-sdk-swift/issues/new/choose) + if this occurs. + New patch versions are typically released each business day, with exceptions for holidays and certain AWS events. + +## AWS Service Client Libraries + +The AWS SDK for Swift includes a library for every AWS service (i.e. S3, +EC2, etc) that includes the service client, model types, and other +support code for accessing that AWS service. Updating the SDK version +updates all of the service libraries that are in use, along with all of +the supporting runtime components. In the future, we may elect to +publish services separately. + +## Public APIs + +The AWS SDK for Swift consists of several modules which will +automatically install at build time. The interfaces between these +modules are necessarily public, but not all are intended for use by +customers and may be altered in the future. AWS SDK for Swift uses the +"System Programming Interface" (or SPI) feature to mark API features +that are not meant for customers to use. If you find yourself needing +to access a public interface marked with `@_spi`, please start a +[discussion](https://github.com/awslabs/aws-sdk-swift/discussions/new/choose) +and the SDK developers will work with you to find a solution.