All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Upgrade @optimizely/optimizely-sdk
to 4.4.3:
- Allowed using
--isolatedModules
flag in TSConfig file by fixing exports in event processor . See Issue #84 and @optimizely/optimizely-sdk Release 4.4.1 for more details. - Added
enabled
field to decision metadata structure to support upcoming application-controlled introduction of tracking for non-experiment Flag decisions. See @optimizely/optimizely-sdk Release 4.4.2 for more details. - Refactored imports in
optimizely-sdk
TypeScript type definitions to prevent compilation of TS source code. See @optimizely/optimizely-sdk Release 4.4.2 and @optimizely/optimizely-sdk Release 4.4.3 for more details.
Upgrade @optimizely/optimizely-sdk
to 4.4.0:
- Added support for upcoming application-controlled introduction of tracking for non-experiment Flag decisions. See @optimizely/optimizely-sdk Release 4.4.0 for more details.
- Add UMD and System build targets, available at
dist/react-sdk.umd.js
anddist/react-sdk.system.js
, respectively (#80)
- Fix
logOnlyEventDispatcher
to conform toEventDispatcher
type from @optimizely/optimizely-sdk (#81) - Change the file extension of the ES module bundle from .mjs to .es.js. Resolves issues using React SDK with Gatsby (#82).
Upgrade @optimizely/optimizely-sdk
to 4.3.4:
- Exported Optimizely Config Entities types from TypeScript type definitions. See @optimizely/optimizely-sdk Release 4.3.3 for more details.
- Fixed return type of
getAllFeatureVariables
method in TypeScript type definitions. See @optimizely/optimizely-sdk Release 4.3.2 for more details.
- Fixed return type of
getAllFeatureVariables
method in ReactSDKClient (#76)
Upgrade @optimizely/optimizely-sdk
to 4.3.1. Added support for version audience evaluation and datafile accessor. See @optimizely/optimizely-sdk Release 4.3.0 for more details.
Upgrade @optimizely/optimizely-sdk
to 4.2.1
useExperiment
anduseFeature
hooks re-render when override user ID or attributes change(#64)
useExperiment
anduseFeature
hooks return up-to-date decision values on the first call after the client is ready (#64)
Upgrade @optimizely/optimizely-sdk
to 4.2.1
useExperiment
anduseFeature
hooks re-render when override user ID or attributes change(#64)
useExperiment
anduseFeature
hooks return up-to-date decision values on the first call after the client is ready (#64)
Upgrade @optimizely/optimizely-sdk
to 4.2.0
- Better offline support in React Native apps:
- Persist downloaded datafiles in local storage for use in subsequent SDK initializations
- Persist pending impression & conversion events in local storage
- Fixed log messages for Targeted Rollouts
Upgrade @optimizely/optimizely-sdk
to 4.1.0. See @optimizely/optimizely-sdk Release 4.1.0 for more details.
- Add support for JSON feature variables (#53)
- Export
useExperiment
hook from this package (#50)
Upgrade @optimizely/optimizely-sdk
to 4.0.0. See @optimizely/optimizely-sdk Release 4.0.0 for more details.
-
Changed supported React version to 16.8+
-
@optimizely/optimizely-sdk no longer adds
Promise
polyfill in its browser entry point -
Dropped support for Node.js version <8
-
Refactored
<OptimizelyFeature>
to a functional component that uses theuseFeature
hook under the hood. See #32 for more details. -
Refactored
<OptimizelyExperiment>
to a functional component that uses theuseExperiment
hook under the hood. See #36 for more details. -
Added
useExperiment
hook- Can be used to retrieve the variation for an experiment. See #36 for more details.
-
Added
useFeature
hook- Can be used to retrieve the status of a feature flag and its variables. See #28 for more details.
-
Removed lodash dependency
- Exposed the entire context object used by
<OptimizelyProvider>
.- Enables support for using APIs which require passing reference to a context object, like
useContext
. #27 for more details.
- Enables support for using APIs which require passing reference to a context object, like
- Upgrade
@optimizely/optimizely-sdk
to 4.0.0-rc.2. Allow creating multiple instances from the same datafile object. See @optimizely/optimizely-sdk Release 4.0.0-rc.2 for more details.
- Upgrade
@optimizely/optimizely-sdk
to 4.0.0-rc.1. Dropped support for Node.js version <8. See @optimizely/optimizely-sdk Release 4.0.0-rc.1 for more details.
- Upgrade
@optimizely/optimizely-sdk
to 4.0.0-alpha.1.Promise
polyfill no longer included. See @optimizely/optimizely-sdk Release 4.0.0-alpha.1 for more details.
- Changed supported React version to 16.8+
-
Refactored
<OptimizelyFeature>
to a functional component that uses theuseFeature
hook under the hood. See #32 for more details. -
Refactored
<OptimizelyExperiment>
to a functional component that uses theuseExperiment
hook under the hood. See #36 for more details. -
Added
useExperiment
hook- Can be used to retrieve the variation for an experiment. See #36 for more details.
-
Added
useFeature
hook- Can be used to retrieve the status of a feature flag and its variables. See #28 for more details.
- Exposed the entire context object used by
<OptimizelyProvider>
.- Enables support for using APIs which require passing reference to a context object, like
useContext
. #27 for more details.
- Enables support for using APIs which require passing reference to a context object, like
- Updated minor version of core SDK (
@optimizely/optimizely-sdk
) dependency which, for unrecognized events sent via.track()
, will impact the log levels in this SDK as well.
- Added a new API to get project configuration static data.
- Call
getOptimizelyConfig()
to get a snapshot of project configuration static data. - It returns an
OptimizelyConfig
instance which includes a datafile revision number, all experiments, and feature flags mapped by their key values. - Added caching for
getOptimizelyConfig
-OptimizelyConfig
object will be cached and reused for the lifetime of the datafile. - For details, refer to our documentation page: https://docs.developers.optimizely.com/full-stack/docs/optimizelyconfig-react.
- Call
- Javascript SDK Client version was being sent in dispatched events. Changed it to send React SDK client version.
- Updated
@optimizely/optimizely-sdk to 3.3.2.
Includes a better default logger for React Native and a fix for an error message logged when a user is bucketed to empty space. - Replaced usage of
react-broadcast
with the native React Context API
Initial release