Releases: statsig-io/node-js-server-sdk
v4.18.0 - Adds configurations for event logging, internal updates
- updates messaging when encountering network errors
- updates max metadata size to 2kb
- unref timers to prevent hte SDK from holding up exit
- removes unused fields from autotunes on client initialize response
v4.17.0 - Add internal error boundary, inherit environment for client initialize response
- Adds an internal error boundary to the SDK to catch exceptions
- Fixes an issue where local mode caused exceptions
- Inherits the environment from the node sdk initialization for evaluating the client initialize response
v4.16.1 - Updates getClientInitializeResponse for layers/experiments
Layer parameter level logging was not fully supported by the client initialize response, nor was sticky experiment bucketing. This brings it up to spec with the /initialize
endpoint
v4.16.0 - Adds flushapi, internal rewrite in typescript
Adds a top level flush() API to force flush events to Statsig without shutting down the SDK. Useful in serverless environments to force events to flush to Statsig before a function exits
await statsig.flush()
This release also contains a large internal restructure, moving the entire SDK to typescript. If you were relying on internals of the SDK, those have changed. The externally facing changes are currently a noop
v4.15.5 - Patches an issue where timeouts were not all cleaned up in shutdown()
Since v4.10.0, the id list sync timer was not correctly cleaned up on shutdown
v4.15.4 - [internal] patch node-fetch require in spec store
There was an issue using Statsig in an edge function at build time related to the require('node-fetch') in the SDK, which is intentionally supposed to be optional. This was patched with a temporary workaround
v4.15.3 - patch logEvent value turning 0/'' to null, patch node-fetch require
-
Events with a value of 0 or empty string were logged with a null value. This has been fixed
-
There was an issue using Statsig in an edge function at build time related to the
require('node-fetch')
in the SDK, which is intentionally supposed to be optional. This was patched with a temporary workaround
v4.15.2 - Patch a bug with exposure logging for customIDs
The node sdk was deduping exposures regardless of customIDs. This fixes that bug
v4.14.1 - Fix a bug where exposure logs deduped regardless of customIDs
CustomID based experiments would not log proper exposures for every unique customID check. This patch fixes that bug.
v4.15.1 - Allow null userID if customID is present
NOTE: the typing has been loosened to allow nullable userID
, but if a customID
is not present, it will continue to throw at runtime
Also note - the SDK does not validate the ID type of the condition being evaluated. You must pass the proper ID type with the call to checkGate
/getConfig
/getExperiment
/getLayer
- we suggest passing whichever IDs are known at the time to every check (e.g. pass the userID
and customIDs
to every check, and let the SDK evaluate on the proper ID). Be sure to logEvent
with both IDs so experiments on each ID type can join metrics with exposure data.