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

EDIT ON GITHUB

Versioning policy

Read time: 2 minutes
Last edited: May 13, 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.

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.6.x2021-01-27Current
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.1.2.x2022-06-23Current
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)
6.2.x2022-09-02Current
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.20.x2021-10-15Current
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.0.x2022-01-26Current
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.27.x2022-08-31Current
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.0.x2022-07-13Current