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

[4.4.0] - 2019-12-19 #205

Merged
merged 86 commits into from
Jan 15, 2020
Merged

[4.4.0] - 2019-12-19 #205

merged 86 commits into from
Jan 15, 2020

Conversation

torchhound
Copy link
Contributor

Added

  • Added startCompleteWhenFlagsReceived function which contains modified completion behavior. This new function's completion will only return after flag values are received. Previously the start completion returned when the SDK went online.
  • The SDK now specifies a uniquely identifiable request header when sending events to LaunchDarkly to ensure that events are only processed once, even if the SDK sends them two times due to a failed initial attempt.

markpokornycos and others added 30 commits May 17, 2019 08:14
* installs new deviceModel into EnvironmentReporter and renames old deviceModel to deviceType

* use CwSysCtl for macos model
Fix for concurrency bug in FlagStore
…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
@torchhound torchhound requested a review from gwhelanLD January 15, 2020 20:43
@torchhound torchhound merged commit c83b503 into v4 Jan 15, 2020
@torchhound torchhound deleted the jc/4.4.0 branch April 7, 2021 00:46
keelerm84 pushed a commit that referenced this pull request Sep 1, 2022
* Add the new build and see what happens
* Use the available simulator
keelerm84 added a commit that referenced this pull request Dec 7, 2022
* Adding a new Circle CI test case for the newer Xcode 13.3.1 (#205)

* Add the new build and see what happens
* Use the available simulator

* Add tombstone support (#209)

Prior to this commit, when a flag was deleted, it was actually removed
from memory. This allows for the (admittedly unlikely) situation where
an older version of a flag update would be received after this deletion,
causing the flag to become "undeleted".

By managing a light-weight placeholder, the tombstone ensures we do not
allow dead flags to resurrect unless directed to by a later version of
the flag.

* Fix missing merge issues

Co-authored-by: Louis Chan <[email protected]>
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.

3 participants