Перейти к содержанию

Информация о выпусках (Release notes) Webim Mobile SDK v3.0 для iOS

Ниже представлен список выпусков Webim Mobile SDK 3 для iOS.

Важно!

Для корректной работы SDK, начиная с версии 3.39.0, необходим Webim Server версии 10.5.30 или выше.

3.40.0

  • Исправлены ошибки предыдущей версии.

  • Добавлен случай uploadCanceled для ошибки при отправке файла.

  • Добавлен метод set(mobileChatInstance:) для настройки количества сессий внутри приложения.

  • Добавлен подключаемый метод для получения дополнительной информации о о кнопке клавиатуры чат-бота.

3.39.3

  • Библиотека переименована в WebimMobileSDK

3.39.2

  • Добавлено итеративное увеличение времени таймаута между запросами при отсутствии сетевого соединения.

3.39.1

  • Добавлены новые записи логирования.

3.39.0

  • Исправлены ошибки предыдущей версии.

  • Добавлен класс WebimAlert.

  • Добавлен подключаемый метод для получения подсказок.

3.38.2

  • Исправлена ошибка метода MessageListener#changed(message:to:), из-за которой после редактирования сообщения поле canBeEdited могло изменить значение на false.

3.38.0

  • В MessageStream добавлен метод для получения настроек сервера (getServerSideSettings) и id текущего чата (getChatId).

  • Добавлена возможность настройки логирования и типы логов.

  • Исправлены некоторые баги.

3.36.3

  • Добавлен пропуск UI аутентификации для Keychain.

3.36.2

Внимание!

Указанные в этой версии изменения и нововведения работают не у всех клиентов (чтобы узнать, поддерживается ли данная функциональность на вашем аккаунте, уточните у технической поддержки Webim).

  • Добавлен метод keyboardButton.getConfiguration(), который возвращает объект Configuration.

  • Добавлен AttachmentState.externalChecks.

  • Исправлена ошибка в методе messageAttachment.getState().

  • Добавлены методы operator.getTitle() и operator.getInfo().

  • Добавлен метод searchStreamMessagesBy(query:completionHandler:).

  • Добавлен метод react(message:reaction:completionHandler:).

  • Добавлен метод clearHistory().

  • Исправлены ошибки версий 3.36.0 и 3.36.1.

3.36.1

  • Исправлены ошибки версии 3.36.0.

3.36.0

Внимание!

Указанные в этой версии изменения и нововведения работают не у всех клиентов (чтобы узнать, поддерживается ли данная функциональность на вашем аккаунте, уточните у технической поддержки Webim).

  • Добавлен перечисляемый тип ButtonState, используемый для определения состояния кнопки.

  • Добавлен перечисляемый тип ButtonType, используемый для определения типа кнопки.

  • Добавлен FileState.externalChecks.

  • Добавлен протокол ReactionCompletionHandler, являющийся обработчиком реакций на сообщения, а также связанный с ним перечисляемый тип ReactionError.

  • Добавлен протокол Configuration, представляющий информацию о конфигурации кнопок клавиатуры чат-бота.

  • В протоколе Message добавлены методы canVisitorReact(), getVisitorReaction() и canVisitorChangeReaction(), позволяющие узнать, может ли посетитель оставить или изменить реакцию, а получить информацию непосредственно о реакции.

  • Добавлен протокол RawLocationConfigHandler.

  • Добавлен протокол SearchMessagesCompletionHandler.

3.35.6

  • Исправлена ошибка вызова completionHandler при удалении загруженного файла.

3.35.5

  • Добавлена обработка ошибки загрузки файла с слишком малым размером.

  • Исправлена ошибка вызова completionHandler при удалении загруженного файла.

  • Улучшена работа с разными потоками в SDK.

3.35.3

  • Исправлены ошибки при использовании Swift Package Manager.

3.35.2

  • Исправлена проблема с загрузкой истории.

  • Улучшена безопасность: добавили шифрование истории чата и хранение данных в Keychain.

  • Добавлена поддержка Swift Package Manager.

3.34.1

  • Добавлен метод set(onlineStatusRequestFrequencyInMillis:): с помощью этого метода можно установить период обновления онлайн-статуса сессии в миллисекундах. Данный метод необходимо использовать для правильной работы экземпляра протокола OnlineStatusChangeListener.

3.34.0

  • Исправлена ошибка метода getLastRatingOfOperatorWith(id:): метод возвращает оценку в диапазоне от 1 до 5 или 0, если оценка не была выставлена.

  • Добавлена поддержка групповой передачи файлов.

3.33.0

  • Добавлен метод isEdited() у интерфейса Message.

  • Исправлена ошибка метода getNextMessages, которая приводила к дублированию сообщений при загрузке истории.

  • Добавлена поддержка отправки стикеров посетителем.

  • Метод changed(operator:to) срабатывает, когда чат лишается оператора (параметр to равен nil).

3.32.1

  • Исправлена ошибка при работе с историей диалогов.

3.32.0

  • Добавлена поддержка опросов.

  • Добавлена поддержка приветственного сообщения.

  • В перечисляемый тип SendFileError добавлена ошибка unauthorized.

