[pull] main from fern-api:main#648
Merged
Merged
Conversation
…14848) * feat: support x-fern-display-name on AsyncAPI operations Add support for the x-fern-display-name extension on AsyncAPI v3 operations and AsyncAPI v2 publish/subscribe operations. This allows users to set custom display names for operations in docs independently of the operation key, which is useful when operation keys must be unique across versioned endpoints. Co-Authored-By: Chris McDonnell <chris@buildwithfern.com> * chore: add changelog entry for x-fern-display-name on AsyncAPI operations Co-Authored-By: Chris McDonnell <chris@buildwithfern.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Chris McDonnell <chris@buildwithfern.com>
…ose pre-pull (#14966) * chore(ci): upgrade ETE generator images to latest and add docker compose pre-pull Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix: use Python SDK 4.64.1 instead of 5.x (5.x breaks with hyphenated org names) 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>
) * fix: prevent CLI from blocking when PostHog is unreachable Co-Authored-By: Sandeep Dinesh <sandeep@buildwithfern.com> * fix: format Promise.race to satisfy biome Co-Authored-By: Sandeep Dinesh <sandeep@buildwithfern.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…amples (#14544) * chore(csharp): refactor DynamicSnippets to use partial class Examples with static methods Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore(csharp): remove static from method signatures Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * refactor: update C# dynamic snippets generator to emit partial class Examples pattern and rename output dirs to Snippets/ Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * refactor: use skipNamespaceDeclaration on Class AST instead of string post-processing Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: update Snippets project to target net10.0 with latest C# language version Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: update Snippets.csproj to match dotnet new classlib format Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * improve dsg * fix: remove double newline after using statements when namespace is omitted Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore(seed): regenerate csharp-sdk snippets with single newline after imports 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>
* feat(csharp): add opt-in inline types support for C# model generator Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix: resolve alias chain orphan bug for inline types - Modified buildInlineTypeMaps to use two-pass approach: first collect all non-alias types referencing each inline type, then only inline types with exactly one non-alias parent are nested (multi-parent types stay top-level) - Modified extractNamedTypeIdsFromTypeReference to follow alias chains - Modified isInlineType to check parent map instead of IR inline flag, ensuring types without a valid parent are generated as top-level files - Updated seed test output to reflect correct behavior Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix: extend InnerTypes collision check to union base properties and add test fixture Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: add ir-to-jsonschema snapshots for csharp-inline-types fixture Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(csharp): complete inline enum/union/undiscriminated-union generation, add cycle protection and multi-level collision avoidance - Full inline enum generation: StringEnum (forward-compatible) with Values class and JsonConverter serializer, or standard enum with EnumMember attributes and companion serializer class - Full inline union generation: delegates to UnionGenerator for discriminant, factory methods, Is/As/TryGet, Match/Visit, implicit operators, JsonConverter - Full inline undiscriminated union generation: delegates to UndiscriminatedUnionGenerator for Type/Value fields, factory methods, Is/As/TryGet, Match/Visit, implicit operators - Cycle protection: track visited type IDs in extractNamedTypeIdsFromTypeReference to prevent infinite recursion on circular aliases - Multi-level collision avoidance: Types → InnerTypes → InnerTypes2 → ... for getInlineTypesClassName - Fix namespace/enclosingType conflict in classReferenceInternal: allow matching namespace when enclosingType is set Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(csharp): rename inline-types config flag to enable-inline-types for consistency with Java Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore(csharp): update versions.yml with detailed enable-inline-types changelog entry Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(csharp): include extendedProperties in inline Types class collision detection Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore(csharp): add simple C# code example to versions.yml changelog entries Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * feat(csharp): add SDK wire test fixture for inline types and fix extendedProperties in buildInlineTypeMaps Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(csharp): handle orphaned inline types that are only referenced from endpoint requests Inline types marked inline in IR but only referenced from endpoint request bodies (not from other type declarations) have no parent in the inline type map. Their children were incorrectly nested via Types.XXX references that broke compilation. Added third pass to buildInlineTypeMaps that validates every parent in the chain will actually be generated as a class file. If a parent is itself inline but has no parent in the map (orphaned), its children are recursively removed from the maps and fall back to top-level generation. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: update IR generator test snapshots after merge from main Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: update csharp-grpc-proto-exhaustive IR snapshot after merge Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: retrigger CI Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(csharp): include orphaned inline parent itself in removal set Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: update csharp-grpc-proto-exhaustive snapshots after merge from main Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(csharp): check union variant names in inline Types class collision avoidance Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * feat(csharp): add dynamic snippets support for inline types and test coverage for collision avoidance - Add inlineTypes field to dynamic IR schema and converter - Build inline type maps in DynamicSnippetsGeneratorContext from dynamic IR - Update DynamicTypeMapper to produce enclosingType references for inline types - Enable dynamic snippet tests for csharp-inline-types fixture - Add test fixtures: inherited property collision (extends), union variant 'Types' collision - Update snapshots for csharp-model and csharp-sdk Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: update test snapshots for inlineTypes field in dynamic IR Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: update all test snapshots for inlineTypes field in dynamic IR schema Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: update createSampleIr and ete file-dependencies snapshots Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: add ir-to-jsonschema snapshots for collision test types and update ete hash Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: update ete file-dependencies snapshot hash after merge from main Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix: update irVersion to 66 in inline types versions.yml entries Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix: add missing inlineTypes property to v66-to-v65 migration test Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: update ete file-dependencies snapshot hash Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix: use CaseConverter.pascalSafe for NameAndWireValueOrString in getInlineTypesClassName Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix: use CaseConverter for NameAndWireValueOrString in inline enum generation Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix: add extends scan and enableInlineTypes guards in dynamic snippets buildInlineTypeMaps Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * refactor: revert dynamic snippets inline types IR changes, disable tests instead Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix: add cycle detection in orphan parent chain walk to prevent infinite loop Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix: remove base-properties from union alias test types to fix CS9035 compile errors Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: update test snapshots after merge from main Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: update createSampleIr and migrateFromV61ToV60 snapshots Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: revert IR snapshot to match main (was incorrectly regenerated locally) Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * chore: fix dependencies snapshot - remove inlineTypes field and revert hash Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * snapshots * snapshot --------- 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>
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 : )