Skip to main content

1.0.0-beta.97

⚡ Breaking Changes

  • transform renamed to avatarTransformavatarView.transform is now avatarView.avatarTransform. Aligned naming across Web, Android, and iOS SDKs.

✨ Features

  • Avatar transform from character settings — Avatar automatically applies position and scale from character settings. User-set avatarTransform stacks on top of the base values.

🐛 Bugfixes

  • Rendering quality improvement — Improved color accuracy for avatar rendering.

1.0.0-beta.96

🐛 Bugfixes

  • WASM loading compatibility — Fixed WASM loading failure when consumed via Vite dev server.

1.0.0-beta.95

🐛 Bugfixes

  • Rendering quality fix — Fixed blurry splat edges on arms/hands in WebGPU renderer.

⚡ Performance

  • WASM download reliability — Added integrity validation and automatic retry (up to 3 attempts) for WASM module loading. Prevents loading failures from truncated or corrupted downloads.

1.0.0-beta.94

🐛 Bugfixes

  • Tab switch rendering fix — Fixed avatar rendering corruption when switching back to a tab (WebGPU).

✨ Features

  • WebSocket close code handling — Added handling for server custom close codes: auth failure, insufficient balance, session timeout, concurrent limit exceeded. Non-recoverable errors no longer trigger reconnection attempts.
  • Error transparency — All non-normal close events are now propagated to onError callback.
  • New ErrorCode values — Added insufficientBalance, sessionTimeout, concurrentLimitExceeded.

1.0.0-beta.92

✨ Features

  • Host mode animation end signalyieldFramesData() now returns a boolean indicating whether the server has sent all animation data for the current conversation.

1.0.0-beta.91

🐛 Bugfixes

  • Vite consumer build fix — Fixed build failure when consuming the SDK in Vite projects.

1.0.0-beta.90

🐛 Bugfixes

  • Compressed model support fix — Fixed useCompressedModel failing to load compressed point cloud models.

1.0.0-beta.89

⚡ Breaking Changes

  • Enum renameConversationState.pausing renamed to ConversationState.paused for cross-SDK consistency.
  • FrameRateInfo — Unified as pre-computed fields for cross-SDK consistency.

✨ Features

  • Frame rate monitor — Unified public API for frame rate monitoring with enable/disable switch.
  • Device benchmarkdeviceScore 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.

⚡ Performance

  • Playback scheduling improvement — Improved frame pacing accuracy during speaking state.

1.0.0-beta.88

🐛 Bugfixes

  • Build packaging fix — Fixed WASM binary missing from npm package in beta.87.

1.0.0-beta.87

⚡ Performance

  • Playback smoothness — Significantly reduced frame jank during avatar speaking. Jank rate reduced ~95% compared to previous version.

🐛 Bugfixes

  • Frame pacing precision — Fixed occasional frame skipping at frame boundaries during playback.
  • Duplicate initialize guard — Prevented duplicate initialize() calls from causing unexpected state.

1.0.0-beta.86

🐛 Bugfixes

  • Transition smoothness — Fixed first-frame jump when transitioning between idle and speaking states.

1.0.0-beta.82

🔧 Improvements

  • Protocol update — Updated to latest communication protocol version.

1.0.0-beta.80

  • Next.js Plugin — Added withAvatarkit wrapper for Next.js projects to automate WASM file configuration.

1.0.0-beta.75

  • Local Log Upload — Automatic local log upload for debugging and troubleshooting.

1.0.0-beta.71

  • API Refinement — Improved API structure by hiding internal implementation details from public API.

1.0.0-beta.64

  • Vite Plugin — Added avatarkitVitePlugin to automate WASM file configuration.

1.0.0-beta.63

  • Audio Context API — Added initializeAudioContext() method that must be called in user gesture context.

1.0.0-beta.55

  • Eye Tracking Control — Added eyeTrackingEnabled parameter to PostProcessingConfig.
  • Point Count API — Added getPointCount() method to AvatarController.

1.0.0-beta.51

  • Post-Processing Enhancement — Added translation and eyePose fields to PostProcessingConfig.
  • Bugfix — Fixed avatar settings update issue when using cached avatars.

1.0.0-beta.45

  • Immediate Rendering — Post-processing and camera updates apply immediately when playback is paused.
  • API Change — Replaced ready Promise with onFirstRendering callback.

1.0.0-beta.36

  • Audio Configuration — Added configurable audio sample rate support (8000-48000 Hz, default: 16000).

1.0.0-beta.35

  • API Change — Changed setTransform() method to transform getter/setter property.

1.0.0-beta.29

  • Breaking Changes — Removed Environment.test, changed default log level to off.
  • New Features — Added avatar caching methods (retrieve, clear, clearAll).
  • Background Image — Added background image control in AvatarView.

1.0.0-beta.28

  • Breaking Change — Renamed AvatarKit to AvatarSDK. Update imports accordingly.

1.0.0-beta.22

  • API Changes — Renamed onAvatarState to onConversationState, Environment.us to Environment.intl.
  • Volume Control — Added setVolume() and getVolume() methods.

1.0.0-beta.17

  • Fallback Mechanism — Added automatic audio-only fallback when animation data is unavailable.

1.0.0-beta.3

  • Architecture — Initial release with SDK mode and Host mode support.