Skip to navigation

4.23.0

(feat): XML-encoded (TwiML) types now carry inline Javadoc on their user-facing API: the class itself gets the type description, every Builder setter overload gets the property description, and child appenders (say.break_(...), response.say(...)) document the child element plus @param/@return.

4.22.2

(fix): RetryInterceptor now applies the client timeout to each attempt individually instead of to the whole retry loop. Previously a Retry-After wait as long as the timeout (e.g. Retry-After: 60 with the default 60s timeout) cancelled the call during the backoff sleep and surfaced IOException: Canceled instead of retrying or returning the received 429. The call timeout is paused while waiting for the backoff and restarted for each retry attempt, so a call that retries may now take up to timeout * (maxRetries + 1) plus the backoff waits.

4.22.1

(fix): Closing the root client (or ClientOptions.close()) now disconnects any WebSocket clients that are still connected before the SDK-owned OkHttp dispatcher is shut down, so they stop reconnecting cleanly instead of failing asynchronously with InterruptedIOException: executor rejected. ClientOptions exposes isClosed(); WebSocket connect/reconnect attempts made after close, as well as OkHttpWebSocketFactory.create(...) when constructed with a closed-check, fail fast with IllegalStateException("root client has been closed").