Skip to content

v1.2.0

Choose a tag to compare

@jdwyah jdwyah released this 08 Jul 15:18
· 39 commits to main since this release
  • init() warns when an explicit apiUrls disables failover. The default (and every domain /
    QUONFIG_DOMAIN-derived) API-URL list carries BOTH a primary and a secondary leg, and the SDK
    hedges/fails over between them (§5e). An explicit apiUrls (or the singular apiUrl alias)
    replaces that list wholesale, so a single-entry override silently dropped the secondary and
    disabled automatic failover. init() now logs a one-line WARN pointing the caller at the fix
    (pass both a primary and a secondary URL). The default two-leg list never warns. Diagnostic only;
    no behavior change, no new dependencies. New README Failover & QUONFIG_DOMAIN section documents
    the URL derivation and the failover model.
  • init() warns when timeout <= hedgeDelay. The per-leg fetch timeout must stay above
    hedgeDelay (default 2000ms): if it doesn't, the primary leg is aborted before the hedge timer
    can fire, so the parallel hedge (§5e) silently degrades to error-only sequential failover — the
    secondary is only contacted after the primary fully times out, never concurrently with a
    still-alive-but-slow primary. init() now logs a clear warning naming both effective values, and
    the timeout / hedgeDelay option jsdoc documents the invariant. Diagnostic only; no behavior
    change.
  • Telemetry upload timeout restored to 10s. 1.1.0's hedge lowered the shared per-request timeout
    to 3s for the eval fetch, which also silently clipped background telemetry POSTs from 10s to 3s
    (they shared one DEFAULT_TIMEOUT). Telemetry now uses its own TELEMETRY_TIMEOUT (10s), so a
    slow-but-alive telemetry endpoint no longer drops shape/example data that the eval-latency budget
    was never meant to govern. No API change; the timeout init option still overrides it.