---
title: Javascript-SDK - 3.3.0-beta
slug: feature-experimentation/release-notes/javascript-sdk-3-3-0-beta
docTags: 
createdAt: 2026-07-20T15:45:16.721Z
---

\## \[3.3.0-beta] - August 21st, 2019

\### New Features

\- Added support for event batching via the event processor.
\- Events generated by methods like \`activate\`, \`track\`, and \`isFeatureEnabled\` will be held in a queue until the configured batch size is reached, or the configured flush interval has elapsed. Then, they will be combined into a request and sent to the event dispatcher.
\- To configure event batching, include the \`eventBatchSize\` and \`eventFlushInterval\` number properties in the object you pass to \`createInstance\`.
\- Event batching is enabled by default. \`eventBatchSize\` defaults to \`10\`. \`eventFlushInterval\` defaults to \`30000\` in Node and \`1000\` in browsers.
\- Added \`localStorage\` mitigation against lost events in the browser
\- When event requests are dispatched, they are written to \`localStorage\`, and when a response is received, they are removed from \`localStorage\`.
\- When the SDK is initialized for the first time in the browser, if any requests remain in \`localStorage\`, they will be sent, and removed from \`localStorage\` when a response is received.
\- Updated the \`close\` method to return a \`Promise\` representing the process of closing the instance. When \`close\` is called, any events waiting to be sent as part of a batched event request will be immediately batched and sent to the event dispatcher.
\- If any such requests were sent to the event dispatcher, \`close\` returns a \`Promise\` that fulfills after the event dispatcher calls the response callback for each request. Otherwise, \`close\` returns an immediately-fulfilled \`Promise\`.
\- The \`Promise\` returned from \`close\` is fulfilled with a result object containing \`success\` (boolean) and \`reason\` (string, only when success is \`false\`) properties. In the result object, \`success\` is \`true\` if all events in the queue at the time close was called were combined into requests, sent to the event dispatcher, and the event dispatcher called the callbacks for each request. \`success\` is false if an unexpected error was encountered during the close process.
\- Added non-typed \`getFeatureVariable\` method (\[#298]\([https://github.com/optimizely/javascript-sdk/pull/298](https://github.com/optimizely/javascript-sdk/pull/298))) as a more idiomatic approach to getting values of feature variables.
\- Typed \`getFeatureVariable\` methods will still be available for use.

[https://github.com/optimizely/javascript-sdk/releases/tag/v3.3.0-beta](https://github.com/optimizely/javascript-sdk/releases/tag/v3.3.0-beta)
