> This page is for SDKs.

> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

## 0.19.0

**`(feat):`** Add WebSocket connector pattern and README code snippets when `enableWebsockets: true`.
WebSocket channels are now accessible through the root client via connector structs
(e.g., `client.realtime.connect(...)`) matching Python and Java generator patterns.
Generated README includes a Websockets section with connect, send, receive, and close examples.

## 0.18.3

**`(fix):`** Fix duplicate module declarations and WebSocket type name collisions when multiple
subpackages (e.g., HTTP REST and AsyncAPI WebSocket) map to the same namespace. Deduplicates
`pub mod` declarations, client re-exports, and doc comments. WebSocket channel generators
now use collision-aware type names (e.g., `AuthResponse2` instead of `AuthResponse`) to
correctly reference disambiguated types in the trading namespace.

## 0.18.2

**`(fix):`** Fix Rust module naming collision when a subpackage has children that share the same
directory name as the parent's client file. Previously, both `X.rs` and `X/mod.rs` could
be generated in the same directory, causing `rustfmt` errors like "file for module found
at both". Now the client code is inlined into the unified `mod.rs` when any children exist,
and child re-exports are only emitted for subpackages with services or endpoints.

## 0.18.1

**`(fix):`** Escape Rust reserved keywords (e.g., `type`, `match`, `self`) when used as path parameter
names in generated client methods. Previously, reserved keywords like `type` were emitted
as-is, causing `rustfmt` and compilation failures. Now they are properly escaped with the
`r#` prefix (e.g., `r#type`).