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

**`(fix):`** Fix `generateClientInterfaces` to generate interfaces for aggregator-only clients (clients
that hold sub-client properties but have no direct API endpoints). Previously, these clients
were skipped, leaving the top-level client and intermediate grouping clients without interfaces.

Interfaces now include typed getter method signatures for each sub-client (e.g.,
`getUsers(): UsersClientInterface`), and the corresponding client classes implement these
getters.

## 2.1.1

**`(fix):`** Fix PHPStan static analysis errors in core runtime classes. Tightens return types
(e.g., `castKey` now returns `int|string` instead of `mixed`), adds missing null checks,
and improves PHPDoc annotations across JsonSerializer, JsonDeserializer, and Utils.
Also fixes `BaseApiException::__toString()` to use `getCode()` instead of direct property
access and `print_r()` for non-scalar body values.

**`(fix):`** Add `of object` bound to pagination template generics (`CursorPager`, `OffsetPager`)
to satisfy PHPStan's requirement for `clone` on object types.