{"version":"2.1.236","anchor":"self-hosted-runner-releases-a-session-only-after-its-work-fi","canonical_anchor":"self-hosted-runner-releases-a-session-only-after-its-work-fi","heading":"Self-hosted runner releases a session only after its work finishes","tier":"internal","area":"Self-Hosted Runner","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.236\/e\/self-hosted-runner-releases-a-session-only-after-its-work-fi","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.236","markdown":"### Self-hosted runner releases a session only after its work finishes\n\nSelf-hosted runners wait for a session's pending work before releasing it.\n\n**What**\n\nReleasing a session on a self-hosted runner now waits for that session's pending task instead of firing immediately, and cancels the idle timer at the same time. Sessions marked awaiting-action are unaffected.\n\n**Details**\n\n- Outcomes are now reported separately as `released_true_mid_work`, `released_false` and `rpc_failed` rather than one result.\n- New log lines explain that a session which reports `released=false` respawns on the next poll, or is requeued if the runner is draining or retiring.\n\n**Evidence**\n\n`self_hosted_release_session`\n\n- Area: Self-Hosted Runner\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}