Skip to content

[pull] main from fern-api:main#785

Merged
pull[bot] merged 10 commits into
code:mainfrom
fern-api:main
Jun 11, 2026
Merged

[pull] main from fern-api:main#785
pull[bot] merged 10 commits into
code:mainfrom
fern-api:main

Conversation

@pull

@pull pull Bot commented Jun 11, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

devin-ai-integration Bot and others added 10 commits June 10, 2026 22:43
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: tanmay.singh <tstanmay13@gmail.com>
…ints (#16454)

feat(csharp): raw-response wrappers for streaming and void endpoints

- Streaming endpoints return WithRawResponseStream<T> (IAsyncEnumerable<T> + .WithRawResponse())
- Void endpoints return non-generic WithRawResponseTask (.WithRawResponse() → Task<RawResponse>)
- Fix pre-existing JSON streaming bug where parsed result was never yielded
…edException on retry (#16459)

* fix(csharp): always clone request before send to prevent ObjectDisposedException on retry

Restructure RawClient.SendWithRetriesAsync so the retryable-content path always
sends a clone, never the original HttpRequestMessage. Under HTTP/2, HttpClient
disposes request.Content after sending, which broke CloneRequestAsync on retry.

Also: clamp negative MaxRetries to 0; short-circuit MaxRetries=0 and
non-retryable content through a no-clone fast path; thread CancellationToken
into CloneRequestAsync's body buffering.

* fix(csharp): rename outer response variable to avoid CS0136 in SendWithRetriesAsync

The fast-path block declares `var response` inside the `if (!isRetryableContent
|| maxRetries == 0)` branch; the retry loop declared `HttpResponseMessage?
response = null` in the enclosing method body. C# treats the entire method as
one declaration space, so the two `response` locals collide with CS0136 even
though their scopes don't overlap. Rename the outer one to `retryResponse`.

* chore(csharp): regenerate seed snapshots for retry fix

Regenerates RawClient.cs and RetriesTests.cs (plus .fern/metadata.json bumps)
for all 178 csharp-sdk fixtures to pick up the SendWithRetriesAsync rewrite,
the CloneRequestAsync CancellationToken plumbing, and the new
ContentDisposingHandler-based regression tests.

* chore(csharp): slim the explanatory comments in generated RawClient/Retries code

The verbose multi-line comments in SendWithRetriesAsync and RetriesTests ship
into every generated SDK and multiply across all customer repos. Reduce the
load-bearing WHY to two lines in RawClient and one each in the regression
tests; the rest is in the changelog and the git history.
…s.yml (#16467)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@pull pull Bot locked and limited conversation to collaborators Jun 11, 2026
@pull pull Bot added the ⤵️ pull label Jun 11, 2026
@pull pull Bot merged commit 1b7a76d into code:main Jun 11, 2026
8 of 9 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants