> This page is for SDKs, 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.59.6

**`(fix):`** Add domain-specific event properties (e.g. AssistantMessage, ChatMetadata,
AudioOutput) and UnknownMessage to the generated WebSocket client interface.
Previously, these events were only available on the concrete class, forcing
consumers to downcast from the interface type to access them.

## 2.59.5

**`(fix):`** Skip mock server test examples with empty string path parameters. An
empty path parameter causes the mock server to register a collapsed URL
(e.g. `/v0/tools/version/1`) while the SDK client sends a double-slash
URL (e.g. `/v0/tools//version/1`), resulting in a 404 from WireMock.

**`(fix):`** Fix dynamic snippet generation for literal types when `generate-literals`
(or `experimental-readonly-constants`) is enabled. Inline literal
properties now correctly omit the value (relying on the `= new()`
default initializer), and named literal alias types emit `new TypeName()`
instead of a raw string, preventing CS0029 compilation errors.

**`(fix):`** Fix file upload request properties declared as `list<file>` generating
a single `FileParameter` field instead of `List<FileParameter>`.

## 2.59.4

**`(fix):`** Add `GetSingle()` fallback to `JsonElementComparer` number comparison.
When two JSON numbers differ as decimals but match as singles, they
represent the same float32 value and are now considered equal. This
fixes mock server test failures for fields declared as `format: float`
where C#'s `System.Text.Json` serializes `System.Single` with a shorter
decimal representation than the original JSON string (e.g.
0.10722749680280685 vs 0.1072275).