Skip to main content

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