Перейти к основному содержимому

Swift

1.5.1

  • Исправлена ошибка при обработке конфига с полем holdouts: 0

1.5.0

  • Метод SigmaClient.getAllUserExperiments, возвращающий массив экспериментов, помечен как устаревший. Новый метод SigmaClient.getAllUserExperiments возвращает строку вида "expId.userGroupIndex|expId.userGroupIndex|...", где expId - идентификатор эксперимента, userGroupIndex - индекс группы пользователя в эксперименте. Возвращает nil, если пользователь не попал ни в один эксперимент.
  • Добавлен параметр estimateHoldouts в метод SigmaClient.getAllUserExperiments. Если true, то метод вернет все эксперименты, включая холдауты, в которые попал пользователь. Если false, то метод вернет только эксперименты, не являющиеся холдаутами. По умолчанию true.
  • Добавлен метод SigmaClient.getAllUserHoldouts
  • Добавлен метод SigmaClient.getHoldout

1.4.3

  • Исправлена ошибка, когда значение Feature Flag бралось из эксперимента, в который пользователь не попал по ЦА.

1.4.2

  • Исправлена ошибка, когда Feature Flag с единственным правилом по умолчанию мог не возвращаться клиенту из-за проваленной проверки на пустые условия данного правила.

1.4.1

  • Улучшен метод SigmaClient.includeForce. Теперь можно вызывать несколько SigmaClient.includeForce последовательно, последний вызов перетирает предыдущие. Также, вызов данного метода теперь приоритетное forced_user_list, получаемого с сервера - даже если пользователь уже в принудительном списке эксперимента, метод SigmaClient.includeForce может переместить пользователя в принудительный список группы, и обратно.

1.4.0


1.3.3

  • Добавлен метод SigmaClient.getUserFeatureFlagsDetails для получения всех Feature Flag пользователя.
  • Добавлена поддержка списка платформ вместо одной платформы в экспериментах.

1.3.2

  • Усовершенствован механизм проверки актуальности свойств SigmaUser. Каждое свойство пользователя считается актуальным только в течение 24 часов после его назначения / изменения.

1.3.1

  • Добавлена возможность кастомизации URL для Sigma API с помощью метода Sigma.initializeClient: добавлен новый параметр apiURL.

1.3.0

  • Добавлены методы SigmaClient.setUserProperties, SigmaClient.editUserProperties, SigmaClient.clearUserProperties, позволяющие редактировать информацию о SigmaUser.

1.2.5

  • Улучшена логика работы принудительного списка пользователей эксперимента: теперь он игнорирует allocation, layer allocation и настройки целевой аудитории.

1.2.4

  • Улучшена логика подсчета попадания пользователя в слой в эксперименте (исправлено некорректное распределением по бакетам)
  • При инициализации SDK, cacheTTl нельзя установить меньше 10 секунд.

1.2.3

  • Добавлена поддержка типа [String: Any] как значения Feature Flag или параметра эксперимента.
  • Добавлены заголовки sdkVersion и sdkName при запросах за конфигом.

1.2.2

  • Добавлена поддержка новых операторов "starts with", "not starts with", "ends with", "not ends with", "contains", "not contains".

1.2.1

  • Добавлена поддержка фильтрации экспериментов и Feature Flag по платформе.
  • Улучшено декодирование файла конфигурации, при котором поврежденные объекты не будут повреждать весь файл конфигурации.

1.2.0

  • Метод SigmaExperiment.getFeatureFlagValue переименован в SigmaExperiment.getFeatureValue.
  • Свойства SigmaExperiment.name и SigmaExperiment.userGroupName помечены устаревшими и будут удалены в следующих релизах.
  • Добавлено свойство SigmaExperiment.groupIndex, возвращающее индекс группы эксперимента, в которую попал пользователь.

1.1.0

  • Удален метод getExperimentNameByFeatureFlag.
  • Метод 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.

1.0.1

  • Добавлена поддержка iOS 11+.
  • Исправлена ошибка, при которой пустой набор правил с оператором OR считался всегда успешным.