• v5.3.3 5bb1c96036

    v5.3.3
    All checks were successful
    CI / build-and-test (push) Successful in 2m40s
    CI / docker-build (push) Successful in 1m37s
    Stable

    joeyr released this 2026-10-10 00:13:38 -05:00 | 5 commits to main since this release

    A busy moment at Anthropic or a stalled web page no longer fails a question,
    and a LoL game that seemed to end twice still gets its result.

    Fixed

    • One overloaded or server-error answer from Anthropic failed the whole
      question.
      A 529 "overloaded", or a 500, 502 or 503, got no retry. The
      SDK's own retries are off because the bot runs its own, and the bot's
      matched only rate limits and network errors. Inside a tool loop, the
      failure also threw away every round already done. These are now retried
      up to 3 times, waiting 1, 2 and 4 seconds, or as long as Anthropic's
      Retry-After asks, up to a minute.
    • web_fetch could leave a question hanging with no answer. Its
      15-second timeout ended once the headers arrived, so a server that sent
      headers and then trickled the body (a live feed, a long-poll endpoint, a
      deliberately slow page) held the question open past Discord's 15-minute
      window, with no answer and no error. The 15 seconds now cover the body
      too, and web_search reads Brave's results inside its timeout the same
      way.
    • A LoL game that ended twice could lose its result. A spectator 404
      mid-game ends a game falsely and starts a result retry, the next poll
      brings the game back, and the real end starts another. The second
      orphaned the first, which went on calling Riot every minute for up to half
      an hour where shutdown couldn't stop it, then logged every minute until
      the next restart. When its attempts ran out it stopped the second retry
      instead, so a result Riot published late was never posted. The newer retry
      now replaces the older one, and each retry stops only itself.
    Downloads