Node.js
3.3.2
- Добавлен метод
getUserFeatureFlagsDetails()
, который вернет все фича флаги пользователя
3.3.1
- Обновлена логика запроса за конфигом и гео. Добавлена проверка локального ip при запросах за гео. Удален retry.
3.3.0
- Добавлен метод
Sigma.editUserProperties()
позволяющий изменять или удалять свойстваuserData
. Подробнее > - Добавлен метод
Sigma.clearUserProperties()
, позволяющий удалить часть свойствuserData
. Подробнее >
3.2.12
- Улучшена логика работы принудительного списка пользователей эксперимента: теперь он игнорирует allocation, layer allocation и настройки целевой аудитории.
3.2.11
- Исправлена связать принудительного списка пользователей эксперимента с типом идентификатора
3.2.10
- Исправлено свойство
groupIndex
. ТеперьgroupIndex
возвращаетnull
, если пользователь участвует в эксперименте, но не был назначен в группу черезallocation
илиlayer_allocation
3.2.9
- Добавлен ua-parser-js. Если в объект
userData
передать свойствоua: "user-agent"
, SDK автоматически определит название, версию браузера и операционной системы. ПриоритетuserData.ua
ниже чемuserData.browser
илиuserData.os
3.2.8
- Улучшена логика подсчета попадания пользователя в слой в эксперименте (исправлено некорректное распределением по бакетам)
3.2.7
- Исправлен фильтр по платформам, добавлена возможность мультиселекта по платформам.
3.2.6
- Добавлены заголовки
sdkVersion
иsdkName
при запросах за конфигом. - Добавлена поддержка JSON-типов для значений Feature Flag и параметров эксперимента.
3.2.5
- Исправлен фильтр, удалена возможность мультиселекта по платформам.
3.2.4
- Изменена логика работы с гео. Если в кэше есть данные о гео то при ошибке запроса за гео, SDK работает с кэшем.
3.2.3
- Исправлена обработка операторов "after time", "before time", "on date"
3.2.2
- Исправлен фильтр по платформам: доступно поле
platform
с значениемall
.
3.2.1
- Добавлена поддержка новых операторов "starts with", "not starts with", "ends with", "not ends with", "contains", "not contains".
3.2.0
- Добавлена возможность фильтровать значения по платформе или платформам, которая указана в админ-панели. По умолчанию -"all".
3.1.0
- Методу getExperiment добавлено возвращаемое свойство
groupIndex
. Подробнее
3.0.4
- Полное очищение кэша произойдет через 24 часа, если в течение этого времени нет вызова методов SDK.
3.0.3
- Изменена логика работы с экспериментами при отсутствующем userId в userData.s
- Удалена генерация случайного userId в SDK при отсутствующем userId в userData.
- Добавлена запись в кэш
sigmaExpiration
при инициализации SDK и переданном userId в userData. Если через 24 часа по какой-то причине не получили userId, эксперименты сsplit_by=userId
будут возвращать null. После успешного переданного userId, эксперименты начнут сплитироваться снова. - Обновлен метод sigma.getAllUserExperiments(). Если в проекте нет экспериментов, метод вернет null.
3.0.0
- Добавлена обработка поля split_by.
В UserData можно передать поля userId, deviceId, profileId.Расчет соли и прочего происходит не по userId, а по полю, указанному в split_by.
userData = {
userId: 'userId', // например, clientId из счетчика google analytics
profileId: 'profileId' // например, ID пользователя при регистрации
deviceId: 'deviceId' // например, ID устройства с которого зашел пользователь
}
2.0.2
- Обновлено преобразование типов в userData. В userData можно передать значения: string, number, boolean
2.0.0
- Добавлена обработка правил целевой аудитории
1.2.3
Изменена логика работы с гео
- Если не передать ip в UserData, sdk запрос за гео не делает
- Добавлен отдельный кэш для гео-данных пользователя
- Время хранения гео-данных в кэше - 300с. Можно изменить от 1 минуты до 2 часов
1.1.5
- Добавлена логика обновления кеша. Если передать в userData поле geo с данными, кеш будет обновляться принудительно
1.1.3
- В заголовок запроса добавлен X-Real-IP для переназначения гео локации
1.1.2
- Изменены сообщения в логах при возникновении исключительных ситуаций
1.1.1
- Исправлено значение options.api по умолчанию на полный абсолютный путь
1.1.0
- Добавлены параметры, которые можно предустановить в userDataПараметры
geo: {
country: null,
code: null,
state: null,
city: null,
},
browser: {
version: null,
name: null,
},
os: {
version: null,
name: null,
},browser
иos
по умолчанию null не определяются в sdk.
Параметрgeo
sdk определит автоматически, можно переназначить.
1.0.0
- Добавлен метод getCacheDataFile(), который вернет из кеша все эксперименты и фича флаги в json формате
0.1.0
- Добавлено чтение хэшированных значений условных операторов: - equal, not equal, any of, none of
- Добавлено принудительное попадание в группу, если userId пользователя находится в принудительном списке группы.
- Исправлены методы checkFlag(), getAllUserExperiments(), getParamValue(), getFeatureValue() возвращают null вместо false, если условия не совпадают или нет попадания в эксперимент