# 1.0.0

### Stream Video Flutter 1.0.0 — Migration Guide

This guide summarizes all required changes to upgrade to `stream_video_flutter` v1.0.0. Follow the checklist and examples to make the update fast and safe.

### TL;DR checklist

- Update dependency to `stream_video_flutter: ^1.0.0`.
- CallKit/Ringing:
  - Replace `pushParams` with `pushConfiguration` when creating `StreamVideoPushNotificationManager`.
  - Rename `nameCaller` → `callerName`.
  - Remove `callerCustomizationCallback` and `backgroundVoipCallHandler` from `StreamVideoPushNotificationManager`.
  - Remove `appName` from push config (iOS now uses Product Name).
  - Rename event APIs: `CallKit*` → `Ringing*` (see details below).
- Video filters moved to `stream_video_filters` — add dependency and update imports/usages.
- Remove deprecated APIs:
  - `StreamVideo.muteVideoWhenInBackground`/`muteAudioWhenInBackground` → `StreamVideo.options.muteVideoWhenInBackground`/`StreamVideo.options.muteAudioWhenInBackground`.
  - `StreamCallType()` → `StreamCallType.defaultType()`.
  - `Call.setParticipantPinned()` → `Call.setParticipantPinnedLocally()`.
  - Remove `startRtmpBroadcasts` param from `Call.goLive()`.
  - Remove `localParticipant` from `AddReactionOption`.
  - Replace deprecated builder callbacks with variants that do not pass state objects.

### 1) Update dependencies

Update your `pubspec.yaml`:

```yaml
dependencies:
  stream_video_flutter: ^1.0.0
  # If you use video filters (blur/virtual background), add:
  stream_video_filters: ^1.0.0
```

Run:

```bash
flutter pub get
```

### 2) CallKit/Ringing changes

1. Replace `pushParams` with `pushConfiguration` when creating the push manager.
2. Rename `nameCaller` → `callerName`.
3. Remove the deprecated `callerCustomizationCallback` and `backgroundVoipCallHandler` from `StreamVideoPushNotificationManager` configuration.
4. Remove `appName` (iOS now uses the Product Name from build settings).
5. Rename CallKit-related events and types:
   - `onCallKitEvent` → `onRingingEvent`
   - `observeCoreCallKitEvents` → `observeCoreRingingEvents`
   - `observeCallAcceptCallKitEvent` → `observeCallAcceptRingingEvent`
   - `observeCallDeclinedCallKitEvent` → `observeCallDeclinedRingingEvent`
   - `observeCallEndedCallKitEvent` → `observeCallEndedRingingEvent`
   - `CallKitEvent` → `RingingEvent`

Example setup (before → after):

```dart
// BEFORE
final streamVideoClient = StreamVideo(
  apiKey,
  user: user,
  tokenLoader: tokenLoader,
  pushNotificationManagerProvider: StreamVideoPushNotificationManager.create(
    iosPushProvider: const StreamVideoPushProvider.apn(name: 'flutter-apn'),
    androidPushProvider: const StreamVideoPushProvider.firebase(
      name: 'flutter-firebase',
    ),
    pushParams: const StreamVideoPushParams(
      appName: kAppName,
      ios: IOSParams(iconName: 'IconMask'),
      missedCallNotification: NotificationParams(
        showNotification: true,
        subtitle: 'Missed Call',
        callbackText: 'Call Back',
      ),
    ),
    callerCustomizationCallback: /* removed in 1.0.0 */,
    backgroundVoipCallHandler: /* removed in 1.0.0 */,
  ),
);
```

```dart
// AFTER
final streamVideoClient = StreamVideo(
  apiKey,
  user: user,
  tokenLoader: tokenLoader,
  pushNotificationManagerProvider: StreamVideoPushNotificationManager.create(
    iosPushProvider: const StreamVideoPushProvider.apn(name: 'flutter-apn'),
    androidPushProvider: const StreamVideoPushProvider.firebase(
      name: 'flutter-firebase',
    ),
    pushConfiguration: const StreamVideoPushConfiguration(
      ios: IOSPushConfiguration(iconName: 'IconMask'),
      android: AndroidPushConfiguration(
        missedCallNotification: MissedCallNotificationParams(
          showNotification: true,
          subtitle: 'Missed Call',
          callbackText: 'Call Back',
        ),
      ),
    ),
  ),
);
```

Quick find/replace (search your codebase):

- `onCallKitEvent` → `onRingingEvent`
- `observeCoreCallKitEvents` → `observeCoreRingingEvents`
- `observeCallAcceptCallKitEvent` → `observeCallAcceptRingingEvent`
- `observeCallDeclinedCallKitEvent` → `observeCallDeclinedRingingEvent`
- `observeCallEndedCallKitEvent` → `observeCallEndedRingingEvent`
- `CallKitEvent` → `RingingEvent`
- `nameCaller:` → `callerName:`
- Remove usages of `callerCustomizationCallback` and `backgroundVoipCallHandler` on `StreamVideoPushNotificationManager`.
- Remove `appName:` in push configuration.

### 3) Video filters moved to `stream_video_filters`

If you use blur/virtual background, add the new package and update imports/usages accordingly.

```yaml
dependencies:
  stream_video_filters: ^1.0.0
```

Update your imports. You may need to add `stream_video_filters` import in files you use `StreamVideoEffectsManager`.

### 4) Removed deprecated APIs and parameters

Apply these replacements:

```dart
// BEFORE
final type = StreamCallType(); // default constructor

await call.setParticipantPinned(sessionId: 'id', userId: 'u1', pinned: true);

await call.goLive(startRtmpBroadcasts: true);

final option = AddReactionOption(
  call: call,
  // localParticipant: /* removed */
);
```

```dart
// AFTER
final type = StreamCallType.defaultType();

await call.setParticipantPinnedLocally(sessionId: 'id', userId: 'u1', pinned: true);
// For pinning for everyone, use the appropriate server-permissioned API if needed.

await call.goLive(); // remove startRtmpBroadcasts param

final option = AddReactionOption(
  call: call,
);
```

Deprecated UI builder callbacks that used to pass state objects have been removed. Switch to the new callbacks that do not provide state objects (see the 1.0.0 changelog note and linked PR for the list of affected widgets). Review any custom UI relying on those old callbacks and migrate to the new signatures.

### 🔍 Support

If you encounter any issues during migration, please submit a ticket at [support](https://getstream.io/contact/support/).


---

This page was last updated at 2026-05-13T13:39:03.846Z.

For the most recent version of this documentation, visit [https://getstream.io/video/docs/flutter/migration-guides/1.0.0/](https://getstream.io/video/docs/flutter/migration-guides/1.0.0/).