Обновления

История версий Cosmogram
← На главную
Server —
Client —
История развития ядра Cosmogram — движка на базе MTProto: 36 версий и 132 исправления — от первой сборки до текущего состояния. Серверная часть обновляется «на лету», клиенты обновлять не требуется.
v36Ники из панели Iriska + починка «Избранного»30.09.2026Актуальная
  • Ники берутся из логина в панели Iriska: смена логина сотрудника в панели теперь меняет его @username в мессенджере (в течение ~5 минут), с сохранением регистра. Раньше у уже заведённых сотрудников ник не обновлялся.
  • «Избранное» больше не открывается пустым: устранён баг, из-за которого чат с самим собой (сообщения себе) внутри был пуст, хотя превью последнего сообщения виднелось в списке чатов. После обновления нужен один повторный вход в приложение.
  • Поиск эмодзи по словам и подсказки при вводе: в панели эмодзи снова работает поиск по названию (например «привет» → 🙋 👋 ✋), и при наборе текста рядом всплывает подсказка-эмодзи — как в оригинальном Telegram.
Подверсии3
  • v36.1Синхронизация ников по смене логина Iriska: сервер приводит @username к текущему логину сотрудника (даже у уже заведённых), сохраняя регистр как в панели; переход на новое поле «логин». Защита от коллизий и уважение ручных ников.
  • v36.2«Избранное» открывалось пустым (превью в списке было, внутри — ничего). Причина — «фантомный» дубль диалога-с-собой, возникавший при удалении сообщений из Избранного: из-за двух диалогов на один чат клиент не загружал историю. Устранён источник (дубль больше не создаётся), добавлен фильтр на выдаче списка чатов, старые дубли вычищены.
  • v36.3Поиск эмодзи по словам и подсказки-эмодзи не работали: сервер отдавал пустой словарь ключевых слов. Залиты настоящие словари Telegram (русский ≈5300 слов, английский ≈4300) → поиск в панели эмодзи по названию и всплывающая подсказка при наборе снова работают.
v35Групповые видеозвонки: серверная часть и стабильность списка чатов23.09.2026
  • Групповые видеозвонки надёжнее на стороне сервера: устранён баг, когда после серии «камера → демонстрация экрана → выключить камеру → снять демонстрацию → снова камера» у собеседника оставался чёрный экран — сервер теперь корректно восстанавливает видео-поток камеры при её повторном включении. Правка серверная, без обновления клиентов.
  • Группы больше не «пропадают» из списка чатов у обычных участников: исправлены сразу две причины — чат мог исчезать при клике и мог «тонуть» ниже первой страницы списка. Теперь группа стабильно на месте и открывается.
  • Убран источник фонового спама ошибок при синхронизации обновлений каналов.
Подверсии4
  • v35.1групповой чат пропадал при клике у не-создателей (регрессия отложенных сообщений) — при открытии чата сервер отдавал канал с пометкой «участник вышел», и десктоп убирал чат из списка → пометка исправлена, чат остаётся на месте.
  • v35.2группа «тонула» ниже первой страницы списка чатов у обычного участника (позиция диалога «замерзала» на моменте вступления) → на первой странице сервер пересортировывает диалоги по реальному последнему сообщению канала + разовая миграция залежавшихся позиций.
  • v35.3в групп-звонке после «камера → демонстрация → выкл камеры → снять демонстрацию → снова камера» у собеседника был чёрный экран — сервер терял привязку видео-потока камеры при выключении и не восстанавливал при повторном включении → добавлено «теневое» запоминание потока и его восстановление (плюс запрос ключевого кадра на сервере видеозвонков при возобновлении).
  • v35.4«застрявшая» вкладка веб-клиента засоряла логи потоком исключений при синхронизации обновлений канала (некорректный запрос разницы) → сервер отвечает штатной пустой разницей вместо ошибки.
v34Боты и BotFather21.09.2026
  • Полноценная поддержка ботов: вход по токену, команды и меню «/», кнопки под сообщениями (callback), инлайн-режим (@бот запрос), профиль бота (описание, «О себе», @username).
  • ⭐ BotFather — ботов теперь можно создавать прямо в чате, как в Telegram: напишите @BotFather → /newbot → имя → @username → получаете токен. Управление: /mybots, /token, /revoke, /setdescription, /setcommands.
  • Выданный токен реально запускает работающего бота; управлять ботом может только его создатель.
v33Отложенные сообщения и звания участников20.09.2026
  • Отложенные сообщения: можно запланировать отправку на заданное время — сервер сам доставит в срок (планировщик и хранение на стороне сервера).
  • Звания участников в группах: администратор может задавать пользовательские подписи-звания участникам.
v32Приватность профиля18.09.2026
  • Заработали настройки приватности профиля: «Кто видит моё фото», «время захода» (был в сети), «номер телефона», «биографию», «дату рождения», «кто может звонить». Выбор сохраняется и реально применяется — раньше переключатели ни на что не влияли.
  • Поддержаны варианты «Все» / «Мои контакты» / «Никто», а также исключения (разрешить/запретить конкретным людям).
  • Скрытое «время захода» показывается собеседнику как «был(а) недавно» — как в оригинале.
v31Завершение сессий: устройство реально выходит18.09.2026
  • Когда вы завершаете сессию другого устройства в разделе «Активные сеансы», это устройство теперь сразу выходит из аккаунта (на десктопах — с очисткой локальных данных) — раньше сессия помечалась завершённой, но устройство продолжало работать на кэше.
  • Текущая сессия при этом защищена — сам себя не разлогинишь.
  • Работает тем же надёжным механизмом, что и мгновенный выход при блокировке сотрудника.
v30Айфонные видео в вебе (HEVC → H.264)18.09.2026
  • Видео, снятые на iPhone (формат HEVC / H.265), раньше не воспроизводились в браузере — браузеры этот кодек не декодируют. Теперь сервер автоматически перекодирует их в H.264 прямо при загрузке (с оптимизацией под быстрый старт воспроизведения), и они играют в веб-клиенте.
  • Обычные видео (H.264) лишний раз не пережимаются — только лёгкая оптимизация заголовка под стриминг.
  • Действует для новых загрузок; видео, отправленные ранее, нужно переслать заново.
v29Реакции, поиск и стабильность18.09.2026
  • Групповые реакции: снова видно, кто именно поставил реакцию на сообщение — открывается список реакторов (действует и для ранее поставленных реакций).
  • Устранён вылет десктопа при вводе в глобальный поиск над списком чатов — приложение больше не крашится ни на каком символе.
  • Убран наплыв уведомлений от старых чатов после повторного входа.
  • Наведён порядок в данных и добавлена защита от «пустых» сообщений без адресата.
Подверсии4
  • v29.1в группах не отображалось, кто поставил реакцию (был только счётчик) → сервер снова отдаёт список реакторов; действует и для уже поставленных реакций.
  • v29.2после повторного входа сыпалась пачка уведомлений от старых чатов → устранён разрыв синхронизации, доставляется только новое.
  • v29.3десктоп падал при вводе ЛЮБОГО символа в поиск над списком чатов → сервер отдавал «осиротевшие» служебные записи без адресата, на которых клиент вылетал; такие записи отфильтрованы, вылет устранён (без пересборки клиентов).
  • v29.4защита от первопричины: сервер больше не создаёт сообщение с некорректным адресатом (возвращает штатную ошибку), а старые битые записи вычищены.
v28Безопасность: мгновенный разлогин и вайп данных при блокировке/выходе16.09.2026
  • Блокировка сотрудника в панели Iriska (а также «Выйти» и «Выйти со всех устройств») мгновенно завершает ВСЕ его сессии: клиент в течение нескольких секунд вылетает на экран входа, а не остаётся авторизованным на закешированных данных.
  • При выходе/блокировке полностью удаляются локальные данные (ключи и сессия) И скачанные из чатов файлы в каталоге приложения — у заблокированного или уволенного сотрудника не остаётся локальных материалов на устройстве.
  • Работает на всех платформах: десктоп Windows / macOS / Linux и Android (сборки 1.1.9); веб-клиент очищает своё хранилище при выходе.
  • Проверено на боевых клиентах: блокировка → вылет обоих десктопов (Windows и Mac) за ~4 секунды с очисткой кеша скачанных файлов.
Подверсии3
  • v28.1клиент оставался авторизованным после блокировки и мог листать чаты из кеша (сервер на переподключение к уже отозванному ключу отвечал «успех») → теперь сервер отвечает корректной ошибкой, и клиент штатно выходит на логин. Исправлено на сервере, без пересборки клиентов.
  • v28.2при выходе оставался кеш просмотренных в чатах медиа и файлов → теперь при любом выходе (ручном, по блокировке, «выйти со всех») этот кеш стирается вместе с ключами.
  • v28.3блокировка не всегда выкидывала клиент сразу (зависело от того, зайдёт ли пользователь в чат) → теперь сервер на ЛЮБОЙ запрос отозванной сессии отвечает «сессия недействительна», и клиент выходит на экран входа в течение секунд — проактивно, без действий пользователя. Методы самой авторизации исключены, поэтому повторный вход не ломается.
v27Интеграция с панелью Iriska и приватность профиля15.09.2026
  • Живая синхронизация сотрудников из панели Iriska (systemd-таймер, каждые 5 мин): новые пользователи появляются в мессенджере автоматически.
  • Разлогин при блокировке аккаунта: панель шлёт вебхук → сервер мгновенно гасит ВСЕ сессии пользователя (отзыв всех auth-ключей).
  • Блокировка смены @username на стороне сервера (ники управляются директорией Iriska).
  • Двусторонняя синхронизация аватара: панель ⇄ мессенджер.
  • Телефонный номер скрыт во всех клиентах (не отдаётся в данных профиля).
Подверсии6
  • v27.1поиск во вкладке «Посты» ронял клиент → сервер всегда отдаёт корректный результат поиска.
  • v27.2в шапке чата показывался «+992 0» вместо ника → номер убран из выдачи пользователя.
  • v27.3«Активные сеансы» висли на «Загрузка» (ошибка форматирования нулевой даты) → гарантируется текущая сессия с валидной датой.
  • v27.4блокировка не выбрасывала десктоп (реестр устройств недостоверен) → гасим ВСЕ ключи пользователя напрямую.
  • v27.5обновления по воздуху давали «Ошибка при проверке обновлений» → файлы апдейтов кладутся в правильный каталог (site/tupdate/).
  • v27.6чистка «мусорных» записей реестра устройств (526 → 22).
v26Авторизация: корректный выход и повторный вход на всех клиентах07.09.2026
  • После «выйти со всех устройств» (или завершения сессии устройства с другого устройства) клиент раньше подолгу «висел» — минутами стучался устаревшим ключом, оставался на «Соединение…» со старыми чатами и не уходил на экран входа. Сервер теперь сразу сообщает клиенту, что ключ недействителен — приложение мгновенно переустанавливает соединение и открывает вход. Правка серверная, действует для Windows, macOS, Linux, Android и веба без обновления клиентов.
v25Звонки в Safari-вебе: приём видео и стабильность06.09.2026
  • Веб-клиент в Safari (и на iPhone/iPad, где это единственный движок браузера) теперь принимает видео собеседника со всех клиентов — Windows, Android, macOS. Звонки соединяются стабильно.
Подверсии3
  • v25.1Safari не показывал видео собеседника — было сразу три причины (строгая проверка состояния соединения, лишняя видео-дорожка и несовместимый видео-профиль H264). Все устранены на стороне веб-клиента — Safari теперь декодирует видео от любого клиента.
  • v25.2Звонок в Safari мог оборваться сразу после ответа или «повиснуть» на приёме — веб-клиент падал на пустом списке звонковых серверов и на гонке отправки состояния. Устранено, согласование проходит до конца.
  • v25.3Кнопка звонка в шапке чата иногда пропадала (появлялась только после перехода в другой чат и обратно) — исправлено, подгружается сразу.
v24Звонки десктоп↔веб: двустороннее видео05.09.2026
  • Видеозвонки между десктопом и веб-клиентом заработали в обе стороны — видео собеседника появляется сразу, без ручного выкл/вкл камеры.
Подверсии2
  • v24.1Десктоп→веб: при звонке с включённой камерой видео собеседника было чёрным (помогал только повторный вкл/выкл камеры) — веб-клиент перезаписывал идентификатор входящего видео-потока своим, и аппаратный декодер браузера не отдавал кадры. Исправлено.
  • v24.2Веб→десктоп: десктоп не показывал видео веба — веб отправлял лишний «пустой» видео-поток, а десктоп отображает только последний. Порядок потоков исправлен — реальная камера идёт последней.
v23Медиа-конвейер, гифки, кружочки и полировка реакций02.09.2026
  • Расширен медиа-конвейер файлового сервера: отправка тяжёлых видео, ремукс для воспроизведения в вебе, серверная конвертация гифок и видео-кружочков.
  • Полировка реакций и мелочей UX: иконки реакций на Android, корректный размер на десктопе, недавние гифки на всех клиентах, убран баннер «Показать номер телефона».
Подверсии8
  • v23.1видео не отправлялись (Android/веб) — файловый сервер слал файл одним gRPC-сообщением (лимит 4 МБ) → лимит приёма/отправки снят.
  • v23.2видео не воспроизводилось в вебе (открывалось картинкой) — mp4 с телефонов держат индекс moov в конце файла → сервер делает faststart-ремукс при загрузке.
  • v23.3панель «недавние гифки» была пуста — не было хранилища gif → авто-сохранение гифки при отправке + конвертация gif→mp4 (иначе десктоп/Android не показывали её в панели).
  • v23.4видео-кружочки не поддерживались — веб пишет webm → сервер конвертит webm→mp4 (H.264/AAC + faststart), метка «кружочек» сохраняется.
  • v23.5реакция в группе «самоудалялась» — периодический рефреш искал сообщение под личным пиром и для группы возвращал пусто → берётся владелец-канал.
  • v23.6на Android у реакций не было картинки (только счётчик), а на десктопе они раздувались вдвое → иконка center_icon отдаётся только мобильным (различаем по приложению устройства).
  • v23.7на десктопе у новых чатов всплывал баннер «Показать номер телефона» — сервер слал признак share_contact → выключено.
  • v23.8стикеры в Safari не отображались/были «битым квадратом» (Safari не кодирует webp и не играет VP9-webm) → серверные анимированные webp-превью + фикс распознавания формата.
v22Серверный конвейер доставки обновлений (OTA)27.08.2026
  • Настроена серверная раздача OTA-обновлений: десктопный фид tupdate/current* (win/mac/linux) и публикация подписанных пакетов в web-root.
  • Реализована серверная выдача Android-APK через файловый сервер (GetAppUpdateHandler → документ APK в uploads) — обновление «по воздуху» подтверждено вживую; починен и Mac-OTA.
Подверсии3
  • v22.1десктоп ловил 404 на обновлении (читает /tupdate/current<N> и резолвит пакет относительно каталога фида) → пакет обязателен в site/ И site/tupdate/.
  • v22.2Mac-OTA не работал (update_checker.cpp хардкодил Telegram.app) → фикс + миграционный dual-name пакет.
  • v22.3свойства .exe показывали старую версию (Telegram.rc не бампался отдельно от AppVersion) → правка winrc + relink.
v21FCM-пуши для фонового Android (серверная отправка)27.08.2026
  • Поднята серверная отправка push через Firebase (FCM v1): заведён проект и сервис-аккаунт, написаны шифратор пейлоада (MTProto2 AES-IGE) и отправитель с OAuth2-токеном; звонкам ставится высокий приоритет.
  • В оффлайн-ветке доставки сервер читает токены устройств из read-модели и будит выгруженный Android; шифрование сверено с клиентом бит-в-бит. Позже пофикшен гейтинг — пуш идёт независимо от других онлайн-устройств.
Подверсии2
  • v21.1выгруженный Android не получал пуш, пока онлайн десктоп (гейтинг sessions.Count==0) → FCM шлётся независимо от других устройств.
  • v21.2Firebase не совпадал с реальным пакетом сборки (org.telegram.messenger.web) → в Firebase заведены оба package.
v20Реакции в группах + звонок создаёт диалог + read receipts26.08.2026
  • Реакции распространены на группы и каналы (были только 1:1): рассылка обновления реакций всем участникам, реакции включены по умолчанию.
  • Звонок без существующего чата теперь создаёт диалог (сервисное сообщение о звонке/пропущенном).
  • Включены отметки о прочтении в группах (добавлены нужные ключи appConfig, без которых клиенты не запрашивали backend).
Подверсии5
  • v20.1реакции работали только 1:1 → распространены на группы/каналы (SendReactionHandler пустил PeerType.Channel).
  • v20.2пустой бар выбора реакций на десктопе (CenterIcon/AroundAnimation ломали пикер) → убраны из getAvailableReactions.
  • v20.3звонок без чата не создавал диалог → DiscardCallHandler пишет messageActionPhoneCall.
  • v20.4«кто прочитал» в группе не запрашивался клиентом (не хватало appConfig-ключей) → добавлены chat_read_mark_*.
  • v20.5реакции в канальной рассылке «воскрешали» просмотренные непрочитанными → My/Unread подавлены в broadcast.
v19Групповые звонки: сигналинг + собственный SFU25.08.2026
  • Реализована Фаза A групп-звонков (26 хендлеров были заглушками): join/leave/discard, участники, рассылка бара всем членам, отдача активного звонка в getFullChannel.
  • Построен с нуля собственный tgcalls-совместимый SFU (Go + Pion: ICE/DTLS/SRTP, отдельный systemd-сервис) — готового не существовало. Заработали аудио, видео и демонстрация экрана со звуком.
  • Любой участник может стартовать звонок, а бар «Присоединиться» появляется у всех сразу (через настоящее сервисное сообщение о звонке).
Подверсии7
  • v19.1кнопка групп-звонка «ничего не делала» (join — заглушка) → реализован сигналинг (Фаза A).
  • v19.2⭐ «первый вылетает при входе второго» (self+source-mismatch → hangUp) → Self=FALSE в рассылках участников.
  • v19.3DTLS виснул на Flight1 (SRTP SHA1_80 не берётся libwebrtc) → SRTP GCM + DTLS-роль по clientSetup.
  • v19.4бар звонка не появлялся сразу → updateChannel на create/discard.
  • v19.5правка звонка сбрасывала видео (participant.video не во всех апдейтах) → видео-данные во всех апдейтах.
  • v19.6демонстрация экрана не работала (joinGroupCall Presentation — заглушка) → отдельный транспорт + SFU под несколько соединений на юзера.
  • v19.7у создателя группы бар не появлялся, когда звонок стартовал участник (manage_call у всех → tdesktop не рефетчил фулл) → реальное сервис-сообщение messageActionGroupCall.
v18Транспортный перм-ключ — корень устойчивости сессий25.08.2026
  • Сделано «как в Telegram»: временный ключ остаётся чисто транспортным, а на границе транспорта резолвится реальный постоянный ключ — устранён источник размножения «фантомных» сессий (десктоп плодил по 11 записей) и рассинхрона pts при ротации ключей.
  • Само собой починились привязка юзера, отзыв чужих сессий и пометка «Это устройство»; подтверждено вживую на десктопе, Android и вебе.
  • Уведомление «X отреагировал на ваше сообщение» теперь доходит (в пуш добавлены recent_reactions с пометкой непрочитанности).
Подверсии4
  • v18.1десктоп плодил 11 «активных сеансов» (запись ключевалась по temp-ключу) → ключевание по реальному перму, одна запись.
  • v18.2«Это устройство» без имени, переименование не работало (Current не ставился) → передаём temp, Current = temp||perm.
  • v18.3Вариант A: temp-ключ протекал выше транспорта (фрагментация pts, «голые» SSO-записи) → резолв реального перма на границе транспорта — само чинит bind/reset/Current/pts.
  • v18.4уведомление «X отреагировал» не приходило (RecentReactions=null) → строим RecentReactions с флагом Unread на копии получателя.
v17Активные сеансы: достоверный реестр устройств24.08.2026
  • Выход из аккаунта теперь реально снимает сессию (событие UserLoggedOutEvent никто не слушал — подписка добавлена).
  • Веб-сессии стали попадать в реестр устройств (раньше не регистрировались вообще), а из initConnection захватывается реальное имя устройства (модель/ОС/версия/приложение).
  • «Завершить все другие сеансы» стало по-настоящему отзывать ключи (с защитой, отработанной после инцидента, когда деструктивный отзыв сломал сессию десктопа).
Подверсии11
  • v17.1выход из аккаунта не снимал сессию (UserLoggedOutEvent никто не слушал) → обработчик + подписка.
  • v17.2веб-сессии не попадали в «Активные сеансы» (webk не зовёт bindTempAuthKey) → регистрация устройства в SignInHandler.
  • v17.3«Авторизованные сайты» показывали захардкоженные Test region/Test domain → выявлено (наследие MyTelegram).
  • v17.4имя/данные устройства не сохранялись (InitConnectionHandler заглушка) → захват DeviceModel/версии/ApiId рефлексией.
  • v17.5«Завершить все другие» не отключало сам auth-ключ (Android продолжал писать) → отзыв ключа при SessionRevoked/UnRegisterAuthKey.
  • v17.6Android не захватывался (захват только на одном constructorId) → захват на любом initConnection.
  • v17.7ИНЦИДЕНТ: отзыв по temp/perm-коллапсу снёс всю цепочку ключей десктопа (~45), десктоп вылетал, Избранное пропало → откат отзыва + восстановление перм-ключа.
  • v17.8кривые имена отправителей личных/self (пуш с пустым Users[]) → обогащение пуша юзерами (send-side).
  • v17.9то же на приёмном пути форварда → обобщённый хелпер применён к HandleForwardMessageAsync.
  • v17.10«Завершить все другие» возвращён с защитой protectedPerm (churn-записи своего устройства не гасятся).
  • v17.11приватность была инертна (Set/GetPrivacy заглушки, де-факто «Все») → GetPrivacy=AllowAll, SetPrivacy эхо.
v16Звонки во всех сочетаниях (десктоп ↔ веб)19.08.2026
  • Звонки заработали во всех комбинациях клиентов; из подмены access-hash исключены звонки (десктоп сверял хеши из ответа и уведомления и рвал звонок).
  • Реализовано согласование версий звонковой библиотеки tgcalls (пересечение списков) — устранён мгновенный обрыв «Wrong library version».
Подверсии3
  • v16.1десктоп рвал звонок (разные access_hash в ответе и в уведомлении) → звонки исключены из подмены access_hash.
  • v16.2не было общей версии tgcalls веб↔десктоп («Wrong library version») → NegotiateVersions отдаёт пересечение списков.
  • v16.3завершение звонка падало CALL_PEER_INVALID (сервер сверял хеш) → сверку убрали (случайный 64-бит id + проверка участника).
v15Звонки 1:1 заработали18.08.2026Звонки
  • Реализован серверный сигналинг звонков: requestCall/acceptCall/confirmCall/discardCall, обмен сигнальными данными, состояние звонка в Redis, выдача временных TURN-кредов (coturn).
  • Разгадан ключевой контракт: acceptCall должен возвращать phoneCallWaiting (а не Accepted), иначе принимающий сам кладёт трубку — после фикса аудио- и видеозвонок в вебе прошёл полный цикл.
  • Попутно вылечена серверная отдача wasm (nginx отдавал HTML вместо wasm) — чинились анимированные стикеры, голосовые и крипто-воркер звонков.
Подверсии3
  • v15.1принимающий клал трубку через ~0.1с (acceptCall возвращал phoneCallAccepted вместо phoneCallWaiting) → возвращаем phoneCallWaiting.
  • v15.2пустой список чатов (сервер отдавал диалог без чата — остатки удалённых каналов) → пропуск «висячих» диалогов.
  • v15.3wasm отдавался как HTML (nginx try_files→index.html), ломались анимир.стикеры/голосовые/крипто-воркер звонка → nginx @pub/@spa fallback.
v14Членство, чек-листы, обои и темы чатов18.08.2026
  • Членство в группах доведено до ума: «X покинул/исключён» приходит живьём и как сервисное сообщение, счётчики участников не протухают, повторно добавленный снова становится видимым, новым участникам открывается история.
  • Реализованы чек-листы (todo-списки) — свой аггрегат, read-модель, живая доставка и сервисные сообщения об отметках.
  • Реализованы обои и темы личных чатов: серверные наборы градиентов и эмодзи-тем, хранение по паре «юзер-чат», отдача в getFullUser.
Подверсии11
  • v14.1«X покинул группу» не приходил live (ранний return для ChatDeleteUser минул веер) → убран.
  • v14.2у всех протухал счётчик участников при выходе (updateChannel слался только вышедшему) → досылается остальным.
  • v14.3исключение участника не создавало сервисного сообщения → +Broadcast «Админ исключил X».
  • v14.4админ не видел свой кик сразу → автора не исключаем из веера в ветке кика.
  • v14.5повторно добавленный оставался невидимым (тянулись Kicked/BannedRights) → явное добавление снимает бан + гвард !Kicked.
  • v14.6приглашённый не видел историю до себя даже при выключенном «скрывать» → отсечка только при HiddenPreHistory.
  • v14.7чек-лист падал пустым сообщением (inputMediaTodo не знался MediaHelper) → тип todo реализован.
  • v14.8сервисное сообщение обоев уезжало в «Избранное» собеседника (в личке ownerPeer = отправитель) → правильный ownerPeerId.
  • v14.9обои падали «Nullable object must have a value» (биты SecondBackgroundColor и Rotation — один бит) → задавать вместе.
  • v14.10обои падали TypeInitializationException (статик-поля в неверном порядке) → Lazy<>.
  • v14.11500-е на логине/DH (InitPasskeyLogin ретраился, GetDhConfig) → корректная RPC-ошибка / dhConfigNotModified.
v13Создание групп, голосование, язык на клиенте11.08.2026
  • Закрыты серверные баги создания группы: подхват аватара при создании, появление группы у приглашённых, счётчик онлайна.
  • Голосование с множественным выбором перестало перезатирать голоса (ключ голоса теперь учитывает вариант) — голосующий виден на каждом выбранном пункте.
  • Впервые заработала доставка языкового пака на клиент (сервер намертво отдавал версию пака 0 → клиент никогда не обновлял язык); кэш языков стал грузиться и в командном сервисе.
Подверсии9
  • v13.1эмодзи/стикеры не показывались в пикере создания группы (GetDefaultGroup/ProfilePhotoEmojis = []) → отдают StatusAssets.Items.
  • v13.2аватар не подхватывался при создании группы (EditChatPhotoHandler = NotImplementedException) → реализован.
  • v13.3tdesktop не получал созданный чат, аватар отбрасывался (CreateChatHandler возвращал null!) → синтетический TChat в ответе.
  • v13.4группа не появлялась у приглашённых (accessHash==0 отбивался до проверки членства) → AccessHashHelper пускает участника.
  • v13.5счётчик «в сети» не считался (GetOnlinesHandler заглушка) → реализован.
  • v13.6мультивыбор в опросе перезатирал голоса (readmodel без Option в ключе) → ключ pollId_voter_OPTION.
  • v13.7клиент никогда не обновлял язык (getConfig отдавал LangPackVersion=0 намертво) → версия из GetAllLanguagesQuery.
  • v13.8langpack-RPC в CommandServer давал пустоту (кэш языков грузился только в Query) → загрузка языков и в command.
  • v13.9«фантомная запятая» в подзаголовке группы (RU-плюралы members/online с null-формами) → заполнены One/Few/Many/Other.
v12Загрузка файлов, живые группы, поиск людей23.07.2026
  • Реализована приёмка файлов с клиента по частям (saveFilePart/saveBigFilePart были заглушками) — разблокированы все клиентские загрузки: аватары, фото, файлы.
  • Групповые сообщения теперь доставляются живьём (fan-out по участникам канала из read-модели), а не только после перезапуска.
  • Починены зависания истории групп и getDifference, убран 500-й в поиске по опросам.
  • Поиск людей при добавлении в группу: снят минимум длины и включён поиск не-контактов (в новом мессенджере все друг другу не контакты).
