Skip to content

Java/Kotlin SDKs v1.0.18

Latest

Choose a tag to compare

@ninan-nn ninan-nn released this 06 Aug 08:23
47d85df

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

👥 Contributors