Releases: rawls238/PlanOut.js
V4.0 major version release (may result in enrollment shift)
Depending on your usage of planout.js, upgrading to v4.0 may result in a shift in experiment parameter value assignment, and namespace enrollment. Because of this, we recommend that you only upgrade to v4.0 when you don't have any experiments actively running.
- Core compatible bundle fixes:
- Core compatible namespace allocations now match core reference namespace allocations from python version of planout.
- Core compatible interpreted experiment enrollment now matches core reference interpreted experiment enrollment from python version of planout.
- Separated the concerns of planout core random operations, and the planout API. The planout.js API (experiment, assignment, namespace, etc) are now composed with the random operations they are passed. This change has no effect on the usage of planout.js and only affects the development experience for contributors.
- Added
planoutAPIFactory.js
to keep planout bundles consistent, and to make it easier to compose new planout bundles with the random operations of choice. - Made experiment & namespace names required to fix #57
- Fixes
WeightedChoice
with false-y choices. - Fixes tests on windows + running the travis tests on windows as well if this is possible.
Default Value for Assignment
Allows for a default value in the Assignment class
Bug Fixes
Fixes a bug when defining multiple interpreted experiments from a single instruction object.
Bug Fixes
v3.0
Changes to Exposure Logging
Major changes:
-
The return value of assign now determines whether or not exposure should be logged. If you were already returning nothing from assign, nothing should change.
-
getParams function now exists on the namespace class
Bugfixes:
- A bug was fixed around the assignment class not allowing false-y overrides
Require experimental parameters to be specified in experiment class
This is a breaking change for consumers of the library using the SimpleNamespace class.
All Experiment classes now require consumers to define ahead of time the list of parameters that the assignment procedure may assign. Previously, this was done via runtime analysis of the assign function but assumed that the experiment parameters were all strings. If this is OK, consumers can just override this function by returning this.getDefaultParamNames()
Fix another exposure logging bug
v1.0.8 argh
Small tweaks - nothing major
A few small cleanups - nothing major
Changes to Exposure Logging
Only log exposure on namespace when it should be logged.
Also fixes up an issue with localStorage overrides