-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prepare 5.0.0 release #214
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Prepare Version 4.1.1
…formation to struct
…ditional compilation of network connectivity check for WatchOS
…hanged TimeInterval to Date, changed two inout's to var's
choking when adding the package.
…al LDClient, updated doc strings
…nchdarkly/ios-swift-client-sdk-private into jc/ch47629/multi-environment
…o secondaryMobileKeys, fixed ObjcLDClient
…daryMobileKeys, removed commented out code in LDConfig, removed unnecessary setOnline method in ObjcLDClient
[ch47629] Multi Environment
…d replaced them with defaultValue (#111) * Added .swiftpm/ to .gitignore, removed all occurrences of fallback and replaced them with defaultValue * Change .swiftpm/ to /.swiftpm * Removed defaultValue value * Fix 2 typos
Co-authored-by: Ben Woskow <[email protected]>
(5.0) Add objc annotation for start methods in ObjcLDClient
Also removed unused test code. Improve documentation on LDClient.flush()
bwoskow-ld
approved these changes
Jul 23, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
[5.0.0] - 2020-07-23
This major version has an accompanying Migration Guide. Please see the guide for more information on updating to this version of the SDK, as the following is just a summary of the changes.
Added
LDConfig.setSecondaryMobileKeys
andLDConfig.getSecondaryMobileKeys
which allows configuring a mapping of names to the SDK keys for each additional environment.LDConfig.mobileKey
is still required, and represents the primary environment.LDClient.get(environment: )
which allows retrieving an LDClient instance for a given environment after the SDK has been initialized.LDConfig
andLDClient
.LDConfig
propertiesdiagnosticOptOut
anddiagnosticRecordingInterval
.LDConfig.wrapperName
andLDConfig.wrapperVersion
to send an additional header (X-LaunchDarkly-Wrapper
) in requests to LaunchDarkly. This was added so that the usage of wrapper libraries (such as the React Native SDK) could be recorded independently.evaluationReasons
field to the Objective-C bindings forLDConfig
to allow configuring the SDK to request evaluation reasons when the application is written in Objective-C.LDInvalidArgumentError
that is thrown on incorrect API usage.typeMismatch
field toObjcLD<T>ChangedFlag
classes (bound toLD<T>ChangedFlag
in Objective-C) that istrue
/YES
when the flag value did not match the registered observer.Changed (build)
Changed (API)
LDClient
instance methodstart
has been replaced with a static methodLDClient.start
for initializing all configured environments.LDChangedFlag
no longer includes theoldValueSource
andnewValueSource
properties, asLDFlagValueSource
was removed.LDClient.reportEvents()
has been renamed toLDClient.flush()
.LDClient.stop()
has been renamed toLDClient.close()
.LDClient.trackEvent(key: data: )
method have been renamed toLDClient.track(key: data: )
LDClient.allFlagValues
has been renamed toLDClient.allFlags
.EvaluationDetail
has been renamed toLDEvaluationDetail
.ObjC<T>EvaluationDetail
classes have been renamed to correspondingObjcLD<T>EvaluationDetail
. The names when exposed in Objective-C have been updated to replace theObjC
prefix withLD
, e.g.ObjCStringEvaluationDetail
toLDStringEvaluationDetail
.LDClient.track
no longer throwsJSONError
and instead throwsLDInvalidArgumentError
.fallback
parameter of allLDClient
andObjcLDClient
variation methods has been renamed todefaultValue
to help distinguish it fromfallback
values in rules specified in the LaunchDarkly dashboard.Changed (behavioral)
LDClient.identify
,LDClient.flush
,LDClient.setOnline
, andLDClient.close
instance methods now operate on all configured environments. Any completion arguments will complete when the operation has completed for all configured environments.Removed
LDClient.shared
static property and itsObjcLDClient.sharedInstance
wrapper property has been removed. After callingLDClient.start
, the initialized instances can be retrieved withLDClient.get(environment: )
.LDClient.config
and itsObjcLDClient.config
wrapper property has been removed, configuration of the SDK should be done withLDClient.start
.LDClient.user
and itsObjcLDClient.user
wrapper property has been removed. The initial user should be configured withLDClient.start
, and updates to the user should be performed withLDClient.identify
.LDFlagValueSource
andObjcLDFlagValueSource
were removed in favor of usingLDEvaluationDetail
andObjcLD<T>EvaluationDetail
.ObjcLD<T>VariationValue
(bound in Objective-C toLD<T>VariationValue
), which wrapped a flag value and its source, have been removed.variationAndSource
methods were removed fromLDClient
and itsObjcLDClient
wrapper in favor ofvariationDetail
methods.LDUser.init?(object: )
and correspondingObjcLDUser
failable initializers were removed.JSONError
andJSONErrorDomain
extensions onJSONSerialization
were removed.isEqual
extension toArray
, this was only intended for internal SDK use.==
and!=
extension toOptional<[String: Any]>
(note that this was not declared asEquatable
conformance). This extension was only intended for internal SDK use.LDFlagValue
enum and theObjcLDFlagValue
wrapper which were exposed but not used in any public APIs.Sysctl
struct (only available on macOS) which was only intended for internal SDK use.