Releases: GetStream/stream-video-swift
Releases · GetStream/stream-video-swift
1.46.0
April 20, 2026
🔄 Changed
- Added optional leave reasons to
Call.leaveandCallViewModel.hangUp, and propagated them through the WebRTC leave flow so SFU leave requests include explicit end-of-call context. #1100 - Added an optional join interception hook so apps can delay or abort call entry after the join response is applied locally. #1108
- Exposed
participantAutoLeavePolicyonCallKitAdapterandCallKitServiceso CallKit flows can share the same auto-leave rules asCallViewModel.
🐞 Fixed
- Prevent abrupt call endings caused by audio-session readiness timing. #1098
- Prevent repeated screen-sharing permission prompts on reconnection after screen capture is denied. #1102
- Prevent hanging up while a call is still joining from briefly showing the in-call UI after the join finishes in the background. #1101
- Delay microphone and camera permission prompts until the app is in the foreground and the WebRTC join has completed. #1103
- Prevent outgoing ringing time from being counted toward call duration. #1106
- Replay buffered subscriber ICE trickles during join so remote audio does not wait for a later subscriber ICE restart before becoming audible. #1111
- Fix join-call timeout caused by a
PassthroughSubjectrace where the response was emitted before the subscription was established. #1113 - CallKit-managed calls now respect the configured
participantAutoLeavePolicy. #1112 - Prevent
CallViewModelfrom entering.inCallfrom participant updates before the call is ready, while preserving the CallKit join handoff to.inCall. #1109 - Handle CallKit ringing edge cases by ending already-handled incoming calls with explicit leave reasons when they were answered, rejected, missed, or ended elsewhere. #1115
1.45.0
March 31, 2026
🔄 Changed
- Picture-in-Picture participant views no longer show the speaking decoration. #1090
🐞 Fixed
- Require only publisher peer-connection readiness before join completion so subscriber setup can continue without blocking join state. #1091
- Start SFU subscription updates earlier in the join flow and keep them active across stage transitions to improve subscriber warm-up and reduce delayed remote media on join. #1091
- Use peer-connection readiness-aware joining for CallKit accepted calls so incoming-call joins do not complete before WebRTC is ready. #1091
- Prevent crashes during audio filter teardown by detaching custom processing callbacks before filter release and synchronizing callback handler access. #1089
1.44.0
March 19, 2026
✅ Added
- Added
WebRTCJoinPolicytoCall.join()so applications can delay join
completion until publisher and subscriber peer connections are ready.
🔄 Changed
- Propagated publish/unpublish failures from local video and screen-share capture
sessions instead of swallowing them after logging. #1072 - The SDK will now end an outgoing call if the app moves to background while ringing. #1078
CallViewModelnow waits briefly for peer-connection readiness before an accepted ringing call is surfaced as joined. #1080
🐞 Fixed
- Fix call teardown ordering by posting
callEndedonly after active/ringing cleanup
and keepCallSessiontoken values in sync withStreamVideotoken updates. #1071 - Fix local mediaAdapters not reacting to changed own capabilities. #1070
- Fix label color when presenting. #1077
- Ensure CallKit push token updates and invalidation mutate
deviceTokenon the main actor to avoid Swift concurrency/actor-isolation issues. #1076 - Ensure CallKit joins keep the answer action completion alive until WebRTC has configured the audio device module. #1081
- Update incoming call acceptance to move
CallViewModelinto.joiningbefore the call finishes entering, so the joining UI appears immediately. #1079
1.43.0
1.42.0
1.41.0
1.40.0
January 16, 2026
🐞 Fixed
- CallSettings not propagating correctly when were set using the CallViewModel before joining a call. #1023
- An issue causing microphone to stop recording when screen was locked and
always-display-onwas enabled. #1026
🔄 Changed
- The initializer of
AudioSessionConfigurationis now marked aspublicto allow customAudioSessionPolicyimplementations.#1025