> This page is for SDK, version Legacy.
> For other versions, use one of these documentation indexes:
> - Current (default): https://buildwithfern.com/learn/sdks/current/llms.txt
> - Legacy: https://buildwithfern.com/learn/sdks/legacy/llms.txt

> 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.64.1

**`(fix):`** 修复在生成的测试代码中引用嵌套判别联合变体类型时的命名空间冲突。当外层类型名与测试文件命名空间的某个段相同时，C# 编译器会将其解析为命名空间而非 SDK 类型（CS0234）。在这种情况下，现在会发出完全限定的类型引用。

**`(fix):`** 修复 OneOfSerializer，使其优先选择强类型反序列化而非 catch-all 匹配。当 OneOf 中的判别联合类型对未知判别字段使用 catch-all 时，序列化器现在会尝试所有类型并选择最佳匹配，而不是返回第一个成功的类型。

**`(fix):`** 修复序列化往返测试，以考虑 WhenWritingNull 规范化。Roundtrips 测试现在验证序列化形式的幂等性，而不是与原始输入 JSON 进行比较，原始输入可能包含被序列化器有意省略的可空可选属性。

## 2.64.0

**`(feat):`** 添加 `retryStatusCodes` 配置，包含 `"legacy"` 和 `"recommended"` 模式。Legacy（默认）保留当前行为（408、429、>= 500）。Recommended 仅重试瞬态代码（408、429、502、503、504），避免 500 引起的幂等性问题。3.0.0 迁移会自动将升级用户固定为 legacy。

## 2.63.3

**`(fix):`** 修复动态代码片段在 PascalCase(property) 与类名冲突时（例如 CatalogV1Id.catalog_v1_id）发出错误属性名的问题。代码片段生成器现在使用与 SDK 相同的重命名逻辑（追加 "\_"），使生成的示例编译时不会出现 CS0542 / CS0117 错误。