You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
What's New
⚠️ Behavior Changes
Automatic retries are enabled by default — Non-streaming Kotlin SDK clients now apply the SDK retry policy automatically. By default, idempotent methods retry 429, 502, and 503 responses, while POST and PATCH status-code retries remain opt-in; pre-send connection failures may still be retried. Applications that require the previous SDK-policy behavior should configure .retryPolicy(RetryPolicy.disabled()); this disables SDK-managed retries while retaining OkHttp's pre-existing connection recovery for non-streaming calls. Streaming command and code-execution requests never retry automatically. #1413
✨ Features
Resilient Kotlin transport — Added configurable retry policies with bounded exponential backoff, jitter modes, Retry-After support, per-attempt timeouts, overall deadlines, and retry callbacks. The public exception hierarchy now distinguishes rate limits, timeouts, and connection failures while exposing retryability, request IDs, retry delays, and raw response bodies consistently across generated and handwritten API paths. #1413
Rolling pool warmups — Sandbox pool replenishment now treats warmupConcurrency as a rolling in-flight limit and immediately reuses capacity when each warmup finishes, so one slow creation no longer stalls the rest of the refill wave. Distributed primary heartbeats, ownership fencing, cleanup, and backoff continue while warmups run; public APIs and configuration names remain unchanged. #1427
🐛 Bug Fixes
Safer pool shutdown and restart lifecycle — Graceful shutdown now drains admitted warmups before forcing executor termination and reliably cleans up remotely created sandboxes when interruption occurs, closing a resource-leak window. Pool acquire and warmup paths also propagate cancellation correctly, fence work by lifecycle generation, and release resources and counters even for non-Exception failures, preventing retired work from leaking into a restarted pool. #1415#1438
📦 Misc
Published Kotlin/JVM sandbox, code-interpreter, Redis pool, and BOM artifacts at version 1.0.18 under the existing com.alibaba.opensandbox coordinates. #1415