|
1 | | -## Next release |
2 | | -* Update example |
3 | | - * [Web] Update example with Firebase Analytics (Web, optional) |
4 | | - * [Web] Added environment registration support |
| 1 | +## Next Release |
| 2 | + |
| 3 | +* BREAKING CHANGES: |
| 4 | + * Feat: Completed migration to Federated Plugin structure. This requires one change: |
| 5 | + ```dart |
| 6 | + /// old |
| 7 | + TwilioVoice.instance |
| 8 | + |
| 9 | + // new |
| 10 | + TwilioVoicePlatform.instance |
| 11 | + ``` |
| 12 | +* Feat: [Web] Add Twilio Device [DeviceState] accessor protecting un/registration. |
| 13 | +* Feat: [Web] Add Twilio Device `updateToken(String)` function to allow updating of active device tokens. |
| 14 | +* Fix: [Web] Twilio Device does not unregister on `unregister()` method call due to 'device.off' not visible in js object causing device event listeners to remain attached on unregistered device. |
| 15 | +* Feat: [Web] Check unnecessary updating device with the same token. |
| 16 | +* Feat: [Web] Update internal [CallStatus] mapping method. |
| 17 | +* Fix: [Web] Await Twilio Device `register()` and `unregister()` method calls. |
| 18 | +* Fix: [Web] Prevent duplicate `TwilioVoiceWeb` instances. |
| 19 | +* Feat: [iOS] Add support for call logging via `enableCallLogging(bool)` to record call in recents. No other platform currently supports this, see [NOTES.md](NOTES.md#limitations) for more details. |
| 20 | +* Feat: update example. |
| 21 | +* Docs: update CHANGELOG |
| 22 | + |
| 23 | +## 0.3.2+2 |
| 24 | + |
| 25 | +* Fix: [iOS] show caller number or interpretted client name for performStartCallAction |
| 26 | +* Docs: update CHANGELOG |
| 27 | + |
| 28 | +## 0.3.2+1 |
| 29 | + |
| 30 | +* Fix: [iOS] Missed call notifications now show caller name (or full number) on title, and "Missed call" text in body. [Issue #299](https://github.com/cybex-dev/twilio_voice/issues/299) |
| 31 | +* Feat: [iOS] show caller number or interpretted client name for reportingIncomingCall and missed call notification |
| 32 | +* Docs: update CHANGELOG |
| 33 | + |
| 34 | +## 0.3.2 |
| 35 | + |
| 36 | +* Fix: [iOS] Add missing `deviceToken` when reporting 'DEVICETOKEN' `CallEvent`. [Issue #241](https://github.com/cybex-dev/twilio_voice/issues/241) |
| 37 | +* Fix: [iOS] Notifications not showing when app is in foreground. |
| 38 | + |
| 39 | +## 0.3.1 |
| 40 | + |
| 41 | +* Fix: [iOS] Fix `hangUp()` not ending incoming call when call is ringing. [Issue #244](https://github.com/cybex-dev/twilio_voice/issues/244) |
| 42 | +* Feat: [iOS] Add missing `answer()` native implementation. [Issue #244](https://github.com/cybex-dev/twilio_voice/issues/244) |
| 43 | +* Feat: Add raw `Connect({Map<String, dynamic>?})` for all platforms |
| 44 | +* Refactor: [Web] Removed unused `web_callkit` event listeners. |
| 45 | +* Fix: [Web] Check if call SID is present when call is disconnected (this occurs if the call ends abruptly after starting, and `params` does not contain `CallSid`). |
| 46 | +* Fix: [iOS] unregister removes device push token preventing new access token registration (i.e. user 1 logs out, user 2 and more won't receive any calls). Thanks to [@VinceDollo](https://github.com/VinceDollo) & [@Erchil66](https://github.com/Erchil66) [Issue #273](https://github.com/cybex-dev/twilio_voice/issues/273) |
| 47 | +* Fix: [Android] placing outgoing call then ending immediately results in no Flutter plugin not registering call ended. Thanks to [@RageshAntonyHM](https://github.com/RageshAntonyHM) & [@Erchil66](https://github.com/Erchil66) [Issue #275](https://github.com/cybex-dev/twilio_voice/issues/275) |
| 48 | +* Fix: [Android] Migrate to declarative plugins block from Flutter's `app_plugin_loader` Gradle plugin. (see: [Deprecated imperative apply of Flutter's Gradle plugins](https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply)) |
| 49 | +* Docs: update CHANGELOG, TODO |
| 50 | + |
| 51 | +## 0.3.0+1 |
| 52 | + |
| 53 | +* Fix: [Web] add missing web_callkit outgoing call notification |
| 54 | +* Docs: update CHANGELOG, README |
| 55 | + |
| 56 | +## 0.3.0 |
| 57 | +* BREAKING CHANGES: |
| 58 | + * Feat: [Web] Add [web_callkit](https://pub.dev/packages/web_callkit) support. Please see updated [Web Setup](README.md#web-setup) section in the README for details. |
| 59 | +* Docs: update README, NOTES & CHANGELOG |
| 60 | +* Feat: [Web] Update example with custom incoming ringtone field. |
| 61 | +* Feat: [Web] Add custom sounds for Twilio Device using `updateSound(SoundName, String?)` or `updateSounds(Map<String, String>)` methods. |
| 62 | +* Fix: [Android] `call.isOnCall()` returns true when call is declined |
| 63 | +* Fix: [Android] handle reject vs error disconnect cause with message. |
| 64 | +* Logging: [Android] Added error code fallback |
| 65 | +* Feat: Update example permissions screen & changed `local` to `URL` registration method |
| 66 | +* Fix: [macOS] Remove deprecated `.alert` presentation option. [@AndreiMisiukevich](https://github.com/AndreiMisiukevich) |
| 67 | +* Feat: [macOS] Add native microphone permission with `AVCaptureDevice` (this replaces `getUserMedia()` from js interop available on localhost/https only). [@AndreiMisiukevich](https://github.com/AndreiMisiukevich) |
| 68 | +* Fix/Update: [macOS] correct runtime entitlement for `audio-input` permission. [@AndreiMisiukevich](https://github.com/AndreiMisiukevich) |
| 69 | + |
| 70 | +## 0.2.2 |
| 71 | + |
| 72 | +* Fix: [Android] Fix cancelling call when app is in background throws [BackgroundServiceStartNotAllowedException](https://developer.android.com/reference/android/app/BackgroundServiceStartNotAllowedException). [Issue #204](https://github.com/cybex-dev/twilio_voice/issues/204) |
| 73 | +* Fix: [Web] Fixed microphone permission (using `getUserMedia`) for Firefox & Safari. [Issue #260](https://github.com/cybex-dev/twilio_voice/issues/260). Credit to [@AndreiMisiukevich](https://github.com/AndreiMisiukevich) |
| 74 | + |
| 75 | +## 0.2.1 |
| 76 | + |
| 77 | +* Fix: [iOS] Race condition ending call remotely and locally results in a "End Call Failed: The operation couldn’t be completed." error. [Issue #184](https://github.com/cybex-dev/twilio_voice/issues/184) |
| 78 | +* Fix: [iOS] Plugin messages sent via Event Sink throwing an error due to sending from background thread. [Issue #256](https://github.com/cybex-dev/twilio_voice/issues/256) |
| 79 | + |
| 80 | +## 0.2.0+1 |
| 81 | + |
| 82 | +* Fix: [Web] `window.localStorage` deprecated members |
| 83 | +* Updated README.md |
| 84 | + |
| 85 | +## 0.2.0 |
| 86 | +* [Android] Support (long-awaited) AGP 8 update |
| 87 | +* [Android, iOS] Update Twilio SDKs to latest versions, see release notes for: |
| 88 | + * [Android 6.9.0](https://www.twilio.com/docs/voice/sdks/android/3x-changelog#690), and |
| 89 | + * [iOS 6.13.0](https://www.twilio.com/docs/voice/sdks/ios/changelog#6130), |
| 90 | + * _web coming soon with callkit integration_ |
| 91 | +* Update: example |
| 92 | + * Added: [Web] environment registration support |
5 | 93 | * Added `defines.config.json` file to example to support environment configuration used with ```flutter run --dart-defines-file=defines.config.json``` |
6 | | - * [Web] Added `FIREBASE_ENABLE` defines to initialize Firebase only if set to true |
7 | | -* [Web] Added raw `Connect({Map<String, dynamic>?})` sent to TwiML webhook. |
8 | | - * [Android] Fix `showMissedCallNotifications` not working due to incorrect method channel name |
| 94 | + * Added: [Web] `FIREBASE_ENABLE` defines to initialize Firebase only if set to true |
| 95 | + * Update: [Web] Update example with Firebase Analytics (Web, optional) |
| 96 | +* Added: [Web] Added raw `Connect({Map<String, dynamic>?})` sent to TwiML webhook. |
| 97 | +* Fix: [Android] `showMissedCallNotifications` not working due to incorrect method channel name |
9 | 98 |
|
10 | 99 | ## 0.1.3 |
11 | 100 | * Added: CallEvents: |
|
0 commit comments