acs_flutter_sdk
Flutter plugin for Microsoft Azure Communication Services (ACS). Provides voice/video calling, UI Library composites, and identity management capabilities.
What this package is like to depend on
Last release 1 months ago
26 Jun 2026
Release timing varies
gaps range from 2 weeks to 4 months
Most releases are documented
notes for 14 of 17 stable releases
Nothing withdrawn
no release was ever pulled
10 months old
17 releases · first in 2025
17 releases in the last 12 months
see the full history below
Release timeline
17 releases · Oct 2025 to Jun 2026
2026
Releases
latest 17-
0.2.1126 Jun 2026Release notes
Open source →- Feature — dynamic audio-output API: the calling client can now switch the in-call audio output at runtime via
setAudioRoute(AudioOutput target), read the current output withgetAudioRoute(), and list selectable outputs withgetAvailableAudioOutputs(). The newAudioOutputenum coversauto,speaker,earpiece,bluetooth, andwiredHeadset.auto(the default) keeps the existing behaviour — built-in loudspeaker, switching to a connected external device — while an explicit value is honoured until changed or reset toauto; if a selected external device disconnects, routing reverts to automatic. Implemented natively on Android (AudioManager) and iOS (AVAudioSession) with unit-tested routing logic.
- Feature — dynamic audio-output API: the calling client can now switch the in-call audio output at runtime via
-
0.2.1026 Jun 2026Release notes
Open source →- Fix — release renderers before detaching the call channel: when a call screen closes, the SDK now asks the native side to tear down every video renderer and release the render manager before the method-call handler is detached, dispatched while the channel is still live. This prevents leaked renderers / a teardown crash when leaving a multi-participant call.
- Feature — in-call audio output routing: in-call audio is now routed to the device's built-in loudspeaker by default, and automatically to an external output device (Bluetooth, wired headset/headphones, USB, or hearing aid) whenever one is connected. Implemented natively on both Android and iOS with unit-tested routing logic.
-
0.2.921 Jun 2026Release notes
Open source →- iOS — fix video-call freeze on iOS 26: Remote video renderer teardown no longer blocks the platform/UI thread. The view is detached synchronously while the underlying renderer's decoder-session disposal is deferred to the next main-runloop turn, so it no longer re-enters the in-flight platform-view dispose handshake. This removes a main-thread stall that froze the app on any action during a multi-participant call on iOS 26 (reproduced on both simulator and device) and stopped the associated memory growth from undisposed decoder sessions. iOS 18 was unaffected by the original behaviour. The renderer teardown stays on the main thread, preserving the SDK's main-thread renderer affinity.
-
0.2.815 Jun 2026Release notes
Open source →- Screen sharing: Render incoming screen-share streams in the participant grid, with dedicated handling so a shared screen and camera feeds display together.
- Multi-participant video stability: Reworked remote video rendering to track each participant's renderer independently, preventing frozen or blank tiles when participants join, leave, or toggle their camera.
- iOS: Added a native exception guard around local video stream creation so the app fails gracefully instead of crashing when camera hardware is briefly unavailable.
- Android: Hardened the screen-share capture lifecycle handling.
- Calling API: Consolidated call state and event models for clearer, type-safe call handling.
- Cleanup: Removed the deprecated chat module and its tests (chat was retired in 0.2.3); package description and topics updated accordingly.
- Tooling: Upgraded to
flutter_lints6.0.0; static analysis passes with no issues.
-
0.2.713 Feb 2026Release notes
Open source →- Critical Bug Fix: Prevent crash when ACS SDK throws NSException during
LocalVideoStreaminitialization - iOS: Add Objective-C exception catcher to safely handle
ACSLocalVideoStream init:failures - Android: Add try-catch around
LocalVideoStreamconstructor for defensive error handling - Gracefully returns error to Flutter instead of crashing the app
- Addresses crash on iOS 18.6+ when camera hardware is temporarily unavailable
- Critical Bug Fix: Prevent crash when ACS SDK throws NSException during
-
0.2.621 Jan 2026Release notes
Open source →- Critical Bug Fix: Fixed NullPointerException crash in media statistics serialization on both platforms
- Android: Fixed null-safety in
serializeOutgoingStatistics()andserializeIncomingStatistics()methods - iOS: Fixed null-safety in
serialize(outgoingStatistics:)andserialize(incomingStatistics:)methods - Impact: Prevents app crashes when joining calls with video/mic disabled or during initial connection phase
- Details: Added null checks to gracefully handle race condition when media statistics collection starts before streams are established
- README: Updated to document chat module removal (removed in v0.2.3 for app size optimization)
-
0.2.520 Jan 2026Release notes
Open source →- Bug Fix: Prevent crash when camera permission is denied during video call initialization
- iOS: Add
AVCaptureDevice.authorizationStatuscheck before creatingLocalVideoStream - Android: Add
ContextCompat.checkSelfPermissioncheck before creatingLocalVideoStream - Gracefully handle denied camera permissions instead of crashing the app
-
0.2.419 Jan 2026Release notes
Open source →- Updated README.md with accurate documentation
- Fixed broken documentation links
- Updated Chat section with deprecation notice
- Fixed analyzer warnings in example app
- Improved dartdoc comments
-
0.2.312 Dec 2025Release notes
Open source →- BREAKING: Chat SDK removed to reduce app size -
createChatClient()now throwsUnsupportedError - For chat functionality, use UI Library ChatComposite or implement server-side chat
- Documentation update for UI Library features
- Updated README.md with comprehensive UI Library documentation
- Added comparison table between Custom UI and UI Library approaches
- Added UI Library usage examples (group calls, Teams meetings)
- Reorganized README structure to distinguish between two SDK approaches
- Updated architecture diagram to show both AcsFlutterSdk and AcsUiLibrary
- Added Documentation section with links to implementation guide
- BREAKING: Chat SDK removed to reduce app size -
-
0.2.212 Dec 2025Release notes
Open source →- Add Azure Communication Services UI Library support
- New AcsUiLibrary class for pre-built CallComposite and ChatComposite components
- Add native Android UI Library plugin (AcsUiLibraryPlugin.kt)
- Add native iOS UI Library plugin (AcsUiLibraryPlugin.swift)
- Support for Group Calls, Teams Meetings, Rooms, and 1:1 calls via UI composites
- Add localization support for 20+ languages in UI Library
- Add theming and multitasking (Picture-in-Picture) options
- Comprehensive UI Library implementation documentation
- Fix deprecated Color.value usage (now uses toARGB32)
- Remove unnecessary dart:typed_data import
-
0.2.108 Dec 2025Nothing published for this version
-
0.2.008 Dec 2025Nothing published for this version
-
0.1.408 Dec 2025Nothing published for this version
-
0.1.324 Oct 2025Release notes
Open source →- Fix Android compilation errors for Azure Chat SDK 2.0.3 API compatibility
- Update Android plugin to use correct Azure SDK method signatures
- Fix manifest merger conflicts and resource packaging issues
- Resolve Kotlin compilation errors in calling and chat modules
-
0.1.223 Oct 2025Release notes
Open source →- Add
joinTeamsMeetingAPIs on Dart, Android, and iOS bridges - Wire the example app with manual group call / Teams meeting join flows
- Document initialization requirements and Teams meeting limitations
- Extend unit tests to cover the new meeting-link workflow
- Add
-
0.1.123 Oct 2025Release notes
Open source →- Fix platform channel payload mismatches for calling and chat responses
- Require chat endpoint during initialization and harden message parsing
- Update Android/iOS plugin package metadata and example app permissions
- Refresh documentation to clarify identity requirements and remove unsupported features
- Prepare build scripts and podspec for publishing under the new namespace
- Add Android video support (local preview, remote rendering, camera switching) and runtime permission helper
-
0.1.023 Oct 2025Release notes
Open source →- Initial release of Azure Communication Services Flutter SDK
- ✅ Identity management support (create users, manage tokens)
- ✅ Voice and video calling capabilities
- ✅ Chat functionality with real-time messaging
- ✅ Android support (API 24+)
- ✅ iOS support (iOS 13.0+)
- ✅ Comprehensive documentation and examples
- ✅ Sound null safety support
- 📦 Uses Azure Communication Services SDK versions:
- Android: Calling 2.15.0, Chat 2.0.3, Common 1.2.1
- iOS: Calling 2.15.1, Chat 1.3.6, Common 1.3.0