Подверсии9
  • v12.1все клиентские загрузки (аватары/фото/файлы) не сохранялись (saveFilePart/saveBigFilePart — заглушки, file-server видел 0 байт) → аккумулятор частей UploadPartStore.
  • v12.2десктоп не получал групповые апдейты live (MessageSender2 для Channel/Chat делал return) → fan-out по участникам канала.
  • v12.3веб вис на «Updating», ломался весь пайплайн апдейтов (в хранимый media опроса попадал TInputPollAnswer) → конверсия + чистка 14 записей в БД.
  • v12.4история групп с опросом висла (рассинхрон раскладки pollAnswerVoters сервер↔webk, не ставился flags.2) → SetBit(2) всегда + порядок полей.
  • v12.5открытие группы с опросом давало 500 (SearchHandler не знал TInputMessagesFilterPoll) → добавлен case.
  • v12.6поиск людей не находил не-контактов и требовал ≥5 символов → минимум 1 + EnableSearchNonContacts=true.
  • v12.7глобальный поиск не работал для кириллицы (токенизатор хешировал только целые ASCII-слова) → символьные 3-граммы (любой язык, подстрока, регистр).
  • v12.8токены сообщений не индексировались (QueuedCommandExecutorBackgroundService<MessageToken> не зарегистрирован → очередь не сливалась) → зарегистрирован + бэкфилл.
  • v12.9эмодзи-статусы были фальш-заглушками (GetDefaultEmojiStatuses/UpdateEmojiStatus) → реализованы end-to-end.
v11Опросы: серверная сериализация голосов17.07.2026
  • Исправлена сериализация результатов опроса (TPollAnswerVoters) — из-за ошибочного флага падал любой опрос с голосами (и в истории, и в пуше). Голосование поехало.
Подверсии1
  • v11.1любой опрос с результатами падал при сериализации (NRE в TPollAnswerVoters — генератор сделал voters флаговым + фантомный RecentVoters) → voters безусловно, RecentVoters убран.
v10Реакции сохраняются в истории14.07.2026
  • Серверный конвертер сообщений перестал терять реакции при отдаче истории (раньше перенос был закомментирован из-за несовпадения типов) — реакции на старых сообщениях больше не пропадают после перезапуска клиента.
Подверсии1
  • v10.1реакции пропадали после перезапуска клиента (MessageMapper не переносил Reactions в TL — строки закомментированы из-за типов) → раскомментировано + хелпер BuildReactions.
v9Отправка стикеров + оригинальные реакции Telegram13.07.2026
  • Починена отправка стикера (обработка TInputMediaDocument → сохранение медиа) — стикеры теперь и показываются, и сохраняются в переписке.
  • Набор реакций заменён на оригинальные Telegram-реакции (73 штуки, TGS-анимации), вытянутые по MTProto; добавлен серверный загрузчик ReactionAssets.
Подверсии1
  • v9.1отправка стикера давала пустой бабл (Media:null, сервер не обрабатывал TInputMediaDocument) → CreateStickerMediaAsync + IMongoDatabase в CommandServer.
v8Реакции и стикеры на десктопе (серверный фикс)13.07.2026
  • Найдена единая первопричина: сервер отдавал все документы с date=0, из-за чего десктоп молча их игнорировал — проставлен корректный date у всех документов.
  • Реализован GetCustomEmojiDocumentsHandler, проставлен installed_date наборам, гарантированы ненулевые размеры стикеров.
  • Реакции и стикеры стали видны на десктопе без пересборки клиента.
Подверсии5
  • v8.1RabbitMQ ушёл в memory-alarm (354938 осиротевших amq.gen-очередей от переподключений) → шина стояла, ключ не долетал до session, десктоп лупил реконнект → reset + пересоздание юзера + policy cosmogram-antileak.
  • v8.2десктоп ~20/с дёргал getCustomEmojiDocuments и получал пусто (заглушка []) → реализован (16 webp-иконок), шторм в 0.
  • v8.3на десктопе не рисовались реакции/стикеры (все документы шли с date=0 → tdesktop делал ранний return) → проставлен date у всех.
  • v8.4tdesktop стирал набор стикеров до отрисовки (нет installed_date) → проставлен у дескриптора набора.
  • v8.5стикеры с нулевыми размерами «разжаловывались» → гарантия w/h (→512).
v7Живые пуши + устойчивые ключи + реакции/стикеры01.07.2026
  • Поднята доставка апдейтов server→client в реальном времени (раньше не была подключена вообще): входящие сообщения и статусы прочтения прилетают моментально, а не по опросу.
  • Ключи авторизации переживают рестарт (upsert в Mongo) — перезапуск сервера больше не разлогинивает клиентов; реализован BindTempAuthKeyHandler (PFS для десктопа).
  • Реакции: полный серверный CQRS (постановка/снятие, набор с webp-иконками). Стикеры: импортированы 9 паков (422 стикера), серверное хранилище и читающие хендлеры.
Подверсии4
  • v7.1десктоп застревал на «Next» после хендшейка (BindTempAuthKeyHandler — заглушка) → реализован (temp→perm PFS).
  • v7.2входящие и статусы прочтения были мертвы (real-time push server→client не подключён, только опрос) → MessageSender2 как data-processor + SessionPushEventHandler + hosted-service.
  • v7.3любой рестарт session разлогинивал клиентов (NOAUTHKEY, ключи не персистились) → upsert authKey в Mongo.
  • v7.4реакции не ставились (SendReactionHandler был throw) → реализован полный CQRS реакций.
v6Аудит безопасности + языки интерфейса на сервере01.07.2026
  • Дефолтный публичный RSA-ключ auth-сервера заменён на свой (закрыт риск подмены/MITM), синхронно обновлён ключ в клиенте.
  • redeploy.sh и apply-settings.sh переписаны на безопасную выкатку: staging → health-probe → авто-откат; mongod получил авто-рестарт (иначе падение Mongo роняло весь стек в краш-луп).
  • На сервер залиты русский и английский языки интерфейса (серверный импортёр langpack), удалён мёртвый архив donor/ (854 МБ), урезаны логи journald.
  • Починен показ аватара в списке чатов (обработка TInputPeerPhotoFileLocation).
