Updating to Capacitor 8.0¶
Capacitor 8.0 is finally here and brings a lot of improvements! Make sure to check out the official announcement post from the Ionic team. In this article, you can find out what breaking changes have been made to the Capawesome plugins.
Plugins¶
The following plugin functionality has been modified or removed. Update your code accordingly.
More information can be found in the respective BREAKING.md file of each plugin.
Accelerometer¶
- The plugin now automatically requests permissions when calling plugin methods instead of throwing an error. Use the
checkPermissions()method beforehand if you need to check permissions first.
Age Signals¶
- On Android, the
androidPlayAgeSignalsVersionvariable has been updated to0.0.2.
Android Edge to Edge Support¶
- The default background color has been changed from white to transparent. To keep the white background, explicitly set
backgroundColorto#ffffffin the plugin configuration.
App Update¶
- On Android, the
androidPlayServicesBaseVersionvariable has been updated to18.9.0.
Audio Recorder¶
- On Android, the
pauseRecordingandresumeRecordingmethods now returnUNAVAILABLEinstead ofUNIMPLEMENTEDwhen called on devices with API level below 24. - The default value of
audioSessionModehas been changed fromAudioSessionMode.MeasurementtoAudioSessionMode.Default. If you were relying on the previous behavior, you must now explicitly set theaudioSessionModeoption.
Badge¶
- On iOS 16+, the plugin now uses
UNUserNotificationCenterinstead of the deprecatedapplicationIconBadgeNumberAPI, which may affect error handling behavior.
Bluetooth Low Energy¶
- On Web, all methods now return
UNIMPLEMENTEDinstead ofUNAVAILABLE. - On Android, the error message for
startForegroundServicehas been improved when missing required permissions. The original system error is now logged via the Capacitor Logger.
Cloudinary¶
- On Android, the
cloudinaryAndroidVersionvariable has been updated to3.1.2.
Contacts¶
- The
limitproperty inGetContactsOptionsnow defaults to20. - The
updateContactByIdmethod now supports partial updates. Missing properties are preserved, and properties set tonullor[]are deleted. If you were relying on missing properties being deleted, you must now explicitly set them tonull.
File Compressor¶
- On Android, the
androidxDocumentFileVersionvariable has been updated to1.1.0. - On Android, the
pathproperty inCompressImageResultis now a URI string instead of an absolute file path (e.g.,file:///data/...instead of/data/...).
File Opener¶
- On Android, the
androidxDocumentFileVersionvariable has been updated to1.1.0.
Firebase Analytics¶
- The Firebase Javascript SDK has been updated to
12.6.0. - On iOS, the Firebase iOS SDK has been updated to
12.7.0. Deprecated pods have been removed:GoogleAppMeasurementOnDeviceConversion,FirebaseAnalyticsOnDeviceConversion, andWithoutAdIdSupport. - On Android, the
firebaseAnalyticsVersionvariable has been updated to23.0.0.
Firebase App¶
- The Firebase Javascript SDK has been updated to
12.6.0. - On Android, the
firebaseCommonVersionvariable has been updated to22.0.1.
Firebase App Check¶
- The Firebase Javascript SDK has been updated to
12.6.0. - On Android, the
firebaseAppCheckPlayIntegrityVersionvariable has been updated to19.0.1. - On Android, the
firebaseAppCheckDebugVersionvariable has been updated to19.0.1.
Firebase Authentication¶
- The Firebase Javascript SDK has been updated to
12.6.0. - The
dynamicLinkDomainproperty inActionCodeSettingshas been replaced withlinkDomain. - Error codes have been updated to return
UNIMPLEMENTEDinstead of generic errors for platform-specific methods: - On Web:
getPendingAuthResult(),linkWithGameCenter(...),linkWithPlayGames(...),signInWithPlayGames(),signInWithGameCenter(),requestAppTrackingTransparencyPermission(),checkAppTrackingTransparencyPermission() - On Android:
getRedirectResult(),setPersistence(...),signInWithGameCenter(),requestAppTrackingTransparencyPermission(),checkAppTrackingTransparencyPermission() - On iOS:
getPendingAuthResult(),getRedirectResult(),linkWithPlayGames(...),setPersistence(...),signInWithPlayGames()
Firebase Crashlytics¶
- On Android, the
firebaseCrashlyticsVersionvariable has been updated to20.0.3.
Firebase Firestore¶
- The Firebase Javascript SDK has been updated to
12.6.0. - On Android, the
firebaseFirestoreVersionvariable has been updated to26.0.2.
Firebase Functions¶
- The Firebase Javascript SDK has been updated to
12.6.0. - On Android, the
firebaseFunctionsVersionvariable has been updated to22.1.0.
Firebase Messaging¶
- The Firebase Javascript SDK has been updated to
12.6.0. - On Android, the
firebaseMessagingVersionvariable has been updated to25.0.1. - On Web, mobile-specific methods now return
UNIMPLEMENTEDinstead ofUNAVAILABLE:getDeliveredNotifications(),removeDeliveredNotifications(...),removeAllDeliveredNotifications(),subscribeToTopic(...),unsubscribeFromTopic(...),createChannel(...),deleteChannel(...),listChannels()
Firebase Performance¶
- The Firebase Javascript SDK has been updated to
12.6.0. - On Android, the
firebasePerfVersionvariable has been updated to22.0.4.
Firebase Remote Config¶
- The Firebase Javascript SDK has been updated to
12.6.0. - On Android, the
firebaseConfigVersionvariable has been updated to23.0.1.
Firebase Storage¶
- The Firebase Javascript SDK has been updated to
12.6.0. - On Android, the
firebaseStorageVersionvariable has been updated to22.0.1.
LibSQL¶
- On Android, the
libsqlVersionvariable has been updated to0.1.2. - On Android, the
syncmethod now returns "Not implemented on this platform." instead of "Not available on this platform."
Live Update¶
- The minimum iOS deployment target has been updated to 16.0 (instead of 15.0) to address several security vulnerabilities related to ZIP file handling in earlier iOS versions.
- On Android, the
okhttp3Versionvariable has been updated to5.3.2.
Media Session¶
- On iOS, the
setCameraActiveandsetMicrophoneActivemethods now returnUNIMPLEMENTEDinstead ofUNAVAILABLE.
ML Kit Barcode Scanning¶
- On Web, unimplemented methods now throw
Unimplementedinstead ofUnavailable. - On iOS, the
isGoogleBarcodeScannerModuleAvailableandinstallGoogleBarcodeScannerModulemethods now throwUnimplementedinstead of a generic error. - On Android, the
androidxCameraCamera2Versionvariable has been updated to1.5.2. - On Android, the
androidxCameraCoreVersionvariable has been updated to1.5.2. - On Android, the
androidxCameraLifecycleVersionvariable has been updated to1.5.2. - On Android, the
androidxCameraViewVersionvariable has been updated to1.5.2. - The
rawValueproperty in theBarcodeinterface is now optional and only available if the barcode is UTF-8 encoded.
ML Kit Document Scanner¶
- On iOS, the
scanDocumentmethod now throwsUnimplementedinstead of a generic error. - On Android, the
mlkitDocumentScannerVersionvariable has been updated to16.0.0.
ML Kit Face Detection¶
- On Web, unimplemented methods now throw
Unimplementedinstead ofUnavailable.
ML Kit Face Mesh Detection¶
- On Web, unimplemented methods now throw
Unimplementedinstead ofUnavailable. - On iOS, the
processImagemethod now throwsUnimplementedinstead of a generic error.
ML Kit Selfie Segmentation¶
- On Web, unimplemented methods now throw
Unimplementedinstead ofUnavailable.
ML Kit Subject Segmentation¶
- On iOS, the
processImage,isGoogleSubjectSegmentationModuleAvailable, andinstallGoogleSubjectSegmentationModulemethods now throwUnimplementedinstead of a generic error.
NFC¶
- On Web, the following methods now return
UNIMPLEMENTEDinstead ofUNAVAILABLE:format,respond,transceive,connect,close,isEnabled,openSettings,getAntennaInfo, andsetAlertMessage.
Pedometer¶
- The plugin now automatically requests permissions when calling plugin methods instead of throwing an error. Use the
checkPermissions()method beforehand if you need to check permissions first.
PostHog¶
- The
posthog-jspeer dependency has been updated to^1.306.2.
Printer¶
- On Android, the
androidxDocumentFileVersionvariable has been updated to1.1.0. - On Android, the
androidxPrintVersionvariable has been updated to1.1.0.
Purchases¶
- On Android, the
googlePlayBillingVersionvariable has been updated to8.2.0.
RealtimeKit¶
- On Android, the
realtimekitUiVersionvariable has been updated to0.3.1.
Share Target¶
- On Android, the
androidxExifInterfaceVersionvariable has been updated to1.4.2.
Speech Recognition¶
- The plugin now automatically requests permissions when calling plugin methods instead of throwing an error. Use the
checkPermissions()method beforehand if you need to check permissions first. - On iOS, the default language has been changed from
Locale.currenttoLocale.preferredLanguages. If you were relying on the previous behavior, you may need to explicitly set thelanguageoption.
SQLite¶
- The SQLite WASM dependency is now restricted to version
3.50.3-build1or lower due to a bug in higher versions. - On Android, the
androidxSqliteVersionvariable has been updated to2.6.2. - On Android, the
androidxSqliteFrameworkAndroidVersionvariable has been updated to2.6.2. - On Android, the
netZeteticSqlcipherVersionvariable has been updated to4.12.0. - The default database version management behavior has been changed. If neither
versionnorupgradeStatementsare provided, no version is set (previously defaulted to1).
Torch¶
- On Android, the
androidxCameraCoreVersionvariable has been updated to1.5.2.
Wi-Fi¶
- The plugin now automatically requests permissions when calling plugin methods instead of throwing an error. Use the
checkPermissions()method beforehand if you need to check permissions first.
Zip¶
- The minimum iOS deployment target has been updated to 16.0 (instead of 15.0) to address several security vulnerabilities related to ZIP file handling in earlier iOS versions.