Releases: launchdarkly/erlang-server-sdk
Releases · launchdarkly/erlang-server-sdk
1.3.2
[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
[1.3.1] - 2021-11-09
Fixed:
- Updated the
options()
typings forldclient_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
[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 useverify_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
[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
[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
[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
[1.1.1] - 2021-08-06
Changed:
- Updated the
eredis
dependency to version1.4.0
. (Thanks, jeffgrunewald!) - Updated the
jsx
dependency to version3.1.0
. (Thanks, bitwalker!) - Updated the
uuid
dependency to version2.0.2
. (Thanks, jeffgrunewald!) - Expanded test coverage to include OTP 24.
1.1.0
[1.1.0] - 2021-05-06
Added:
ldclient:alias/2
andldclient:alias/3
functions. These can be used to associate two user objects for analytics purposes with an alias event.
1.0.1
[1.0.1] - 2021-02-23
Changed:
- Removed internal storage files from generated documentation.
1.0.0
[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
toldclient_config
. - Renamed
ldclient:track_with_metric
toldclient:track_metric
. - Improved generated documentation.
Fixed:
- Ignore path in streaming put events.
Removed:
- Removed
ldclient_settings
. - Removed
ldclient:track_with_metric
.