- Fix edge case for old version cached variants in browser to ensure smooth upgrade to 1.3.1
- Smart Evaluations. Dates are evaluated locally to improve response and CDN
- Target by hour of day
- Target by date
- Default Streaming option to false
- Bug Fixes
- New Events URL
- Bug Fixes
- Events API Improvements
- Bug Fixes
- Events Object Improvements
- Events Object Improvements
- Use Featureflow User object instead of context
- Breaking changes - Migrated to FeatureflowUser
- Using rollup for bower/web releases.
- Added initialized flag, can access using
featureflow.hasReceivedInitialResponse()
and returns a boolean if the data has been loaded from featureflow or not, or if an errro has occured
- Events were not sending the correct content-type
- Sending
Featureflow.events.LOADED_FROM_CACHE
when the data is loaded from local storage. - Now also sending
Featureflow.events.INIT
when the data is first retrieved from the server.- Still sending
Featureflow.events.LOADED
but this is deprecated.
- Still sending
- Updated the events to send the right format
- Evaluate event wasn't sending the right JSON.
- Offline features caching was not working when baseUrl was unreachable. Not using callback correctly.
- Added default callback on requests to hide console errors.
- Updated events service to post to new endpoint. Not a breaking change for client, but breaking change for application.
- Added event for when calling the evaluate method.
- Appended a random string to anonymous context key to assist with split variants. This is stored in localStorage against the apiKey.
- e.g. context key would change from
'anonymous'
to a string similar to'anonymous:f444bt1f2v9iy0hpvi'
- e.g. context key would change from
- Now storing cookie for context key which can be used to sync anonymous user requests with backend Featureflow SDK.
- Added
config.useCookie
option to turn cookie off. Defaults totrue
.
- Goal endpoint updated to include
contextKey
and use explicit propertygoalKey
featureflow.updateContext(context, [callback])
- now takes callback argument
- Rewritten Featureflow client as es6 class. No change on functionality, just nicer syntax to write in.
- Added goal endpoint for A/B testing experiments. Use
featureflow.goal('goal-key')
to register goals with your project/environment.
- Fixed bug where the realtime update doesn't save to localStorage.
- Fixed bug where after a realtime update error it would try to apply the changes to the features object, even though it didn't exist
- Added library version and license comment banner to the top of the generated JS files
- Updated the example code to work after refactor of controls to features
- Added library version to HTTP headers
- default feature variant value set to
'off'
if no default feature is defined - defaultFeatures are passed in as part of the configuration object
- set streaming on by default
- Updated README.md with changes made to library
- Changed the interface to be more expressive when evaluating features
- Removed defaultVariant argument from evaluate functions (use
config.defaultFeatures
)
- Rewrite of the core library in es6, should now be easier to follow
- Removed custom EventEmitter implementation in favour of using tiny-emitter
- Updated the example application to use ace editor for better control over playing with context
Featureflow.init()
now returns a new instance each time it is called- Updated README.md with the changes made to the core library, added API section
- Added server sent events for realtime streaming of feature updates
- Set
{ streaming: true }
in your config, and listen to- featureflow.on(Featureflow.events.UPDATED_CONTROL, <callback>)
- Set
- Removed
featureflow.context
andfeatureflow.controls
- Replaced by
featureflow.getControls()
andfeatureflow.getContext()
- Replaced by
- Replaced
ready
,updated:context
,updated:controls
events, now you should listen toFeatureflow.events.LOADED
which returns the updated controls as a map
- Added bower support
- Added an example project
- Updated README.md with Quick start and link to documentation
- Added jsbin example application
- Updated webpack.config.js to use babel, es2015, and flow static typing
- Updated webpack to v2.2.1
- Publish to npm!!!
- Added git repo to package.json
- Initial Build