Skip to content

Release verified cooperative cancellation in Server 2.5.0 - #301

Merged
rmcdaniel merged 2 commits into
mainfrom
release/cooperative-cancellation-2.5.0
Oct 6, 2026
Merged

rmcdaniel merged 2 commits into
mainfrom
release/cooperative-cancellation-2.5.0

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

Purpose

Release the verified whole-run cooperative cancellation surface in Server 2.5.0 for shared cancellation #136.

Changes

  • Lock actual published Native 2.4.0 at 61473fc48c2f2021d84232d7944892d3c6760e4d. Its runtime code is identical to qualified Native 2.4.0-rc.2.
  • Set Server 2.5.0 and Helm chart 0.1.137 in the source release authority and synchronize its 24 consumers.
  • Mark the whole-run cooperation and prepared local Activity contracts stable. Keep general independently cancellable scopes disabled and experimental.
  • Advance worker OpenAPI to revision 48 for the stable contracts and AsyncAPI to revision 15. Correct its advertised stream envelope from 1.19 to the runtime's 1.20.
  • Read MySQL's actual INNODB_METRICS.lock_deadlocks and lock_timeouts counters. The preceding global status query returned no row on MySQL.

Runtime cancellation and worker implementation match published Server 2.5.0-rc.1.

Published qualification

RC protected publication passed both architectures, exact provenance, first-run readiness, source-free Compose bootstrap, catalog convergence and matching chart pull/install. Its immutable image is durableworkflow/server@sha256:00399e88b2633a497445d300ed91a4f64a52b8429bfd643248c6ac8f16795281.

Registry-only mixed cancellation passed 236 assertions, without failures, errors or skips. PHP SDK 2.2.0-rc.1, Python 2.4.0rc1, Rust 3.0.0-rc.1 and released CLI 2.2.0-rc.1 used that exact Server digest. Both runs finished Cancelled with completed cleanup 19.185557 seconds after the request, before its original 30-second deadline. Actual callback stop without application heartbeats, cleanup-worker SIGKILL, replacement replay, stale result refusal, duplicate identity/deadline and the API/CLI view passed. The published Waterline frontend displays the actual cascade on desktop and mobile without browser errors or panel overflow. Site #149 is deployed, and live worker specification bytes match the qualified source.

The final stable feature suite passes 2,410 cases / 54,709 assertions. Current local worker specification and prepared-local checks pass 67 cases / 5,712 assertions. The first stable checks identified the required OpenAPI revision and the stale AsyncAPI envelope, corrected on this PR.

All normal hosted gates pass at 8a9717e0cb4624fa9cf16ecca5f19919656e0b20. The final instrumented canary passes 1,000 accepted starts, all 24 checked standard workflow completions and all 168 readiness probes, with zero HTTP errors or scheduler repair failures. Actual enabled MySQL counters report lock_deadlocks=0 and lock_timeouts=0. The full MySQL log and engine trace contain no deadlock. Final Server cache keys are zero after the measured drain. This is a bounded source canary, not a capacity claim.

Stable follow-through

Publish the reviewed stable image and matching chart through the protected Server workflow. Verify exact registry identities and installed Native provenance. Then publish matching stable SDK, CLI and Waterline metadata, select affected published lifecycle/conformance checks and rerun the exact mixed cancellation demonstration on the stable tuple. Stable Server publication precedes SDK stable portal deployment.

Shared #136 stays open until that stable published acceptance and consumer follow-through are complete. Cloud adoption stays separately owned and deferred.

@rmcdaniel
rmcdaniel marked this pull request as ready for review October 6, 2026 08:23
@rmcdaniel
rmcdaniel merged commit 9e30b7f into main Oct 6, 2026
15 checks passed
@rmcdaniel
rmcdaniel deleted the release/cooperative-cancellation-2.5.0 branch October 6, 2026 08:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants