Skip to content
This repository has been archived by the owner on Oct 29, 2024. It is now read-only.

prepare 5.0.0 release #87

Merged
merged 41 commits into from
Aug 20, 2021
Merged

prepare 5.0.0 release #87

merged 41 commits into from
Aug 20, 2021

Conversation

LaunchDarklyReleaseBot
Copy link
Contributor

[5.0.0] - 2021-08-20

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.
  • Added numberVariation and numberVariationDetail to LDClient.
  • 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.
  • Improved testing of JavaScript wrapper using mock native modules.

Changed (requirements/dependencies/build):

  • iOS: The underlying SDK version has been updated from 5.4.1 to 5.4.3. See the release notes for details.
  • Android: The underlying SDK version has been updated from 2.14.1 to 3.1.0. See the release notes for details.
  • Android: Migrated from using the Android Support Libraries to using AndroidX from Jetpack.
  • Android: The minimum API version has been raised from API level 16 (Android 4.1 Jelly Bean) to API level 21 (Android 5.0 Lollipop).
  • Android: The SDK no longer has a dependency on Google Play Services. This dependency was only used on pre-21 Android API levels to improve TLS 1.2 compatibility, as the minimum Android version has been raised to 21, the dependency is no longer necessary.
  • Android: The SDK is now built with modern Gradle (6.7, Android plugin 4.1.3) and uses Java 8.

