All Products
Search
Document Center

Alibaba Cloud SDK:Alibaba Cloud SDK support policies

Last Updated:Oct 21, 2024

1. Overview

This topic describes the maintenance policies for Alibaba Cloud SDKs, including the version release policy, update policy, and end-of-support policy.

2. Lifecycle and maintenance policies

The full lifecycle of Alibaba Cloud SDKs consists of the following stages: general availability stage, basic security maintenance stage, and end-of-support stage. The following table describes the maintenance policy for and characteristics of each stage.

Lifecycle stage

Maintenance policy

API coverage and release cycle

Recommendation

Support on Alibaba Cloud platforms, such as Help Center and OpenAPI Portal

Support on third-party platforms, such as hosted code repositories and communities

General availability stage

Alibaba Cloud releases new features, optimizes performance, fixes bugs, and updates security patches for the SDKs.

The SDKs support all API operations, and are automatically updated and released within 24 hours after the API release.

The SDKs are recommended for all users and projects.

Marked as Recommend.

Alibaba Cloud provides full series of documents and sample code and promises to update them at the earliest opportunity.

Marked as Recommend.

Basic security maintenance stage

Alibaba Cloud does not release new features, but regularly updates important security patches and fixes bugs that severely hinder service stability for the SDKs.

The coverage for API operations is not guaranteed. The SDKs are updated and released to support new API operations only when necessary.

The SDKs are suitable for systems that are stably running, and are not recommended for new projects or beginners.

Marked as Not recommend.

Alibaba Cloud provides full series of documents and sample code but does not promise to update them at the earliest opportunity.

Alibaba Cloud provides migration references to instruct users to update to the latest SDK versions.

Marked as Not recommend.

Alibaba Cloud provides migration references to instruct users to update to or use the latest SDK versions.

End-of-support stage

Alibaba Cloud no longer provides any updates to the SDKs, including security updates.

No issues of any type are accepted for the SDKs.

Alibaba Cloud stops releasing the SDK updates.

The SDKs are not recommended for any beginners. Existing systems must be migrated to the latest SDK versions at the earliest opportunity to ensure the business continuity and security.

The SDKs are brought offline or all entrances are hidden.

Marked as End-of-support.

Alibaba Cloud provides migration references to instruct users to update to or use the latest SDK versions.

No issues of any type are accepted for the SDKs.

3. Release policy

Packages of Alibaba Cloud SDKs are released to the official package managers of different languages, such as Maven, npm, Python Package Index (PyPI), NuGet, CocoaPods, and Packagist. Alibaba Cloud also publishes the source code of SDKs in all supported languages on GitHub. For more information, see Version support.

3.1 Alibaba Cloud SDK generations

Alibaba Cloud provides two generations of SDKs: Alibaba Cloud SDK V1.0 and V2.0. Alibaba Cloud SDK V2.0 resolves a series of issues that developers encounter when they use Alibaba Cloud SDK V1.0. Alibaba Cloud SDK V2.0 provides many new features to simplify the use of SDKs, reduce the costs for using SDKs, and improve the robustness of SDKs. For more information about the differences between Alibaba Cloud SDK V1.0 and V2.0, see Alibaba Cloud SDK V1.0 and V2.0.

For more information about the maintenance policies for the SDKs, see the Lifecycle and maintenance policies section of this topic. For more information about the end-of-support status of SDKs of each generation in different languages, see Version support.

3.2 Version number specification

The changes of version numbers of Alibaba Cloud SDKs of each generation comply with the Semantic Versioning Specification.

A version number is in the Major.Minor.Patch format.

  • Major: Incompatible API changes are made.

  • Minor: Functionality is changed in a backward compatible manner.

  • Patch: Backward compatible bug fixes are made.

Incrementing the major version of an SDK indicates that the SDK has undergone significant and substantial changes to support new idioms and patterns in the current language. A major version is introduced when changes are made in public interfaces, such as class names, method names, parameter names, and parameter types, behaviors, or semantics. In other words, a major version is introduced when breaking changes are made in an SDK. After a major version is released, you must update the client to use the latest SDK. You must update the major version based on the SDK release report provided by Alibaba Cloud, such as the Release Report for Elastic Compute Service (ECS) SDK for Java V3.1.17.

3.3 Compatibility assurance

  • SDKs of different generations are not compatible with each other. For more information about how to upgrade Alibaba Cloud SDK V1.0 to V2.0, see Upgrade Alibaba Cloud SDK V1.0 to V2.0.

  • The version numbers of the Alibaba Cloud SDKs of the same generation comply with the Semantic Versioning Specification. Alibaba Cloud ensures that the minor versions and patch versions of SDKs in all languages are backward compatible. Only the major versions may be backward incompatible.

4. Update policy

Alibaba Cloud regularly provides updates to Alibaba Cloud SDKs and their underlying dependencies. The third-party dependencies are classified into the following three categories:

  • Operating systems such as CentOS 7, Windows 7, Windows 10, and macOS 12.x

  • Language runtimes such as Java 8, Java 11, .NET Core, PHP7, PHP8, and Node.js 14.x

  • Third-party libraries and frameworks such as OpenSSL, .NET Framework 4.5, and Java EE

The lifecycle of a third-party dependency is decided by the relevant language community or the vendor that owns that particular component. Each community or vendor publishes the end-of-life timeline for its own products.

Maintenance policy of each language community:

Important
  • After a community or vendor ends the support for a language version, Alibaba Cloud ensures continued support for that language version in Alibaba Cloud SDKs for at least one year.

  • A language version indicates a version released by a community or vendor for a specific programming language, such as Java 8 and Python 3.7.

5. End-of-support policy

5.1 Trigger point

After the community of a language announces the end of support for a language version or a dependency library, Alibaba Cloud issues an end-of-support announcement for the language version or dependency library in a year or so and ends support for the language version or dependency library six months later. The end of support does not affect the normal use of existing SDKs, but no security patches or new features will be provided.

5.2 Announcement content

  1. Specific reasons for ending support

  2. Specific time for ending support

  3. Steps for continuing to use existing SDKs and updating to supported SDKs

  4. Migration references

5.3 Notification methods

Alibaba Cloud provides an official explanation of the reason for ending support and notifies users in the following methods:

  • Publishes and sends to users an end-of-support announcement one year in advance. For example, an end-of-support announcement is published in the SDK references in OpenAPI Portal and Help Center, and is sent to users by using messages in OpenAPI Portal and the Alibaba Cloud Management Console.

  • Provides migration references in the SDK references in OpenAPI Portal and Help Center.

  • Adds notifications in the SDKs for some languages. For example, a warning notification is displayed when you install an unsupported SDK version.