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

Commit 9ca132e

Browse files
LaunchDarklyReleaseBotbwoskow-ldtorchhoundorthancgwhelanLD
authored
prepare 6.1.3 release (#134)
* 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 <[email protected]> Co-authored-by: Ben Woskow <[email protected]> Co-authored-by: Ben Woskow <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Ed Costello <[email protected]> Co-authored-by: Ben Woskow <[email protected]> Co-authored-by: Gavin Whelan <[email protected]> * 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 <[email protected]> Co-authored-by: Ben Woskow <[email protected]> Co-authored-by: Ben Woskow <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Ben Woskow <[email protected]> * 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 <[email protected]> Co-authored-by: Joe Cieslik <[email protected]> Co-authored-by: Ed Costello <[email protected]> Co-authored-by: Ben Woskow <[email protected]> Co-authored-by: Gavin Whelan <[email protected]> Co-authored-by: LaunchDarklyCI <[email protected]> Co-authored-by: LaunchDarklyReleaseBot <[email protected]> Co-authored-by: Ember Stevens <[email protected]> Co-authored-by: ember-stevens <[email protected]> Co-authored-by: Louis Chan <[email protected]> Co-authored-by: Louis Chan <[email protected]>
1 parent 8211cbd commit 9ca132e

File tree

5 files changed

+18
-7
lines changed

5 files changed

+18
-7
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ workflows:
138138
name: rn<<matrix.rn-version>>-xc<<matrix.xcode-version>>-build-apps-using-template
139139
matrix:
140140
parameters:
141-
rn-version: ["0.64.3", "0.65.2", "0.66.4", "0.67.3"]
141+
rn-version: ["0.64.3", "0.65.2", "0.66.4", "0.67.3", "0.68.0"]
142142
xcode-version: ["12.2.0", "12.5.1", "13.2.1"]
143143
requires:
144144
- test-javascript

ManualTestApp/App.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ const Body = () => {
6363
} else if (flagType === 'string') {
6464
res = await client.stringVariation(flagKey, '');
6565
} else if (flagType === 'int') {
66-
res = await client.intVariation(flagKey, 0);
66+
res = await client.numberVariation(flagKey, 0);
6767
} else if (flagType === 'float') {
68-
res = await client.floatVariation(flagKey, 0.0);
68+
res = await client.numberVariation(flagKey, 0.0);
6969
} else if (flagType === 'array') {
7070
res = await client.jsonVariation(flagKey, []);
7171
} else if (flagType === 'object') {

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ LaunchDarkly overview
1414
Supported versions
1515
-------------------------
1616

17-
This SDK is currently compatible with React Native versions `>=0.64 <0.68`, the minimum iOS deployment target is `10.0`, and the minimum Android SDK version is `21`. Builds are tested with XCode 12.2+.
17+
This SDK is currently compatible with React Native versions `>=0.64 <0.69`, the minimum iOS deployment target is `10.0`, and the minimum Android SDK version is `21`. Builds are tested with XCode 12.2+.
1818

1919
For React Native `0.63.x` support, use the latest [`5.1.x` release](https://github.com/launchdarkly/react-native-client-sdk/releases/tag/5.1.1).
2020

android/src/main/java/com/launchdarkly/reactnative/LaunchdarklyReactNativeClientModule.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -434,19 +434,30 @@ private ObjectBuilder objectBuilderFromDetail(EvaluationDetail<?> detail) {
434434
ObjectBuilder resultMap = LDValue.buildObject();
435435
if (!detail.isDefaultValue()) {
436436
resultMap.put("variationIndex", detail.getVariationIndex());
437+
} else {
438+
resultMap.put("variationIndex", LDValue.ofNull());
437439
}
438440
EvaluationReason reason = detail.getReason();
441+
if (reason == null) {
442+
resultMap.put("reason", LDValue.ofNull());
443+
return resultMap;
444+
}
439445
ObjectBuilder reasonMap = LDValue.buildObject();
440446
reasonMap.put("kind", reason.getKind().name());
441447
switch (reason.getKind()) {
442448
case RULE_MATCH:
443449
reasonMap.put("ruleIndex", reason.getRuleIndex());
444-
if (reason.getRuleId() != null) {
445-
reasonMap.put("ruleId", reason.getRuleId());
450+
reasonMap.put("ruleId", reason.getRuleId());
451+
if (reason.isInExperiment()) {
452+
reasonMap.put("inExperiment", true);
446453
}
447454
break;
448455
case PREREQUISITE_FAILED: reasonMap.put("prerequisiteKey", reason.getPrerequisiteKey()); break;
449456
case ERROR: reasonMap.put("errorKind", reason.getErrorKind().name()); break;
457+
case FALLTHROUGH:
458+
if (reason.isInExperiment()) {
459+
reasonMap.put("inExperiment", true);
460+
}
450461
default: break;
451462
}
452463
resultMap.put("reason", reasonMap.build());

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
},
2424
"homepage": "https://docs.launchdarkly.com/sdk/client-side/react-native",
2525
"peerDependencies": {
26-
"react-native": ">=0.64.0 <0.68.0"
26+
"react-native": ">=0.64.0 <0.69.0"
2727
},
2828
"devDependencies": {
2929
"jest": "^26.6.3",

0 commit comments

Comments
 (0)