3.0.0 - Split out StatsigClient and StatsigOnDeviceClient
Warning
Contains the following breaking changes
- Makes ReactNative storage default to @react-native-async-storage/async-storage
- Moves support for StatsigOnDeviceEvalClient to its own packages
Overview
Creates a hard divide between Statsig with precomputed remote evaluations (the standard StatsigClient
) and Statsig with on-device evaluations (StatsigOnDeviceEvalClient
). Now we offer specific packages for the combination of client type and environment/framework.
These changes make it easier to offer out-of-the-box solutions for initializing the Statsig client as we can now have a hard dependency on @statsig/js-client
and @statsig/js-on-device-eval-client
.
Note: StatsigOnDeviceEvalClient
no longer works in @statsig/react-bindings
as support has been moved into the new @statsig/react-bindings-on-device-eval
Storage Providers
We recently switched to using MMKV as the default storage solution. Based on developer feedback, we have decided to make this an opt-in change rather than the default. This release switches back to the AsyncStorage approach. If you would like to use MMKV, you can now override the StorageProvider (See https://docs.statsig.com/client/javascript-sdk/react-native#synchronous-storage-with-mmkv).
Changelog
Adds new packages specifically for StatsigOnDeviceEvalClient in React, RN and Expo.
@statsig/react-bindings-on-device-eval
8c1353c@statsig/react-native-bindings-on-device-eval
8c1353c@statsig/expo-bindings-on-device-eval
a447a42
@statsig/js-client
@statsig/js-on-deivce-eval-client
- chore: expose StorageProvider on clients c389725
@statsig/web-analytics
- feat: autocapture network strength 10f63c2
@statsig/expo-bindings
@statsig/react-native-bindings
- feat: add env specific clients for Expo and RN f9f62ba
- This change means you no longer need to be in the React tree to use a StatsigClient in Expo and RN