Skip to content

hive-router-plan-executor 7.0.1 (2026-07-28)

Choose a tag to compare

@knope-bot knope-bot released this 28 Jul 19:22
595b767

Fixes

Regular queries no longer count toward max_long_lived_clients

The long-lived client limit (traffic_shaping.router.max_long_lived_clients) classified requests from the Accept header alone, so clients that advertise streaming support on every operation (e.g. urql sends ..., text/event-stream, multipart/mixed) had all of their queries and mutations counted against — and, past the limit, rejected by — the limit.

Long-lived clients are now counted where they actually become known:

  • WebSocket connections are still reserved at upgrade time.
  • HTTP subscriptions reserve a slot once the parsed operation is known to be a subscription — still before any planning/execution work — and release it when the client stream ends.

Regular queries and mutations never count toward the limit, regardless of their Accept header, matching the documented behavior. Over-limit rejections keep the same response (503, Retry-After: 5, Too many long-lived clients) and now happen inside the request span, so they are visible to tracing.

Replaced logging request-id generator

Version 0.0.85 introduced new logging runtime that uses Sonyflake crate to generate request-id in requests that doesn't have it passed via HTTP headers.

The Sonyflake runtime can fail on some OS configurations.

This change replaces the Sonyflake runtime with uuid generator, that's more fail-safe.