No results for ""
EXPAND ALL
  • Home
  • API docs

GIVE DOCS FEEDBACK

SDKs

Read time: 7 minutes
Last edited: Apr 18, 2024

Overview

This topic explains the prerequisites you must consider when you're setting up a LaunchDarkly SDK for the first time.

You must create a LaunchDarkly account before you set up an SDK for the first time

A LaunchDarkly account is required to configure any LaunchDarkly SDK. To create an account, sign up for a trial. Your 14-day free trial begins as soon as you sign up.

Start a trial.

Getting started with LaunchDarkly SDKs

The SDK types have different security considerations, as well as behavioral and architectural differences. They handle flag evaluations differently, utilize different kinds of SDK keys, and support different languages. Consider your use case carefully before you decide which SDKs to use.

To learn more, read Getting started with SDKs.

The SDKs are designed to evaluate feature flags in your application. If you want to interact programmatically with the LaunchDarkly product, for example to create or update account members, projects, or environments, or to search for existing flags, you'll need to use the LaunchDarkly API. To learn more about the differences between these offerings, read Comparing LaunchDarkly's REST API and SDK.

Available SDKs

If you already know which SDKs you want to use, choose from the list of supported SDKs below.

If the language or framework you use is not listed here, we may provide a sample application to help you get started. Sample applications demonstrate that an SDK is compatible with a particular language or framework. However, LaunchDarkly only provides full support for those languages or frameworks that have a dedicated SDK.

We provide the following SDKs:

  • CLIENT-SIDE / MOBILE SDKS

    .NET

    Android

    C++

    Electron

    Flutter

    iOS

    JavaScript

    Node.js

    React

    Roku

    Vue

  • SERVER-SIDE SDKS

  • EDGE SDKS

Supported features

This section includes tables of minimum SDK versions required to support the listed features. Open each section to view minimum version requirements.

All versions of these SDKs support evaluating feature flags, recording and flushing events, and shutting down.

Expand JavaScript-based client-side SDKs

This table lists the minimum SDK versions required of JavaScript-based client-side SDKs to support the listed features:

FeatureElectronJavaScriptNode.jsReact NativeReact WebVue
Application metadata2.223.07.02.26
Automatic environment attributes8.0
Big segmentsAllAllAllAllAllAll
Bootstrapping1.02.51.02.9.5
Contexts and context kinds3.03.07.03.02.0
Experimentation1.02.61.05.01.01.0
Flag evaluation reasons1.5.72.722.04.1.22.211.0
Getting all flags1.01.01.05.0.12.9
Migration flags
Multiple environments4.2.0
Offline mode1.0
Private attributes1.0.12.9.41.04.02.91.0
Reading flags from a file
Relay Proxy in daemon mode
Relay Proxy in proxy mode1.5.61.01.01.02.20.2
Secure mode1.52.171.42.18
Sending custom events1.1.41.6.21.01.0
Storing data
Subscribing to flag changes1.01.01.01.02.9
Test data sources
Web proxy configuration
Expand all other client-side SDKs

This table lists the minimum SDK versions required of non-JavaScript-based client-side SDKs to support the listed features:

Expand server-side SDKs, A-K

This table lists the minimum SDK versions required of server-side SDKs with names that start with letters from A to K to support the listed features:

Feature.NETApexC/C++ErlangGoHaskellJava
Application metadata8.03.01.65.93.15.8
Automatic environment attributes
Big segments6.25.55.7
Bootstrapping
Contexts and context kinds7.03.02.06.04.06.0
Experimentation6.11.12.41.25.42.25.5
Flag evaluation reasons5.41.01.01.04.31.04.3
Getting all flags2.01.01.01.02.01.01.0
Migration flags8.07.07.0
Multiple environments
Offline mode1.01.01.02.01.01.0
OpenTelemetry7.4
Private attributes3.51.01.01.02.2.31.02.5
Reading flags from a file5.52.61.04.43.04.5
Relay Proxy in daemon mode5.21.21.02.01.01.0
Relay Proxy in proxy mode1.01.01.02.01.01.0
Secure mode2.02.01.01.0
Sending custom events1.01.01.01.02.01.01.0
Storing data1.01.2 (Redis)1.04.5 (DynamoDB, Consul)1.01.0
Subscribing to flag changes6.05.05.0
Test data sources6.02.61.42.01.05.1
Web proxy configuration1.01.02.02.2
Expand server-side SDKs, L-Z

This table lists the minimum SDK versions required of server-side SDKs with names that start with letters from L to Z to support the listed features:

FeatureLuaNode.jsPHPPythonRubyRust
Application metadata6.44.37.66.41.0
Automatic environment attributes
Big segments6.27.36.3
Bootstrapping
Contexts and context kinds7.05.08.07.01.0
Experimentation1.06.14.17.26.21.0
Flag evaluation reasons1.05.43.46.45.21.0
Getting all flags1.03.01.62.02.0.11.0
Migration flags9.06.09.08.0
Multiple environments
Offline mode1.01.02.02.01.0
OpenTelemetry9.38.4
Private attributes1.03.32.44.12.01.0
Reading flags from a file1.03.56.65.4.1
Relay Proxy in daemon mode1.01.01.02.02.0
Relay Proxy in proxy mode1.01.01.02.02.01.0
Secure mode3.01.02.02.0.11.0
Sending custom events1.01.01.02.02.01.0
Storing data1.02.0 (Redis)1.0 (Redis), 3.5 (Consul and DynamoDB)2.0 (Consul and Redis), 6.7 (DynamoDB)2.3.1 (Redis), 5.5 (Consul and DynamoDB)
Subscribing to flag changes1.09.12.0
Test data sources6.34.27.42.0
Web proxy configuration1.02.02.2.5
Expand edge SDKs

Edge SDKs are designed to be used with one of the LaunchDarkly client-side SDKs as follows:

  • The edge SDK gets all flags at the edge for a given context, and bootstraps them onto a cached payload
  • The client-side SDK initializes the bootstrapped payload
  • The client-side SDK evaluates the flags and sends events back to LaunchDarkly

If you are using newer versions of some edge SDKs, then the SDK can send events back to LaunchDarkly directly. Using a client-side SDK is not necessary. You do need to configure the SDK to enable sending events.

This table lists the minimum SDK versions required of edge SDKs to support the listed features: