- Telegram постепенно двигает MTProto: новые transport-флаги, session-string encoding изменения, rate-limit стандартизация.
- Большинство изменений — обратно-совместимые, но с deprecation window. Если не мигрируешь вовремя — клиент начинает получать warning'и, потом отказы.
- Ключевые зоны риска:
auth.importAuthorizationустаревает, новые flood headers, изменения вchannels.GetParticipantspagination. - Библиотеки (telethon / pyrogram) обновляются с лагом 2-4 недели после ANO. Если используешь свой fork — следи сам.
- TG:ON обновляется автоматически на стороне сервиса — клиенты не чувствуют миграций.
Telegram публикует изменения MTProto через API Layers. Каждый layer — инкремент: добавляются методы, помечаются deprecated, меняется схема некоторых типов. Текущий layer (по состоянию на момент публикации статьи) — ~180.
Большинство обновлений — мягкие. Telegram редко ломает обратную совместимость в один день. Типичный flow: новый метод появляется → старый помечается deprecated → deprecated работает ещё 6-12 месяцев → потом удаляется.
Но в 2026 ожидается крупная consolidation — одновременно несколько переходов, которые суммарно сделают старые самописные клиенты неработоспособными. Вот что конкретно.
Session-string v2: что меняется
Session-string — это сериализованный auth-ключ, с которым твой клиент входит в Telegram без повторной авторизации. Исторически разные клиенты использовали разные форматы: telethon — pickle+base64, pyrogram — custom binary.
Telegram двигается к стандартизированному формату с обратной совместимостью. Новый формат содержит:
- Version tag (1 байт) — для future migrations
- DC id + auth_key (256 байт) — как раньше
- Device fingerprint metadata — app_version, device_model, system_version хранятся в session-string (не задаются per-call)
- Creation timestamp — для detection aging
Что ломается: клиенты, которые генерировали session-string раньше и передавали fingerprint в каждом подключении, должны теперь включать fingerprint в сам session. Иначе — Telegram возвращает AUTH_KEY_UNREGISTERED.
Новые flood headers: более детальное rate-limiting
Классический FLOOD_WAIT_X — единственный способ Telegram сказать «подожди». В новой схеме появляются дифференцированные headers:
| Header | Что означает | Mitigation |
|---|---|---|
FLOOD_WAIT_X | Общий rate limit (как раньше) | Wait X seconds |
FLOOD_PREMIUM_WAIT_X | Limit на actions для premium-контекста | Apply to premium targets |
FLOOD_PEER_WAIT_X | Limit на сообщения конкретному peer-у | Pause for that peer only |
SLOW_MODE_WAIT_X | Ограничение в группе со slow mode | Respect group's slow mode |
Разделение даёт Telegram возможность таргетированно замедлять без блокировки всего аккаунта. Для клиентов это означает: нужно различать типы FloodWait и соответственно обрабатывать.
Endpoints, которые уходят
По наблюдаемым паттернам deprecation, следующие методы в зоне риска:
auth.importAuthorization— используется для переноса сессии между DC. Заменяется на server-side автоматический DC-аффинити.channels.GetParticipantsс фильтромChannelParticipantsRecent— возвращал последних N участников. Заменяется наchannels.GetStatisticsдля агрегаций.messages.SearchGlobal— глобальный search по всем чатам. Ужесточается — будет доступен только Premium-аккаунтам.
Если используешь channels.GetParticipants для парсинга — готовься к ограничениям. Возможный workaround: пулить участников через discussion group (если есть) или через GetMessageReactionsList.
Что делать клиентам на telethon / pyrogram
Если у тебя свой fork одной из популярных Python-библиотек:
- Обнови до latest — автор библиотеки обычно патчит новые layer за 1-3 недели. Следи за GitHub releases.
- Мигрируй session storage — если ты кеширует session-strings в своей БД, нужно перегенерировать все сессии под v2 формат.
- Различай FloodWait subtypes — вместо одной
except FloodWaitиспользуй 3-4 разных с соответствующим handling. - Логируй warning'и — Telegram часто шлёт non-fatal warnings за deprecated methods. Если их не логируешь — пропустишь предстоящий deprecation.
Если TDLib
Обновление TDLib — автоматически тянет все schema changes. Обычно просто git pull && rebuild. Изменения в session format — чаще всего прозрачные (библиотека делает re-encoding в фоне).
Если SaaS
Вопрос к твоему вендору: «когда планируется миграция на новый MTProto layer?». Нормальный ответ — «уже сделано, клиенты не заметили». Если ответ «когда-нибудь в будущем» — флаг.
Почему нас не волнуют миграции
У нас MTProto-клиент написан на уровне TDLib custom fork + собственный schema layer. Изменения API обрабатываются централизованно:
- Мониторим Telegram GitHub и core.telegram.org ежедневно
- Бета-тестируем новые layer на тест-аккаунтах за 1-2 недели до прод выката
- Push обновлений клиентам — прозрачно, через автообновление desktop-приложения
- Session storage на нашей стороне — переконвертация при первом коннекте
Для пользователя это значит: ты не думаешь о MTProto. Telegram меняет layer → ты этого не замечаешь.
TG:ON для macOS · Windows · Linux
Desktop-приложение, 160 MB. Работает локально, твои ключи остаются у тебя. 3 дня триала без карты.
Скачать бесплатноMTProto — наша забота.
Пользуйся пайплайном.
TG:ON обновляется автоматически. Не отвлекаешься на session-string v2, новые flood headers, deprecated endpoints. 3 дня триала — проверь стабильность.
Начать триал