> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spatialreal.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> AvatarKit iOS SDK version update history

## 1.0.0-beta.28

### ✨ Features

* **Rendering quality improvement** — Improved color accuracy for avatar rendering.
* **Avatar transform from character settings** — Avatar automatically applies position and scale from character settings. User-set `avatarTransform` stacks on top of the base values.

## 1.0.0-beta.27

### ✨ Features

* **WebSocket close code handling** — Added handling for server custom close codes: auth failure, insufficient balance, session timeout, concurrent limit exceeded. Non-recoverable errors are now properly recognized.

## 1.0.0-beta.26

### 🔧 Improvements

* **Telemetry event queue** — Events sent before SDK initialization are now queued and flushed after `initialize()`.

## 1.0.0-beta.25

### ✨ Features

* **Host mode animation end signal** — `yield(_:conversationID:)` now returns a `Bool` indicating whether the server has sent all animation data for the current conversation.

## 1.0.0-beta.24

### 🐛 Bugfixes

* **Stream observer lifecycle** — Fixed state updates being lost across close/restart cycles, preventing missed callbacks after reconnect.
* **Fallback mode idle callback** — Fixed missing `onConversationState(.idle)` callback after audio completes in fallback mode.
* **Reconnect state fix** — Fixed `onConversationState(.playing)` not firing after close→reconnect→send.

### ✨ Features

* **Device support threshold** — Lowered benchmark threshold based on production telemetry showing all iOS devices run at stable 24.9fps.

## 1.0.0-beta.23

### ⚡ Breaking Changes

* Removed deprecated `supportsCurrentDevice()` and `benchmark()` APIs — use `isDeviceSupported()` and `deviceScore()` instead.

### ✨ Features

* **Compressed model support** — Added `useCompressedModel` parameter to `AvatarManager.load()` for loading compressed models (\~30% smaller).
* **Idle animation while waiting** — Render idle animation while waiting for first server frames, instead of showing a static avatar.

### 🐛 Bugfixes

* **Release build crash fix** — Fixed a crash that occurred in release builds.

## 1.0.0-beta.22

### ⚡ Breaking Changes

* **FrameRateInfo** — Unified as pre-computed fields for cross-SDK consistency.

### ✨ Features

* **Frame rate monitor** — Enable/disable switch for frame rate monitoring.
* **Device benchmark** — `deviceScore` and `isDeviceSupported` APIs for runtime device capability assessment.
* **Compressed model (Beta)** — `load()` accepts optional `useCompressedModel` parameter for loading compressed models (\~30% smaller). Please verify rendering quality before using in production.

### 🐛 Bugfixes

* **Detach/attach rendering** — Fixed renderer not rebuilt after AvatarView removed from and re-added to window hierarchy.
* **Close→Start reconnection** — Fixed connection state changes lost after `close()` then `start()` cycle.
* **Pause/resume stability** — Fixed pause/resume playback rendering issues.
* **AppId validation** — Improved validation error message with guidance for obtaining credentials.
* **Audio stability** — Fixed a crash when audio playback is interrupted by system events (e.g. phone call).
