v2.8.4

  • Исправления и улучшения видео-эффектов
  • Исправлено качество демонстрации экрана в Safari
  • Добавлен коллбэк onAcceptedCall
  • Добавлен коллбэк onPeerRegistered
  • Добавлена возможность отключения приема видео при плохой сети
    • Добавлен метод SDK.enableVideoSuspend
    • Добавлен коллбэк onRemoteStreamSuspended
  • Различные улучшения vmoji
  • Исправлена утечка памяти в Firefox при активной демонстрации экрана
  • Исправлена проблема когда звук не воспроизводился, если в браузере заблокирован автоплей
  • Другие исправления и улучшения

v2.8.3

  • Добавлен коллбэк onAsrTranscription
  • Новые видеоэффекты Overlay, Filter, Combined (обновитесь до @vkontakte/calls-video-effects@2.2.1)
  • Оптимизации видео в условиях плохой сети
  • Другие исправления и улучшения

v2.8.2

  • Исправлена отправка трансляции экрана в Safari 16.4
  • Метод SDK.changeDevice теперь можно вызвать до старта звонка, для установки устройств заранее
  • Исправлено зависание в статусе WAITING, когда собеседник вошел в звонок слишком быстро
  • ⚠️ Удалены параметры batchParticipantsOnStart, filteredMessages и коллбэк onParticipantStatus
  • Переработана логика определения состояний реконнекта
  • ⚠️ Метод SDK.changePriorities теперь deprecated и будет удален в будущих релизах. Используйте updateDisplayLayout вместо него
  • Переработана и улучшена отправка кадров при трансляции экрана
  • Поддержка ASR и совместного просмотра в сессионных залах
  • ⚠️ Изменились возвращаемые значения коллбэков onLocalSharedMovieInfo и onLocalSharedMovieStoppedInfo
  • Исправлено сохранение используемых устройств
  • Улучшена обработка подключения/отключения устройств во время звонка
  • Добавлена документация по updateDisplayLayout
  • ⚠️ Удален метод recordSetRole, вместо него добавлен recordSetConf
  • Переработана библиотека видео эффектов (обновитесь до @vkontakte/calls-video-effects@2.0.1)
  • Исправлено переполнение системного буфера при отправке трансляции экрана
  • Добавлен метод SDK.publishStream для публикации трансляции звонка
  • Другие исправления и улучшения

v2.8.1

  • ⚠️ Изменились аргументы метода SDK.startAsr
  • Начальная поддержка ASR (улучшения и доработки)
  • ⚠️ Изменились аргументы метода SDK.setLocalResolution
  • Добавлен вспомогательный метод SDK.browser.setResolution
  • Исправлена ошибка переключения камер с включенными эффектами
  • Начальная поддержка vmoji (улучшения и доработки)
  • ⚠️ Удален метод SDK.browser.saveDeviceId
  • ⚠️ Изменились параметры по-умолчанию: videoTracksCount: 30, serverAudioRed: true, p2pAudioRed: true, joinFromMultipleDevices: false
  • ⚠️ Работа с параметром videoTracksCount: 0 не будет поддерживаться в будущих релизах. Убедитесь, что вы отправляете корректные значения в SDK.updateDisplayLayout
  • Исправлена утечка памяти в некоторых браузерах при приеме трансляции экрана
  • Исправление пропадания звука при реконнекте со включенной трансляцией экрана
  • Другие исправления и улучшения

v2.7.1

  • Начальная поддержка ASR
  • Поддержка захвата звука при трансляции экрана
  • Улучшения трансляции экрана
  • Методы SDK.browser.getSavedCamera и SDK.browser.getSavedMicrophone теперь возвращают используемое устройство, даже если не было сохранения
  • ⚠️ Метод SDK.changeDevice больше не включает камеру/микрофон, если они выключены
  • Начальная поддержка "быстрой трансляции экрана" (с худшим качеством)
  • Начальная поддержка vmoji
  • Изменился метод SDK.changeDevice. Для мобильных устройств, он может принимать не deviceId, а FacingMode (подробнее в документации)
  • Другие исправления и улучшения
  • Улучшена и дополнена документация

