Skip to content

Commit 497dbe8

Browse files
renefloorBrazol
andauthored
build(repo): release 0.10.0 (#1008)
* update 0.10.0 versioning and changelogs * changelog update * versions bump * Add detailed documentation for partial state update * improvement suggestion on migration doc Co-authored-by: Maciej Brażewicz <[email protected]> * Update migration doc for StreamCallContent Co-authored-by: Maciej Brażewicz <[email protected]> * Adding export for sfu_error --------- Co-authored-by: Brazol <[email protected]> Co-authored-by: Maciej Brażewicz <[email protected]>
1 parent e99338a commit 497dbe8

File tree

16 files changed

+84
-22
lines changed

16 files changed

+84
-22
lines changed

dogfooding/pubspec.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: flutter_dogfooding
2-
version: 1.9.6+1
2+
version: 1.10.0+1
33
publish_to: none
44
description: Flutter Dogfooding App to showcase Video SDK.
55

@@ -24,7 +24,7 @@ dependencies:
2424
flutter_rating_stars: ^1.1.0
2525
flutter_svg: ^2.0.7
2626
get_it: ^7.7.0
27-
go_router: 15.1.3 # Go router 15.2.0 breaks with Type-safe routes
27+
go_router: 15.1.3 # Go router 15.2.0 breaks with Type-safe routes
2828
google_fonts: ^5.1.0
2929
google_sign_in: ^6.2.1
3030
http: ^1.2.2
@@ -37,10 +37,10 @@ dependencies:
3737
share_plus: ^11.0.0
3838
shared_preferences: ^2.3.2
3939
stream_chat_flutter: ^9.8.0
40-
stream_video_flutter: ^0.9.6
41-
stream_video_push_notification: ^0.9.6
42-
stream_video_screen_sharing: ^0.9.6
43-
stream_video_noise_cancellation: ^0.9.6
40+
stream_video_flutter: ^0.10.0
41+
stream_video_push_notification: ^0.10.0
42+
stream_video_screen_sharing: ^0.10.0
43+
stream_video_noise_cancellation: ^0.10.0
4444

4545
dependency_overrides:
4646
just_audio_web: ^0.4.13

melos.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ command:
2323
share_plus: ^11.0.0
2424
stream_chat_flutter: ^9.8.0
2525
stream_webrtc_flutter: ^1.0.9
26+
stream_video: ^0.10.0
27+
stream_video_flutter: ^0.10.0
28+
stream_video_noise_cancellation: ^0.10.0
29+
stream_video_push_notification: ^0.10.0
30+
stream_video_screen_sharing: ^0.10.0
2631

2732
scripts:
2833
postclean:

packages/stream_video/CHANGELOG.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1-
## Unreleased
1+
## 0.10.0
22

33
✅ Added
44
* Added `setMirrorVideo` method to `Call` class to control video mirroring for participants.
55
* Added `call.partialState` for more specific and efficient state updates.
6+
* Added `maxParticipantsExcludeOwner` and `maxParticipantsExcludeRoles` to Call limits settings, providing finer control over participant limits by allowing exclusion of call owners and specific roles from the maximum count.
67

78
🐞 Fixed
89
* Improved SFU error handling in Call flow and disconnect reason handling. The disconnected call state now accurately reflects the original cause of disconnection.
9-
* Fixed an issue where rejecting a ringing call by one participant would incorrectly end the call for all other ringing participants.
10+
* Fixed an issue where rejecting a ringing call on one device would incorrectly end the call for all already connected participants.
11+
* Enhanced fast reconnect mechanism with improved PeerConnection issue detection and recovery. The system now attempts multiple fast reconnects before falling back to a full call rejoin.
12+
* Fixed simulcast video quality by correcting resolution calculations and layer selection for optimal video track display.
1013
* Fixed an edge case where a call with the same CID as an incoming call is also an outgoing call to ensure the same Call instance is used.
1114

1215
## 0.9.6

packages/stream_video/lib/globals.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:meta/meta.dart';
22

33
const String streamSdkName = 'stream-flutter';
4-
const String streamVideoVersion = '0.9.6';
4+
const String streamVideoVersion = '0.10.0';
55
const String openapiModelsVersion = '180.1.0';
66
const String protocolModelsVersion = '1.38.0';
77
const String androidWebRTCVersion = '1.3.8';

packages/stream_video/lib/stream_video.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export 'src/platform_detector/platform_detector.dart';
2424
export 'src/push_notification/push_notification_manager.dart';
2525
export 'src/retry/retry_policy.dart';
2626
export 'src/sfu/data/models/sfu_connection_quality.dart';
27+
export 'src/sfu/data/models/sfu_error.dart';
2728
export 'src/sfu/data/models/sfu_goaway_reason.dart';
2829
export 'src/sfu/data/models/sfu_track_type.dart';
2930
export 'src/sorting/call_participant_sorting_presets.dart';

packages/stream_video/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: stream_video
22
description: The Official Low-level Client for Stream Video, a service for
33
building video calls, audio rooms, and live-streaming applications.
4-
version: 0.9.6
4+
version: 0.10.0
55
homepage: https://getstream.io/video/
66
repository: https://github.com/GetStream/stream-video-flutter
77
issue_tracker: https://github.com/GetStream/stream-video-flutter/issues

packages/stream_video_flutter/CHANGELOG.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Unreleased
1+
## 0.10.0
22

33
🚧 (Android) Picture-in-Picture (PiP) Improvements - Breaking Change
44
* **Simplified Setup:** Introduced `StreamFlutterActivity` - extend it instead of `FlutterActivity` for automatic PiP support.
@@ -8,6 +8,8 @@
88
* **Removed Deprecated Methods:** Removed the deprecated `setPictureInPictureEnabled` method from `StreamVideoFlutterPlatform`, `StreamVideoFlutterBackground`, and `MethodChannelStreamVideoFlutter` classes, and the deprecated `enterPictureInPictureIfInCall` method from `PictureInPictureHelper` (Android). PiP is now handled automatically by `StreamPictureInPictureAndroidView`.
99

1010
🔄 Partial State Updates:
11+
12+
For a more detailed explanation check [the dedicated documentation](https://github.com/GetStream/stream-video-flutter/blob/main/packages/stream_video_flutter/docs/partial_state_update_changes.md).
1113
* Added `call.partialState` for more specific and efficient state updates.
1214
* Added callbacks in `StreamCallContainer`, `StreamCallContent`, `StreamIncomingCallContent`, and others that no longer return a state.
1315
By (only) using these callbacks the root widgets will use more efficient partial state updates.
@@ -16,10 +18,13 @@ By (only) using these callbacks the root widgets will use more efficient partial
1618

1719
✅ Added
1820
* Added `setMirrorVideo` method to `Call` class to control video mirroring for participants.
21+
* Added `maxParticipantsExcludeOwner` and `maxParticipantsExcludeRoles` to Call limits settings, providing finer control over participant limits by allowing exclusion of call owners and specific roles from the maximum count.
1922

2023
🐞 Fixed
2124
* Improved SFU error handling in Call flow and disconnect reason handling. The disconnected call state now accurately reflects the original cause of disconnection.
22-
* Fixed an issue where rejecting a ringing call by one participant would incorrectly end the call for all other ringing participants.
25+
* Fixed an issue where rejecting a ringing call on one device would incorrectly end the call for all already connected participants.
26+
* Enhanced fast reconnect mechanism with improved PeerConnection issue detection and recovery. The system now attempts multiple fast reconnects before falling back to a full call rejoin.
27+
* Fixed simulcast video quality by correcting resolution calculations and layer selection for optimal video track display.
2328
* Fixed an edge case where a call with the same CID as an incoming call is also an outgoing call to ensure the same Call instance is used.
2429

2530
## 0.9.6
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Partial State Updates (non-breaking)
2+
Changes made in Version 0.10.0
3+
4+
## Reason for the changes
5+
The state of the `Call` object (`CallState`) contains a lot of different properties that can change all the time. Even though most of these changes are not relevant for your app, by listening to the `call.state` your app will update the widgets all the time. Because of this the `Call` object now contains a `partialState` to only listen to updates when they are relevant for that particular widget.
6+
7+
`StreamCallContainer` and `StreamCallContent` contain callbacks to build your own custom parts that contain the current state, for example like this:
8+
9+
```dart
10+
StreamCallContainer(
11+
call: call,
12+
callContentBuilder: (context, call, callState) {
13+
return CustomCallContent();
14+
},
15+
);
16+
```
17+
18+
You expect this state to be up to date and because of that the `StreamCallContainer` will always rebuild everything when anything in the state changes. The previous builders have been replaced with new ones that no longer include a state object. When migrating to use these updated builders, you'll need to handle state observation within your own widgets. You can do this more efficiently by using `call.partialState` or the `PartialCallStateBuilder`. When none of the deprecated callbacks are used, the call container will no longer trigger a rebuild on every state change.
19+
20+
```dart
21+
StreamCallContainer(
22+
call: call,
23+
callContentWidgetBuilder: (context, call) {
24+
return CustomCallContent();
25+
},
26+
);
27+
```
28+
29+
## Deprecations and recommended changes
30+
For most of the changes automatic fixes are available, but not everywhere and not always automatic.
31+
32+
### Changes in `StreamCallContainer` and `StreamCallContent`
33+
In `StreamCallContainer` the IDE should suggest changes to migrate from `incomingCallBuilder`, `outgoingCallBuilder` and `callContentBuilder` to the new `...WidgetBuilder` alternative. However, these changes are not applied automatically with `dart fix --apply` because you have to make changes in the callback itself.
34+
35+
The same is true for `StreamCallContent` and similar widgets like `StreamIncomingCallContent`. Here, it's also important that you no longer provide the deprecated `callState` parameter. If you do, it's assumed to always be up to date and the widget won't listen to the partial state directly. If you won't provide it, the widget will listen to relevant changes only using the partial state. The `callState` object is deprecated and `dart fix --apply` will also automatically remove the state object as it won't break any of your other code.
36+
37+
## Other recommended changes
38+
Some of the other widgets have properties that are no longer required and now nullable.
39+
For example `StreamCallParticipants` no longer requires `participants`, but will listen to the `callParticipants` in the `call` object. We have not completely removed this to keep the option for filtering participants shown in this widget. In the same way `StreamCallControls` no longer require a `localParticipant`, but you can still supply this when you want to use a different participant than the `localParticipant` from the call object. Because these objects are now optional they are not deprecated and are not automatically removed by `dart fix`.

packages/stream_video_flutter/example/pubspec.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ dependencies:
2727
path_provider: ^2.1.0
2828
share_plus: ^11.0.0
2929
shared_preferences: ^2.2.0
30-
stream_video: ^0.9.6
31-
stream_video_flutter: ^0.9.6
32-
stream_video_push_notification: ^0.9.6
30+
stream_video: ^0.10.0
31+
stream_video_flutter: ^0.10.0
32+
stream_video_push_notification: ^0.10.0
3333
stream_webrtc_flutter: ^1.0.9
3434

3535
dependency_overrides:

packages/stream_video_flutter/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: stream_video_flutter
22
description: The Official UI package for Stream Video, a service for building
33
video calls, audio rooms, and live-streaming applications.
4-
version: 0.9.6
4+
version: 0.10.0
55
homepage: https://getstream.io/video/
66
repository: https://github.com/GetStream/stream-video-flutter
77
issue_tracker: https://github.com/GetStream/stream-video-flutter/issues
@@ -22,7 +22,7 @@ dependencies:
2222
permission_handler: ^12.0.0+1
2323
plugin_platform_interface: ^2.1.8
2424
rate_limiter: ^1.0.0
25-
stream_video: ^0.9.6
25+
stream_video: ^0.10.0
2626
stream_webrtc_flutter: ^1.0.9
2727
visibility_detector: ^0.4.0+2
2828

0 commit comments

Comments
 (0)