Skip to main content
This changelog highlights the SDK and CLI changes that affect how you install, build, evaluate, and train rollouts. It is more task-oriented than the canonical SDK changelog, which remains the complete repository record.
Release candidates remain in this timeline as incremental release records. Each stable release provides a complete summary from the previous stable version, so you do not need to read every release-candidate entry before upgrading.
0.3.0rc1
Version 0.3.0rc1 introduces the 0.3 rollout protocol. A workflow execution now produces exactly one RolloutSample, and its grader assigns exactly one reward.

What changed

  • GraderContext.samples is now GraderContext.sample, and set_sample_reward(sample_id, reward) is now set_reward(reward).
  • Custom integrations register one source with set_sample_source() and read it with get_sample().
  • RolloutSample.id and MultiTurnMode were removed. The rollout URL now supplies execution identity.
  • Model and callback requests use rollout-scoped URLs. Integrations no longer attach per-call sample or rollout routing headers.
  • Backends exchange sample.json and a single-value reward.json ({"reward": <float>}).
  • Strands and OpenAI Agents integrations enforce one registered agent or session per workflow execution.

Who needs to act

Update custom graders, custom sample sources, backend adapters, or workflows that create more than one registered Strands agent or OpenAI Agents session. Evaluation and training can still request multiple independent executions for the same prompt.Follow Migrate from v0.2 to v0.3 for before-and-after code and verification steps.SDK changelog · GitHub release · Full diff