3.31.10

  • Исправлена ошибка в методе getNextMessages.

3.31.9

  • Исправлена ошибка в методе getRawData().

3.31.8

  • Исправлены некоторые сбои в работе SDK.

3.31.7

  • Исправлены некоторые сбои в работе SDK.

3.31.6

  • Инициализация запроса с версией SDK.

3.31.5

  • Исправлена ошибка в функции цитирования сообщений.

3.31.4

  • Исправлена ошибка в методе getCurrentOperator().

  • Добавлен новый метод для возобновления сессии.

3.31.3

  • Метод destroyWithClearVisitorData() устанавливает none в значении push-токена.

3.31.2

  • Исправлена ошибка в RateOperatorCompletionHandler.

3.31.1

  • Исправлена ошибка в работе истории.

3.31.0

  • Добавлен метод sendDialogTo(emailAddress:sendDialogToEmailAddressComplitionHandler).

3.30.0

  • Появилась возможность добавлять комментарий при оценке оператора.

3.29.7

  • Исправлена ошибка в sendKeyboardRequest.

  • Исправлена ошибка в sendKeyboardRequest.

  • Поддержка SQLite 0.12.2.

3.29.6

  • Исправлена ошибка в Cartfile.

3.29.5

  • Добавлены новые методы FAQ.

3.29.4

  • Исправлена ошибка в истории сообщений.

3.29.3

  • База данных размещается в .applicationSupportDirectory.

3.29.2

  • Добавлены некоторые исключения в FAQ.

3.29.1

  • Внесены некоторые изменения в FAQ.

3.29.0

  • Внесены некоторые изменения в FAQ.

3.28.3

  • Исправлена ошибка в MessageFactories.

3.28.2

  • Новая версия FAQ.

3.28.1

  • Новая версия FAQ.

3.28.0

  • Добавлен метод set(multivisitorSection:).

    Внимание!

    Указанный в этой версии метод работает не у всех клиентов (чтобы узнать, поддерживается ли данная функциональность на вашем аккаунте, уточните у технической поддержки Webim).

  • Новые методы WebimRemoteNotification.

3.27.2

  • Новый метод для FAQ.

3.27.1

  • Исправлены ошибки в индексах БД.

  • Исправлены ошибки в UserDefaults.

3.27.0

  • Новые функции для FAQ.

3.26.0

  • Добавлена поддержка цитирования сообщений.

  • Исправлены ошибки при работе с локальной базой данных.

3.25.2

  • Устранены возможные утечки памяти.

3.25.1

  • Исправлена ошибка неправильного ID сообщения.

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

3.25.0

  • Добавлена поддержка сценарного робота.

  • Миграция исходного кода на Swift 5.

3.24.7

  • Исправлены ошибки, связанные с периодичностью запросов истории.

  • Исправлена ошибка работы с базой данных на устройстве, приводящая к возможному падению приложения.

  • Добавлена передача Bundle ID и версии приложения в User-Agent сетевых запросов.

3.24.6

  • Использование SQLite 0.11.5. Поздние версии приводят к ошибкам сборки.

3.24.5

  • Замена типа Int на Int64 в HistoryRevisionItem для избежания переполнения значения переменной, которое хранит время, на 32-битных устройствах.

3.24.4

  • Исправлена опечатка в методе rateOperatorWith(id:rating:completionHandler:).

3.24.3

  • Исправлена ошибка удаления сообщений при первом обращении в чат.

3.24.2

Внимание!

Указанный в этой версии метод работает не у всех клиентов (чтобы узнать, поддерживается ли данная функциональность на вашем аккаунте, уточните у технической поддержки Webim).

  • Новый метод updateWidgetStatus(data:).

3.24.1

  • Оптимизация запросов истории сообщений.

3.24.0

  • Добавлена возможность работы с блоком часто задаваемых вопросов (FAQ).

3.23.7

  • Исправлен метод MessageListener.added(message newMessage:, after previousMessage:).

  • Исправлен метод UnreadByVisitorMessageCountChangeListener.changedUnreadByVisitorMessageCountTo(newValue:).

3.23.6

  • Добавлен собственный User-Agent для сетевых запросов.

3.23.5

  • Исправлена ошибка при запросе сообщений, если история посетителя пустая.

3.23.4

  • Исправлена ошибка при запросе миниатюры вложенного изображения.

3.23.3

  • Добавлена задержка в десять секунд при повторной попытке обращению к серверу при отсутствии доступа к сети.

3.23.2

  • Повышение версии Swift до 4.2.

3.23.1

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

3.23.0

  • Добавлен новый метод edit(message:text:completionHandler:).

  • Добавлен новый метод delete(message:completionHandler:).

  • Добавлен новый метод canBeEdited().

3.22.3

  • Исправлена ошибка при загрузке истории.

  • Исправлена ошибка в работе FileSendCompletionHandler.

3.22.2

  • Исправлена ошибка сборки с помощью Carthage.

3.22.1

  • Исправлена повторная инициализация сессии.

3.22.0

Внимание!

Указанный в этой версии метод работает не у всех клиентов (чтобы узнать, поддерживается ли данная функциональность на вашем аккаунте, уточните у технической поддержки Webim).

  • Добавлен метод set(prechatFields:).

3.21.2

  • Исправлен CurrentOperatorChangeListener.

3.21.1

  • Убрана слабая ссылка у FatalErrorHandler для правильной работы во wrapper'е.

3.21.0

  • Добавлен метод isReadByOperator.

  • Отправка параметров файлового сообщения в HTTPBody.

3.20.1

  • Исправлена ошибка, из-за которой методы getLastMessages и getNextMessages могли возвращать пустой список сообщений при первом вызове этих методов.

3.20.0

  • Новый метод setChatRead().

3.19.0

Внимание!

Указанные в этой версии изменения и нововведения работают не у всех клиентов (чтобы узнать, поддерживается ли данная функциональность на вашем аккаунте, уточните у технической поддержки Webim).

  • Добавлен новый метод set(prechat:).

  • Добавлен новый метод startChat(customFields:).

3.18.3

  • Устранены утечки памяти при повторном открытии сессии.

  • Исправлена аутентификации по providedAuthorizationToken.

3.18.2

  • Устранены утечки памяти при загрузке истории.

3.18.1

  • Исправлена ошибка для 32-битных платформ.

3.18.0

  • Добавлен метод destroyWithClearVisitorData.

  • База данных создаётся не для каждого открытия сессии, а только для первого.

3.17.5

  • Исправлена ошибка при загрузки конца истории.

3.17.4

  • Исправлена ошибка, возникающая после разблокировки экрана во время работы чата.

3.17.3

  • После восстановления доступа к сети запросы отправляются в порядке очереди.

  • Возвращены слабые ссылки.

3.17.2

  • Убраны слабые ссылки.

3.17.1

  • Исправлена ошибка при запросе истории.

  • Добавлен повтор сетевых запросов при отсутствии доступа к сети.

3.17.0

  • Добавлены новые типы ошибок.

3.16.0

Внимание!

Указанный в этой версии метод работает не у всех клиентов (чтобы узнать, поддерживается ли данная функциональность на вашем аккаунте, уточните у технической поддержки Webim).

  • Добавлен метод respondSentryCall(id).

3.15.0

  • Добавлен UnreadByVisitorMessageCountListener.

  • Исправлены незначительные ошибки.

3.14.2

  • Улучшено взаимодействие с сервисом в контексте обновления параметра, возвращаемого методом getUnreadByVisitorTimestamp() протокола MessageStream и методами протокола UnreadByVisitorTimestampChangeListener.

  • Исправлена ситуация, когда методы протокола MessageListener не вызываются до первого запроса истории сообщений.

  • Исправлены различные незначительные ошибки. Произведены множественные незначительные улучшения.

3.14.1

  • Исправлена ошибка, приводившая к остановке приложения в случае, если используемая учетная запись Webim заблокирована.

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

  • Улучшена работа с памятью (библиотека больше не держит сильные ссылки на объекты своих делегатов).

  • Произведены множественные незначительные улучшения.

3.14.0

  • Добавлены протоколы для отслеживания изменений значений, возвращаемых методами getUnreadByOperatorTimestamp() и getUnreadByVisitorTimestamp() протокола MessageStream (UnreadByOperatorTimestampChangeListener и UnreadByVisitorTimestampChangeListener, соответственно).

3.13.1

Внимание!

После данного обновления приложение необходимо переустановить!

  • Исправлены различные важный ошибки в работе с запросами истории сообщений.

3.13.0

  • Исправлена логика работы метода getUnreadByVisitorTimestamp() протокола MessageStream: теперь в случае, если все сообщения прочитаны посетителем, метод возвращает nil.

  • Возвращаемые значения методов getID() и getName() протокола Operator более не опциональные.

  • Добавлено новое состояние чата – CHATTING_WITH_ROBOT.

  • Исправлены различные ошибки в методах для работы с историей сообщений при использовании локального хранилища.

  • Произведены незначительные улучшения во взаимодействии с сервисом.

  • Оптимизация настроек подключаемой библиотеки.

3.12.0

  • Метод rateOperatorWith(id:byRating:comletionHandler:) протокола MessageStream изменен, чтобы позволить передавать nil в качестве параметру id – в этом случае оценен будет текущий оператор чата (если есть).

  • Добавлена начальная поддержка push-уведомлений, высылаемых при отправке оператором action request- и widget-сообщений.

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

  • Произведены множественные незначительные улучшения.

3.11.0

  • Методу set(webimLogger:verbosityLevel:) добавлен параметр verbosityLevel, в который можно передать значение WebimLoggerVerbosityLevel для регулировки многословности передаваемых записей лога.

  • Методы getContentType(), getFileName() и getURL() протокола MessageAttachment изменены, чтобы возвращать неопциональные значения.

  • Ликвидирована внешняя зависимость от сторонней библиотеки CryptoSwift.

  • Метод new(messageTracker:) протокола MessageStream переименован в newMessageTracker(messageListener:).

  • Исправлена ошибка, из-за которой метод протокола Operator мог вернуть пустой (nil) ID оператора.

  • Произведены множественные незначительные улучшения.