Метод SigmaClient.getAllUserExperiments, возвращающий массив экспериментов, помечен как устаревший. Новый метод SigmaClient.getAllUserExperiments возвращает строку вида "expId.userGroupIndex|expId.userGroupIndex|...", где expId - идентификатор эксперимента, userGroupIndex - индекс группы пользователя в эксперименте. Возвращает nil, если пользователь не попал ни в один эксперимент.
Добавлен параметр estimateHoldouts в метод SigmaClient.getAllUserExperiments. Если true, то метод вернет все эксперименты, включая холдауты, в которые попал пользователь. Если false, то метод вернет только эксперименты, не являющиеся холдаутами. По умолчанию true.
Исправлена ошибка, когда Feature Flag с единственным правилом по умолчанию мог не возвращаться клиенту из-за проваленной проверки на пустые условия данного правила.
Улучшен метод SigmaClient.includeForce. Теперь можно вызывать несколько SigmaClient.includeForce последовательно, последний вызов перетирает предыдущие. Также, вызов данного метода теперь приоритетное forced_user_list, получаемого с сервера - даже если пользователь уже в принудительном списке эксперимента, метод SigmaClient.includeForce может переместить пользователя в принудительный список группы, и обратно.
Усовершенствован механизм проверки актуальности свойств SigmaUser. Каждое свойство пользователя считается актуальным только в течение 24 часов после его назначения / изменения.
Добавлены методы SigmaClient.setUserProperties, SigmaClient.editUserProperties, SigmaClient.clearUserProperties, позволяющие редактировать информацию о SigmaUser.
Улучшена логика работы принудительного списка пользователей эксперимента: теперь он игнорирует allocation, layer allocation и настройки целевой аудитории.
Метод getUserExperiments переименован в getAllUserExperiments.
Метод getUserExperiment переименован в getExperiment.
Исправлена логика расчета значения Feature Flag, если он есть в эксперименте, но пользователь в него не попал, при которой возвращался nil, вместо fallback на Feature Flag вне эксперимента.
Добавлены методы SigmaUser.Builder: setAppVersion, setOsName, setOsVersion, setGeoCode, setGeoCountry, setGeoState, setGeoCity.
Исправлена ошибка, при которой параметры геолокации устанавливались на клиенте как code, country, state, city вместо geo.code, geo.country, geo.state, geo.city.