v2.6.2

  • Добавлен метод SDK.version
  • Добавлен колбэк onJoinLinkChanged
  • Исправлено зависание трансляции экрана в Safari при переключении вкладки
  • Исправлен старт трансляции экрана в Safari 16
  • Параметры producerScreenTrack и consumerScreenTrack теперь deprecated и будут удалены в будущих релизах
  • Добавлен HangupType.ANOTHER_DEVICE - приходит, если пользователь вошел в звонок с другого устройства
  • Добавлен HangupType.CALLER_IS_REJECTED
  • Изменились параметры колбэка onMuteStates
  • Добавлена возможность совместного просмотра видео в звонке
  • Изменились аргументы метода SDK.joinCallByLink
  • Начальная поддержка текстовой расшифровки звонка
  • Начальная поддержка разделения звонка на комнаты
  • Возможность трансляции системного звука вместе с экраном
  • Исправления для старых браузеров (в частности Firefox 52 ESR)
  • Другие исправления и улучшения

v2.6.1

  • Добавлены параметры serverAudioRed и p2pAudioRed для включения Redundancy Extension
  • В p2p звонке в onRemoteStream теперь приходит стрим без аудио (для сохранения старой логики добавлен параметр preserveAudioTracks)
  • Удалён полифил для BigInteger, теперь используется нативный bigint
  • Удалён параметр participantStateMapped, изменились аргументы колбэка onRemoteParticipantState
  • Улучшена отрисовка трансляции экрана в chrome-based браузерах
  • Исправлена отрисовка трансляции экрана в Safari 15
  • Начальная поддержка постраничного вывода участников звонка (для звонков с большим количеством участников)
    • Добавлены параметры useParticipantListChunk, participantListChunkInitIndex, participantListChunkInitCount
    • Добавлены колбэки onConversationParticipantListChunk, onParticipantAdded, onParticipantJoined
    • Изменились аргументы в колбэках onRemoteMediaSettings, onRemoteParticipantState, onRemoteRemoved, onPinnedParticipant
    • Добавлены методы SDK.getParticipantListChunk, SDK.getParticipants
  • Исправлен вывод звука в мобильном сафари
  • Исправлен краш при старте записи звонка, если вызов еще не принят
  • Другие исправления и улучшения

v2.5.2

  • Исправлен вызов onRolesChanged при входе участника в звонок
  • Добавлен параметр apiEnv: AUTO для автоматического определения лучшего API домена
  • Исправлена проблема в Firefox, вызванная большим количеством STUN/TURN серверов
  • Исправлена проблема, иногда не отображалась трансляция экрана
  • Из ParticipantLayout удален параметр keyFrame
  • ⚠️ Добавлена тестовая возможность входить в звонок одним пользователем с разных устройств
    • Во многих колбэках изменились типы с ExternalId на ExternalParticipantId
  • Исправлены фантомные вызовы onDeviceChange после завершения звонка
  • Исправлен неправильный выбор микрофона/камеры при старте звонка
  • Исправлено отображение трансляции экрана в Safari 15
  • Исправлена ситуация, когда входящий звонок мог прийти на то же устройство при активном звонке
  • ⚠️ Установлены параметры по-умолчанию
    • producerScreenTrack: true
    • consumerScreenTrack: true
    • batchParticipantsOnStart: true
    • onParticipantStatus заменен на onRemoteStatus

v2.5.1

  • ⚠️ Изменились аргументы метода SDK.muteParticipant
  • ⚠️ Удалены колбэки onUnmuteRequest и onUnmutePermission
  • Добавлен колбэк onMuteStates
  • ⚠️ Изменились аргументы колбэка onConversation
  • Изменились аргументы метода SDK.setLocalResolution
  • Изменились аргументы метода SDK.updateMovie
  • Исправление трансляции экрана в Safari 15
  • Исправление воспроизведения звука в Safari 15
  • Добавлены новые статусы завершения звонка в HangupType
  • Другие исправления и улучшения

v2.4.3

  • Добавлен метод recordSetRole для установки роли участника в записи звонка
  • Добавлен метод removeHistoryRecords для удаления записей из истории звонков
  • Исправлен потерянный статус WAITING
  • Изменился колбэк onUnmutePermission
  • Различные исправления и улучшения

v2.4.2

  • Различные исправления в p2p звонке
  • Исправление замирания трансляции экрана
  • Исправление трансляции экрана для поддержки Chrome 93
  • Добавлена возможность изменять устройство вывода звука методом changeDevice
  • Добавлен параметр participantStateMapped - в колбэке onRemoteParticipantState будет приходить время события
  • Добавлен параметр batchParticipantsOnStart - в колбэке onConversation будет приходить список участников звонка
  • Различные исправления и улучшения

v2.4.1

  • ⚠️ Изменилось имя пакета в NPM на @vkontakte/calls-sdk и имя модуля UMD на VKCallsSDK
  • ⚠️ Удалён метод SDK.call
  • ⚠️ Изменились аргументы методов SDK.callTo, SDK.acceptCall, SDK.joinCall, SDK.joinCallByLink — вместо параметра needVideo теперь набор опций mediaOptions
  • ⚠️ Удалён параметр allowMissingMic — новое поведение соответствует старому значению true
  • Добавлена поддержка Зала Ожидания — методы SDK.getWaitingHall, SDK.promoteParticipant и колбэк onChatRoomUpdated
  • Оптимизация определения плохой сети в p2p звонках
  • Различные исправления и улучшения

v2.3.9

  • Добавлен метод OKCallsSDK.setAudioStream для установки аудио стрима
  • Начальная поддержка приёма и отправки трансляции экрана вместе с видео с камеры
  • Добавлены колбэки onScreenStream, onRemoteLive, onRemoteScreenStream
  • Различные исправления и улучшения

v2.3.8

  • Исправлено значение packetLoss в статистике
  • Полностью перешли на одно соединение в серверной топологии и unified plan
  • Сообщение onNetworkStatus удалено окончательно. onNetworkStatusChanged теперь работает и для p2p
  • Исправлена ошибка при которой пропадал звук в групповом звонке при реконнекте
  • Различные исправления реконнектов

v2.3.5

  • Различные оптимизации трансляции экрана
  • Исправления реконнектов
  • Исправления статусов CONNECTING и CONNECTED
  • Увеличен framerate трансляции экрана до 15 fps
  • Параметры по умолчанию - preferVP9: true, preferH264: false
  • Различные исправления и улучшения

v2.3.4

  • Приём трансляции экрана через датаканал
  • Удалена поддержка p2p звонков больше чем на 2 участников
  • Обработана смена топологии во время входящего звонка
  • По умолчанию включены все датаканалы, unified plan и single session
  • Другие исправления и улучшения

v2.3.3

  • Возможность создавать только один peerconnection на серверной топологии
  • Добавлены колбэки onNetworkStatusChanged и onNetworkStatusChanged для определения состояния сети
  • Улучшена стабильность P2P звонка
  • Методы подключения к звонку теперь будут кидать исключение, если уже есть активный звонок
  • Локальное видео теперь не отправляется на сервер, если никто из собеседников его не смотрит
  • Исправлена проблема неправильного соотношения сторон шаринга экрана
  • Исправлено дублирование и устаревание логов
  • Добавлена возможность разбана пользователя методом OKCallsSDK.addParticipant
  • Другие исправления и улучшения

v2.3.2

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

v2.3.1

  • Переработана трансляция экрана (WebCodecs + LibVPx)
  • ⚠️ Удален параметр directAudioOutput, теперь стандартное поведение аналогично значению AudioElementMix
  • Добавлен метод OKCallsSDK.debugMessage для добавления сообщений в отладочный лог SDK
  • При смене топологии теперь будет вызываться колбэк onCallState
  • Исправлен старт записи звонка в звонке с одним участником
  • Исправлен "робовойс" в хроме
  • Изменился метод OKCallsSDK.removeParticipant, добавлена возможность бана участника
  • Обработана ошибка получения участников звонка из апи

v2.2.7

  • Возможность получения информации о говорящих через дата-канал
  • Возможность получения видео треков только при включении видео собеседником
  • Исправлены неверные статусы разрешений камеры и микрофона (при первой выдаче разрешений)
  • ⚠️ Методы toggleLocalAudio и toggleLocalVideo теперь выбрасывают ошибку при отсутствии необходимых разрешений
  • Метод setLocalResolution теперь не влияет на скриншаринг
  • Временно отключено сообщение о плохой сети, т.к. работает нестабильно. Для включения старой логики использовать параметр badConnectionDetector: true
  • Исправлена проблема перманентного мьюта при реконнекте
  • Улучшение стабильности при реконнектах
  • Базовая поддержка Unified Plan (пока в отключке)

v2.2.6

  • Возможность запрета анонимного джойна
  • Добавлен метод OKCallsSDK.changeConversationOptions и колбэк onOptionsChanged
  • Различные исправления и улучшения

v2.2.5

  • Поддержка смены кодека с сервера

v2.2.4

  • Исправлен старт записи звонка в звонке с одним участником
  • Добавлен колбэк onLocalPin
  • Поддержка старта записи звонка от группы
  • ⚠️ Метод OKCallsSDK.call объявлен deprecated - используйте OKCallsSDK.callTo вместо него
  • Изменился колбэк onConversation
  • Добавлены параметры preferH264 и preferVP9
  • Ускорены методы сбора статистики
  • Другие исправления и улучшения

v2.2.3

  • Небольшое исправление OKCallsSDK.unmuteRequest

v2.2.2

  • Отклоняем входящий звонок, если уже есть один входящий
  • ⚠️ Изменились парамеры методов OKCallsSDK.muteParticipant и OKCallsSDK.unmuteRequest
  • Исправлен метод OKCallsSDK.setStatisticsInterval
  • Другие исправления и улучшения

v2.2.1

  • ⚠️ Изменились параметры метода OKCallsSDK.muteParticipant
  • Добавлен метод OKCallsSDK.unmuteRequest
  • Начальная поддержка видео-эффектов
    • Добавлен метод OKCallsSDK.setVideoEffects
    • Добавлен метод OKCallsSDK.changeVideoEffect

v2.1.19

  • Добавлен метод OKCallsSDK.setMediaModifiers для изменения настроек серверного шумодава
  • Разные исправления

v2.1.18

  • Удален метод OKCallsSDK.switchConference
  • Удалены колбэки onUserPermissions и onConferenceMode
  • Удален параметр time в колбэке onUnmuteRequest
  • Добавлен колбэк onUnmutePermission
  • Исправлены статусы пользователей в режиме AudioElementMix
  • Небольшие исправления и улучшения

v2.1.17

  • Отключение браузерного шумодава в групповом звонке
  • Исправление отправки звука попыткой переинициализации микрофона
  • Метод OKCallsSDK.setStatisticsInterval для установки интервала сбора статистики
  • Колбэк onAutoplayError для определения заблокированного автозапуска аудио в браузере

v2.1.16

  • Исправлена логика реконнектов при недоступности сервера
  • Параметр directAudioOutput теперь может принимать значение AudioElementMix для получения звука всех собеседников в одном треке
  • Добавлен режим конференции
    • Добавлены методы OKCallsSDK.switchConference, OKCallsSDK.grantRoles, OKCallsSDK.pinParticipant
    • Метод OKCallsSDK.muteParticipant теперь может выключать камеры в режиме конференции
    • Добавлены колбэки onConferenceMode, onDeviceSwitched, onUnmuteRequest, onRolesChanged, onLocalRolesChanged, onPinnedParticipant

v2.1.15

  • Параметр directAudioOutput теперь может принимать значения AudioElement и AudioContext
  • Исправлена обработка кандидатов при звонке 1-1

v2.1.14

  • При попытке позвонить или добавить в звонок несуществующего пользователя, теперь вернется ошибка
  • Исправлен некорректный детект сторонних браузеров на iOS

v2.1.13

  • Добавлен колбэк onLocalStatus, показывающий состояние локального соединения
  • Запрос OKCallsSDK.browser.getUserAudio с включенным allowMissingMic больше не запрашивает камеру
  • Исправлено долгое подключение при звонке 1:1 с заблокированным UDP
  • Добавлен параметр forceRelayPolicy и метод OKCallsSDK.forceRelayPolicy для скрытия IP адреса в кандидатах при звонке 1:1
  • Добавлен колбэк onStatistics, возвращающий техническую информацию по звонку
  • Понижен FPS скриншаринга по умолчанию до 10
  • Добавлен метод OKCallsSDK.setLocalResolution для изменения размеров локального видео во время звонка

