Skip to content

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

README | BREAKING

  • 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

README | BREAKING

  • On Android, the androidPlayAgeSignalsVersion variable has been updated to 0.0.2.

Android Edge to Edge Support

README | BREAKING

  • The default background color has been changed from white to transparent. To keep the white background, explicitly set backgroundColor to #ffffff in the plugin configuration.

App Update

README | BREAKING

  • On Android, the androidPlayServicesBaseVersion variable has been updated to 18.9.0.

Audio Recorder

README | BREAKING

  • On Android, the pauseRecording and resumeRecording methods now return UNAVAILABLE instead of UNIMPLEMENTED when called on devices with API level below 24.
  • The default value of audioSessionMode has been changed from AudioSessionMode.Measurement to AudioSessionMode.Default. If you were relying on the previous behavior, you must now explicitly set the audioSessionMode option.

Badge

README | BREAKING

  • On iOS 16+, the plugin now uses UNUserNotificationCenter instead of the deprecated applicationIconBadgeNumber API, which may affect error handling behavior.

Bluetooth Low Energy

README | BREAKING

  • On Web, all methods now return UNIMPLEMENTED instead of UNAVAILABLE.
  • On Android, the error message for startForegroundService has been improved when missing required permissions. The original system error is now logged via the Capacitor Logger.

Cloudinary

README | BREAKING

  • On Android, the cloudinaryAndroidVersion variable has been updated to 3.1.2.

Contacts

README | BREAKING

  • The limit property in GetContactsOptions now defaults to 20.
  • The updateContactById method now supports partial updates. Missing properties are preserved, and properties set to null or [] are deleted. If you were relying on missing properties being deleted, you must now explicitly set them to null.

File Compressor

