Changelog

Changelog

Every release of the Runnev API, newest first. The API version is reported by GET /v1/version; the current release is 1.6.2.

v1.6.2

Fixed

  • Corrected x-ratelimit-remaining accounting on the server-assigned publish path, which could under-report by one under concurrent writes.
  • A rare TLS session resumption edge case on the edge that could delay the first byte of a subscribe response by up to a second.
  • Documentation: the sequence window limit is 1024, not 1000 as an earlier version of the publishing guide stated.

v1.6.1

Fixed

  • SSE keepalive comment could be omitted for up to 30 seconds on streams that had just evicted a large batch; the timer is now reset correctly after eviction.
  • DELETE on an already-deleted stream now returns 404 consistently instead of an occasional 204.

v1.6.0

Added

  • Idempotency keys for the server-assigned publish path via an optional Idempotency-Key header, so /publish retries can be made safe without switching to explicit sequences.
  • x-runnev-cursor is now echoed on every publish response, including duplicates, so clients can advance state without reading the body.

Changed

  • The list endpoint's default limit is now 20 (was 25) to match the documented pagination convention.

v1.5.3

Fixed

  • Python SDK 1.5.3: the subscribe generator could raise on a socket read timeout during a legitimately idle stream; the read timeout is now set above the keepalive interval and a missed keepalive triggers reconnect instead.
  • Corrected Retry-After to be an integer number of seconds on all 429 responses.

v1.5.0

Added

  • Per-stream retention policies: max_bytes is now configurable at creation alongside retention_seconds, and both bounds are enforced independently.
  • GET /v1/streams/{id}/cursor for cheap cursor polling without opening a subscription.

Changed

  • Default max_bytes raised to 256 MiB from 128 MiB.

v1.4.2

Fixed

  • Go SDK v1.4.2: removed a blanket Client.Timeout that severed healthy subscribe connections; the subscribe path now sets only ResponseHeaderTimeout.
  • HTTP/3 responses omitted x-request-id on the health endpoint.

v1.4.0

Added

  • Official Go SDK, github.com/runnev/runnev-go.
  • HTTP/3 on the edge for all endpoints.

Changed

  • Subscribe responses now include x-accel-buffering: no unconditionally after we found an nginx in a customer path buffering batches.

v1.3.1

Fixed

  • Base64 padding on raw batches delivered over SSE could be truncated for payloads whose length was not a multiple of three.

v1.3.0

Added

  • Official Python SDK, runnev.
  • Last-Event-ID request header is now honoured on reconnect, so the browser's native EventSource resumes correctly.

v1.2.0

Added

  • Cursor resume and single-batch replay via GET /v1/streams/{id}/batches/{seq}.
  • ?cursor= on subscribe accepts head, 0, or any sequence.

v1.1.0

Added

  • Raw binary batch mode: streams created with "mode":"raw" accept application/octet-stream and are stored verbatim.

Changed

  • Publish body limit raised to 8 MiB from 4 MiB.

v1.0.0

Added

  • Public launch. Streams, explicit-sequence and server-assigned publishing, SSE subscribe, retention by time, and the JavaScript SDK.