Changelog
Release notes for the ManyCasts REST API, JavaScript SDK, and Python client. Versions follow Semantic Versioning. Dates are in UTC.
v2.4.1
Latest
March 15, 2026
Bug fixes
- Fixed intermittent latency spikes (>2 s) on the EU (eu-west-1) ingest cluster under sustained high load.
- Python SDK: resolved asyncio event loop conflict when initialising
manycasts.Clientinside an already-running loop (Python 3.12). - REST API:
PATCH /streams/{id}now correctly updatesmetadatafields withnullvalues (previously silently ignored). - JavaScript SDK: fixed a memory leak in the internal reconnect scheduler triggered after 50+ reconnect cycles.
New features
- Added Opus codec support at 320 kbps — set
codec: 'opus'withquality: 'high'. - REST API: all responses now include an
X-Request-IDheader for easier debugging and support escalations. - Dashboard: stream preview player now supports picture-in-picture mode on supported browsers.
v2.4.0
February 3, 2026
New features
- Stream metadata now supports multi-language fields: provide
title_en,title_ru,title_de,title_fralongside the defaulttitle. - Added Adaptive Bitrate (ABR) streaming for HTTP listeners — the player automatically selects the optimal quality layer.
- New
GET /streams/{id}/statsendpoint returning real-time listener count, geographic distribution, and average listen duration. - Webhook delivery log now visible in Dashboard with per-event retry history and raw request/response inspection.
Improvements
- Webhook delivery reliability improved: reduced duplicate delivery rate from ~0.8% to <0.1% via idempotency keys.
- Ingest handshake latency in
ap-southeast-1region reduced by 340 ms on average. - SDK:
client.streams.list()now accepts anAsyncIterable-based auto-pagination helper.
Deprecations
quality: 'ultra_low'is deprecated. Usequality: 'low'instead.ultra_lowwill be removed in v2.5.0.- The
GET /streams/{id}/viewer_countalias is deprecated in favour ofGET /streams/{id}/stats.
v2.3.2
Security
January 20, 2026
Security
- Fixed a token validation edge case in the OAuth 2.0 flow where a crafted
stateparameter could bypass CSRF protection in certain redirect configurations. CVE pending assignment. Upgrade strongly recommended.
Bug fixes
- JavaScript SDK: fixed a race condition in the reconnect logic that could cause two concurrent RTMP connections on unstable networks.
- Dashboard: stream preview now correctly loads on Safari 17+ (broken since v2.3.0 due to a HLS.js compatibility issue).
- REST API: pagination cursor was incorrect when combining
statusfilter withlimit=1.
v2.3.0
December 8, 2025
New features
- Listener analytics: real-time listener count and geographic distribution (country-level) now available on all plans.
- New
GET /streams/{id}/statsendpoint (note: promoted to stable in v2.4.0 after beta period). - Python SDK: full async/await support — all client methods are now coroutines when called on an async client instance.
- Podcast RSS feed now includes
<itunes:*>extension tags required by Apple Podcasts.
Changes
- Rate limit on paid plans increased from 100 to 500 requests per minute.
- Listener tokens now expire after 24 hours (previously 6 hours) to reduce re-authentication friction in long sessions.
v2.2.0
October 14, 2025
New features
- Initial release of the official Python client library (
pip install manycasts). - EU ingest region launched:
eu-west-1(Frankfurt). - Podcast episode scheduling: set a future
publishAttimestamp when callingPOST /podcasts/{id}/publish. - New
stream.errorwebhook event for ingest-side errors.
Bug fixes
- Fixed stream metadata not reflecting
PATCHchanges in some edge cases involving simultaneous writes from multiple API keys. - Corrected incorrect
Content-Lengthheader on large HLS segment responses.
v2.1.0
August 22, 2025
New features
- OAuth 2.0 Authorization Code flow — build integrations on behalf of other ManyCasts accounts. See the Authentication guide.
- Webhook signature verification via HMAC-SHA256. See the Webhooks guide.
- Improved CDN routing: global average HLS start latency reduced from 4.2 s to 1.8 s.
Changes
- JavaScript SDK migrated from CommonJS to ESM. CommonJS is still supported via the
require()interop build (@manycasts/sdk/cjs). - Publishable key prefix changed from
mc_pub_tomc_pk_for clarity. Old keys continue to work until December 2025.
История изменений
Описание выпусков REST API, JavaScript SDK и Python-клиента ManyCasts. Версии следуют Семантическому версионированию. Даты указаны в UTC.
v2.4.1
Актуальная
15 марта 2026
Исправления
- Исправлены периодические скачки задержки (>2 с) на инgest-кластере региона EU (eu-west-1) под устойчивой высокой нагрузкой.
- Python SDK: устранён конфликт с event loop asyncio при инициализации
manycasts.Clientвнутри уже запущенного цикла (Python 3.12). - REST API:
PATCH /streams/{id}теперь корректно обновляет поляmetadataсо значениемnull(ранее игнорировалось). - JavaScript SDK: исправлена утечка памяти во внутреннем планировщике переподключений, возникавшая после 50+ циклов reconnect.
Новые возможности
- Поддержка кодека Opus при 320 кбит/с — используйте
codec: 'opus'сquality: 'high'. - REST API: все ответы теперь содержат заголовок
X-Request-IDдля удобства отладки и обращений в поддержку. - Dashboard: предпросмотр потока поддерживает режим «картинка в картинке» в совместимых браузерах.
v2.4.0
3 февраля 2026
Новые возможности
- Метаданные потока теперь поддерживают несколько языков: укажите
title_en,title_ru,title_de,title_frнаряду с основным полемtitle. - Адаптивный битрейт (ABR) для HTTP-слушателей — плеер автоматически выбирает оптимальное качество.
- Новый эндпоинт
GET /streams/{id}/stats: количество слушателей в реальном времени, географическое распределение, средняя продолжительность прослушивания. - В Dashboard появился журнал доставки вебхуков с историей повторов и инспекцией запросов/ответов.
Улучшения
- Надёжность доставки вебхуков улучшена: частота дублирований снижена с ~0,8% до <0,1% благодаря ключам идемпотентности.
- Задержка установки соединения (handshake) в регионе
ap-southeast-1уменьшена в среднем на 340 мс. - SDK:
client.streams.list()теперь поддерживает автопагинацию черезAsyncIterable.
Устаревшее
quality: 'ultra_low'устарело. Используйтеquality: 'low'. Параметр будет удалён в v2.5.0.- Алиас
GET /streams/{id}/viewer_countустарел в пользуGET /streams/{id}/stats.
v2.3.2
Безопасность
20 января 2026
Безопасность
- Исправлен граничный случай в валидации токена OAuth 2.0: специально сформированный параметр
stateмог обойти защиту CSRF в определённых конфигурациях редиректа. CVE присваивается. Обновление настоятельно рекомендуется.
Исправления
- JavaScript SDK: исправлено состояние гонки в логике переподключения, допускавшее два одновременных RTMP-соединения на нестабильных сетях.
- Dashboard: предпросмотр потока теперь корректно работает в Safari 17+ (сломался в v2.3.0 из-за несовместимости с HLS.js).
- REST API: курсор пагинации работал неверно при совместном использовании фильтра
statusиlimit=1.
v2.3.0
8 декабря 2025
Новые возможности
- Аналитика слушателей: количество в реальном времени и географическое распределение (на уровне страны) доступны на всех тарифах.
- Новый эндпоинт
GET /streams/{id}/stats(переведён в статус stable в v2.4.0 по итогам бета-периода). - Python SDK: полная поддержка async/await — все методы клиента теперь являются корутинами при использовании асинхронного экземпляра.
- RSS-фид подкастов теперь включает теги расширения
<itunes:*>, необходимые для Apple Podcasts.
Изменения
- Лимит запросов на платных тарифах увеличен со 100 до 500 запросов в минуту.
- Срок действия токенов слушателей увеличен с 6 до 24 часов для снижения частоты повторной аутентификации в длительных сессиях.
v2.2.0
14 октября 2025
Новые возможности
- Первый выпуск официального Python-клиента (
pip install manycasts). - Запуск инgest-региона EU:
eu-west-1(Франкфурт). - Отложенная публикация эпизодов подкаста: укажите
publishAtс будущей временной меткой при вызовеPOST /podcasts/{id}/publish. - Новое событие вебхука
stream.errorдля ошибок на стороне ингеста.
Исправления
- Исправлено: метаданные потока не обновлялись после
PATCHв ряде граничных случаев при одновременных запросах с нескольких API-ключей. - Исправлен некорректный заголовок
Content-Lengthв ответах с большими HLS-сегментами.
v2.1.0
22 августа 2025
Новые возможности
- OAuth 2.0 (Authorization Code flow) — создавайте интеграции от имени других аккаунтов ManyCasts. См. руководство по аутентификации.
- Верификация подписи вебхуков через HMAC-SHA256. См. руководство по вебхукам.
- Улучшена маршрутизация CDN: среднемировая задержка старта HLS-воспроизведения снижена с 4,2 с до 1,8 с.
Изменения
- JavaScript SDK перешёл с CommonJS на ESM. CommonJS по-прежнему поддерживается через
@manycasts/sdk/cjs. - Префикс публичного ключа изменён с
mc_pub_наmc_pk_. Старые ключи продолжают работать до декабря 2025.