> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. ## 2.60.0 **`(feat):`** Add opt-in `enable-inline-types` configuration option. When enabled, types marked as inline in the API definition are generated as nested classes inside a static `Types` class on the parent type, instead of as separate top-level files. For example, given a `User` type with an inline `Address` property, the generated C# looks like: ```csharp public record User { public required Types.Address Address { get; set; } public static class Types { public record Address { public required string Street { get; set; } public required string City { get; set; } } } } ``` All type shapes are supported: objects, enums, discriminated unions, and undiscriminated unions. Recursive nesting works (e.g. `User.Types.Address.Types.Coordinate`), and collision avoidance renames the nested class to `InnerTypes` if the parent already has a `Types` property. ```yaml generators: - name: fernapi/fern-csharp-sdk config: enable-inline-types: true ``` ## 2.31.1 **`(fix):`** Fix CS0426 compilation error when the client class name matches a namespace root segment (e.g., class `Candid` in namespace `Candid.Net`). The C# compiler previously resolved `Candid.Net` as looking for a `Net` member on the `Candid` type instead of the `Candid.Net` namespace. The generator now uses `global::` prefixes in both inline references and `using` directives to disambiguate.