Repository navigation
Release Server 2.4.39 with atomic stream admission - #298
Conversation
rmcdaniel
left a comment
There was a problem hiding this comment.
Reviewed exact head 8d37ddc2ce2d4dd04d104ce87bbf183dfd377252 against 7ea89349b7d39c075e742dcf2e14c1ddb0d1050e.
The product change is limited to deferring stream effects until Native reports accepted completion, while retaining the same outer transaction. Refused completions keep legitimate Native timeout decisions and publish no stream items. A stream exception rolls back successful Native history/terminal state and keeps the original claim. Final append/close survives terminal completion. The three focused regressions exercise those real backend decisions. No schema migration, candidate scope field, Native dependency update or protocol change enters this patch.
All required PR checks pass at this head, including the locked-package feature suite, concurrent replay/query HTTP topology, predecessor/successor tests, chart lint/install and bounded cache/performance checks. Local affected regression is 220 / 2374 with the published Native 2.3.3 authority. Release metadata is generated through the existing single manifest for Server 2.4.39 / chart 0.1.135.
Ready for merge and immutable publication. #297 stays open for the exact published image and actual PHP/Python/Rust stream verification. Rollback is the existing 2.4.38 image without a data migration.
Summary
Tracks #297. Keep the issue open until the published image and affected SDK conformance are verified.
Verification
Locked published Native 2.3.3, PHP 8.4.26, PHPUnit 11.5.55. Local affected worker/stream/payload/quota/OpenAPI selection: 220 tests / 2374 assertions, zero errors/failures/skips. Pint passes. Regressions cover actual timeout without leaked output, final output plus close on terminal completion, and stream backpressure rolling back Native admission while retaining the original claim/run state.
The original controller fails the new actual-timeout regression by leaving one stream item. The stream implementation and original tests are unchanged between current main and the cancellation branch where the defect was discovered. This PR contains the narrow stable fix and release metadata. Candidate scopes, the optional Native role and protocol 1.20 remain outside this release.
Release gates
Ordinary PR checks, review and merge remain required. Publish the immutable patch image and chart through repository workflows, verify both supported image architectures and the pinned Native authority, then run affected published PHP/Python/Rust Workflow Streams conformance against the exact new image. Keep #297 open until the published result is verified. Rollback uses the existing 2.4.38 image, with no schema or data migration.