跳到导航

4.30.3

(fix): SSE unions discriminated by the event: line (x-fern-discriminator-context: protocol) now parse both variant styles: envelope variants ({event, data: Payload}) are built from the data: JSON, and payload variants (the data: JSON itself) get the event: value injected as the discriminant. The event name no longer has to be repeated inside the data: JSON.

4.30.2

(fix): The debug logger now lower-cases header names with Locale.ROOT when deciding which headers to redact, in both the request and response log lines. Before, it used the JVM’s default locale, so on a Turkish or Azerbaijani JVM a header such as AUTHORIZATION or X-API-KEY lower-cased to a dotless ı, missed the redaction list, and its value was logged in plain text. LogLevel.fromString now upper-cases with Locale.ROOT too, so fromString("info") no longer throws on those locales.

4.30.1

(fix): Async clients no longer sleep on OkHttp dispatcher threads while waiting to retry. The retry is scheduled after the backoff delay, so calls that are waiting to retry no longer hold OkHttp’s per-host request slots (5 by default) and delay unrelated calls. Cancelling the returned future now stops the wait immediately and sends no further attempts.

(fix): Interrupting a synchronous call while it waits to retry now restores the thread’s interrupt flag and throws InterruptedIOException, instead of clearing the flag and throwing a generic IOException.