Changed (API/behavioral):

  • The LDClient.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. This behavior can be disabled with the autoAliasingOptOut configuration option.
  • The LDClient <type>Variation and <type>VariationDetail methods (e.g. boolVariation) now validate that default values are the correct type. If the default value fails validation the Promise will be rejected.
  • The primitive variation methods, LDClient.boolVariation, LDClient.boolVariationDetail, LDClient.numberVariation, and LDClient.numberVariationDetail, now require a default value parameter (rather than being optional). If missing, the Promise will be rejected.
  • Android: LDClient.allFlags will no longer convert String flags into JSON Arrays or Objects when the value can be parsed into JSON Arrays or Objects.
  • Android: For compatibility with older SDK behavior, the LDClient.stringVariation method could be used to retrieve JSON flags in a serialized representation. This compatibility behavior has been removed, and attempts to request a JSON valued flag using stringVariation will behave the same as other mismatched type variation calls.
  • Android: All log messages are now tagged LaunchDarklySdk for easier filtering. Thanks to @valeriyo for the suggestion (#113).
  • Android: The when the country user is set, the SDK will no longer attempt to look up the country from the provided String (attempting to match it as an ISO-3166-1 alpha-2, alpha-3 code; or a country name) and set the country to the resultant IOS-3166-1 alpha-2 only if successful. The SDK no longer gives this attribute special behavior, and sets the user's country attribute directly as the provided String.
  • Android: If the debugMode configuration option is set to true, the SDK will now enable detailed timber logging.
  • Android: Custom user attributes that are Objects will no longer be ignored.
  • Android: Elements of Array custom user attributes will no longer be ignored if they are not Strings or Numbers.
  • Android: Array custom user attributes with mixed types will no longer ignore non-String elements.

Fixed (Android):

  • Catch SecurityException when thrown on call to getNetworkCapabilities used to detect current network availability. (#129)
  • Explicitly flag PendingIntents as FLAG_IMMUTABLE on Android SDK versions that support doing so. Explicitly specifying mutability is required when targeting Android S+. (#133)
  • Increased the compile-time dependency on jackson-databind to 2.10.5.1, due to CVE-2020-25649.
  • Update the dependency on the shared launchdarkly/java-sdk-common to 1.1.2 to prevent Jackson from showing up as a transitive dependency in tools that inspect module metadata.
  • The Android manifest has been updated to explicitly specify the android:exported attribute on declared receiver elements. This is to meet new requirements in the upcoming Android 12 release.
  • Fixed an issue where the SDK could log error level messages when attempting to send diagnostic events without an internet connection. The SDK will no longer attempt to send diagnostic events when an internet connection is known to be unavailable, and will not log an error level message if the connection fails. Thanks to @valeriyo for reporting (#107).
  • Fixed an issue where flags listeners would be informed of changes to unchanged flags whenever the SDK receives an entire flag set (on a new stream connection, a poll request, or any stream updates behind a relay proxy).
  • Fixed an issue where a NullPointerException is thrown if LDClient.close() is called multiple times.
  • Improved the proguard/R8 configuration to allow more optimization. Thanks to @valeriyo for requesting (#106)
  • Fixed a potential issue where the SDK could cause additional throttling on requests to the backend service when previously throttled requests had been cancelled before completion.

Fixed (iOS):

  • Fixed an issue where 304 NOT_MODIFIED responses to SDK polling mode requests would be considered error responses. This could cause the completion on a identify 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.
  • Avoid crash when timeout/interval configuration options are set to sufficiently large values. This was caused when converting these values to an Int value of milliseconds. (Thanks, @delannoyk!)
  • Update Quick test dependency to 3.1.2 to avoid build warnings and adopt security fixes. (#243)
  • Use AnyObject over class in protocol inheritance to avoid compiler warnings. (#247)

Removed:

  • LDClient.intVariation and LDClient.floatVariation. Please use LDClient.numberVariation instead.
  • LDClient.intVariationDetail and LDClient.floatVariationDetail. Please use LDClient.numberVariationDetail instead.

bwoskow-ld and others added 30 commits February 3, 2021 15:16
* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)
…ing (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo
* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment
Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.
Releasing 4.0.4
@LaunchDarklyReleaseBot LaunchDarklyReleaseBot merged commit 9b38765 into master Aug 20, 2021
@LaunchDarklyReleaseBot LaunchDarklyReleaseBot deleted the release-5.0.0 branch August 20, 2021 23:28
LaunchDarklyReleaseBot added a commit that referenced this pull request Mar 18, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this pull request Mar 25, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this pull request Apr 14, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this pull request May 17, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

* Changes for iOS V6. (#122)

* Use iOS 6.1.0 and new `LDUser.isAnonymousNullable` property (#123)

* Fix automatically setting user as anonymous when both key and anonymous are unspecified (#124)

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this pull request Aug 2, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

* Changes for iOS V6. (#122)

* Use iOS 6.1.0 and new `LDUser.isAnonymousNullable` property (#123)

* Fix automatically setting user as anonymous when both key and anonymous are unspecified (#124)

* Bump Android SDK to 3.1.6

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this pull request Aug 16, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

* Changes for iOS V6. (#122)

* Use iOS 6.1.0 and new `LDUser.isAnonymousNullable` property (#123)

* Fix automatically setting user as anonymous when both key and anonymous are unspecified (#124)

* Add the new React Native version and the latest non-beta xcode version

* Add exclusion to the old RN with new xcode and new RN with old xcode

* Update the Readme

* Update package files

* RN 0.69.1 is available

* Code Review Comment to remove xcode 12.2

* Try to install jest first to get past the error

* Try to pin the RN version when using with npx

* Bump Android SDK to 3.1.6

* Print more about circle CI

* Use a separate working director for the new project

* Update the relative path

* CircleCI need to have -p for mkdir

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this pull request Sep 29, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

* Changes for iOS V6. (#122)

* Use iOS 6.1.0 and new `LDUser.isAnonymousNullable` property (#123)

* Fix automatically setting user as anonymous when both key and anonymous are unspecified (#124)

* Add the new React Native version and the latest non-beta xcode version

* Add exclusion to the old RN with new xcode and new RN with old xcode

* Update the Readme

* Update package files

* RN 0.69.1 is available

* Code Review Comment to remove xcode 12.2

* Try to install jest first to get past the error

* Try to pin the RN version when using with npx

* Bump Android SDK to 3.1.6

* Print more about circle CI

* Use a separate working director for the new project

* Update the relative path

* CircleCI need to have -p for mkdir

* Upgrade Native Android SDK to 3.1.7

* Try to bump Android SDK to 3.2.0

* The null check logic for isInitialized

* Fix spacing

* Support React Native 0.70. (#129)

* Add RN 0.70.1 and Xcode 14.0.1 to the CircleCI test config

* Add the exclusion for RN 0.64 and 0.65 for Xcode 14.0.1

* More update to the Android isInitialized logic (#130)

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this pull request Oct 6, 2022
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

* Changes for iOS V6. (#122)

* Use iOS 6.1.0 and new `LDUser.isAnonymousNullable` property (#123)

* Fix automatically setting user as anonymous when both key and anonymous are unspecified (#124)

* Add the new React Native version and the latest non-beta xcode version

* Add exclusion to the old RN with new xcode and new RN with old xcode

* Update the Readme

* Update package files

* RN 0.69.1 is available

* Code Review Comment to remove xcode 12.2

* Try to install jest first to get past the error

* Try to pin the RN version when using with npx

* Bump Android SDK to 3.1.6

* Print more about circle CI

* Use a separate working director for the new project

* Update the relative path

* CircleCI need to have -p for mkdir

* Upgrade Native Android SDK to 3.1.7

* Try to bump Android SDK to 3.2.0

* The null check logic for isInitialized

* Fix spacing

* Support React Native 0.70. (#129)

* Add RN 0.70.1 and Xcode 14.0.1 to the CircleCI test config

* Add the exclusion for RN 0.64 and 0.65 for Xcode 14.0.1

* More update to the Android isInitialized logic (#130)

* Revert the isInitialized change and fix package.json (#131)

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
LaunchDarklyReleaseBot added a commit that referenced this pull request Jan 30, 2023
* Removed the guides link

* V4.0 (#68)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Added accessor methods for ConnectionInformation (#64)

* Added ConnectionInformation accessors

* Fixes from manual testing

* PR feedback

* Fix allUserAttributesPrivate

* Improve typescript docs

* Minor fixes (#66)

Fixes `floatVariation` to keep double precision and fix build warnings.

* Fix track metricValue on iOS (#67)

* Remove CI checkout for release

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>

* Update iOS SDK dependency to fix Throttler behavior (#69)

* V4.1.0 (#72)

* Bump react native to 0.64 (#70)

* Remove unnecessary React peer dependency (#71)

* Fixed jsonVariationDetail parsing on Android and fixed a typo in jsonVariationDetailNone (#73)

* Releasing version 4.0.2

* Removes Typescript enums and replaces them with types that extend string (#74)

* Added ts flag for testing

* Testing bwoskow typescript enum patch

* Remove todo

* Releasing version 4.0.3

* Multi Environment  (#65)

* Update to iOS 5.4.0 (#48)

* Bump iOS SDK version to 5.4.0

* Replace shared with get()

* Replace old method names

* Provide default values for EvaluationDetail

* Fixed defaultValue for detail value

* Changed individual nil coalesce to NSNull

* Remove isDisableBackgroundPolling method (#52)

* Update iOS base url (#49)

* Update iOS base url

* Add protocol

* Added wrapper name and version to iOS and Android config (#50)

* Added wrapper name and version to iOS and Android config

* V4 not 5

* Rename wrapper

* Add getVersion method (#51)

* Added getVersion method

* Revert package.json version bump

* Fix version case

* Fix minor PR feedback

* Update index.d.ts

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>

* Rename fallback to defaultValue (#53)

* Rename fallback to defaultValue

* Fix awkward wording defaultValue value

* Fix defaultValue value line breaks

* Improved resiliency when running in Android (#54)

* Add new config values (#55)

* Added new config values to iOS and Android

* Added typescript config

* PR feedback

* Fix millis, add default doc

* fix common build + add tests for recent introductions (#56)

* Added secondaryMobileKeys and getForMobileKey

* Added primaryEnvironmentName constant

* Fix Android build errors

* Fix build errors

* Fix Android config error

* CI test fixes

* Catch LD exception without crashing

* fix: start background thread for identify rather than running it (#66)

* Bump Android SDK version to 2.14.1 (#59)

* Update Android to 2.14.1, change setBaseUri to setPollUri, change floatVariation to doubleVariation

* Fix float to double

* Doublevalue on non detail

* Run CI against v4.0

* URL fix iOS

* Add isInitialized to iOS, check initialization in configure (#60)

* Added isInitialized to iOS

* Add init check to configure

* Base url iOS fix, v4.0 ci

* Var not func iOS, remove getMap

* disable auto-alias in iOS (#61)

* Add configureWithTimeout method (#58)

* Added configureTimeout method

* Fix timeout type on iOS

* Simplify timeout nil check

* Added param labels, Java syntax fixes

* Small fixes

* Make timeout final

* Remove unnecessary catch

* Fix baseUrl

* Fix Android config error

* Test against v4.0 hello branch

* Fix tests

* timeout never nil inside check

* Convert Int to TimeInterval

* Fixed iOS startWaitSeconds

* Catch LDException

* Fix merge conflict in iOS bridge

* Fix merge conflict in index.js

* PR feedback

* Fix unused timeoutClient

* Remove unnecessary ConfigEntryType

* Remove StringSet

* If let in timeout check

* Configure method now takes optional timeout parameter instead of separate method

* Renames for consistency (#62)

* up-leveling the override for the default polling uri so it affects android too (#63)

* Added ip, avatar, and allUserAttributesPrivate (#57)

* Added ip, avatar, and allUserAttributesPrivate

* Updated test-types.ts, fix case typo

* Special case allUserAttributesPrivate

* Fix ReadableMap loading of all private

* CI fix

* Fix string to URL baseUrl

* Change to non-default values in test, combine lines in config.yml

* Simplify allAttrsPrivate if

* resolve breakage with latest merge

Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Multi environment works in Android, fixed bad config type

* Fix allUserAttributesPrivate

* Fix typescript test

* No StringSet for wrapper, change to ldClient for isInitialized

* Forgot nil check

* environment param

* Select environment via method parameter

* Check for environment undefined in JS

* iOS error fixes

* Fix iOS bridge, add missing param and try to Android

* Remove v4.0 branch hello rn for CI

* Fixed all flags and better long conversion

* A bunch of let to const, change default to test in multi env ts test, remove ldClient var from iOS

* Remove internal comments from Android

* Added back 2 Android comments, Double to NSNumber reversion, var to let reversion, ternary to function

* Get default environment name from underlying SDKs

* Cast NSNumber to Double to fix compilation error

* getVersion public, remove ldClient from Android

* Use get()

* Remove unnecessary get()

* Try instead of null check

* as! Double to doubleValue, toIntExact to intValue, change Android env name, improve try

* Fix listeners in multiple environments, change continue to comment in Android try/catch init

* Add semicolon in between environment and flagKey or listenerId string concat

* Environment concatenation function

* Swift param labels

* Added self, remove conditional cast to Any

* Remove unnecessary nil coalescing

* Capitalize ldClient

* getForMobileKey Android

* Removed unnecessary try, added final keyword

* Revert some nonnull and Double types

* Inline primaryEnvironmentName iOS

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>

* Add secondary user attribute (#76)

* Fix multi environment on restwrapper (#77)

* remove platform specific default env name

* Replace function with ternary

* Remove _getEnvironment

* [ch109800] Await Android client initialization. (#78)

Handle promise from `isInitialized` during configuration. Update iOS `isInitialized` to reject when not configured to match Android implementation. Improve Android `allFlags` to reject promise when non-existent environment is used or other exception, and allow calling `allFlags` before client initialization completes.

* Update iOS method signature to match implementation (#79)

* Releasing version 4.0.4

* [ch110474] Fixes for undeclared variables and other callback issues. (#81)

* Changes for Android 3. (#82)

* Add unit tests for JS native bridge wrapper. (#83)

* Docs improvements (#84)

* [ch94513] Add aliasing support (#85)

* Requiring default values to be specified. Remove intVariation. (#86)

* Safer and cleaner configuration on iOS (#87)

* Cleanup Android variation implementation (#88)

* Use latest iOS and Android SDKs (#89)

* Fix issue with numeric variation calls. (#90)

* Add consumer Proguard file to Android build configuration. (#91)

* Update Android SDK to 3.1.1 (#92)

* Fix for absolute paths in cocoapods generated build files by running pod install in CI. (#93)

* Re-introduce compatibility for React Native 0.63 (#94)

* Updates docs URLs

* Add configuration option `inlineUsersInEvents` and typescript definition for `autoAliasingOptOut`. (#96)

* minor doc improvement (#97)

* Update version in README to match what version we'll actually be releasing with (#98)

* Invert isOffline on iOS. (#99)

* Fixes and improvements for CI configuration (#100)

* [SC-130395] Allow native SDKs to generate anonymous user when user key is not provided. (#101)

* See will this work without adding the mavenCentral

* Adding MavenCentral

* Fix RN0.63 builds

* Fix outdated sed CI expression preventing actually testing against the current SDK version correctly (#103)

* Update Android native SDK dependency and gradle config. (#104)

* Update iOS SDK native dependency in podspec. (#105)

* [sc-139041] Fix releaser typedoc generation (#106)

* Have podspec retrieve version from package.json to allow using default releaser version script. (#107)

* Fix iOS jsonVariation and jsonVariationDetail when using array default value. (#108)

* Completely rework CI build to not use hello-react-native (#109)

* Include manual testing application in repo (#110)

* Adding the addListener and removeListeners method to silence the warning

* Add privateAttributeNames to TypeScript and iOS wrapper implementation. (#112)

* Bump to latest Android SDK release (#114)

* Fix ownership handling for all flags and connection mode listeners on iOS. (#113)

* Update iOS SDK to latest 5.4.5 release. (#115)

* Update Android SDK to latest patch release. (#116)

* Update to the correct variation method

* Add RN 0.68 CI and expand RN version bounds in package definition. (#117)

* Update supported RN versions in readme.

* [sc-149512] Android reason fixes (#120)

* Changes for iOS V6. (#122)

* Use iOS 6.1.0 and new `LDUser.isAnonymousNullable` property (#123)

* Fix automatically setting user as anonymous when both key and anonymous are unspecified (#124)

* Add the new React Native version and the latest non-beta xcode version

* Add exclusion to the old RN with new xcode and new RN with old xcode

* Update the Readme

* Update package files

* RN 0.69.1 is available

* Code Review Comment to remove xcode 12.2

* Try to install jest first to get past the error

* Try to pin the RN version when using with npx

* Bump Android SDK to 3.1.6

* Print more about circle CI

* Use a separate working director for the new project

* Update the relative path

* CircleCI need to have -p for mkdir

* Upgrade Native Android SDK to 3.1.7

* Try to bump Android SDK to 3.2.0

* The null check logic for isInitialized

* Fix spacing

* Support React Native 0.70. (#129)

* Add RN 0.70.1 and Xcode 14.0.1 to the CircleCI test config

* Add the exclusion for RN 0.64 and 0.65 for Xcode 14.0.1

* More update to the Android isInitialized logic (#130)

* Revert the isInitialized change and fix package.json (#131)

* Initial commit

* Update README.md

* yarn inside test app as well initially

* Create CODEOWNERS

* Add jcenter as repo source to solve unknown facebook imports. Remove redundant yarn install.

* Update to gradle 7.2

* Remove lock files and ignore them

* Update README.md

* Revert "Remove lock files and ignore them"

This reverts commit 7ea62cd.

* Added react-native to dev dep to fix jest failing to run due to some rn version issue.

* Attempt to fix android 0.64 minCompileSdk build error

* Rollback jcenter and resolution changes

* Increase compile version to fix rn 0.64.3 build errors

* Update config.yml

* Rollback to main version

* Initial commit

* Update .prettierrc.js

* Prettify code

* Ran prettier on js and json files

* Update App.js

* Update ios sdk version

* Disable autoCaps

* Corrected autoCapitalize from false to none

* Update App.js

* Fixed bug where podspec and LICENCE files are not copied to test app's node modules

* Create lefthook.yml

* Added ios ApplicationInfo support. Split modd file. Update ios sdk version.

* Update LaunchdarklyReactNativeClient.swift

* Create modd-ios.conf

* Split modd configs into ios and android. Update readme.

* Update LaunchdarklyReactNativeClient.swift

* Fix bug where version is incorrectly set

* Delete lefthook.yml

* Bumped min ios deployment target

* Rolled bak xcode proj change and set min ios sdk version in podspec

* Update project.pbxproj

* Hack template Podfile to support minimum ios 11

* More ios 11 patch hacks

* Update config.yml

* Hack 0.64.x build.gradle to use minSdkVersion 30

* Update config.yml

* Force rn android binaries to be downloaded from facebook. Update gradle.

* Remove accidentally committed yarn.lock. Update manual test app's gradle versions.

* Hack circleci config to speed up build

* Update build.gradle

* Update build.gradle

* Update build.gradle

* Update config.yml

* Restore circleci config, updating 0.64.3 to 0.64.4

* Update config.yml

* Create modd.conf

* Added Application types

---------

Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: Joe Cieslik <5600929+torchhound@users.noreply.github.com>
Co-authored-by: Ed Costello <orthanc@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Gavin Whelan <gwhelan@launchdarkly.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <lchan@launchdarkly.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
Co-authored-by: Yusinto Ngadiman <yusinto@gmail.com>
Co-authored-by: Yusinto Ngadiman <yus@launchdarkly.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants