For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Sign inTry it free
DocsGuidesSDKsIntegrationsAPI docsTutorialsFlagship blog
DocsGuidesSDKsIntegrationsAPI docsTutorialsFlagship blog
  • SDKs
    • SDK concepts
    • SDK features
    • Client-side SDKs
    • Server-side SDKs
    • AI SDKs
    • Edge SDKs
    • OpenFeature providers
    • Observability SDKs
    • Relay Proxy
Sign inTry it free
LogoLogo
On this page
  • Overview
  • Getting started with LaunchDarkly SDKs
  • Available SDKs
  • Client-side and mobile SDKs
  • Server-side SDKs
  • AI SDKs
  • Edge SDKs
  • OpenFeature providers
  • Supported features

SDKs

Was this page helpful?

SDK concepts

Next
Built with

Overview

This topic lists the available LaunchDarkly SDKs.

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 and mobile SDKs

.NET logo.NET logo

.NET

Android logoAndroid logo

Android

C++ logoC++ logo

C++

Electron logoElectron logo

Electron

Flutter logoFlutter logo

Flutter

iOS logoiOS logo

iOS

JavaScript logoJavaScript logo

JavaScript

Node.js logoNode.js logo

Node.js

React logoReact logo

React

Roku logoRoku logo

Roku

Vue logoVue logo

Vue

Server-side SDKs

.NET logo.NET logo

.NET

Apex logoApex logo

Apex

C++ logoC++ logo

C++

Erlang logoErlang logo

Erlang

Go logoGo logo

Go

Haskell logoHaskell logo

Haskell

Java logoJava logo

Java

Lua logoLua logo

Lua

Node.js logoNode.js logo

Node.js

PHP logoPHP logo

PHP

Python logoPython logo

Python

Ruby logoRuby logo

Ruby

Rust logoRust logo

Rust

AI SDKs

.NET logo.NET logo

.NET

Go logoGo logo

Go

Node.js logoNode.js logo

Node.js

Python logoPython logo

Python

Ruby logoRuby logo

Ruby

Edge SDKs

Akamai logoAkamai logo

Akamai

Cloudflare logoCloudflare logo

Cloudflare

Fastly logoFastly logo

Fastly

Vercel logoVercel logo

Vercel

OpenFeature providers

.NET logo.NET logo

.NET

Java logoJava logo

Java

Node.js logoNode.js logo

Node.js

PHP logoPHP logo

PHP

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 the server-side, client-side, mobile, and edge SDKs support evaluating feature flags.

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
Experimentation
  (including holdouts)
1.0
2.6
3.5
1.0
3.3
5.0
10.9
1.0
3.5
1.0
2.3
Flag evaluation reasons1.5.72.722.04.1.22.211.0
Getting all flags1.01.01.05.0.12.9
Hooks3.610.0
Inline contexts in custom events3.62.4
Migration flags
Multiple environments4.2.0
Observability plugin3.710.103.72.4
Omit anon contexts from events
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 events
   (incl. events for prereqs)
1.1.4
1.6.2
3.5
1.0
3.3
1.0
10.9
1.0
3.5
1.0
2.3
Session replay plugin3.73.72.4
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:

Feature.NETAndroidC++FlutteriOSRoku
Application metadata3.13.6 (users), 4.2 (contexts)3.01.38.01.3
Automatic environment attributes4.05.03.09.0
Big segmentsAllAllAllAllAllAll
Bootstrapping
Contexts and context kinds3.04.03.02.08.02.0
Experimentation
   (including holdouts)
2.0
5.3
3.1
5.4
2.4.8
0.2.0
4.8
1.0
9.11
1.0
2.2
Flag evaluation reasons1.22.71.01.04.31.0
Getting all flags1.02.81.01.01.01.0
Hooks5.89.7.2
Inline contexts in custom events5.45.73.104.11.19.132.4
Migration flags
Multiple environments2.65.3.1
Observability plugin5.99.14
Omit anon contexts from events
Offline mode1.01.01.01.0
Private attributes1.02.21.01.02.101.0
Reading flags from a file
Relay Proxy in daemon mode
Relay Proxy in proxy mode1.01.01.01.01.01.0
Secure mode
Sending custom events
   (incl. events for prereqs)
1.0
1.0
5.4
1.0
1.0
1.0
9.11
1.0
Session replay plugin
Storing data
Subscribing to flag changes2.01.01.01.01.0
Test data sources1.0
Web proxy configuration1.0
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++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
Data saving mode8.117.117.11
Experimentation6.11.12.41.25.42.25.5
Flag evaluation reasons5.41.01.01.04.31.04.3
Getting all flags
   (incl. prereq details)
2.0
8.6
1.0
1.0
3.8
1.0
3.4
2.0
7.7
1.0
4.3
1.0
7.6
Hooks8.47.47.4
Inline contexts in custom events8.83.93.77.94.57.8
Migration flags8.07.07.0
Multiple environments
Observability plugin8.107.11
Omit anon contexts from events7.54.2
Offline mode1.01.01.02.01.01.0
OpenTelemetry8.47.47.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.26.47.36.3
Bootstrapping
Contexts and context kinds7.05.08.07.01.0
Data saving mode9.109.138.12.0
Experimentation1.06.14.17.26.21.0
Flag evaluation reasons1.05.43.46.45.21.0
Getting all flags
   incl. prereq details
1.0
2.1.2
3.0
9.7
1.6
6.3
2.0
9.8
2.0.1
8.8
1.0
2.3
Hooks9.39.48.4
Inline contexts in custom events2.1.39.7.76.59.108.92.6
Migration flags9.06.09.08.02.2
Multiple environments
Observability plugin9.109.12
Omit anon contexts from events9.78.62.2
Offline mode1.01.02.02.01.0
OpenTelemetry9.39.48.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:

FeatureAkamaiCloudflareFastlyVercel
Contexts and context kinds1.02.00.11.0
Experimentation2.3.00.11.2.0
Getting all flags1.00.11.0
Migration flags1.0.92.2.21.1.6
Secure mode2.00.11.0
Sending custom events2.30.11.2
Expand AI SDKs

AI SDKs are designed to interact with AgentControl configs. Configs provide management of your AI prompts and model configurations.

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

Feature.NET AI SDKGo AI SDKNode.js (server-side) AI SDKPython AI SDKRuby AI SDK
Contexts and context kinds0.10.10.10.10.1
Customizing configs0.10.10.10.10.1
Customizing configs with agents0.110.10
Experimentation0.10.10.10.10.1
Private attributes0.10.10.10.10.1
Tracking AI metrics0.10.10.10.10.1