Releases: launchdarkly/ios-client-sdk
Releases · launchdarkly/ios-client-sdk
[5.4.4] - 2022-01-19
Fixed
- Fixed memory leak when stream connections are terminated by updating
LDSwiftEventSource
dependency to 1.3.0. - The SDK would not allow additional fields on
delete
flag stream events. This has been updated to allow additional fields for improved future compatibility. - Improved internal
Throttler
implementation to reduce concurrency concerns. - Removed unneeded
Cartfile
definingLDSwiftEventSource
dependency, which when bundled could lead to warning messages thatLDSwiftEventSource
definitions are implemented in multiple frameworks.
[5.4.3] - 2021-08-13
Fixed
- Fixed an issue where
304 NOT_MODIFIED
responses to SDK polling mode requests would be considered error responses. This could cause the completion on aidentify
request to not complete, and gave erroneous connection information data and logging output. - Fixed a crash when attempting to cache flag data containing variation JSON values containing a JSON
null
value nested within a JSON array.
[5.4.2] - 2021-06-17
Fixed
- Avoid crash when
TimeInterval
configuration options are set to sufficiently large values. This was caused when converting these values to anInt
value of milliseconds. (Thanks, @delannoyk!) - Update
Package.swift
to use SwiftPM tools version 5.2. This prevents test dependencies from being included transitively. (Thanks, @escakot!) - Update
Quick
test dependency to 3.1.2 to avoid build warnings and adopt security fixes. (#243) - Use
AnyObject
overclass
in protocol inheritance to avoid compiler warnings. (#247) - Improve CI to test against multiple supported Xcode and Swift language versions.
- Restored test suite compatibility with Xcode 11.4 and Swift 5.2.
[5.4.1] - 2021-04-06
Fixed
- Internal throttling logic would sometimes delay new poll or stream connections even when there were no recent connections. This caused switching active user contexts using
identify
to sometimes delay retrieving the most recent flags and calling the completion.
[5.4.0] - 2021-02-26
Added
- Added the
alias
method toLDClient
. This can be used to associate two user objects for analytics purposes with an alias event. - Added the
autoAliasingOptOut
configuration option. This can be used to control the new automatic aliasing behavior of theidentify
method; by settingautoAliasingOptOut
to true,identify
will not automatically generate alias events. - Added the
isInitialized
property toLDClient
. Unless the client has been set offline, this property's value isfalse
until the client receives an initial set of flag values from the LaunchDarkly service. If the client is offline, the value will betrue
after initialization.
Changed
- The
identify
method will now automatically generate an alias event when switching from an anonymous to a known user. This event associates the two users for analytics purposes as they most likely represent a single person.
Fixed
- Some users reported synchronization issues with the internal
DiagnosticReporter
implementation, which has been reworked to address these issues. Thanks to @provanandparanjape for one such report (#238).
[5.3.2] - 2021-02-11
Fixed
- Updated to prevent a crash in
dispatch_group_leave.cold.1
that would rarely occur as the SDK transitioned to an online state for a given configuration or user. This issue may have been exacerbated for a short period due to a temporary change in the behavior of the LaunchDarkly service streaming endpoint. Thanks to all the users who reported (#235). - Updated
LDSwiftEventSource
dependency to correct an issue where a streaming connection could sometimes reconnect after being set offline.
[5.3.1] - 2020-12-15
Fixed
- Decoupled
FlagStore
fromLDUser
to fix a bug where multiple environments could overwrite each other's flag values.
[5.3.0] - 2020-11-06
Added
- Adds to
LDConfig
the ability to dynamically configure the HTTP headers on requests through theheaderDelegate
property, which has the typeRequestHeaderTransform
.
[5.2.0] - 2020-10-09
Added
LDUser
now has an optionalsecondary
attribute to match other LaunchDarkly SDKs. For more on the behavior of this attribute see the documentation on targeting users.
Fixed
- Corrected a bug preventing private custom attribute names being recorded in events when all custom attributes are set to be private by including "custom" in the
LDUser.privateAttributes
orLDConfig.privateUserAttributes
properties. - Update Nimble to 9.0 and Quick to 3.0 to fix tests when run with Swift 5.3.
- Fixes build warnings in Xcode 12.0.0.
[5.1.0] - 2020-08-04
Added
- The ability to specify additional headers to be included on HTTP requests to LaunchDarkly services using
LDConfig.additionalHeaders
. This feature is to enable certain proxy configurations, and is not needed for normal use. - Support for building docs with jazzy. These docs will be available through GitHub Pages.
Fixed
- SDK causing nested bundles in archived product when including the SDK through Carthage. This caused rejections when submitted to the App Store. Thanks to @spr for reporting (#217).
- SDK causing application to expect LDSwiftEventSource dynamic framework when built with SwiftPM, which does not include the dynamic framework in the resulting application. This causes the application to be rejected when submitted to the App Store. Thanks to @spr for reporting (#216).