> ## Documentation Index
> Fetch the complete documentation index at: https://launchdarkly.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# SDKs

export const SdkGrid = ({items = [], arrow = true, cols = 3}) => {
  return <Columns className="sdk_grid" cols={cols}>
      {items.map(({title, href, icon, iconLight, iconDark, iconPrefix = ""}) => <div key={`${href}::${title}`} className="contents">
          <Card title={title} href={href} icon={`/assets/icons/${iconPrefix}light/${iconLight || icon}.svg`} horizontal className="block dark:hidden" arrow={arrow} />
          <Card title={title} href={href} icon={`/assets/icons/${iconPrefix}dark/${iconDark || icon}.svg`} horizontal className="hidden dark:block" arrow={arrow} />
        </div>)}
    </Columns>;
};

This topic lists the available LaunchDarkly SDKs.

<View title="Developer">
  <Note>
    **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.](https://app.launchdarkly.com/signup)
  </Note>
</View>

<View title="Federal docs" />

<View title="EU docs" />

## 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](/docs/sdk/concepts/getting-started).

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](/docs/home/infrastructure/api). To learn more about the differences between these offerings, read [Comparing LaunchDarkly's REST API and SDK](/docs/guides/api/comparing-sdk-rest-api).

## 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](/docs/sdk/concepts/sample-applications) 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

<SdkGrid
  items={[
{ title: ".NET", href: "/sdk/client-side/dotnet", icon: "dotnet" },
{ title: "Android", href: "/sdk/client-side/android", icon: "android" },
{ title: "C++", href: "/sdk/client-side/c-c--", icon: "cpp" },
{ title: "Electron", href: "/sdk/client-side/electron", icon: "electron" },
{ title: "Flutter", href: "/sdk/client-side/flutter", icon: "flutter" },
{ title: "iOS", href: "/sdk/client-side/ios", icon: "ios" },
{ title: "JavaScript", href: "/sdk/client-side/javascript", icon: "javascript" },
{ title: "Node.js", href: "/sdk/client-side/node-js", icon: "node" },
{ title: "React", href: "/sdk/client-side/react", icon: "react" },
{ title: "Roku", href: "/sdk/client-side/roku", icon: "roku" },
{ title: "Vue", href: "/sdk/client-side/vue", icon: "vue" },
]}
/>

### Server-side SDKs

<SdkGrid
  items={[
{ title: ".NET", href: "/sdk/server-side/dotnet", icon: "dotnet" },
{ title: "Apex", href: "/sdk/server-side/apex", icon: "apex" },
{ title: "C++", href: "/sdk/server-side/c-c--", icon: "cpp" },
{ title: "Erlang", href: "/sdk/server-side/erlang", icon: "erlang" },
{ title: "Go", href: "/sdk/server-side/go", icon: "go" },
{ title: "Haskell", href: "/sdk/server-side/haskell", icon: "haskell" },
{ title: "Java", href: "/sdk/server-side/java", icon: "java" },
{ title: "Lua", href: "/sdk/server-side/lua", icon: "lua" },
{ title: "Node.js", href: "/sdk/server-side/node-js", icon: "node" },
{ title: "PHP", href: "/sdk/server-side/php", icon: "php" },
{ title: "Python", href: "/sdk/server-side/python", icon: "python" },
{ title: "Ruby", href: "/sdk/server-side/ruby", icon: "ruby" },
{ title: "Rust", href: "/sdk/server-side/rust", icon: "rust" },
]}
/>

### AI SDKs

<SdkGrid
  items={[
{ title: ".NET", href: "/sdk/ai/dotnet", icon: "dotnet" },
{ title: "Go", href: "/sdk/ai/go", icon: "go" },
{ title: "Node.js", href: "/sdk/ai/node-js", icon: "node" },
{ title: "Python", href: "/sdk/ai/python", icon: "python" },
{ title: "Ruby", href: "/sdk/ai/ruby", icon: "ruby" },
]}
/>

### Edge SDKs

<SdkGrid
  items={[
{ title: "Akamai", href: "/sdk/edge/akamai", icon: "akamai" },
{ title: "Cloudflare", href: "/sdk/edge/cloudflare", icon: "cloudflare" },
{ title: "Fastly", href: "/sdk/edge/fastly", iconLight: "fastly-light", iconDark: "fastly-dark" },
{ title: "Vercel", href: "/sdk/edge/vercel", icon: "vercel" },
]}
/>

### OpenFeature providers

<SdkGrid
  items={[
{ title: ".NET", href: "/sdk/openfeature/dotnet", icon: "dotnet" },
{ title: "Cloudflare", href: "/sdk/openfeature/cloudflare", icon: "cloudflare" },
{ title: "Java", href: "/sdk/openfeature/java", icon: "java" },
{ title: "Node.js", href: "/sdk/openfeature/node-js", icon: "node" },
{ title: "PHP", href: "/sdk/openfeature/php", icon: "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.

<AccordionGroup>
  <Accordion title="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:

    <table className="fern-table">
      <thead>
        <tr>
          <th>Feature</th>
          <th>[Electron](/docs/sdk/client-side/electron)</th>
          <th>[JavaScript](/docs/sdk/client-side/javascript)</th>
          <th>[Node.js](/docs/sdk/client-side/node-js)</th>
          <th>[React Native](/docs/sdk/client-side/react/react-native)</th>
          <th>[React Web](/docs/sdk/client-side/react/react-web)</th>
          <th>[Vue](/docs/sdk/client-side/vue)</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>[Application metadata](/docs/sdk/features/app-config)</td>

          <td />

          <td>2.22</td>
          <td>3.0</td>
          <td>7.0</td>
          <td>2.26</td>

          <td />
        </tr>

        <tr>
          <td>[Automatic environment attributes](/docs/sdk/features/environment-attributes)</td>

          <td />

          <td />

          <td />

          <td>8.0</td>

          <td />

          <td />
        </tr>

        <tr>
          <td>[Big segments](/docs/sdk/features/big-segments)</td>
          <td>All</td>
          <td>All</td>
          <td>All</td>
          <td>All</td>
          <td>All</td>
          <td>All</td>
        </tr>

        <tr>
          <td>[Bootstrapping](/docs/sdk/features/bootstrapping)</td>
          <td>1.0</td>
          <td>2.5</td>
          <td>1.0</td>

          <td />

          <td>2.9.5</td>

          <td />
        </tr>

        <tr>
          <td>[Contexts and context kinds](/docs/sdk/features/context-config)</td>

          <td />

          <td>3.0</td>
          <td>3.0</td>
          <td>7.0</td>
          <td>3.0</td>
          <td>2.0</td>
        </tr>

        <tr>
          <td>[Data saving mode](/docs/sdk/features/data-saving-mode)</td>

          <td />

          <td>4.9</td>

          <td />

          <td>10.19</td>
          <td>4.2</td>

          <td />
        </tr>

        <tr>
          <td>[Experimentation](/docs/home/experimentation)<br />  (including [holdouts](/docs/home/holdouts))</td>
          <td>1.0 <br /></td>
          <td>2.6 <br />3.5</td>
          <td>1.0 <br />3.3</td>
          <td>5.0 <br />10.9</td>
          <td>1.0 <br />3.5</td>
          <td>1.0 <br />2.3</td>
        </tr>

        <tr>
          <td>[Flag variation evaluation details](/docs/sdk/features/evaluation-reasons)</td>
          <td>1.5.7</td>
          <td>2.72</td>
          <td>2.0</td>
          <td>4.1.2</td>
          <td>2.21</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Getting all flags](/docs/sdk/features/all-flags)</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>5.0.1</td>
          <td>2.9</td>

          <td />
        </tr>

        <tr>
          <td>[Hooks](/docs/sdk/features/hooks)</td>

          <td />

          <td>3.6</td>

          <td />

          <td>10.0</td>

          <td />

          <td />
        </tr>

        <tr>
          <td>Inline contexts in custom events</td>

          <td />

          <td>3.6</td>

          <td />

          <td />

          <td />

          <td>2.4</td>
        </tr>

        <tr>
          <td>[Migration flags](/docs/sdk/features/migrations)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Multiple environments](/docs/sdk/features/multiple-environments)</td>

          <td />

          <td />

          <td />

          <td>4.2.0</td>

          <td />

          <td />
        </tr>

        <tr>
          <td>[Observability plugin](/docs/sdk/observability)</td>

          <td />

          <td>3.7</td>

          <td />

          <td>10.10</td>
          <td>3.7</td>
          <td>2.4</td>
        </tr>

        <tr>
          <td>[Omit anon contexts from events](/docs/sdk/concepts/events#omit-anonymous-contexts-from-events)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Offline mode](/docs/sdk/features/offline-mode)</td>

          <td />

          <td />

          <td />

          <td>1.0</td>

          <td />

          <td />
        </tr>

        <tr>
          <td>[Private attributes](/docs/sdk/features/private-attributes)</td>
          <td>1.0.1</td>
          <td>2.9.4</td>
          <td>1.0</td>
          <td>4.0</td>
          <td>2.9</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Reading flags from a file](/docs/sdk/features/flags-from-files)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Relay Proxy in daemon mode](/docs/sdk/features/relay-proxy-configuration/daemon-mode)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Relay Proxy in proxy mode](/docs/sdk/features/relay-proxy-configuration/proxy-mode)</td>
          <td>1.5.6</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>2.20.2</td>

          <td />
        </tr>

        <tr>
          <td>[Secure mode](/docs/sdk/features/secure-mode)</td>
          <td>1.5</td>
          <td>2.17</td>
          <td>1.4</td>

          <td />

          <td>2.18</td>

          <td />
        </tr>

        <tr>
          <td>[Tracking custom events](/docs/sdk/features/events)<br />   (incl. [events for prereqs](/docs/sdk/concepts/events#include-prerequisite-information-in-events))</td>
          <td>1.1.4 <br /></td>
          <td>1.6.2 <br />3.5</td>
          <td>1.0 <br />3.3</td>
          <td>1.0 <br />10.9</td>
          <td>1.0 <br />3.5</td>
          <td>1.0 <br />2.3</td>
        </tr>

        <tr>
          <td>[Session replay plugin](/docs/sdk/observability)</td>

          <td />

          <td>3.7</td>

          <td />

          <td />

          <td>3.7</td>
          <td>2.4</td>
        </tr>

        <tr>
          <td>[Storing data](/docs/sdk/features/storing-data)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Subscribing to flag changes](/docs/sdk/features/flag-changes)</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>2.9</td>

          <td />
        </tr>

        <tr>
          <td>[Test data sources](/docs/sdk/features/test-data-sources)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Web proxy configuration](/docs/sdk/features/web-proxy)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="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:

    <table className="fern-table">
      <thead>
        <tr>
          <th>Feature</th>
          <th>[.NET](/docs/sdk/client-side/dotnet)</th>
          <th>[Android](/docs/sdk/client-side/android)</th>
          <th>[C++](/docs/sdk/client-side/c-c--)</th>
          <th>[Flutter](/docs/sdk/client-side/flutter)</th>
          <th>[iOS](/docs/sdk/client-side/ios)</th>
          <th>[Roku](/docs/sdk/client-side/roku)</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>[Application metadata](/docs/sdk/features/app-config)</td>
          <td>3.1</td>
          <td>3.6 (users), 4.2 (contexts)</td>
          <td>3.0</td>
          <td>1.3</td>
          <td>8.0</td>
          <td>1.3</td>
        </tr>

        <tr>
          <td>[Automatic environment attributes](/docs/sdk/features/environment-attributes)</td>
          <td>4.0</td>
          <td>5.0</td>

          <td />

          <td>3.0</td>
          <td>9.0</td>

          <td />
        </tr>

        <tr>
          <td>[Big segments](/docs/sdk/features/big-segments)</td>
          <td>All</td>
          <td>All</td>
          <td>All</td>
          <td>All</td>
          <td>All</td>
          <td>All</td>
        </tr>

        <tr>
          <td>[Bootstrapping](/docs/sdk/features/bootstrapping)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Contexts and context kinds](/docs/sdk/features/context-config)</td>
          <td>3.0</td>
          <td>4.0</td>
          <td>3.0</td>
          <td>2.0</td>
          <td>8.0</td>
          <td>2.0</td>
        </tr>

        <tr>
          <td>[Data saving mode](/docs/sdk/features/data-saving-mode#android)</td>

          <td />

          <td>5.13</td>

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Experimentation](/docs/home/experimentation)<br />   (including [holdouts](/docs/home/holdouts))</td>
          <td>2.0 <br />5.3</td>
          <td>3.1 <br />5.4</td>
          <td>2.4.8 <br /></td>
          <td>0.2.0 <br />4.8</td>
          <td>1.0 <br />9.11</td>
          <td>1.0 <br />2.2</td>
        </tr>

        <tr>
          <td>[Flag variation evaluation details](/docs/sdk/features/evaluation-reasons)</td>
          <td>1.2</td>
          <td>2.7</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>4.3</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Getting all flags](/docs/sdk/features/all-flags)</td>
          <td>1.0</td>
          <td>2.8</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Hooks](/docs/sdk/features/hooks)</td>

          <td />

          <td>5.8</td>

          <td />

          <td />

          <td>9.7.2</td>

          <td />
        </tr>

        <tr>
          <td>Inline contexts in custom events</td>
          <td>5.4</td>
          <td>5.7</td>
          <td>3.10</td>
          <td>4.11.1</td>
          <td>9.13</td>
          <td>2.4</td>
        </tr>

        <tr>
          <td>[Migration flags](/docs/sdk/features/migrations)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Multiple environments](/docs/sdk/features/multiple-environments)</td>

          <td />

          <td>2.6</td>

          <td />

          <td />

          <td>5.3.1</td>

          <td />
        </tr>

        <tr>
          <td>[Observability plugin](/docs/sdk/observability)</td>

          <td />

          <td>5.9</td>

          <td />

          <td />

          <td>9.14</td>

          <td />
        </tr>

        <tr>
          <td>[Omit anon contexts from events](/docs/sdk/concepts/events#omit-anonymous-contexts-from-events)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Offline mode](/docs/sdk/features/offline-mode)</td>
          <td>1.0</td>
          <td>1.0</td>

          <td />

          <td>1.0</td>
          <td>1.0</td>

          <td />
        </tr>

        <tr>
          <td>[Private attributes](/docs/sdk/features/private-attributes)</td>
          <td>1.0</td>
          <td>2.2</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>2.10</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Reading flags from a file](/docs/sdk/features/flags-from-files)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Relay Proxy in daemon mode](/docs/sdk/features/relay-proxy-configuration/daemon-mode)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Relay Proxy in proxy mode](/docs/sdk/features/relay-proxy-configuration/proxy-mode)</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Secure mode](/docs/sdk/features/secure-mode)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Tracking custom events](/docs/sdk/features/events)<br />   (incl. [events for prereqs](/docs/sdk/concepts/events#include-prerequisite-information-in-events))</td>
          <td>1.0 <br /></td>
          <td>1.0 <br />5.4</td>
          <td>1.0 <br /></td>
          <td>1.0 <br /></td>
          <td>1.0 <br />9.11</td>
          <td>1.0 <br /></td>
        </tr>

        <tr>
          <td>[Session replay plugin](/docs/sdk/observability)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Storing data](/docs/sdk/features/storing-data)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Subscribing to flag changes](/docs/sdk/features/flag-changes)</td>
          <td>2.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>

          <td />
        </tr>

        <tr>
          <td>[Test data sources](/docs/sdk/features/test-data-sources)</td>
          <td>1.0</td>

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Web proxy configuration](/docs/sdk/features/web-proxy)</td>
          <td>1.0</td>

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="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:

    <table className="fern-table">
      <thead>
        <tr>
          <th>Feature</th>
          <th>[.NET](/docs/sdk/server-side/dotnet)</th>
          <th>[Apex](/docs/sdk/server-side/apex)</th>
          <th>[C++](/docs/sdk/server-side/c-c--)</th>
          <th>[Erlang](/docs/sdk/server-side/erlang)</th>
          <th>[Go](/docs/sdk/server-side/go)</th>
          <th>[Haskell](/docs/sdk/server-side/haskell)</th>
          <th>[Java](/docs/sdk/server-side/java)</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>[Application metadata](/docs/sdk/features/app-config)</td>
          <td>8.0</td>

          <td />

          <td>3.0</td>
          <td>1.6</td>
          <td>5.9</td>
          <td>3.1</td>
          <td>5.8</td>
        </tr>

        <tr>
          <td>[Automatic environment attributes](/docs/sdk/features/environment-attributes)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Big segments](/docs/sdk/features/big-segments)</td>
          <td>6.2</td>

          <td />

          <td>3.13</td>

          <td />

          <td>5.5</td>

          <td />

          <td>5.7</td>
        </tr>

        <tr>
          <td>[Bootstrapping](/docs/sdk/features/bootstrapping)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Contexts and context kinds](/docs/sdk/features/context-config)</td>
          <td>7.0</td>

          <td />

          <td>3.0</td>
          <td>2.0</td>
          <td>6.0</td>
          <td>4.0</td>
          <td>6.0</td>
        </tr>

        <tr>
          <td>[Data saving mode](/docs/sdk/features/data-saving-mode)</td>
          <td>8.11</td>

          <td />

          <td>3.12</td>

          <td />

          <td>7.11</td>

          <td />

          <td>7.11</td>
        </tr>

        <tr>
          <td>[Experimentation](/docs/home/experimentation)</td>
          <td>6.1</td>
          <td>1.1</td>
          <td>2.4</td>
          <td>1.2</td>
          <td>5.4</td>
          <td>2.2</td>
          <td>5.5</td>
        </tr>

        <tr>
          <td>[Flag variation evaluation details](/docs/sdk/features/evaluation-reasons)</td>
          <td>5.4</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>4.3</td>
          <td>1.0</td>
          <td>4.3</td>
        </tr>

        <tr>
          <td>[Getting all flags](/docs/sdk/features/all-flags) <br />   (incl. [prereq details](/docs/sdk/concepts/events#include-prerequisite-information-in-events))</td>
          <td>2.0 <br />8.6</td>
          <td>1.0 <br /></td>
          <td>1.0 <br />3.8</td>
          <td>1.0 <br />3.4</td>
          <td>2.0 <br />7.7</td>
          <td>1.0 <br />4.3</td>
          <td>1.0 <br />7.6</td>
        </tr>

        <tr>
          <td>[Hooks](/docs/sdk/features/hooks)</td>
          <td>8.4</td>

          <td />

          <td />

          <td />

          <td>7.4</td>

          <td />

          <td>7.4</td>
        </tr>

        <tr>
          <td>Inline contexts in custom events</td>
          <td>8.8</td>

          <td />

          <td>3.9</td>
          <td>3.7</td>
          <td>7.9</td>
          <td>4.5</td>
          <td>7.8</td>
        </tr>

        <tr>
          <td>[Migration flags](/docs/sdk/features/migrations)</td>
          <td>8.0</td>

          <td />

          <td />

          <td />

          <td>7.0</td>

          <td />

          <td>7.0</td>
        </tr>

        <tr>
          <td>[Multiple environments](/docs/sdk/features/multiple-environments)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Observability plugin](/docs/sdk/observability)</td>
          <td>8.10</td>

          <td />

          <td />

          <td />

          <td>7.11</td>

          <td />

          <td />
        </tr>

        <tr>
          <td>[Omit anon contexts from events](/docs/sdk/concepts/events#omit-anonymous-contexts-from-events)</td>

          <td />

          <td />

          <td />

          <td />

          <td>7.5</td>
          <td>4.2</td>

          <td />
        </tr>

        <tr>
          <td>[Offline mode](/docs/sdk/features/offline-mode)</td>
          <td>1.0</td>

          <td />

          <td>1.0</td>
          <td>1.0</td>
          <td>2.0</td>
          <td>1.0</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[OpenTelemetry](/docs/sdk/features/opentelemetry-server-side)</td>
          <td>8.4</td>

          <td />

          <td />

          <td />

          <td>7.4</td>

          <td />

          <td>7.4</td>
        </tr>

        <tr>
          <td>[Private attributes](/docs/sdk/features/private-attributes)</td>
          <td>3.5</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>2.2.3</td>
          <td>1.0</td>
          <td>2.5</td>
        </tr>

        <tr>
          <td>[Reading flags from a file](/docs/sdk/features/flags-from-files)</td>
          <td>5.5</td>

          <td />

          <td>2.6</td>
          <td>1.0</td>
          <td>4.4</td>
          <td>3.0</td>
          <td>4.5</td>
        </tr>

        <tr>
          <td>[Relay Proxy in daemon mode](/docs/sdk/features/relay-proxy-configuration/daemon-mode)</td>
          <td>5.2</td>

          <td />

          <td>1.2</td>
          <td>1.0</td>
          <td>2.0</td>
          <td>1.0</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Relay Proxy in proxy mode](/docs/sdk/features/relay-proxy-configuration/proxy-mode)</td>
          <td>1.0</td>

          <td />

          <td>1.0</td>
          <td>1.0</td>
          <td>2.0</td>
          <td>1.0</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Secure mode](/docs/sdk/features/secure-mode)</td>
          <td>2.0</td>

          <td />

          <td />

          <td />

          <td>2.0</td>
          <td>1.0</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Tracking custom events](/docs/sdk/features/events)</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>2.0</td>
          <td>1.0</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Storing data](/docs/sdk/features/storing-data)</td>
          <td>1.0</td>

          <td />

          <td>1.2 (Redis), 3.13 (DynamoDB)</td>
          <td>1.0</td>
          <td>4.5 (DynamoDB, Consul)</td>
          <td>1.0</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Subscribing to flag changes](/docs/sdk/features/flag-changes)</td>
          <td>6.0</td>

          <td />

          <td />

          <td />

          <td>5.0</td>

          <td />

          <td>5.0</td>
        </tr>

        <tr>
          <td>[Test data sources](/docs/sdk/features/test-data-sources)</td>
          <td>6.0</td>

          <td />

          <td>2.6</td>
          <td>1.4</td>
          <td>2.0</td>
          <td>1.0</td>
          <td>5.1</td>
        </tr>

        <tr>
          <td>[Web proxy configuration](/docs/sdk/features/web-proxy)</td>
          <td>1.0</td>
          <td>1.0</td>

          <td />

          <td />

          <td>2.0</td>

          <td />

          <td>2.2</td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="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:

    <table className="fern-table">
      <thead>
        <tr>
          <th>Feature</th>
          <th>[Lua](/docs/sdk/server-side/lua)</th>
          <th>[Node.js](/docs/sdk/server-side/node-js)</th>
          <th>[PHP](/docs/sdk/server-side/php)</th>
          <th>[Python](/docs/sdk/server-side/python)</th>
          <th>[Ruby](/docs/sdk/server-side/ruby)</th>
          <th>[Rust](/docs/sdk/server-side/rust)</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>[Application metadata](/docs/sdk/features/app-config)</td>

          <td />

          <td>6.4</td>
          <td>4.3</td>
          <td>7.6</td>
          <td>6.4</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Automatic environment attributes](/docs/sdk/features/environment-attributes)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Big segments](/docs/sdk/features/big-segments)</td>

          <td />

          <td>6.2</td>
          <td>6.4</td>
          <td>7.3</td>
          <td>6.3</td>

          <td />
        </tr>

        <tr>
          <td>[Bootstrapping](/docs/sdk/features/bootstrapping)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Contexts and context kinds](/docs/sdk/features/context-config)</td>

          <td />

          <td>7.0</td>
          <td>5.0</td>
          <td>8.0</td>
          <td>7.0</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Data saving mode](/docs/sdk/features/data-saving-mode)</td>

          <td />

          <td>9.10</td>

          <td />

          <td>9.13</td>
          <td>8.12.0</td>
          <td>3.3</td>
        </tr>

        <tr>
          <td>[Experimentation](/docs/home/experimentation)</td>
          <td>1.0</td>
          <td>6.1</td>
          <td>4.1</td>
          <td>7.2</td>
          <td>6.2</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Flag variation evaluation details](/docs/sdk/features/evaluation-reasons)</td>
          <td>1.0</td>
          <td>5.4</td>
          <td>3.4</td>
          <td>6.4</td>
          <td>5.2</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Getting all flags](/docs/sdk/features/all-flags)<br />   incl. [prereq details](/docs/sdk/concepts/events#include-prerequisite-information-in-events)</td>
          <td>1.0 <br />2.1.2</td>
          <td>3.0 <br />9.7</td>
          <td>1.6 <br />6.3</td>
          <td>2.0 <br />9.8</td>
          <td>2.0.1 <br />8.8</td>
          <td>1.0 <br />2.3</td>
        </tr>

        <tr>
          <td>[Hooks](/docs/sdk/features/hooks)</td>

          <td />

          <td>9.3</td>

          <td />

          <td>9.4</td>
          <td>8.4</td>

          <td />
        </tr>

        <tr>
          <td>Inline contexts in custom events</td>
          <td>2.1.3</td>
          <td>9.7.7</td>
          <td>6.5</td>
          <td>9.10</td>
          <td>8.9</td>
          <td>2.6</td>
        </tr>

        <tr>
          <td>[Migration flags](/docs/sdk/features/migrations)</td>

          <td />

          <td>9.0</td>
          <td>6.0</td>
          <td>9.0</td>
          <td>8.0</td>
          <td>2.2</td>
        </tr>

        <tr>
          <td>[Multiple environments](/docs/sdk/features/multiple-environments)</td>

          <td />

          <td />

          <td />

          <td />

          <td />

          <td />
        </tr>

        <tr>
          <td>[Observability plugin](/docs/sdk/observability)</td>

          <td />

          <td>9.10</td>

          <td />

          <td>9.12</td>

          <td />

          <td />
        </tr>

        <tr>
          <td>[Omit anon contexts from events](/docs/sdk/concepts/events#omit-anonymous-contexts-from-events)</td>

          <td />

          <td />

          <td />

          <td>9.7</td>
          <td>8.6</td>
          <td>2.2</td>
        </tr>

        <tr>
          <td>[Offline mode](/docs/sdk/features/offline-mode)</td>

          <td />

          <td>1.0</td>
          <td>1.0</td>
          <td>2.0</td>
          <td>2.0</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[OpenTelemetry](/docs/sdk/features/opentelemetry-server-side)</td>

          <td />

          <td>9.3</td>

          <td />

          <td>9.4</td>
          <td>8.4</td>

          <td />
        </tr>

        <tr>
          <td>[Private attributes](/docs/sdk/features/private-attributes)</td>
          <td>1.0</td>
          <td>3.3</td>
          <td>2.4</td>
          <td>4.1</td>
          <td>2.0</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Reading flags from a file](/docs/sdk/features/flags-from-files)</td>

          <td />

          <td>1.0</td>
          <td>3.5</td>
          <td>6.6</td>
          <td>5.4.1</td>

          <td />
        </tr>

        <tr>
          <td>[Relay Proxy in daemon mode](/docs/sdk/features/relay-proxy-configuration/daemon-mode)</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>2.0</td>
          <td>2.0</td>

          <td />
        </tr>

        <tr>
          <td>[Relay Proxy in proxy mode](/docs/sdk/features/relay-proxy-configuration/proxy-mode)</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>2.0</td>
          <td>2.0</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Secure mode](/docs/sdk/features/secure-mode)</td>

          <td />

          <td>3.0</td>
          <td>1.0</td>
          <td>2.0</td>
          <td>2.0.1</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Tracking custom events](/docs/sdk/features/events)</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>1.0</td>
          <td>2.0</td>
          <td>2.0</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Storing data](/docs/sdk/features/storing-data)</td>
          <td>1.0</td>
          <td>2.0 (Redis)</td>
          <td>1.0 (Redis), 3.5 (Consul and DynamoDB)</td>
          <td>2.0 (Consul and Redis), 6.7 (DynamoDB)</td>
          <td>2.3.1 (Redis), 5.5 (Consul and DynamoDB)</td>

          <td />
        </tr>

        <tr>
          <td>[Subscribing to flag changes](/docs/sdk/features/flag-changes)</td>

          <td />

          <td>1.0</td>

          <td />

          <td>9.1</td>
          <td>2.0</td>

          <td />
        </tr>

        <tr>
          <td>[Test data sources](/docs/sdk/features/test-data-sources)</td>

          <td />

          <td>6.3</td>
          <td>4.2</td>
          <td>7.4</td>
          <td>2.0</td>

          <td />
        </tr>

        <tr>
          <td>[Web proxy configuration](/docs/sdk/features/web-proxy)</td>

          <td />

          <td>1.0</td>

          <td />

          <td>2.0</td>
          <td>2.2.5</td>

          <td />
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="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:

    <table className="fern-table">
      <thead>
        <tr>
          <th>Feature</th>
          <th>[Akamai](/docs/sdk/edge/akamai)</th>
          <th>[Cloudflare](/docs/sdk/edge/cloudflare)</th>
          <th>[Fastly](/docs/sdk/edge/fastly)</th>
          <th>[Vercel](/docs/sdk/edge/vercel)</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>[Contexts and context kinds](/docs/sdk/features/context-config)</td>
          <td>1.0</td>
          <td>2.0</td>
          <td>0.1</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Experimentation](/docs/home/experimentation)</td>

          <td />

          <td>2.3.0</td>
          <td>0.1</td>
          <td>1.2.0</td>
        </tr>

        <tr>
          <td>[Getting all flags](/docs/sdk/features/all-flags)</td>

          <td />

          <td>1.0</td>
          <td>0.1</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Migration flags](/docs/sdk/features/migrations)</td>
          <td>1.0.9</td>
          <td>2.2.2</td>
          <td>1.1.6</td>
        </tr>

        <tr>
          <td>[Secure mode](/docs/sdk/features/secure-mode)</td>

          <td />

          <td>2.0</td>
          <td>0.1</td>
          <td>1.0</td>
        </tr>

        <tr>
          <td>[Tracking custom events](/docs/sdk/features/events)</td>

          <td />

          <td>2.3</td>
          <td>0.1</td>
          <td>1.2</td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="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:

    <table className="fern-table">
      <thead>
        <tr>
          <th>Feature</th>
          <th>[.NET AI SDK](/docs/sdk/ai/dotnet)</th>
          <th>[Go AI SDK](/docs/sdk/ai/go)</th>
          <th>[Node.js (server-side) AI SDK](/docs/sdk/ai/node-js)</th>
          <th>[Python AI SDK](/docs/sdk/ai/python)</th>
          <th>[Ruby AI SDK](/docs/sdk/ai/ruby)</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>[Contexts and context kinds](/docs/sdk/features/context-config)</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
        </tr>

        <tr>
          <td>[Customizing AgentControl configs](/docs/sdk/features/agentcontrol-config)</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
        </tr>

        <tr>
          <td>[Experimentation](/docs/home/experimentation)</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
        </tr>

        <tr>
          <td>[Private attributes](/docs/sdk/features/private-attributes)</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
        </tr>

        <tr>
          <td>[Tracking AI metrics](/docs/sdk/features/ai-metrics)</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
          <td>0.1</td>
        </tr>
      </tbody>
    </table>
  </Accordion>
</AccordionGroup>
