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-remainingaccounting 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.
DELETEon an already-deleted stream now returns404consistently instead of an occasional204.
v1.6.0
Added
- Idempotency keys for the server-assigned publish path via an optional
Idempotency-Keyheader, so/publishretries can be made safe without switching to explicit sequences. x-runnev-cursoris now echoed on every publish response, including duplicates, so clients can advance state without reading the body.
Changed
- The list endpoint's default
limitis 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-Afterto be an integer number of seconds on all429responses.
v1.5.0
Added
- Per-stream retention policies:
max_bytesis now configurable at creation alongsideretention_seconds, and both bounds are enforced independently. GET /v1/streams/{id}/cursorfor cheap cursor polling without opening a subscription.
Changed
- Default
max_bytesraised to 256 MiB from 128 MiB.
v1.4.2
Fixed
- Go SDK v1.4.2: removed a blanket
Client.Timeoutthat severed healthy subscribe connections; the subscribe path now sets onlyResponseHeaderTimeout. - HTTP/3 responses omitted
x-request-idon 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: nounconditionally 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-IDrequest header is now honoured on reconnect, so the browser's nativeEventSourceresumes correctly.
v1.2.0
Added
- Cursor resume and single-batch replay via
GET /v1/streams/{id}/batches/{seq}. ?cursor=on subscribe acceptshead,0, or any sequence.
v1.1.0
Added
- Raw binary batch mode: streams created with
"mode":"raw"acceptapplication/octet-streamand 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.