-
Notifications
You must be signed in to change notification settings - Fork 32
Merge Master on to 2.0.x for beta release #147
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* remove deprecated revenue methods * remove tests for revenue as a parameter
* create layer model in SDK * create rollout model
updated BuildVersionInfo to try catch on generic exception
* update v4 test datafile to conform to additive-only scheme * adjust attribute key and id * adjust group traffic allocation * remove audience from the most basic experiment * add paused experiment and event with only paused experiments * add launched experiment and events using launched experiment
* create public Feature APIs
* add version 4 to the Project Config. Add features to the Project Config * add helper methods to ProjectConfigTestUtils to create a list or map of elements * alphabetize mappings and parameters in ProjectConfig. add feature key mapping * update v4 test datafile with launched experiment * refactor feature to featureFlag
* create expected project config v4 from test datafile * revise v4 datafile. check jackson parsing works * test GsonParsing works * add test for json simple parsing * add test for json config parsing
Remove live variable accessor APIs and tests.
* update OptimizelyTest.java tests to incorporate v4 parameters * update eventbuilder v2 tests and experiment mapping generation helper
#128) * update change log for new breaking change version 1.7.0 for support of android sdk 1.4.0 breaking changes. * update changelog to mention other commits since 2.0.0-alpha * remove live variable change. it won't be included on release branch
* add variableIdToLiveVariableUsageInstanceMap to Varaitions. * Add equality methods to LiveVariable and FeatureFlag models to improve ProjectConfigParsing evaluation. *Update the v4 datafile with an empty top level "variables" array * Added empty array passed in to ProjectConfig constructor in ValidProjectConfigV4.java * ProjectConfigTestUtils now compare feature flags more effectively * Add GsonParser for FeatureFlags * Add org.Json FeatureFlag parsing * Add JsonSimple FeatureFlag parsing * add variableKeyToLiveVariableMap to FeatureFlag
Internal Methods * Bucketing method for getting the variation a user is bucketed into for a feature * Get the value of a feature variable of a specific type with type checking Unit test improvements * add test to make sure null is returned when getVariationForFeature is called with a feature without attached experiments * add test to make sure getVariationForFeature returns null when user is not bucketed into any experiments * add test data for a new feature flag with mutex group stuff * add test for getVariationForFeature returns the variation a user is bucketed into when there are multiple experiments * update unit tests to test the getFeatureValueForVariableType method instead of the string method. test all cases
* support isFeatureEnabled API. add variationIdToExperiment mapping in project config * abstract sending the impression event * change behavior of isFeatureEnabled APIs to return false when feature flag is not found * unit test to make sure isFeatureEnabled returns false when feature flag key is invalid * unit test to ensure isFeatureEnabled returns false when the user is not bucketed into any variation for the feature * unit test for isFeatureEnabled to verify that no event is sent when the user is bucketed into a variation that is not part of an experiment for a feature * add integration-ish test for isFeatureEnabled when bucketed into an experiment and make sure we send an impression event
* link feature variable accessors to feature variable by value and type * add unit tests for getFeatureVariable calling through to internals * add unit tests to catch parsing error
* change JSON parsing to look for "rolloutId" instead of "layerId"
* add list of rollouts to ProjectConfig and constructor. Add to all usages of ProjectConfig v4 constructor to allow compilation * add basic rollout to v4 json and V4 project config * enable Jackson to parse rollouts * enable GSON parsing for rollouts * enable parsing for org.JSON * enable json simple parsing * remove Layer.java class and remove 'policy' property of a Rollout * rollout experiment and variation keys will be the same as id
* added force bucketing * get test working * unit test forced variations * fix EventBuilderV2Test using AssertNotEqual * methods and map in project config. decision logic in decision service * use variation and experiment ids instead of key for storage. use putIfAbsent * added logging for projectConfig
* update changelog on master and cherry-pick into 1.8.x
* rollout bucketing using fallback strategy
Upgrade travis-ci travis.yml to use trusty distribution since that is their new standard. The gradle version of their linux distribution is gradle 4.0.1 so I upgraded our gradle wrapper to that. That required we upgrade our nebula dependency to 3.2.0. Drop support for JDK 7 until travis-ci can fix that.
* use gradle wrapper from repo * update CHANGELOG.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
- `getFeatureVariableInteger` | ||
- `getFeatureVariableString` | ||
|
||
### Breaking Changes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please mention here that we are dropping support for Java6
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* update CHANGELOG.md * add some more detail to explain we will stop testing in travis-ci on java 7
No description provided.