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

## 2.0.0

**`(break):`** The Ruby 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. 2.0.0 is also the minimum version for generating Ruby SDK Config targets locally.

This release changes the generated SDK. See the [Ruby v2 migration guide](/learn/sdks/legacy/generators/migration-guides/ruby-v2) for details and code updates:

* Each error status has its own class with a typed body.
* Timeouts and connection failures raise SDK errors.
* Text, XML, and binary request bodies use a `body:` keyword.
* Basic auth works alongside bearer auth.
* `number` fields are `Float`, and nullable fields accept `nil`.
* Resources that collide with gem constants gain a `_1` suffix.
* The gem's module name and entry point are valid Ruby.
* Parameters are serialized in their declared style.
* Unset fields are omitted from request bodies.
* Retries for `POST` and `PATCH` require an idempotency key.