> This page is for SDK, version Current (default).
> 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.

## 3.0.0

**`(break):`** The C# SDK generator reads configuration from [`sdk-config.yml`](/learn/sdks/reference/sdk-config) instead of `generators.yml`. Run `fern sdk migrate` to create `sdk-config.yml` from your existing configuration. 3.0.0 is also the minimum version for generating C# SDK Config targets locally.

This release changes the generated SDK. See the [C# v3 migration guide](/learn/sdks/legacy/generators/migration-guides/csharp-v3) for details and code updates:

* Credentials are passed by name.
* Existing type names can be kept with configuration.
* Connection and timeout errors have their own exception types.
* Enums accept unknown values.
* Some exception bodies are no longer typed.
* SDK identification headers aren't sent.
* The project layout changes.
* Failed `POST` and `PATCH` requests aren't retried by default.
* Some URL characters are escaped differently.
* Some endpoints take a request object.