Журнал изменений
Журнал изменений
Каждый релиз API Runnev, новые сверху. Версия API сообщается через
GET /v1/version; текущий релиз — 1.6.2.
v1.6.2
Исправлено
- Исправлен учёт
x-ratelimit-remainingна пути публикации с серверным номером, который при параллельных записях мог занижать значение на единицу. - Редкий крайний случай возобновления TLS-сессии на границе сети, который мог задерживать первый байт ответа подписки до секунды.
- Документация: лимит окна номеров равен 1024, а не 1000, как утверждала более ранняя версия руководства по публикации.
v1.6.1
Исправлено
- Keepalive-комментарий SSE мог не отправляться до 30 секунд на потоках, только что вытеснивших крупный пакет; теперь таймер корректно сбрасывается после вытеснения.
DELETEуже удалённого потока теперь стабильно возвращает404вместо эпизодического204.
v1.6.0
Добавлено
- Ключи идемпотентности для пути публикации с серверным номером через необязательный
заголовок
Idempotency-Key, так что повторы/publishможно сделать безопасными, не переходя на явные номера. x-runnev-cursorтеперь возвращается в каждом ответе на публикацию, включая дубликаты, так что клиенты могут продвигать состояние, не читая тело.
Изменено
- Значение
limitпо умолчанию у эндпоинта списка теперь 20 (было 25), чтобы соответствовать документированному соглашению о пагинации.
v1.5.3
Исправлено
- Python SDK 1.5.3: генератор подписки мог выбрасывать исключение при таймауте чтения из сокета на законно простаивающем потоке; теперь таймаут чтения задан выше интервала keepalive, а пропущенный keepalive вместо этого запускает переподключение.
- Исправлено значение
Retry-After— теперь это целое число секунд во всех ответах429.
v1.5.0
Добавлено
- Политики хранения на уровне потока:
max_bytesтеперь настраивается при создании наряду сretention_seconds, и обе границы применяются независимо. GET /v1/streams/{id}/cursorдля дешёвого опроса курсора без открытия подписки.
Изменено
- Значение
max_bytesпо умолчанию поднято до 256 МиБ со 128 МиБ.
v1.4.2
Исправлено
- Go SDK v1.4.2: убран общий
Client.Timeout, который обрывал здоровые соединения подписки; путь подписки теперь задаёт толькоResponseHeaderTimeout. - Ответы HTTP/3 не содержали
x-request-idна эндпоинте health.
v1.4.0
Добавлено
- Официальный Go SDK,
github.com/runnev/runnev-go. - HTTP/3 на границе сети для всех эндпоинтов.
Изменено
- Ответы подписки теперь безусловно включают
x-accel-buffering: noкак дружелюбную к стримингу подсказку для обратных прокси на пути.
v1.3.1
Исправлено
- Base64-дополнение сырых пакетов, доставляемых по SSE, могло обрезаться для полезных нагрузок, длина которых не кратна трём.
v1.3.0
Добавлено
- Официальный Python SDK,
runnev. - Заголовок запроса
Last-Event-IDтеперь учитывается при переподключении, так что нативный браузерныйEventSourceкорректно возобновляется.
v1.2.0
Добавлено
- Возобновление по курсору и повтор одного пакета через
GET /v1/streams/{id}/batches/{seq}. ?cursor=при подписке принимаетhead,0или любой номер.
v1.1.0
Добавлено
- Режим сырых бинарных пакетов: потоки, созданные с
"mode":"raw", принимаютapplication/octet-streamи хранятся дословно.
Изменено
- Лимит тела публикации поднят до 8 МиБ с 4 МиБ.
v1.0.0
Добавлено
- Публичный запуск. Потоки, публикация с явным номером и с серверным номером, подписка по SSE, хранение по времени и JavaScript SDK.