v2.1.12

  • Исправлена проблема присоединения к звонку в Firefox
  • Методы OKCallsSDK.browser.getUserVideo и OKCallsSDK.browser.getUserAudio принимают deviceId для получения стрима с нужного устройства

v2.1.11

  • Исправлена ошибка применения серверных настроек звонка
  • Исправления и улучшения

v2.1.10

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

v2.1.9

  • Добавлен параметр domain
  • Добавлен метод OKCallsSDK.setVolume

v2.1.8

  • Исправлено отображение черного квадрата вместо видео в Opera

v2.1.7

  • Добавлен параметр videoFrameRate
  • Добавлен параметр directAudioOutput
  • Добавлен метод OKCallsSDK.browser.getAudioContext
  • Исправлен детектор громкости собеседников

v2.1.6

  • Добавлен метод OKCallsSDK.changeParticipantState и колбэк onRemoteParticipantState
  • Метод OKCallsSDK.customData теперь может отправлять сообщения всем участникам звонка
  • Исправлен звонок без микрофона

v2.1.5

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

v2.1.4

  • Добавлен метод OKCallsSDK.removeJoinLink
  • Добавлены колбэки onNetworkStatus и onDebugMessage
  • Колбэки onLocalVolume и onVolumesDetected теперь возвращают значения громкости без сглаживания
  • Исправлена проблема пропадания треков в Safari при переподключении собеселника к звонку
  • Исправлен переход собеседников в реконнект при добавлении пользователя в звонок в Safari
  • Исправлено включение микрофона в Firefox Mobile
  • Исправлен детектор громкости микрофона в Firefox Windows

v2.1.3

  • Исправлен переход в состояние переподключения при добавлении собеседника в звонок
  • Исправлено включение/выключение микрофона
  • Исправлена проблема CSP
  • Увеличен FPS трансляции экрана

v2.1.2

  • Исправлено получение текущего пользователя
  • onRemoteRemoved теперь вызывается без задержки

v2.1.1

  • Возможность создать звонок со ссылкой и сразу подключиться к нему методом OKCallsSDK.call
  • Библиотека теперь собирается в ES5 для лучшей совместимости
  • Улучшены переподключения к звонку

v2.0.7

  • Исправлен двойной вызов onRemoteRemoved

v2.0.6

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

v2.0.5

  • Улучшена стабильность соединений и реконнектов
  • Исправлена ошибка при отключении камеры или микрофона во время звонка
  • Изменился колбэк onConversation - теперь возвращает текущего пользователя userId: ExternalId
  • Добавлен параметр apiEnv для звонков через разные окружения
  • Улучшено качество видео с камеры
  • Больше не поддерживаются браузеры без поддержки RTCRtpSender.prototype.replaceTrack

v2.0.3

  • Улучшен алгоритм переподключения PeerConnection
  • Добавлен метод OKCallsSDK.chatHistory для получения истории сообщений чата
  • Исправлено некорректное завершение вызова при принятии пуша на двух вкладках в браузере
  • Исправлена проблема соединения при заблокированном UDP
  • Добавлены методы записи и трансляции звонка
  • Добавлены параметр allowMissingMic и колбэк onPermissionsError для разрешения звонка без микрофона
  • Публикация в NPM

v1.2.2

  • Не удаляем видео трек при отключении камеры собеседника
  • Исправлено: отклоняем push если есть активный звонок
  • Метод для отправки сообщений в чат OKCallsSDK.chatMessage и параметр onChatMessage
  • Метод для отправки внутренних сообщений OKCallsSDK.customData и параметр onCustomData

v1.2.1

  • Добавлен метод OKCallsSDK.muteParticipant
  • Добавлена возможность присоединения к звонку по ссылке:
    • Добавлены методы OKCallsSDK.joinCallByLink, OKCallsSDK.createJoinLink, OKCallsSDK.getAnonymTokenByLink
    • Изменились аргументы метода OKCallsSDK.startConversation
    • Добавлен необязательный параметр инициализации anonymToken
  • Внешние ID пользователей теперь являются объектами ExternalId:
    • Изменились аргументы методов OKCallsSDK.call, OKCallsSDK.addParticipant, OKCallsSDK.removeParticipant, OKCallsSDK.changePriorities
    • Изменились аргументы колбэков onRemoteStream, onRemoteMediaSettings, onParticipantStatus, onRemoteRemoved, onSpeakerChanged, onVolumesDetected
  • Исправлено: не освобождалась камера при завершении звонка
  • Исправлено: Firefox ругался на большое количество STUN серверов

v1.1.2

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

v1.1.1

  • Увеличены таймауты ожидания сообщений сигналинга
  • Изменены параметры по-умолчанию в детекторе говорящего
  • ⚠️ onHangup теперь возвращает сообщение типа HangupReason
  • ⚠️ Методы начала звонка при ошибке возвращают HangupReason
  • Методы переключения и получения устройств возвращают ошибку при неудаче
  • Ретраи API вызовов
  • Добавлен колбэк onTokenExpired
  • ⚠️ При отключении камеры собеседником из его стрима удаляется трек, добавляется обратно при включении
  • Добавлен колбэк onLocalVolume

v1.0.27

  • Метод OKCallsSDK.authorize теперь может принимать параметром authToken для авторизации
  • Некоторые методы из OKCallsSDK.browser теперь доступны до инициализации
  • При завершении шаринга экрана теперь восстанавливается состояние камеры, которое было до шаринга
  • Исправлена ошибка в onVolumesDetected

v1.0.26

  • Добавлен параметр onVolumesDetected с уровнями громкости собеседников
  • Шаринг экрана теперь доступен даже если не подключена камера
  • Исправлена проблема с маппингом внешних ID на внутренние
  • Корректное завершение вызова при обновлении страницы в браузере

v1.0.25

  • Улучшена стабильность определения состояний

v1.0.24

  • Выключаем камеру при остановке шаринга экрана
  • Исправлена ситуация, когда данные пришли раньше, чем информация о собеседнике

v1.0.23

  • Исправлены неверные статусы собеседников при подключении к звонку

v1.0.22

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

v1.0.21

  • Используем big-integer для вычисления подписи звонка
  • Добавлены методы OKCallsSDK.browser.getOutput и OKCallsSDK.browser.getSavedOutput
  • Добавлен параметр инициализации voiceParams.speakerLevelMultiplier

v1.0.20

  • Добавлен колбэк onFingerprintChange - вызывается при изменении подписи звонка 1:1
  • Исправлены методы OKCallsSDK.changeDevice и OKCallsSDK.captureScreen - теперь промис реджектится при неудаче
  • Возможно, исправлена проблема с недостающими собеседниками в групповом звонке

v1.0.19

  • Добавлен параметр immortal в метод OKCallsSDK.startConversation

v1.0.18

  • Старый Microsoft Edge исключён из поддерживаемых браузеров
  • Исправлена команда OKCallsSDK.changePriorities

v1.0.17

  • Исправлен callback onSpeakerChanged. Теперь возвращает правильный ID пользователя
  • WebRTC adapter обновлен до версии 7.5.1

v1.0.16

  • Метод OKCallsSDK.call теперь может принимать массив ID пользователей для создания группового звонка
  • Метод OKCallsSDK.processPush теперь принимает только ID звонка
  • Метод OKCallsSDK.startConversation теперь возвращает только ID звонка

v1.0.15

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

v1.0.14

  • Изменились параметры метода OKCallsSDK.joinCall()
  • Добавлен метод OKCallsSDK.startConversation() для начала звонка без подключения пользователей

v1.0.13:

  • В параметры добавлен колбэк onDeviceChange, вызывается при подключении/отключении камеры или микрофона
  • Добавлен метод OKCallsSDK.browser.isScreenCapturingSupported() для определения, доступен ли шаринг экрана в браузере
  • Добавлен метод OKCallsSDK.captureScreen(true/false) для шаринга экрана

v1.0.11:

  • Больше не нужно передавать appId в параметрах инициализации