Подверсии7
  • v6.1дефолтный публичный RSA-ключ auth (риск MITM) → заменён своим 2048-бит.
  • v6.2падение Mongo давало вечный краш-луп всех 6 сервисов (Restart=no) → Restart=on-failure.
  • v6.3redeploy рапортовал «OK» даже на битой сборке (проверял только is-active) → безопасная выкатка с health-probe и авто-откатом.
  • v6.4молчаливый рассинхрон схемы client/server (document#8fd4c4d8) → guard в генераторе (блок при UNPARSED>0).
  • v6.5аватары не показывались у юзеров, вошедших до фикса аватаров → фоновый AvatarBackfillHostedService.
  • v6.6аватар собеседника пустой в списке чатов (FileMessageProcessor не знал TInputPeerPhotoFileLocation) → добавлен кейс.
  • v6.7интерфейс оставался на английском (langpack пуст, LANG_PACK_INVALID) → залит русский+английский пак.
v5Аватары из Iriska + ребрендинг сервера30.06.2026
  • Профильное фото пользователя подтягивается из Iriska: сервер скачивает байты аватара и сохраняет как фото профиля (для новых юзеров сразу, для существующих — фоновым бэкафиллом).
  • Приветственное сообщение и служебный юзер 777000 переименованы в Cosmogram; превью ссылок отдают SiteName «Cosmogram».
  • Введён единый человекочитаемый конфиг settings.conf → генератор runtime.env для всех сервисов.
Подверсии2
  • v5.1file-server падал на CreateFileCommand (нет EventFlow command-стека) → обернули публикацию в try/catch, аватар сохраняется.
  • v5.2переименование юзера через сидер падало DuplicateOperationException → уникальный SourceId.
v4TL-схема пересобрана + выдача медиа30.06.2026
  • Из серверной схемы (источник истины layer 224) сгенерирована клиентская TL-схема — 971 конструктор, ноль ошибок «constructor not found», списки диалогов и чатов грузятся.
  • Реализована серверная выдача медиа (upload.getFile): gRPC-запрос к файловому серверу и сборка через MediaHelper.
Подверсии2
  • v4.1списки диалогов не рисовались: рассинхрон схемы 223↔224 (37 конструкторов изменились) → пересобрали клиентскую схему, ноль «constructor not found».
  • v4.2шрифты и ассеты отдавались как index.html (vite не копировал public/) → докладка public→dist.
v3Переезд на нативный systemd (Docker убран)30.06.2026
  • Все 6 сервисов движка переведены в systemd-юниты, инфраструктура (Mongo/RabbitMQ/Redis) поднята нативно, данные Mongo перенесены dump→restore.
  • session- и file-server реконструированы из декомпиляции (по символам Native-AOT образов) — стали полноценными редактируемыми исходниками, которые можно править и пересобирать.
  • Введён быстрый цикл деплоя: dotnet publish → рестарт сервиса.
Подверсии2
  • v3.1после переезда SSO-логин падал PHONE_NUMBER_INVALID (Iriska-переменные не попали в env) → добавили в cosmogram.env.
  • v3.2auth-ключ и медиа-хранилище (хардкод /app/uploads) не переносились сами → извлекли ключ из образа, скопировали uploads.
v2Вход через аккаунт Iriska (SSO)29.06.2026
  • Iriska стала провайдером личности: поднят её API /api/cosmogram/sso (вход по email+паролю, защита секретным заголовком).
  • В движке написан IriskaSsoService и переписаны серверные хендлеры входа (sendCode/signIn) — родной вход по телефону/коду заменён на Iriska.
  • Новые пользователи заводятся автоматически (синтетический «номер» 99<id>), починен сидер служебных юзеров (в т.ч. 777000).
  • Отправка и приём сообщений подтверждены на своём стеке — ядро мессенджера ожило.
Подверсии3
  • v2.1Iriska отбивала запросы 403 (её IP-allowlist) → добавили IP сервера в allowlist.
  • v2.2служебные юзеры (777000/Support/Anonymous) не создавались (сидер не реализовывал IDataSeeder) → добавили интерфейс.
  • v2.3клиент падал на passkey-кнопке (InitPasskeyLogin не реализован) → сделали SSO-форму дефолтным экраном.
v1Ядро MTProto собрано, движок поднят29.06.2026Старт проекта
  • Разобрали форк MyTelegram (C#/.NET, event-sourcing + CQRS + саги) и подняли весь стек движка: MongoDB, Redis, RabbitMQ и микросервисы (auth/gateway/session/command/query/file).
  • Заработал полный крипто-хендшейк MTProto от начала до конца (RSA + Диффи-Хеллман) — в логах «authKey created successfully».
  • Шлюз поднялся на layer 224, принимает MTProto-транспорт по TCP и WebSocket; недостающие в опенсорсе session- и file-server взяты из публичных образов.
  • Все дефолтные/публичные секреты (RabbitMQ, MinIO, ключи шифрования сообщений) заменены на свои.
  • Побеждён критический баг сборки: без пина компилятора Roslyn на 4.14 кодогенератор команд/событий не запускался (сотни ошибок).
Подверсии3
  • v1.1сборка движка падала (кодогенератор событий не грузился, ~457 ошибок) → понизили Roslyn 5.3→4.14.
  • v1.2наши command/query не читали события session (version-skew, краш в сериализаторе) → откат на тег v0.40.224.502 и повторное наложение правок.
  • v1.3auth-server оставался закрытым дефолтным образом → пересобрали, сохранив RSA-ключ из оригинала.
Версии клиентских приложений Cosmogram (Windows, macOS, Linux, Android).
v1.2.1224.09.2026Актуальная
  • Эмодзи-статус группы не пропадает: установленный статус группы теперь сохраняется — раньше он исчезал при переходе в другой чат и обратно.
  • Убраны лишние пункты оформления группы: «Фоновый эмодзи» и «Набор эмодзи группы» скрыты — этих функций нет в оригинальном Telegram.
  • Обновление десктопа (Windows, macOS, Linux) прилетает по воздуху.
v1.2.1124.09.2026
  • Обои для групповых чатов: теперь в группах и каналах доступна вся галерея обоев (как в личных чатах), а не только темы оформления. Каждый участник может выбрать свой фон группы.
  • Настоящие обои и темы Telegram: галерея обоев и темы оформления приведены к оригинальному набору Telegram.
  • Убраны бейджи «НОВОЕ» в настройках оформления.
  • Обновление десктопа (Windows, macOS, Linux) прилетает по воздуху.
v1.2.1023.09.2026
  • Плавнее и чётче камера в звонках 1-на-1: снят внутренний потолок битрейта камеры и включён режим удержания частоты кадров (30 кадров/сек) — как в групповых звонках. Под нехваткой интернет-канала клиент чуть снижает разрешение, но не «фризит». Картинка с камеры в личных звонках стала заметно живее и чётче.
  • Обновление всех платформ (Windows, macOS, Linux, Android) прилетает по воздуху.
v1.2.923.09.2026
  • Демонстрация экрана в звонках 1-на-1 на macOS теперь видна собеседнику: устранён баг, из-за которого показ экрана с Mac не доходил до второй стороны, а после него переставала передаваться и камера. (На Windows это работало и раньше.)
  • Обновление всех платформ (Windows, macOS, Linux, Android) прилетает по воздуху.
v1.2.823.09.2026
  • Плавная картинка с камеры в групповых звонках: убраны подвисания и рывки видео. Под нехваткой интернет-канала клиент теперь держит 30 кадров/сек, при необходимости чуть снижая разрешение, — вместо прежних «фризов» на полном разрешении. Демонстрация экрана по-прежнему держит разрешение (для читаемости текста).
  • Обновление всех платформ (Windows, macOS, Linux, Android) прилетает по воздуху.
v1.2.723.09.2026
  • Групповой звонок подключается сразу после перезапуска приложения: устранено «вечное подключение» при самом первом входе в звонок после запуска клиента (гонка при подписке на события звонка на «холодном старте»).
  • Обновление всех платформ (Windows, macOS, Linux, Android) прилетает по воздуху.
v1.2.622.09.2026
  • Резко чётче видео в групповых звонках: сняты внутренние потолки качества кодирования — камера и демонстрация экрана передаются в полном разрешении одним потоком, а не ужатой копией. Картинка «камера Mac → Windows» и трансляция экрана стали заметно чётче.
  • Автоматическое переподключение к звонку: если связь в групп-звонке оборвалась, клиент сам восстанавливает соединение вместо зависания на «Подключение…».
  • Обновление всех платформ (Windows, macOS, Linux, Android) прилетает по воздуху.
v1.2.522.09.2026
  • Демонстрация экрана — ещё чётче: в звонках 1-на-1 и в групповых поднято качество трансляции экрана. Под нагрузкой картинка держит разрешение (жертвуя плавностью, а не чёткостью) — текст остаётся читаемым.
  • Групповой звонок надёжнее создаётся: устранено редкое «вечное подключение» при создании второго звонка подряд.
v1.2.422.09.2026
  • Групповые звонки — «завершить для всех» только у создателя: галочка завершения звонка для всех участников теперь показывается лишь тому, кто создал звонок.
  • Чётче демонстрация экрана в группах: поднят битрейт трансляции экрана в групповых звонках.
v1.2.322.09.2026
  • macOS: стабильная подпись приложения: клиент теперь подписан постоянным сертификатом. Системное разрешение «Запись экрана» (нужно для демонстрации экрана в звонках) больше не слетает при обновлениях — раньше после каждого апдейта его приходилось выдавать заново.
v1.2.221.09.2026
  • Чёткая демонстрация экрана в звонках: убрано «мыло» — экран собеседника передаётся в полном разрешении и текст читаем (раньше экраны 1440p+ ужимались до 720p). Изображение становится чётким с первых секунд.
v1.2.117.09.2026
  • Надёжный выход из аккаунта: устранено завершение клиента с ошибкой при выходе (очистка данных выполнялась слишком рано, в момент закрытия сессии) — теперь выход всегда плавный.
Подверсии1
  • v1.2.1на части систем клиент мог закрыться с ошибкой при выходе из аккаунта → очистка данных отложена до завершения закрытия сессии, выход стал плавным. Проверено на боевых клиентах: блокировка сотрудника → его десктопы (Windows/macOS) выходят на экран входа за ~5 секунд с очисткой локальных данных.
v1.2.016.09.2026
  • Полная очистка локальных данных при ЛЮБОМ выходе из аккаунта: при выходе, блокировке или завершении сессии стираются локальные ключи авторизации И скачанные из чатов файлы в каталоге приложения.
  • Срабатывает по факту появления окна авторизации (каким бы путём туда ни попали), поэтому повторный вход всегда идёт с чистого состояния — со свежим ключом.
  • Не затрагивает добавление второго аккаунта в клиент (данные активного аккаунта не трогаются).
v1.1.915.09.2026
  • Безопасность: при выходе из аккаунта, блокировке, «выйти со всех устройств» или завершении сессии — полностью удаляются локальные данные (tdata: ключи/сессия) И кеш скачанных из чатов файлов в каталоге приложения. Цель — у заблокированного/уволенного сотрудника не остаётся локальных материалов на диске.
  • Устранена петля повторной авторизации при «мёртвом» ключе: когда сервер подтверждает уничтожение ключа — клиент чисто выходит на экран входа вместо бесконечных попыток переподключения.
v1.1.815.09.2026
  • «Активные сеансы»: человекочитаемые названия устройств (Desktop Win/Mac/Web + версия), убрана строка «Test Country».
  • Раздел «Конфиденциальность»: убраны неприменимые пункты (облачный пароль, код-пароль, чаты с незнакомцами, автоархив).
  • Поле смены @username отображается, но некликабельно (ник задаётся в панели Iriska).
  • Телефонный номер скрыт в карточке профиля.
v1.1.707.09.2026
  • Android: в видеозвонках с веб-клиентом на Safari (Mac, iPhone, iPad) теперь принимается видео собеседника — раньше картинка застывала на первом кадре или не появлялась. Аппаратный видео-декодер телефона не справлялся с потоком Safari → приложение переведено на программный декодер. Обновление прилетает по воздуху.
  • macOS: устранён вылет приложения при входящем звонке с Android (гонка в служебном таймере звонка). Обновление прилетает по воздуху.
  • Обновление касается Android и macOS; Windows / Linux — на прежних версиях.
v1.1.607.09.2026
  • macOS и Windows: исправлен вход. При переходе «назад → Начать общение» открывалась старая форма входа Telegram (QR-код / телефон) вместо фирменной формы Cosmogram (вход по email и паролю) — теперь всегда открывается правильная форма. Заодно дочищен ребрендинг: заголовок окна входа и системные уведомления показывали «Telegram Desktop» → «Cosmogram».
  • Android: в шапке чата вместо имени/ника собеседника мог показываться номер телефона (например «+992 0») — для пустого имени приложение по-старому подставляло телефон. Cosmogram — мессенджер без телефонов, поэтому теперь показывается @ник, а затем и настоящее имя.
  • Обновление всех трёх платформ (macOS, Windows, Android) прилетает по воздуху; Linux остаётся на 1.1.3 и догонит номер при следующей правке.
v1.1.506.09.2026
  • macOS: видео с Mac-десктопа на веб-клиент наконец отображается корректно. Mac кодировал видео в профиле H.264 High, который веб-клиент на общем видео-канале не декодировал (экран оставался чёрным при рабочем HEVC→H.264 из 1.1.4) → энкодер Mac переведён на профиль Baseline, совместимый с браузером (как на Windows). Обновление прилетает по воздуху.
  • Обновление касается только macOS; версии Windows / Linux / Android остаются на 1.1.3 и догонят номер при следующей правке.
v1.1.405.09.2026
  • macOS: видео с Mac-десктопа на веб-клиент переведено с HEVC на H.264 (браузеры HEVC не декодируют). Первый шаг — полностью проблему закрыла 1.1.5.
  • Обновление касается только macOS; версии Windows / Linux / Android остаются на 1.1.3 и догонят номер при следующей правке.
v1.1.327.08.2026
  • Единое обновление всех клиентов «по воздуху». Windows, macOS и Linux обновляются до 1.1.3 сами, без ручной загрузки.
  • Стабилизация и общий прогон механизма автообновления на всех платформах.
Подверсии2
  • v1.1.3.1macOS: обновление «по воздуху» молча не применялось (в проверке обновления был ещё один хардкод имени «Telegram.app») → правка на Cosmogram.app + миграционный пакет с двойным именем; первое успешное OTA 1.1.2→1.1.3.
  • v1.1.3.2Android: звонок не поднимался, когда телефон свёрнут/заблокирован (система глушила уведомление в Doze) → входящий звонок поднимается прямо из пуша полноэкранным вызовом со звуком, ответ/сброс синхронизируются между устройствами.
v1.1.227.08.2026
  • Android: push-уведомления — сообщения и звонки теперь приходят, даже когда приложение свёрнуто или было выгружено системой (раньше могли «долетать» с задержкой при переподключении).
  • macOS: починено автообновление — обновления теперь корректно устанавливаются «по воздуху» (был не переименован системный модуль обновления).
Подверсии3
  • v1.1.2.1Android: свёрнутое/выгруженное приложение не получало пуш, пока онлайн десктоп → пуш шлётся независимо от других устройств.
  • v1.1.2.2Android: Firebase не совпадал с реальным пакетом сборки приложения → заведён корректный пакет (пуши стали доходить).
  • v1.1.2.3Android: после переустановки возвращались старые чаты (Google-бэкап восстанавливал локальную базу) → системный авто-бэкап отключён.
v1.1.126.08.2026
  • 🐧 Первый клиент для Linux (Debian/Ubuntu, x86_64) — с брендингом, входом по SSO и автообновлением.
  • Android: доведена чистка интерфейса — убраны телефон и «О себе» из редактирования профиля, кнопка «Пригласить друзей» в контактах.
Подверсии3
  • v1.1.1.1Linux: собран первый клиент (сборка в контейнере, статическая) с автообновлением по воздуху.
  • v1.1.1.2Android: карточка «Новый контакт» переделана — Имя/Фамилия и поле @username вместо телефона; убраны QR и синхронизация контактов.
  • v1.1.1.3Android: убран красный бейдж «!» на вкладке «Контакты».
v1.1.026.08.2026Боевой релиз
  • 🎉 Переход с бета- на боевую версию. Cosmogram выходит из тестового режима.
  • Автообновление по воздуху — Windows и Android обновляются сами, без ручной загрузки.
  • Реакции в группах и отметки «кто прочитал» сообщение.
  • Звонок с новым контактом теперь создаёт чат и отмечается в истории.
  • Android: полный русский язык с переключением, фирменный брендинг, вырезаны неиспользуемые функции Telegram (истории, приглашения, запрос контактов, QR-вход и др.).
  • Обновлены клиенты: Windows, Android, macOS.
Подверсии2
  • v1.1.0.1Android: из настроек вырезаны Premium, TON-кошелёк, Business, «Отправить подарок» и весь блок «Помощь».
  • v1.1.0.2Android: метка входа «Phone» → «Login» (единый вход по аккаунту, как в вебе и на десктопе).
v1.0.926.08.2026
  • Android: в выборе языка оставлены только русский и английский, переключение работает корректно.
  • Брендинг Cosmogram на всех экранах, подпись автора, версия 1.0.9.
Подверсии1
  • v1.0.9.1Подпись автора «© Created by Sali» проставлена на всех клиентах: меню (Windows/Linux), Dock (macOS), настройки (Android).
v1.0.824.08.2026
  • Почищены настройки приватности. Убраны пункты, которые предлагали функции, которых в Cosmogram нет.
  • Убраны: «Авторизованные сайты», «Номер телефона», «День рождения», «Подарки», «О себе» и «Сохранённая музыка».
  • Убран раздел «Боты и сайты» целиком — вместе с «Удалить данные о платежах и доставке».
  • Убран раздел «Удаление аккаунта» — включая «При неактивности…».
Подверсии2
  • v1.0.8.1macOS: собрана первая полная сборка Cosmogram.app — вход по аккаунту (Login+пароль вместо телефона/QR), фиолетовая иконка, вырезаны «Пожаловаться»/Boost/«Подарок»/Premium, ники от 3 символов.
  • v1.0.8.2macOS: обновление не проходило проверку подписи («Signature verification failed») → согласованы ключи подписи со сборочным стендом.
Звонки19.08.2026Обновление сервиса
  • Заработали звонки и видеозвонки. Между всеми клиентами: приложение ↔ приложение и приложение ↔ веб-версия. Обновлять приложение не нужно.
  • Трансляция экрана — между приложениями на компьютере.
  • Веб-версия: исправлен пустой список чатов и загрузка анимированных стикеров и голосовых сообщений.
  • ⚠ В звонке между приложением и веб-версией трансляцию экрана пока не включайте — она не отображается у собеседника. Работаем над этим.
v1.0.718.08.2026
  • Короткие имена пользователей. Ник теперь можно занять от 3 символов вместо пяти.
  • Убрана полоска «Перевести на…» над чатом — перевода сообщений в Cosmogram нет, и полоска предлагала то, чего не существует.
  • Убраны подарки — пункт в меню собеседника и кнопка в профиле. Механики подарков у нас нет.
  • Убрана кнопка «Пожаловаться» — в личных чатах, группах и каналах.
v1.0.618.08.2026
  • Появился установщик. Cosmogram теперь ставится как обычная программа — с ярлыком на рабочем столе и в меню «Пуск», вместо распаковки архива.
  • Значок в трее стал фирменным — раньше рядом с часами висел белый силуэт, теперь наш фиолетовый логотип.
  • Наборы стикеров: исправлены пустые иконки в нижней ленте панели стикеров — превью показываются у всех наборов.
  • Из меню чата убран пункт «Проголосовать» — механика продвижения каналов у нас не используется.
  • В свойствах файла и в списке установленных программ приложение теперь называется Cosmogram, а не Telegram Desktop.
v1.0.512.08.2026
  • Из интерфейса полностью убран номер телефона — в настройках, в профиле и в карточке контакта. Поиск людей идёт по нику.
  • Передача прав на группу: окно закрывается сразу после подтверждения, а не после перехода в чат.
v1.0.411.08.2026
  • Аватар группы при создании. Раньше выбранная при создании картинка не сохранялась — теперь встаёт сразу, и загруженное фото, и эмодзи.
  • Группы создаются напрямую — исчезла промежуточная «пустая» группа, которая появлялась на секунду в списке чатов.
  • Заработало автоматическое обновление клиента: новые версии приходят сами, скачивать вручную больше не нужно.
v1.0.317.07.2026
  • Интерфейс настроек стал чище — убраны неиспользуемые пункты.
  • Убраны QR-коды и поле «Номер телефона».
  • Клик по номеру версии открывает эту страницу обновлений.
v1.0.217.07.2026
  • Опросы: исправлено голосование и отображение результатов.
  • Реакции теперь видны и на историях.
  • Ускорена проверка обновлений клиента.
  • Общие улучшения стабильности.
v1.0.114.07.2026
  • Первый публичный тестовый клиент для Windows.
  • Вход по единому аккаунту Cosmogram.
  • Чаты, реакции и стикеры.
  • Автоматическое обновление клиента.
Подверсии3
  • v1.0.1.1Экран входа переписан под единый аккаунт: вместо выбора страны/телефона/QR — поле «Login» и пароль (аккаунт Iriska).
  • v1.0.1.2Ребрендинг: Telegram.exe → Cosmogram.exe, фиолетовая иконка, заголовки окна и трея, ссылки — на Cosmogram.
  • v1.0.1.3Клиент просил вход при каждом запуске (сессия рвалась при перешифровке ключей) → привязка к постоянному ключу, вход держится.
Cosmogram · боевая версия