Documentation Changelog
Welcome to the changelog for the Optimizely X Full Stack 3.x documentation!
Latest Full Stack documentation changes
April 1, 2020
- Release of Optimizely Agent, which enables users to run Optimizely as a service in a container. Agent provides equivalent functionality as the Full Stack SDKs via an HTTP API.
Full Stack SDK changelogs
This table lists the GitHub changelog URLs for the Full Stack SDKs.
January 2020
January 31, 2020
- Added docs pages to each SDK Reference Guide for OptimizelyConfig. OptimizelyConfig enables developer access to project configuration data within the "datafile". It extends public APIs that define data models and access methods, which clients can use to access project configuration data. See OptimizelyConfig for Javascript as an example.
December 2019
December 12, 2019
- Updates to the event batching topics for Android, C#, Go (beta), Java, JavaScript, Python, and Ruby SDK guides.
November 2019
November 25, 2019:
- Added quickstart guides in C#, Go, Java, JavaScript (Browser), JavaScript (Node), JavaScript (React), PHP, Python, Ruby, and Swift. View them here.
October 2019
October 30, 2019:
- Released event batching for Python SDK v3.3.0.
October 29, 2019:
- Added quickstart guides for most SDKs.
- Added new topics to Go SDK (beta) reference guide: example usage, event batching, pass in audience attributes, activate, get variation, track. Also updated several existing topics in this guide.
September 2019
September 27, 2019:
- Release of the Optimizely X JavaScript (React) SDK 1.0.0, which includes components that make it easy to run experiments or roll out features in React applications.
September 17, 2019:
- Separate reference guides for each SDK. This allows us to document each SDK idiomatically to provide more detailed, helpful guides.
- General user guides: "Setup," "Roll out features," "Run experiments," and "Best practices" describe concepts and user documentation for Optimizely Full Stack.
- API methods: Get Enabled Features and Is Feature Enabled are now documented in each SDK reference guide, alongside the relevant SDK.
May 2019
Important
Customers who currently use raw data from Optimizely's Data Export and want to upgrade to Full Stack v3.0 must also upgrade to the new Results Export functionality. Contact Optimizely Support to get access to Results Export.
The Easy Event Tracking functionality included in the Full Stack v3.0 release changes the results of the Optimizely Data Export. Conversion events no longer contain experiment assignment information, and this affects the ease of querying attribution data in the raw data export.
See Breaking Changes in an SDK's changelog for more information.
May 30:
- Release of the Optimizely X iOS Swift SDK 3.1.0-beta for iOS mobile applications. The iOS Swift SDK 3.1.0-beta is written completely in Swift and uses all of its native types and patterns. By taking full advantage of the Swift language, it is safer, faster, and more compact compared to the 3.0.x and earlier Optimizely iOS SDKs, which are written in Objective-C.
- Release of the Optimizely X JavaScript 3.2.0 SDK with automatic datafile management (ADM) functionality that dynamically manages datafiles for you. With ADM, you only need to pass the SDK key value to instantiate a client. Whenever the experiment configuration changes, the SDK automatically handles datafile updates for you.
May 16: Added a new topic to describe how you can update datafiles automatically. Note: This beta functionality is available only for JavaScript SDK 3.2.0.
May 6: Added information for the new 3.1.x DECISION
notification listener to Register notification listeners that replaces the ACTIVATE
listener. The DECISION
listener triggers a callback with the decision type, associated decision information, user ID, and attributes and integrates with the Activate, Get Enabled Features, Get Feature Variable, or Is Feature Enabled APIs.
The DECISION
notification listener is supported in all 3.1.x SDKs: Android, C#, Java, JavaScript, Node, Objective-C, PHP, Python, Ruby, and Swift.
Important
The
ACTIVATE
notification listener is deprecated in Full Stack SDKs 3.1.x and later. You must use theDECISION
listener.
April 2019
April 19: Removed support for the cURL-based event dispatcher for PHP SDK v3.x due to a security vulnerability. For more information, see our Security Bulletin ID: opt-2019-0001 and the 3.0.1 entry in the PHP changelog above.
April 1: Added 3.1.0 JavaScript and Node examples that demonstrate how to use two new methods, setLogger()
and setLogLevel()
. See Configure the logger in JavaScript SDK 3.1.x and above. For more information, see the 3.1.0 entry in the JavaScript SDK changelog above.
March 2019
March 20: Added 3.0.1 JavaScript and Node examples to these topics:
- Configure the error handler: This topic doesn't include a Node example, only JavaScript.
- Configure the event dispatcher
- Configure the logger
- Register notification listeners
For more information, see the 3.0.1 entry in the JavaScript SDK changelog above.
March 11: This Full Stack v3.0 release contains Flexible Targeting and Easy Event Tracking functionality that applies to these SDKs: PHP and Ruby. See an SDK's changelog for information about new features, breaking changes, and bug fixes.
March 5: This Full Stack v3.0 release contains Flexible Targeting and Easy Event Tracking functionality that applies to these SDKs: C# and Python. See an SDK's changelog for information about new features, breaking changes, and bug fixes. Other SDKs will be updated to support these enhancements at a future date.
February 2019
Feb 13: The Full Stack v3.0 release contains Flexible Targeting and Easy Event Tracking functionality that applies to these SDKs: Android, Java, JavaScript, and Objective-C. See an SDK's changelog for information about new features, breaking changes, and bug fixes. Other SDKs will be updated to support these enhancements at a future date.
Flexible Targeting
Full Stack v3.0 expands the Audience Match Types functionality by adding support for eight new match types. In addition to String equals
, this version includes:
has any value
String contains substring
Boolean is false
Boolean is true
Number equals
Number is less than
Number equals
Number is greater than
Full Stack v3.0 also enhances the audience targeting functionality for experiments and rollouts by supporting two new types of audience combination options. In addition to Match any audience, this version includes:
- Match all audiences
- Custom combination defined as a JSON object using the Code Mode editor
For more information, see:
Easy Event Tracking
Easy Event Tracking updates the behavior of the Full Stack v3.0 Track API. In previous versions of the SDK, calling Track caused the SDK to evaluate variation assignment for experiments with metrics built using the tracked event. The SDK would send the event only if the user passed audience targeting and traffic allocation for each experiment. In v3.0, calling Track now always causes an event to be sent, assuming the event is defined in your project's datafile. Optimizely's backend functionality will determine whether the user was previously assigned to a variation for experiments tracking the event. This has several consequences:
- Tracking events is now easier. We no longer require that you pass attributes to the Track API in order for events to fire. This simplifies instrumentation, decreasing the amount of state that must be shared across different parts of your application(s).
- The v3.0 Track changes may have performance implications for your application(s). If you have existing Track calls that were not dispatching events because users were failing variation assignment, this change will cause those events to fire, which will cause an increase in outbound network traffic. We advise customers in this situation to evaluate the impact of the increase in outbound events.
- Active experiments: Because Track calls are more likely to succeed in v3.0, adopting the updated Track behavior may cause conversion rate of in-flight experiments to increase. If you upgrade from v2.1 to v3.0 while an experiment is running, be aware that this may cause your metrics to change. We advise customers in this situation to evaluate the appropriate action. For example, if you expect this change will cause you to start recording events that were previously being dropped, you may want to reset results.
See also the Event API documentation.
January 2019
Jan 30: Added React SDK link to Demo apps and SDK wrappers
Jan 16: Added functionality to retain a preferred language display for the multi-language code samples (aka sticky code examples) in this documentation. Click a language (for example, JavaScript) in any code block to set it as the global sticky language for all applicable code blocks. Reset the current global sticky language by choosing another language.
Jan 4: Released the revised Full Stack 2.x developer documentation that includes updated content and a revised structure.
November 2018
Nov 27: Added a new section Implement an asynchronous service in JavaScript SDK 2.3.0 to Implement a User Profile Service.
Nov 16: Published updated documentation for the Full Stack 3.0 Early Access release, which includes the enhanced Audience Match Types functionality. For more information, see Full Stack v3.0: Early Access [link deprecated]. To join the Early Access program, contact your Optimizely Customer Support representative.
October 2018
Oct 31: Added a new topic Use the Full Stack REST API.
September 2018
Sept 21: Updated 101 code samples.
Sept 14: Updated information for the nine Full Stack SDK API in API Reference.
August 2018
Aug 31: Updated 94 code samples.
Aug 16: Initial release of the 2.1 documentation.
Updated over 4 years ago