Conversation
…ipt project (#13574) Co-authored-by: Niels Swimberghe <3382717+Swimburger@users.noreply.github.com>
* fix(go): use || instead of && for Basic Auth header condition in ToHeader
Per RFC 7617, an empty user-id is valid in Basic Auth. The previous
condition required both username and password to be non-empty, which
silently dropped the Authorization header when username was empty
(e.g., WithBasicAuth("", "my-api-key")).
* fix(go): remove if guard entirely for Basic Auth header in ToHeader
Per user feedback, remove the conditional check entirely instead of
changing && to ||. The Authorization header is now always set when
Basic Auth is configured, matching RFC 7617 which considers even
empty username:password as valid credentials.
* fix(go): revert to || guard for Basic Auth to avoid overwriting other auth
Removing the if guard entirely would overwrite Bearer/API key auth in
multi-auth SDKs. The || approach correctly sets the Basic Auth header
when either username or password is non-empty while preserving other
auth mechanisms when Basic Auth is not configured.
* fix(go): fix pre-existing space-after-colon in Basic Auth test fixture
The test fixture used ': ' (space after colon) instead of ':' in the
Basic Auth credential string, inconsistent with the generator output
and all seed files. This was missed when v1.16.5 fixed the same issue
in the generator. Per RFC 7617 the format is user-id:password with no
whitespace around the colon.
Co-authored-by: iamnamananand996 <iamnamananand996@users.noreply.github.com>
…13575) * wrap ci python version in quotes * Update python sdk version
…condition with $ref request body (#13568) * fix(openapi): disambiguate streaming request wrapper name for stream-condition with $ref request body When x-fern-streaming with stream-condition is used on an endpoint whose request body is a $ref to a named schema, both streaming and non-streaming variants previously resolved to the same wrapper name (e.g. ChatRequest), causing TypeScript SDK generation to fail with duplicate declaration errors. Changes: - buildEndpoint.ts: For streaming endpoints, use generatedRequestName (derived from endpoint breadcrumbs, already includes stream suffix) instead of resolvedSchema.generatedName - Add stream-request-name property to x-fern-streaming extension in both V2 and V3 importer pipelines for explicit user override - Wire streamRequestNameOverride through convertStreamingOperation and convertHttpOperation to set requestNameOverride on streaming endpoints - Update V3 RequestBodyConverter to use stream-request-name override - Update test snapshots for discriminator-context, vellum, and x-fern-streaming-with-sse fixtures Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * refactor: align V2 streaming request name with V3 convention (<OriginalName>Streaming) Instead of using breadcrumb-derived generatedRequestName (which produces unpredictable names like SseStreamRequest), append 'Streaming' to the original schema name (e.g., StreamRequest -> StreamRequestStreaming). This aligns with the V3 importer's convention of ${schemaId}_streaming. Updated 9 test snapshots to reflect the new naming convention. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * docs: update versions.yml changelog to reflect Streaming suffix convention Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix: narrow Streaming suffix to stream-condition variants with $ref request bodies only Move auto-disambiguation logic from buildEndpoint.ts (which applied to ALL streaming endpoints) to convertStreamingOperation.ts (which only applies to stream-condition variants). The Streaming suffix is now only appended when the request body has a $ref to a named schema that would collide with the non-streaming variant. This avoids unnecessary breaking name changes for stream-only and plain SSE endpoints. Reverted 8 snapshots that were incorrectly getting the Streaming suffix. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * test: add streaming-parameter-openapi seed fixture for TS SDK Validates that stream-condition with $ref request body produces distinct request wrapper names (ChatRequest vs ChatRequestStreaming) in the generated TypeScript SDK. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * revert: remove streaming-parameter-openapi seed fixture to fix CI The non-prefixed fixture name was auto-discovered by all generators, causing CI failures for generators without committed seed output. The fix is already validated by unit test snapshots and the existing python-streaming-parameter-openapi fixture. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * test: update v3-importer-tests baseline-sdks snapshots for streaming request name changes 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>
Co-authored-by: jsklan <jsklan@users.noreply.github.com>
Co-authored-by: jsklan <jsklan@users.noreply.github.com>
Co-authored-by: jsklan <jsklan@users.noreply.github.com>
…#13438) * fix(python): raise default minimum Python version from ^3.8 to ^3.9 Co-Authored-By: judah <jsklan.development@gmail.com> * fix(python): raise default minimum Python version from ^3.8 to ^3.10 Co-Authored-By: judah <jsklan.development@gmail.com> * fix(python): fix versions.yml indentation and bump to 5.0.0 Co-Authored-By: judah <jsklan.development@gmail.com> * Update seed fixture outputs --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: fern-support <126544928+fern-support@users.noreply.github.com>
Co-authored-by: jsklan <jsklan@users.noreply.github.com>
Co-authored-by: jsklan <jsklan@users.noreply.github.com>
…13588) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…ated Python SDKs (#13593) * chore: upgrade pytest-asyncio from ^0.23.5 to ^1.0.0 in generated pyproject.toml Co-Authored-By: judah <jsklan.development@gmail.com> * fix: bump pytest to ^8.2.0 for pytest-asyncio ^1.0.0 compat; keep old versions for Python <3.9 Co-Authored-By: judah <jsklan.development@gmail.com> * fix: use regex to parse min Python version for pytest-asyncio conditional (handles ^3.8.1) Co-Authored-By: judah <jsklan.development@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: jsklan <jsklan@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )