Conversation
…umber (#13639) Co-authored-by: Niels Swimberghe <3382717+Swimburger@users.noreply.github.com> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: fern-support <fern-support@users.noreply.github.com>
…emes (#12676) * fix(cli): set auth on WebSocket channels based on AsyncAPI server security Co-Authored-By: will.kendall@buildwithfern.com <wpk235@gmail.com> * fix(cli): set auth on WebSocket channels based on auth overrides or security schemes The buildChannel.ts in openapi-ir-to-fern hardcoded auth: false for all WebSocket channels. This fix checks if auth is configured via generators.yml auth overrides or if the OpenAPI IR has security schemes detected from the AsyncAPI spec, and sets auth accordingly. This is the primary code path used by fern ir for non-OSS workspaces. Co-Authored-By: will.kendall@buildwithfern.com <wpk235@gmail.com> * fix(cli): use local variable to avoid biome non-null assertion lint error Co-Authored-By: will.kendall@buildwithfern.com <wpk235@gmail.com> * fix(cli): only set auth on WebSocket channels when authOverrides is configured Co-Authored-By: will.kendall@buildwithfern.com <wpk235@gmail.com> * fix(cli): pass authOverrides to AsyncAPIConverterContext for docs generation path Co-Authored-By: will.kendall@buildwithfern.com <wpk235@gmail.com> * add changes * feat(cli): implement convertAsyncApiSecuritySchemes and clean up debug logging - Implement convertAsyncApiSecuritySchemes() to convert native AsyncAPI security schemes (bearer, basic, apiKey, oauth2) from components.securitySchemes to IR AuthScheme objects - Add convertSecurityScheme() private method following the same pattern as the OpenAPI SecuritySchemeConverter - Remove debug logging from ChannelConverter3_0 and AsyncAPIConverter - This ensures auth schemes flow through to FDR registration so the docs explorer can render auth forms for WebSocket endpoints Co-Authored-By: will.kendall@buildwithfern.com <wpk235@gmail.com> * fix: update assembly snapshot for WebSocket auth changes Co-Authored-By: will.kendall@buildwithfern.com <wpk235@gmail.com> * fix(cli): use authOverrides only for channel auth in buildChannel.ts and regenerate exhaustive.json Co-Authored-By: will.kendall@buildwithfern.com <wpk235@gmail.com> * fix(cli): use securitySchemes instead of global security for channel auth detection Co-Authored-By: will.kendall@buildwithfern.com <wpk235@gmail.com> * fix(cli): use authOverrides only for channel auth in buildChannel.ts In namespaced workspaces, context.ir.securitySchemes and context.ir.security are polluted by other specs (e.g., trains OAuth2 bleeds into AsyncAPI channels). Only authOverrides reliably indicates per-channel auth intent. Revert assembly snapshot to match main (auth: false). Co-Authored-By: will.kendall@buildwithfern.com <wpk235@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: will.kendall@buildwithfern.com <wpk235@gmail.com> Co-authored-by: willkendall01 <will.kendall@buildwithfern.com> Co-authored-by: William Kendall <43126467+willkendall01@users.noreply.github.com>
…CS0426) (#13571) * fix: add global:: prefix for C# namespace/type name collisions (CS0426) When a client class name matches a namespace root segment (e.g., class 'Candid' in namespace 'Candid.Net'), the C# compiler resolves 'Candid.Net' as looking for a 'Net' member on the 'Candid' type instead of the 'Candid.Net' namespace. This fix: - Adds hasTypeNamespaceConflict() to NameRegistry to detect when a type name shadows a namespace root segment - Updates ClassReference.writeInternal to use global:: prefix when the first namespace segment has a type/namespace conflict - Updates Writer.stringifyImports to add global:: to using directives when the namespace root is shadowed by a type - Registers NUnit and OneOf as known built-in identifiers to prevent false positives on framework namespaces * fix(csharp): add global:: prefix for namespace/type name collisions (CS0426) * Qualify C# namespaces to avoid conflicts Add a qualifyNamespace helper to Generation (and expose via WithGeneration) so codegen can prefix namespaces with `global::` when a root segment conflicts with a type, avoiding CS0426. Pass qualifyNamespace into template contexts in CsharpProject and update templates/generators to use it (tests, JsonAssert, Http/Request/WebSocket generators and request wrappers) so emitted C# references are qualified when necessary. * fix(csharp): qualify remaining template namespaces and add regression seed fixture - Apply qualifyNamespace() to OptionalComparer.Template.cs and AdditionalPropertiesComparer.Template.cs - Add csharp-namespace-conflict seed fixture with client-class-name matching namespace root (namespace: Seed.CsharpNamespaceConflict, client-class-name: Seed) to prevent regressions * refactor(csharp): use pre-qualified namespace properties and fix CS0118 in DynamicSnippets - Add qualifiedRoot/qualifiedCore to namespaces object in generation-info.ts - Update all template files to use namespaces.qualifiedRoot/qualifiedCore - Update endpoint generators to use this.namespaces.qualifiedCore - Remove qualifyNamespace lambda from CsharpProject.ts template contexts - Remove unused qualifyNamespace method from WithGeneration base class - Fix CS0118 in ClassReference.ts when class name matches namespace root - Merge PR #13597 seed test and remove namespace-client-collision from allowedFailures - Regenerate seed output for namespace-client-collision and namespace-conflict --------- Co-authored-by: Naman Anand <info@buildwithfern.com>
… config samples (#13644) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…sh/subscribe operations (#13641) Co-authored-by: Niels Swimberghe <3382717+Swimburger@users.noreply.github.com> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…3630) * Downgrade OpenAPI v2.0 check from error to warning Co-Authored-By: jon <jon@buildwithfern.com> * Add changelog entry for Swagger v2 warning downgrade (4.31.2) Co-Authored-By: jon <jon@buildwithfern.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…#13626) Add stripDatetimeMilliseconds to Ruby generator's WireTestSetupGenerator, following the same pattern used by Python and PHP generators. Ruby's DateTime/Time ISO 8601 serialization omits zero fractional seconds, so WireMock stubs need .000 stripped from datetime query parameter values for exact-match to work.
…neration runner (#13645) * fix: resolve custom LICENSE path relative to generators.yml instead of fern.config.json Co-Authored-By: judah <jsklan.development@gmail.com> * fix(cli): skip GitHub clone and post-generation pipeline in preview mode Co-Authored-By: judah <jsklan.development@gmail.com> * fix(cli): allow clone in preview mode, only skip post-generation push Co-Authored-By: judah <jsklan.development@gmail.com> * fix(cli): run replay in preview mode, only skip push and PR creation Co-Authored-By: judah <jsklan.development@gmail.com> * rip out preview changes --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…set (#13625) fix(python): skip Docker container management when WIREMOCK_URL is set When WIREMOCK_URL environment variable is already set (e.g., by a CI/CD pipeline providing an external WireMock sidecar container), skip starting and stopping the Docker container. This matches the behavior of the PHP, Ruby, and Rust SDK generators.
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 : )