From 3addd15466c560c3bd1037b664f818302b31ddc3 Mon Sep 17 00:00:00 2001 From: client-software-ci <129794699+client-software-ci@users.noreply.github.com> Date: Mon, 10 Aug 2026 17:18:34 +0000 Subject: [PATCH 1/2] chore(release): 0.30.3 Signed-off-by: client-software-ci <129794699+client-software-ci@users.noreply.github.com> --- CHANGELOG.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 819ed077..e896cbc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +## 0.30.3 (2026-08-10) + +### Features +* Added a Rust session runtime adapter, allowing sessions to run using the OpenJD v1 Rust runtime in addition to the existing Python runtime. (#1002) +* The worker agent now consumes the `runtimeHint` from UpdateWorkerSchedule responses to select the session runtime (Python or Rust) per session. The service can signal which runtime to use; absent hints default to Python. (#1016) +* Added `select_runtime()` to resolve session runtime mode based on configuration (`python`, `rust`, or `service-selected`) and the service's runtime hint. (`d38c21c`) +* Runtime selection and failure telemetry events are now emitted (opt-out respected via `[telemetry] opt_out` in worker.toml), providing visibility into which runtime is chosen and any selection/construction failures. (#1021) + +### Bug Fixes +* Fixed `step_name` not being passed through to `run_task`, which caused jobs with wrap environments to fail because OpenJD could not resolve `WrappedStep.Name`. (#1039) +* Fixed `step_name` not being forwarded on the Rust runtime path, so `WrappedStep.Name` now resolves correctly for Rust sessions as well. (#1040) +* Fixed the agent terminating on transient network errors (connection closed, connect timeout, endpoint connection, read timeout) during UpdateWorkerSchedule calls. These are now retried with exponential backoff. (`af02f3f`) +* Fixed an unrecoverable error exit when credentials expire mid-flight due to machine hibernate/sleep. The agent now detects the time-jump scenario and retries with bootstrap credentials. (`528cd41`) +* Fixed the service's `runtimeHint` wire values (`pythonexpr` and `rust`) not being recognized. They are now correctly mapped to the corresponding session runtimes. (`ddca05f`) +* Rust runtime panics (BaseException from PyO3) no longer kill the session thread silently. They are now converted to `SessionRuntimeCrashError` at the adapter boundary, allowing proper failure reporting and cleanup. (#1026) ## 0.30.2 (2026-07-14) ### Features From 3977e731bc25cfc4e58e9617199a112cb8eb48d8 Mon Sep 17 00:00:00 2001 From: Sean Tang <171081544+seant-aws@users.noreply.github.com> Date: Mon, 10 Aug 2026 17:32:26 +0000 Subject: [PATCH 2/2] chore(release): link PRs instead of commit hashes in 0.30.3 changelog Signed-off-by: Sean Tang <171081544+seant-aws@users.noreply.github.com> --- CHANGELOG.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e896cbc4..c02295a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,15 +3,15 @@ ### Features * Added a Rust session runtime adapter, allowing sessions to run using the OpenJD v1 Rust runtime in addition to the existing Python runtime. (#1002) * The worker agent now consumes the `runtimeHint` from UpdateWorkerSchedule responses to select the session runtime (Python or Rust) per session. The service can signal which runtime to use; absent hints default to Python. (#1016) -* Added `select_runtime()` to resolve session runtime mode based on configuration (`python`, `rust`, or `service-selected`) and the service's runtime hint. (`d38c21c`) +* Added `select_runtime()` to resolve session runtime mode based on configuration (`python`, `rust`, or `service-selected`) and the service's runtime hint. (#1009) * Runtime selection and failure telemetry events are now emitted (opt-out respected via `[telemetry] opt_out` in worker.toml), providing visibility into which runtime is chosen and any selection/construction failures. (#1021) ### Bug Fixes * Fixed `step_name` not being passed through to `run_task`, which caused jobs with wrap environments to fail because OpenJD could not resolve `WrappedStep.Name`. (#1039) * Fixed `step_name` not being forwarded on the Rust runtime path, so `WrappedStep.Name` now resolves correctly for Rust sessions as well. (#1040) -* Fixed the agent terminating on transient network errors (connection closed, connect timeout, endpoint connection, read timeout) during UpdateWorkerSchedule calls. These are now retried with exponential backoff. (`af02f3f`) -* Fixed an unrecoverable error exit when credentials expire mid-flight due to machine hibernate/sleep. The agent now detects the time-jump scenario and retries with bootstrap credentials. (`528cd41`) -* Fixed the service's `runtimeHint` wire values (`pythonexpr` and `rust`) not being recognized. They are now correctly mapped to the corresponding session runtimes. (`ddca05f`) +* Fixed the agent terminating on transient network errors (connection closed, connect timeout, endpoint connection, read timeout) during UpdateWorkerSchedule calls. These are now retried with exponential backoff. (#1013) +* Fixed an unrecoverable error exit when credentials expire mid-flight due to machine hibernate/sleep. The agent now detects the time-jump scenario and retries with bootstrap credentials. (#1014) +* Fixed the service's `runtimeHint` wire values (`pythonexpr` and `rust`) not being recognized. They are now correctly mapped to the corresponding session runtimes. (#1009) * Rust runtime panics (BaseException from PyO3) no longer kill the session thread silently. They are now converted to `SessionRuntimeCrashError` at the adapter boundary, allowing proper failure reporting and cleanup. (#1026) ## 0.30.2 (2026-07-14)