README | BREAKING

  • On Android, the androidxDocumentFileVersion variable has been updated to 1.1.0.
  • On Android, the path property in CompressImageResult is now a URI string instead of an absolute file path (e.g., file:///data/... instead of /data/...).

File Opener

README | BREAKING

  • On Android, the androidxDocumentFileVersion variable has been updated to 1.1.0.

Firebase Analytics

README | BREAKING

  • 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, and WithoutAdIdSupport.
  • On Android, the firebaseAnalyticsVersion variable has been updated to 23.0.0.

Firebase App

README | BREAKING

  • The Firebase Javascript SDK has been updated to 12.6.0.
  • On Android, the firebaseCommonVersion variable has been updated to 22.0.1.

Firebase App Check

README | BREAKING

  • The Firebase Javascript SDK has been updated to 12.6.0.
  • On Android, the firebaseAppCheckPlayIntegrityVersion variable has been updated to 19.0.1.
  • On Android, the firebaseAppCheckDebugVersion variable has been updated to 19.0.1.

Firebase Authentication

README | BREAKING

  • The Firebase Javascript SDK has been updated to 12.6.0.
  • The dynamicLinkDomain property in ActionCodeSettings has been replaced with linkDomain.
  • Error codes have been updated to return UNIMPLEMENTED instead 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

README | BREAKING

  • On Android, the firebaseCrashlyticsVersion variable has been updated to 20.0.3.

Firebase Firestore

README | BREAKING

  • The Firebase Javascript SDK has been updated to 12.6.0.
  • On Android, the firebaseFirestoreVersion variable has been updated to 26.0.2.

Firebase Functions

README | BREAKING

  • The Firebase Javascript SDK has been updated to 12.6.0.
  • On Android, the firebaseFunctionsVersion variable has been updated to 22.1.0.

Firebase Messaging

README | BREAKING

  • The Firebase Javascript SDK has been updated to 12.6.0.
  • On Android, the firebaseMessagingVersion variable has been updated to 25.0.1.
  • On Web, mobile-specific methods now return UNIMPLEMENTED instead of UNAVAILABLE: getDeliveredNotifications(), removeDeliveredNotifications(...), removeAllDeliveredNotifications(), subscribeToTopic(...), unsubscribeFromTopic(...), createChannel(...), deleteChannel(...), listChannels()

Firebase Performance

README | BREAKING

  • The Firebase Javascript SDK has been updated to 12.6.0.
  • On Android, the firebasePerfVersion variable has been updated to 22.0.4.

Firebase Remote Config

README | BREAKING

  • The Firebase Javascript SDK has been updated to 12.6.0.
  • On Android, the firebaseConfigVersion variable has been updated to 23.0.1.

Firebase Storage

README | BREAKING

  • The Firebase Javascript SDK has been updated to 12.6.0.
  • On Android, the firebaseStorageVersion variable has been updated to 22.0.1.

LibSQL

README | BREAKING

  • On Android, the libsqlVersion variable has been updated to 0.1.2.
  • On Android, the sync method now returns "Not implemented on this platform." instead of "Not available on this platform."

Live Update

README | BREAKING

  • 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 okhttp3Version variable has been updated to 5.3.2.

Media Session

README | BREAKING

  • On iOS, the setCameraActive and setMicrophoneActive methods now return UNIMPLEMENTED instead of UNAVAILABLE.

ML Kit Barcode Scanning

README | BREAKING

  • On Web, unimplemented methods now throw Unimplemented instead of Unavailable.
  • On iOS, the isGoogleBarcodeScannerModuleAvailable and installGoogleBarcodeScannerModule methods now throw Unimplemented instead of a generic error.
  • On Android, the androidxCameraCamera2Version variable has been updated to 1.5.2.
  • On Android, the androidxCameraCoreVersion variable has been updated to 1.5.2.
  • On Android, the androidxCameraLifecycleVersion variable has been updated to 1.5.2.
  • On Android, the androidxCameraViewVersion variable has been updated to 1.5.2.
  • The rawValue property in the Barcode interface is now optional and only available if the barcode is UTF-8 encoded.

ML Kit Document Scanner

README | BREAKING

  • On iOS, the scanDocument method now throws Unimplemented instead of a generic error.
  • On Android, the mlkitDocumentScannerVersion variable has been updated to 16.0.0.

ML Kit Face Detection

README | BREAKING

  • On Web, unimplemented methods now throw Unimplemented instead of Unavailable.

ML Kit Face Mesh Detection

README | BREAKING

  • On Web, unimplemented methods now throw Unimplemented instead of Unavailable.
  • On iOS, the processImage method now throws Unimplemented instead of a generic error.

ML Kit Selfie Segmentation

README | BREAKING

  • On Web, unimplemented methods now throw Unimplemented instead of Unavailable.

ML Kit Subject Segmentation

README | BREAKING

  • On iOS, the processImage, isGoogleSubjectSegmentationModuleAvailable, and installGoogleSubjectSegmentationModule methods now throw Unimplemented instead of a generic error.

NFC

README | BREAKING

  • On Web, the following methods now return UNIMPLEMENTED instead of UNAVAILABLE: format, respond, transceive, connect, close, isEnabled, openSettings, getAntennaInfo, and setAlertMessage.

Pedometer

README | BREAKING

  • 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

README | BREAKING

  • The posthog-js peer dependency has been updated to ^1.306.2.

Printer

README | BREAKING

  • On Android, the androidxDocumentFileVersion variable has been updated to 1.1.0.
  • On Android, the androidxPrintVersion variable has been updated to 1.1.0.

Purchases

README | BREAKING

  • On Android, the googlePlayBillingVersion variable has been updated to 8.2.0.

RealtimeKit

README | BREAKING

  • On Android, the realtimekitUiVersion variable has been updated to 0.3.1.

Share Target

README | BREAKING

  • On Android, the androidxExifInterfaceVersion variable has been updated to 1.4.2.

Speech Recognition

README | BREAKING

  • 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.current to Locale.preferredLanguages. If you were relying on the previous behavior, you may need to explicitly set the language option.

SQLite

README | BREAKING

  • The SQLite WASM dependency is now restricted to version 3.50.3-build1 or lower due to a bug in higher versions.
  • On Android, the androidxSqliteVersion variable has been updated to 2.6.2.
  • On Android, the androidxSqliteFrameworkAndroidVersion variable has been updated to 2.6.2.
  • On Android, the netZeteticSqlcipherVersion variable has been updated to 4.12.0.
  • The default database version management behavior has been changed. If neither version nor upgradeStatements are provided, no version is set (previously defaulted to 1).

Torch

README | BREAKING

  • On Android, the androidxCameraCoreVersion variable has been updated to 1.5.2.

Wi-Fi

README | BREAKING

  • 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

README | BREAKING

  • 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.