Blog

Latest news and updates from the PlayFab developers

by Paul Gilmore 2016-09-06

More Visibility About Deprecation of API Methods

This blog post is about deprecation of PlayFab API methods and how it affects titles that are under active development. One of the core PlayFab commitments is that once your game has been released, your game will continue to work on PlayFab. Before we go into details, rest assured that this has not changed.  Post-launch, the API methods used by your title will continue to work as they always have, even after they are deprecated.

Ok, now into the details:

API deprecation has 4 stages:

  • Proposed, Deprecated, Obsolete, and Deleted

Here is a visibility chart for how the APIs will work and be displayed:

Sdks DocSite API-Server
Proposed Yes - Compiler Warning Yes - Warning Yes
Deprecated Yes - Compiler Error No Yes
Obsolete No No Yes
Deleted No No No

In English:

When an API method is first deprecated, it'll start in the "Proposed" state.  There will be comments (or compiler warnings when possible), to indicate you should stop using the method. After 1-2 months, it'll be transitioned to "Deprecated".  At this point, compiler warnings will become compiler errors (when possible), and the website documentation will be removed.

Finally, after an additional 1-2 months, it'll transition to "Obsolete".  When Obsolete, all outward SDKs and documentation will indicate that the API does not exist, though existing Legacy titles will be able to call it. We reserve the right to block titles from calling Obsolete API methods, if those titles were not using the method before the it was deprecated. In cases where we can verify that an Obsolete method is unused by all titles, we may delete it from our API server.

Some SDKs/languages do not have convenient compile-time indicators for deprecation.  Most SDKs should include warnings when possible, otherwise comments. If in doubt, please see the Patch Notes for notifications of deprecated APIs. Deprecation can apply to API methods, data-types, or fields within types.

The internal work for deprecation is finished, and warnings and attributes exist in several of the SDKs already.  The PlayFab documentation website currently displays most of the deprecation information, but we will be improving it over the next few weeks.  All remaining SDKs will display warnings (when possible) or comments (otherwise) about deprecation by next week. API methods are generally only deprecated when a new replacement is available.  The replacement method is always noted with the name of the replacement. If your game is in development, and a method you rely on is deprecated, please upgrade to the replacement within 2 months.  After that transition period, the API method will no longer be available in new versions of the SDK.

[UPDATE:]

Over the last year, we have made a list of API methods we plan to deprecate, and that deprecation process has now begun. All deprecated API methods can be found in the patch notes:  https://api.playfab.com/releaseNotes/#160822