NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
A Flutter plugin for AvatarKit, which provides high-performance avatar rendering with real-time and audio-driven capabilities.
Last release 4 months ago
27 May 2026
Ships on a steady schedule
a new release about every 2 weeks
Unknown
no stable releases
1 version withdrawn
withdrawn after publishing
10 months old
44 releases · first in 2025
One column per month.
Android SDK: 1.0.0-beta53 → 1.0.0-beta54
getAudioTime() continuing to advance after the audio actually finished. The reported time now stops at the true end of audio.Android SDK: 1.0.0-beta52 → 1.0.0-beta53
AvatarView was resized rapidly. Most reproducible on Huawei Maleoon GPUs.Android SDK: 1.0.0-beta51 → 1.0.0-beta52
AvatarController.getAudioTime() API to query the current playback time of the audio session (in seconds). Resets to 0 on each new playback round; returns 0 when not playing.Android SDK: 1.0.0-beta50 → 1.0.0-beta51
Fix Android build failure: removed stale Environment.test reference in plugin bridge code
Environment.test reference in plugin bridge codeexportBitmap() API — capture current avatar rendering frame as PNG bytes
exportBitmap() API — capture current avatar rendering frame as PNG bytesAndroid SDK: 1.0.0-beta49 → 1.0.0-beta50
exportBitmap() API on Android and iOS (via native SDK update)Environment.test removed, only cn and intl availableAndroid SDK: 1.0.0-beta48 → 1.0.0-beta49
y > 0 now correctly moves the avatar upward, aligned with iOS.Android SDK: 1.0.0-beta47 → 1.0.0-beta48
Android: Fix onError callback sending human-readable message instead of error code, causing Dart-side enum matching to fail and assert crash in debug
onError callback sending human-readable message instead of error code, causing Dart-side enum matching to fail and assert crash in debug modeload() error type lost — AvatarKitException now maps to specific error codes (e.g. sessionTokenExpired) instead of generic OPERATION_FAILEDinsufficientBalance, sessionTimeout, concurrentLimitExceeded, serverError in bridge layerAvatarError enum values: insufficientBalance, sessionTimeout, concurrentLimitExceeded, serverErrorAndroid: Fix Vulkan SIGABRT on Vivo V2324A (Mali GPU / Dimensity 8300) caused by missing thread safety in render frame submission
Android: Fix NoSuchFieldError on Build.SOC_MODEL causing device support probe to fail on Android < 12 (API < 31), blocking SDK initialization for ~30%
NoSuchFieldError on Build.SOC_MODEL causing device support probe to fail on Android < 12 (API < 31), blocking SDK initialization for ~30% of devicesAndroid: Fix ExceptionInInitializerError crash when isDeviceSupported() is called before initialize() — app could not start on affected devices
ExceptionInInitializerError crash when isDeviceSupported() is called before initialize() — app could not start on affected devicesinitialize()Host Mode Animation End Signal — yieldAnimations() now returns a bool indicating whether the server has sent all animation data for the current conver
yieldAnimations() now returns a bool indicating whether the server has sent all animation data for the current conversation. Non-breaking: callers that ignore the return value are unaffected.Android: Fix Field sampleRate_ not found crash in release builds caused by R8 stripping Protobuf fields
Field sampleRate_ not found crash in release builds caused by R8 stripping Protobuf fieldsUnsatisfiedLinkError on nativeSetLogLevel caused by JNI symbol lazy binding raceclose() callback not firing synchronouslyonConversationState(.playing) not firing after close→reconnect→sendonConversationState(.idle) callback after audio completes in fallback modeRemoved AvatarSDK.supportsCurrentDevice() — use AvatarSDK.isDeviceSupported() instead (async, combines SoC allowlist + GPU benchmark)
AvatarSDK.supportsCurrentDevice() — use AvatarSDK.isDeviceSupported() instead (async, combines SoC allowlist + GPU benchmark)AvatarSDK.benchmark() — device capability check is now handled internally by isDeviceSupported()useCompressedModel parameter to AvatarManager.load() for loading compressed point cloud models (~30% smaller)EXC_BAD_ACCESS) — requires Xcode 26.3+ (Xcode 26.1 has a Swift compiler bug)Fix: Android UnsatisfiedLinkError crash on 32-bit devices by restricting to arm64-v8a ABI only
Fix: iOS package URL switched to a valid xcframework bundle with simulator slices to resolve iOS build failures on Flutter integration.
ios-sdk v1.0.0-beta.21 (removed unavailable API references causing compile errors).Add: Flutter AvatarController.pause() and AvatarController.resume() APIs.
AvatarController.pause() and AvatarController.resume() APIs.pauseRendering/resumeRendering (rendering only).paused (and normalizes transient active) to prevent demo playback-state desync.Update: Android SDK to 1.0.0-beta36
AvatarError enumUpdate: Android SDK to 1.0.0-beta35
pointCount plugin call uses AvatarController.getPointCount()Update: Android SDK to 1.0.0-beta34 (fix multi-instance breathing twitch, fix surface resize distortion)
Fix: Android build failure - API references on AvatarController corrected to AvatarView
Fix: iOS resource bundle not found crash
Fix: iOS 18+ Metal completion handler crash
Prerelease of AvatarKit Flutter plugin.
Prerelease of AvatarKit Flutter plugin.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →