Skip to content

Sync release with main - #22

Merged
o-nnerb merged 3 commits into
releasefrom
claude/sync-release-main-21c09f
Oct 7, 2026
Merged

o-nnerb merged 3 commits into
releasefrom
claude/sync-release-main-21c09f

Conversation

@o-nnerb

@o-nnerb o-nnerb commented Oct 7, 2026

Copy link
Copy Markdown
Member

Summary

Merges main into release (merge commit, no conflicts) so the fork branch picks up the latest upstream changes.

Commits brought in from main:

Verification

  • swift build --build-tests succeeds on the merged result (Swift 6.4).
  • Tests were not run.

Please use a merge commit (not squash) when merging, so release keeps main as an ancestor and the next sync stays trivial.

🤖 Generated with Claude Code

fabianfett and others added 3 commits October 7, 2026 12:30
…esponse head (swift-server#934)

### Motivation

If a server responds with a status >= 300 while we are still uploading
the request body, we ask the producer to pause the request body stream.
The producer may still finish the stream, because it raced with the
pause request. In this case we hit `assert(head.status.code < 300)` in
`HTTPRequestStateMachine.requestStreamFinished`, which crashes debug
builds.

### Changes

- Remove the wrong assertion. Finishing the request body stream after a
>= 300 response head is a valid state transition: we send the request
`.end` and move into `.endSent`.
- Add a reproducer in `HTTPRequestStateMachineTests` that streams a body
part, receives a 413 Payload Too Large head and then finishes the
request body stream.

### Result

A request body stream that finishes after the server responded with a
`status >= 300` no longer crashes in debug. Since the request `.end` is
on the wire, the connection can be reused after the response ends.

---------

Co-authored-by: Eric Rosenberg <eric_rosenberg@apple.com>
Co-authored-by: Si Beaumont <simonjbeaumont@gmail.com>
Brings in:
- Lift minimum Swift version to 6.2 (swift-server#935)
- Fix crash in debug when request body stream finishes after a >= 300 response head (swift-server#934)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@o-nnerb
o-nnerb merged commit 83ee500 into release Oct 7, 2026
35 of 36 checks passed
@o-nnerb
o-nnerb deleted the claude/sync-release-main-21c09f branch October 7, 2026 23:47
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