Skip to content

v1.5.6

Latest

Choose a tag to compare

@sfroment sfroment released this 27 Oct 13:28
· 7 commits to main since this release
42f059b

Highlights

exec() timeout is now a real deadline

  • sandbox.exec(cmd, timeout=N) is enforced as a total deadline on the streaming path too — previously timeout never fired while a streamed command ran, so exec("sleep 40", timeout=15) returned after 40 s with no error. The default is raised from 30 s to 300 s so slow commands keep working (#88).
  • timeout=None now means "no deadline" (it previously crashed), and timeout errors name the fix (#102).
  • Commands are no longer re-sent on executor 5xx — a non-streaming exec that hit a 504 previously re-ran the same command up to 4 times (#89).
  • Streamed exec output keeps its line breaks (#87).

Other changes

  • ServicePool.update is a full-replace PUT: it refetches the live pool and resends the full definition + size (partial update_mask payloads always failed with 400) (#84).
  • Sandbox.update_lifecycle now pins the deployment it updates, and SandboxDeploymentError carries sandbox_name and status so callers can branch without parsing messages (#90).
  • Pool.list accepts a status filter (ready, provisioning, error, deleting) (#99).
  • Snapshot.list accepts name and service_id filters (KOYEB-6572) (#100).

What's Changed

  • examples: make pool claim examples resilient by @bchatelard in #83
  • fix: make ServicePool.update a full-replace PUT by @sfroment in #84
  • examples: fix streaming and working-directory assertions by @bchatelard in #86
  • fix: keep line breaks in streamed exec output by @bchatelard in #87
  • fix: pin lifecycle updates, structure SandboxDeploymentError by @sfroment in #90
  • fix(examples): cold-pull budget and best-effort cleanup on entrypoint example by @sfroment in #94
  • fix(examples): read state from the refreshed pool handle by @sfroment in #95
  • fix(examples): resolve the claimed sandbox after the cold path settles by @sfroment in #96
  • Changes by create-pull-request action by @github-actions[bot] in #73
  • feat: snapshot list filters accept service_id and name (KOYEB-6572) by @sfroment in #100
  • feat(pool): filter pool list by status by @sfroment in #99
  • fix: don't re-run exec commands on executor 5xx by @bchatelard in #89
  • fix: enforce exec(timeout=N) as a total deadline when streaming by @bchatelard in #88
  • feat: accept exec(timeout=None) for no deadline, name the fix in the timeout error by @bchatelard in #102

Full Changelog: v1.5.5...v1.5.6