Skip to content
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

Release 5.4.0 #239

Merged
merged 310 commits into from
Feb 26, 2021
Merged

Release 5.4.0 #239

merged 310 commits into from
Feb 26, 2021

Conversation

gwhelanLD
Copy link
Contributor

@gwhelanLD gwhelanLD commented Feb 26, 2021

[5.4.0] - 2021-02-26

Added

  • Added the alias method to LDClient. 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 the identify method; by setting autoAliasingOptOut to true, identify will not automatically generate alias events.
  • Added the isInitialized property to LDClient. Unless the client has been set offline, this property's value is false until the client receives an initial set of flag values from the LaunchDarkly service. If the client is offline, the value will be true 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).

…ange

Changed lastSuccessfulConnection to lastKnownFlagValidity, added on s…
* Added 4.2.1 changes including Dictionary fix and test and eventsource version bump

* Added Carthage build files

* Added attribution to CHANGELOG
* Initial Evaluation Reasons prototype

* Changed evaluationReasons to reasons, fixed mangled question mark in url query parameters

* Added errorKinds

* Added reason to debug events

* Changed reason nil handling in events

* Removed unnecessary private functions, removed event nil coalesce

* Event change for reason nil

* Removed if in Event for reason nil, added guard let NSNull for dictionary in Events

* Added reason null to normal variation calls

* Testing alternate reason null set

* Change Event comparison code to add reason

* Removed reason from event dictionary matches

* Removed Event Equatable reason and changed Event Dictionary matches

* Explicitly set featureflag reason property to nil when not send feature event for variationDetail

* Fixed DeprecatedCacheModel unit tests, added v6 model tests, added variation detail unit tests, changed event reason nil check

* Added variationDetail to objective c, fixed cache converter unit tests, deprecated variationAndSource

* Added new files to correct target membership

* Simplify featureflag reason nil check

* Removed unnecessary comments, deprecated objc variationAndSource

* Improved doc strings, cut down on variation doc string repetition, added reason tests for Event and EventReporter, added EvaluationDetail generic

* Added ObjCEvaluationDetail to correct target membership

* Differentiated objc evaluation detail return type, change reason constant in unit tests

* Removed Optional value on fallback variation

* Added Event test for reason false but flag reason present, cleaned up objc doc strings, changed optional types in objc evaluation detail
* Added trackReasons and metricValue as well as doc and unit tests

* Added unit tests for reason false track reason true, added objc track without metricValue, changed and trackReason to or trackReason

* Added explicit event store reason test

* Fixed objc track comment

* Updated reason to includeReason for clarity

* Explicitly check both feature and debug events
* Updated ios-eventsource to 4.1.0, updated version strings

* Added sentence about iOS SDK compat to CHANGELOG

* pod repo update to get new eventsource version
* Fixed change listener not firing when only value changes

* Fixed a unit test variable name typo

* Cast flag value to dictionary instead of string, improved unit test

* Remove debug printout, remove unnecessary parameter
* Added newStart function, updated README, podspec, and CHANGELOG

* Changed newStart to startAwaitingFlags

* Added doc strings for startAwaitingFlags and deprecated start

* Added cocoapods lib lint flag to ignore depracted API usage in ObjCLDClient, added startAwaitingFlags to ObjC

* Fixed alow to allow, changed startAwaitFlags to startCompleteWhenFlagsReceived, added unit tests for startCompleteWhenFlagsReceived

* Updated deprecation message to startCompleteWhenFlagsReceived
* Added X-LaunchDarkly-Payload-ID header to event request headers, add string length check on LD payload ID header in header unit tests

* Added CHANGELOG Added entry for event request header

* Added UUID generation to DarklyService so it's regenerated on each request
* Added single retry attempt to event post

* Added payloadId to the correct point to maintain value between retries, retry on error

* reportSyncComplete on 2nd error, always log on event post error, add 1 second delay with log on event post retry

* Added 1 second delay to retry event post

* async'd event post to prevent blocking main thread on retry sleep

* Increased event test waitUntil timeout to 10 seconds
@gwhelanLD gwhelanLD merged commit 12298b6 into v5 Feb 26, 2021
@gwhelanLD gwhelanLD deleted the release-5.4.0 branch February 26, 2021 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants