Skip to content

Releases: launchdarkly/erlang-server-sdk

1.3.2

30 Dec 21:52
Compare
Choose a tag to compare

[1.3.2] - 2021-12-30

Fixed:

  • The file file_auto_update feature was not working correctly. If the flag files did not contain any changes between polling intervals, then the file system watcher would crash. (Thanks, matt-glover!)

1.3.1

09 Nov 18:11
Compare
Choose a tag to compare

[1.3.1] - 2021-11-09

Fixed:

  • Updated the options() typings for ldclient_instance:start to include missing configuration options. These included redis configuration, ld relay configuration, cache ttl, file data source configuration, and the http options. This is not a functionality change, but will correct issues reported by the dialyzer.

1.3.0

03 Nov 22:06
Compare
Choose a tag to compare

[1.3.0] - 2021-11-03

Added:

  • Support for configuring HTTP options. Including:

    • The ability to specify custom headers.
     ldclient_config:parse_options("sdk-key", #{
       http_options => #{
           custom_headers => [
               {"Basic-String-Header", "String"},
               {"Binary-String-Header", "Binary"}
           ]}
       }),
    
    • The ability to specify a custom connect timeout.
    ldclient_config:parse_options("sdk-key", #{
        http_options => #{
            connect_timeout => 2000
        }
    }),
    
    • The ability to specify a custom TLS configuration.
      The default behavior for OTP is to use verify_none for TLS verification. If no configuration is specified, then the SDK will inherit this behavior.
    ldclient_config:parse_options("sdk-key", #{
        http_options => #{
            %% This is a list of tls_client_options()
            %% https://www.erlang.org/doc/man/ssl.html#type-tls_client_option
            tls_options => ldclient_config:tls_basic_options()
        }
    }),
    
    • A number of TLS configuration helpers. A full TLS configuration can be specified, but these methods provide a number of basic configurations.
      • ldclient_config:tls_basic_options() -> [ssl:tls_client_option()]
        Create a basic TLS configuration which will try to use a default location for certificate authority store.
        If that store is not present, then instead the configuration will use a certifi store which is a Rebar3 dependency.
      • ldclient_config:tls_basic_linux_options() -> [ssl:tls_client_option()]
        Create a basic TLS configuration which will use a default location for a certificate store. If the store is not present, then it will produce an error.
      • ldclient_config:tls_ca_certfile_options(CaStorePath :: string()) -> [ssl:tls_client_option()]
        Create a basic TLS configuration with the specified certificate store. If the store is not present, then it will produce an error.
      • ldclient_config:with_tls_revocation(Options :: [ssl:tls_client_option()]) -> [ssl:tls_client_option()]
        Decorate a configuration with revocation checks. Currently revocation checks are not cached in OTP, so this will result in additional requests for each HTTP request.
      • ldclient_config:tls_basic_certifi_options() -> [ssl:tls_client_option()]
        Create a basic TLS configuration which will use the certifi store specified in the Rebar3 dependencies.

1.2.0

18 Oct 20:23
Compare
Choose a tag to compare

[1.2.0] - 2021-10-18

Added:

  • The SDK now supports the ability to control the proportion of traffic allocation to an experiment. This works in conjunction with a new platform feature now available to early access customers.
  • The SDK now supports the ability to read flags from a file.

1.1.3

27 Sep 16:23
Compare
Choose a tag to compare

[1.1.3] - 2021-09-27

Fixed:

  • When a rule was missing both the rollout and the variation, and that rule was matched, then variation 0 would be returned instead of the default value.
  • When a fall-through was missing both a rollout and a variation, then null would be returned instead of the default value.

1.1.2

14 Sep 01:05
Compare
Choose a tag to compare

[1.1.2] - 2021-09-13

Fixed:

  • The SDK now forces connections to use HTTP/1.1 instead of the newer HTTP/2 protocol as an underlying dependency does not yet support HTTP/2. This change does not impact current behavior as LaunchDarkly’s servers do not yet accept requests with HTTP/2; however, this SDK change ensures operational continuity when LaunchDarkly’s services enable HTTP/2 compatibility.
  • The SDK is more resilient when opening an SSE connection, processing events from the stream, and evaluating feature flags.

1.1.1

06 Aug 18:53
Compare
Choose a tag to compare

[1.1.1] - 2021-08-06

Changed:

  • Updated the eredis dependency to version 1.4.0. (Thanks, jeffgrunewald!)
  • Updated the jsx dependency to version 3.1.0. (Thanks, bitwalker!)
  • Updated the uuid dependency to version 2.0.2. (Thanks, jeffgrunewald!)
  • Expanded test coverage to include OTP 24.

1.1.0

06 May 22:39
Compare
Choose a tag to compare

[1.1.0] - 2021-05-06

Added:

  • ldclient:alias/2 and ldclient:alias/3 functions. These can be used to associate two user objects for analytics purposes with an alias event.

1.0.1

24 Feb 02:11
Compare
Choose a tag to compare

[1.0.1] - 2021-02-23

Changed:

  • Removed internal storage files from generated documentation.

1.0.0

23 Feb 00:05
Compare
Choose a tag to compare

[1.0.0] - 2021-02-22

Initial supported release of the SDK.

Added:

  • Added Redis feature store.
  • Added LDD mode.
  • Reload in-memory flag data when storage server fails.

Changed:

  • Parse flags and segments before in-memory storage.
  • Updated the default base URL to sdk.launchdarkly.com.
  • Events URL path from api/events/bulk to /bulk.
  • Renamed ldclient_settings to ldclient_config.
  • Renamed ldclient:track_with_metric to ldclient:track_metric.
  • Improved generated documentation.

Fixed:

  • Ignore path in streaming put events.

Removed:

  • Removed ldclient_settings.
  • Removed ldclient:track_with_metric.