Repository navigation
Highlights
exec() timeout is now a real deadline
sandbox.exec(cmd, timeout=N)is enforced as a total deadline on the streaming path too — previouslytimeoutnever fired while a streamed command ran, soexec("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=Nonenow 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
execthat 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.updateis a full-replace PUT: it refetches the live pool and resends the full definition + size (partialupdate_maskpayloads always failed with 400) (#84).Sandbox.update_lifecyclenow pins the deployment it updates, andSandboxDeploymentErrorcarriessandbox_nameandstatusso callers can branch without parsing messages (#90).Pool.listaccepts astatusfilter (ready,provisioning,error,deleting) (#99).Snapshot.listacceptsnameandservice_idfilters (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