• Home
  • Integrations
  • SDKs
  • Guides
  • API docs
    No results for ""
    EXPAND ALL

    EDIT ON GITHUB

    Versioning policy

    Read time: 3 minutes
    Last edited: Nov 14, 2022

    Overview

    This topic explains LaunchDarkly's SDK versioning policy, which is based on the semantic versioning standard.

    To set up notifications about version updates and end of life notices, read Version notifications.

    What is semantic versioning?

    In summary, the semantic versioning standard specifies that each version should be uniquely labeled by an identifier made up of three components:

    • major version number
    • minor version number
    • patch version number

    These components are separated by periods. For example: The version 1.2.3 has a major version of 1, a minor version of 2, and a patch version of 3.

    For pre-release versions, we may suffix the version with an identifier indicating the version's pre-release status, like -beta1 or -alpha2.

    When we release a new version, we increment one of the major, minor, or patch components. Differentiating between new versions is based on the kinds of changes introduced in the new version.

    As is conventional in the semantic versioning standard:

    • The major version component increments when the version contains breaking changes.
    • The minor version component increments when the version contains new functionality that is backwards compatible.
    • The patch version component increments when the version contains backwards compatible bug fixes.

    To learn more, read Semantic Versioning 2.0.0.

    Understanding LaunchDarkly's SDK versioning policy

    The semantic versioning standard is a set of guidelines, not rigid rules. Different products and companies interpret the standard in ways that make sense to them.

    At LaunchDarkly, we version our SDKs based on the following criteria:

    Modifying unintentional behavior

    We release a patch version to modify a behavior if correcting that behavior does not change any documented types, properties, methods, or parameters.

    We release a patch version to modify a behavior when:

    • the behavior is unintended and does not work as documented (a "bug"), or
    • the behavior works as intended at the time of release but is later found to cause problems
    What qualifies as "documented" behavior?

    "Documented" behavior is behavior that is referenced or explained in technical documentation we provide about LaunchDarkly, or behavior that exists in the public API.

    Adding new functionality

    "New functionality" is not a term that applies to all new behavior.

    It means providing you the ability to do something with the SDK that you could not do before and that involves a new type, property, method, optional parameter, or supported parameter value.

    New functionality qualifies as a minor version release.

    Introducing breaking changes

    A "breaking change" occurs when a type, property, method, parameter, or allowable parameter value is no longer defined or no longer produces the results or behavior you want when you use it according to the documentation we provide.

    The qualifications for a breaking change can vary from platform to platform. On a platform like Node.js, which does not have the same kind of public and private visibility systems as Java or .NET, it can be difficult to distinguish between internal code and APIs.

    In cases like this, internal methods or properties can exist that LaunchDarkly cannot prevent application code from accessing, including methods and properties which are excluded from all documentation and from explicit interface declarations. We consider methods and properties like that, such as TypeScript declarations, to be internal. We do not consider breaking these internal references to be breaking changes as long as the underlying behavior persists. We will not release a major version solely to resolve an internal breakage.

    Examples of breaking changes that would qualify for a major version release include:

    • the application code no longer compiles (in a compiled language)
    • the application or SDK is unable to do the thing you want it to do, even when you use it correctly

    Supported versions

    LaunchDarkly SDKs follow LaunchDarkly's end of life (EOL) policy to determine each SDK version's maintenance window. The end of life policy also defines when LaunchDarkly SDKs can drop support for older versions of their underlying platforms. We do not make any guarantees around continuing to support SDK versions that are past end of life. These versions certainly may continue to function, and in many cases they do, however the LaunchDarkly service may not continue to fully support the protocols used by these older SDK versions.

    Read more about LaunchDarkly's end of life policy.

    Read below to identify up until what date each version is supported.

    .NET (client-side)

    .NET (client-side)

    VersionInitial release dateEnd of life (EOL)
    2.0.x2022-01-07Current
    1.2.x2020-01-152023-01-07
    1.1.x2019-10-172021-01-15
    1.0.x2019-09-132020-10-17
    .NET (server-side)

    .NET (server-side)

    VersionInitial release dateEnd of life (EOL)
    6.3.x2021-10-25Current
    6.2.x2021-07-222022-10-25
    6.1.x2021-06-222022-07-22
    6.0.x2021-06-092022-06-22
    5.14.x2021-01-262022-06-09
    5.13.x2020-02-102022-01-26
    5.12.x2020-01-062021-02-10
    5.11.x2019-12-132021-01-06
    5.10.x2019-11-122020-12-13
    5.9.x2019-10-072020-11-12
    5.8.x2019-10-012020-10-07
    5.7.x2019-09-122020-10-01
    5.6.x2019-01-112020-09-12
    5.5.x2018-10-302020-01-11
    5.4.x2018-08-302019-10-30
    < 5.4.xVarious2019-08-30 or earlier
    Android

    Android

    VersionInitial release dateEnd of life (EOL)
    3.2.x2022-08-23Current
    3.1.x2021-08-062023-08-23
    3.0.x2021-05-072022-08-06
    2.14.x2020-12-172022-05-07
    2.13.x2020-08-072021-12-17
    2.12.x2020-05-292021-08-07
    2.11.x2020-02-282021-05-29
    2.10.x2020-01-302021-02-28
    2.9.x2019-10-252021-01-30
    2.8.x2019-05-032020-10-25
    2.7.x2019-04-022020-05-03
    2.6.x2019-01-282020-04-02
    2.5.x2018-06-122020-01-28
    < 2.5.xVarious2019-06-12 or earlier
    Apex

    Apex

    VersionInitial release dateEnd of life (EOL)
    1.1.x2021-07-20Current
    1.0.x2021-06-082022-07-20
    C/C++ (client-side)

    C/C++ (client-side)

    VersionInitial release dateEnd of life (EOL)
    2.5.x2022-08-01Current
    2.4.x2021-12-102023-08-01
    2.3.x2021-01-262022-12-10
    2.2.x2020-11-242022-01-26
    2.1.x2020-07-282021-11-24
    2.0.x2020-06-152021-07-28
    1.7.x2019-09-262021-06-15
    1.6.x2019-09-112020-09-26
    1.5.x2019-07-262020-09-11
    1.4.x2019-07-032020-07-26
    1.3.x2019-04-182020-07-03
    1.2.x2019-04-112020-04-18
    1.1.x2019-02-012020-04-11
    1.0.x2019-01-102020-02-01
    C/C++ (server-side)

    C/C++ (server-side)

    VersionInitial release dateEnd of life (EOL)
    2.8.x2022-07-12Current
    2.7.x2022-06-022023-07-12
    2.6.x2022-04-202023-06-02
    2.5.x2022-02-232023-04-20
    2.4.x2021-06-202023-02-23
    2.3.x2021-01-282022-06-20
    2.2.x2020-11-242022-01-28
    2.1.x2020-05-122021-11-24
    2.0.x2020-04-302021-05-12
    1.2.x2020-03-312021-04-30
    1.1.x2019-09-262021-03-31
    1.0.x2019-07-052020-09-26
    Electron

    Electron

    VersionInitial release dateEnd of life (EOL)
    1.7.x2022-10-21Current
    1.6.x2021-01-272023-10-21
    1.5.x2020-02-142022-01-27
    1.4.x2019-12-162021-02-14
    1.3.x2019-11-052020-12-16
    1.2.x2019-10-102020-11-05
    1.1.x2019-05-102020-10-10
    1.0.x2019-02-012020-05-10
    Erlang

    Erlang

    VersionInitial release dateEnd of life (EOL)
    1.5.x2022-6-23Current
    1.4.x2022-4-202023-6-23
    1.3.x2021-11-032023-4-20
    1.2.x2021-10-182022-11-03
    1.1.x2021-05-062022-10-18
    1.0.x2021-02-222022-05-06
    Flutter

    Flutter

    VersionInitial release dateEnd of life (EOL)
    1.2.x2022-11-07Current
    1.1.2.x2022-06-232023-11-07
    1.0.x2021-10-292023-06-23
    Go

    Go

    VersionInitial release dateEnd of life (EOL)
    5.10.x2022-07-05Current
    5.9.x2022-03-222023-07-05
    5.8.x2022-01-102023-03-22
    5.7.x2022-01-072023-01-10
    5.6.x2021-08-202023-01-07
    5.5.x2021-07-202022-08-20
    5.4.x2021-06-172022-07-20
    5.3.x2021-04-222022-06-17
    5.2.x2021-01-262022-04-22
    5.1.x2020-12-172022-01-26
    5.0.x2020-09-182021-12-17
    4.17.x2020-03-302021-09-18
    4.16.x2020-02-042021-03-30
    4.15.x2020-01-232021-02-04
    4.14.x2020-01-092021-01-23
    4.13.x2019-10-102021-01-09
    4.12.x2019-09-122020-10-10
    4.11.x2019-08-192020-09-12
    4.10.x2019-07-302020-08-19
    4.9.x2019-07-232020-07-30
    4.8.x2019-06-112020-07-23
    4.7.x2018-12-182020-06-11
    4.6.x2018-11-172019-12-18
    4.5.x2018-11-152019-11-17
    4.4.x2018-10-302019-11-15
    4.3.x2018-08-272019-10-30
    < 4.3.xVarious2019-08-27 or earlier
    Haskell

    Haskell

    VersionInitial release dateEnd of life (EOL)
    3.0.x2022-06-27Current
    2.2.x2021-06-172023-06-27
    2.1.x2021-02-042022-06-17
    2.0.x2020-04-212022-02-04
    1.0.x2020-02-242021-04-21
    iOS

    iOS

    VersionInitial release dateEnd of life (EOL)
    7.1.x2022-11-08Current
    7.0.x2022-10-122023-11-08
    6.2.x2022-09-022023-10-12
    6.1.x2022-05-172023-09-02
    6.0.x2022-05-042023-05-17
    5.4.x2021-02-262023-05-04
    5.3.x2020-11-062022-02-26
    5.2.x2020-10-092021-11-06
    5.1.x2020-08-042021-10-09
    5.0.x2020-07-232021-08-04
    4.7.x2020-06-032021-07-23
    4.6.x2020-05-262021-06-03
    4.5.x2020-03-262021-05-26
    4.4.x2020-01-152021-03-26
    4.3.x2019-12-032021-01-15
    4.2.x2019-10-252020-12-03
    4.1.x2019-06-192020-10-25
    < 4.1.xVarious2020-06-19 or earlier
    Java

    Java

    VersionInitial release dateEnd of life (EOL)
    5.10.x2022-07-28Current
    5.9.x2022-04-262023-07-28
    5.8.x2022-04-182023-04-26
    5.7.x2022-01-282023-04-18
    5.6.x2021-07-022023-01-28
    5.5.x2021-06-172022-07-02
    5.4.x2021-04-222022-06-17
    5.3.x2021-03-092022-04-22
    5.2.x2020-10-092022-03-09
    5.1.x2020-09-042021-10-09
    5.0.x2020-06-022021-09-04
    4.14.x2020-05-132021-06-02
    4.13.x2020-04-212021-05-13
    4.12.x2020-01-302021-04-21
    4.11.x2020-01-162021-01-30
    4.10.x2019-12-132021-01-16
    4.9.x2019-10-182020-12-13
    4.8.x2019-09-302020-10-18
    4.7.x2019-08-022020-09-30
    4.6.x2018-12-132020-08-02
    4.5.x2018-10-262019-12-13
    4.4.x2018-10-022019-10-26
    < 4.4.xVarious2019-10-02 or earlier
    JavaScript

    JavaScript

    VersionInitial release dateEnd of life (EOL)
    2.24.x2022-10-18Current
    2.23.x2022-10-052023-10-18
    2.22.x2022-4-262023-10-05
    2.21.x2022-3-212023-4-26
    2.20.x2021-10-152023-3-21
    2.19.x2021-01-272022-10-15
    2.18.x2020-07-162022-01-27
    2.17.x2020-02-142021-07-16
    2.16.x2019-12-162021-02-14
    2.15.x2019-11-052020-12-16
    2.14.x2019-10-102020-11-05
    2.13.x2019-08-152020-10-10
    2.12.x2019-06-252020-08-15
    2.11.x2019-06-062020-06-25
    2.10.x2019-04-192020-06-06
    2.9.x2019-02-012020-04-19
    2.8.x2018-12-032020-02-01
    2.7.x2018-09-252019-12-03
    < 2.7.xVarious2019-09-25 or earlier
    Lua

    Lua

    VersionInitial release dateEnd of life (EOL)
    1.2.x2022-02-07Current
    1.1.x2021-02-042023-02-07
    1.0.x2020-07-272022-02-04
    Node.js (client-side)

    Node.js (client-side)

    VersionInitial release dateEnd of life (EOL)
    2.2.x2022-10-18Current
    2.1.x2022-10-062023-10-18
    2.0.x2022-01-262023-10-06
    1.5.x2021-01-272023-01-26
    1.4.x2020-02-142022-01-27
    1.3.x2019-12-162021-02-14
    1.2.x2019-11-052020-12-16
    1.1.x2019-10-102020-11-05
    1.0.x2019-07-032020-10-10
    Node.js (server-side)

    Node.js (server-side)

    VersionInitial release dateEnd of life (EOL)
    6.4.x2022-03-22Current
    6.3.x2022-02-182023-03-22
    6.2.x2021-07-222023-02-18
    6.1.x2021-06-212022-07-22
    6.0.x2021-06-172022-06-21
    5.14.x2021-01-292022-06-17
    5.13.x2020-04-072022-01-29
    5.12.x2020-04-032021-04-07
    5.11.x2020-02-122021-04-03
    5.10.x2019-12-112021-02-12
    5.9.x2019-08-202020-12-11
    5.8.x2019-04-262020-08-20
    5.7.x2019-01-122020-04-26
    5.6.x2018-11-142020-01-12
    5.5.x2018-10-082019-11-14
    5.4.x2018-08-302019-10-08
    < 5.4.xVarious2019-08-30 or earlier
    PHP

    PHP

    VersionInitial release dateEnd of life (EOL)
    4.2.x2022-04-13Current
    4.1.x2022-02-162023-04-13
    4.0.x2021-08-062023-02-16
    3.9.x2021-06-212022-08-06
    3.8.x2021-04-192022-06-21
    3.7.x2019-12-032022-04-19
    3.6.x2019-10-012020-12-03
    3.5.x2019-01-302020-10-01
    3.4.x2018-09-042020-01-30
    < 3.4.xVarious2019-09-04 or earlier
    Python

    Python

    VersionInitial release dateEnd of life (EOL)
    7.5.x2022-07-01Current
    7.4.x2022-02-162023-07-01
    7.3.x2021-12-102023-02-16
    7.2.x2021-06-172022-12-10
    7.1.x2021-03-112022-06-17
    7.0.x2020-10-282022-03-11
    6.13.x2020-03-302021-10-28
    6.12.x2020-02-112021-03-30
    6.11.x2019-10-312021-02-11
    6.10.x2019-08-202020-10-31
    6.9.x2019-04-092020-08-20
    6.8.x2019-01-312020-04-09
    6.7.x2019-01-162020-01-31
    6.6.x2018-11-142020-01-16
    6.5.x2018-10-172019-11-14
    6.4.x2018-08-302019-10-17
    < 6.4.xVarious2019-08-30 or earlier
    React

    React

    VersionInitial release dateEnd of life (EOL)
    2.29.x2022-10-18Current
    2.28.x2022-10-052023-10-18
    2.27.x2022-08-312023-10-05
    2.26.x2022-04-272023-08-31
    2.25.x2022-02-082023-04-27
    2.24.x2021-12-092023-02-08
    2.23.x2021-07-162022-12-09
    2.22.x2021-01-272022-07-16
    2.21.x2020-11-172022-01-27
    2.20.x2020-07-172021-11-17
    2.19.x2020-07-152021-07-17
    2.18.x2020-02-192021-07-15
    2.17.x2019-12-182021-02-19
    2.16.x2019-12-162020-12-18
    2.15.x2019-11-062020-12-16
    2.14.x2019-09-122020-11-06
    2.13.x2019-08-152020-09-12
    2.12.x2019-06-182020-08-15
    2.11.x2019-06-162020-06-18
    2.10.x2019-04-192020-06-16
    2.9.x2019-02-012020-04-19
    < 2.9.xVarious2020-02-01 or earlier
    React Native

    React Native

    VersionInitial release dateEnd of life (EOL)
    6.2.x2022-05-17Current
    6.1.x2022-02-252023-05-17
    6.0.x2022-02-102023-02-25
    5.1.x2021-09-302023-02-10
    5.0.x2021-08-202022-09-30
    4.2.x2021-05-192022-08-20
    4.1.x2021-04-132022-05-19
    4.0.x2021-03-312022-04-13
    3.2.x2020-12-022022-03-31
    3.1.x2020-04-012021-12-02
    3.0.x2020-02-202021-04-01
    2.2.x2020-01-242021-02-20
    2.1.x2019-12-232021-01-24
    2.0.x2019-06-272020-12-23
    1.0.x2019-04-182020-06-27
    Roku

    Roku

    VersionInitial release dateEnd of life (EOL)
    1.2.x2021-07-23Current
    1.1.x2019-11-122022-07-23
    1.0.x2019-11-042020-11-12
    Ruby

    Ruby

    VersionInitial release dateEnd of life (EOL)
    6.4.x2022-09-07Current
    6.3.x2021-12-092023-09-07
    6.2.x2021-06-172022-12-09
    6.1.x2021-02-042022-06-17
    6.0.x2021-01-262022-02-04
    5.8.x2020-05-272022-01-26
    5.7.x2020-03-102021-05-27
    5.6.x2019-08-202021-03-10
    5.5.x2019-01-182020-08-20
    5.4.x2018-11-032020-01-18
    5.3.x2018-10-242019-11-03
    5.2.x2018-08-302019-10-24
    < 5.2.xVarious2019-08-30 or earlier
    Vue

    Vue

    VersionInitial release dateEnd of life (EOL)
    1.2.x2022-10-18Current
    1.1.x2022-10-052023-10-18
    1.0.x2022-07-132023-10-05