We are happy to announce that we have just released an update for cordova-plugin-media-capture
!
To upgrade:
cordova plugin remove cordova-plugin-media-capture
cordova plugin add cordova-plugin-media-capture@5.0.0
Release Highlights
Breaking Changes
-
Android 13+ Support
Beginning from Android 13 (SDK 33), the
READ_EXTERNAL_STORAGE
permission no longer has any effect. Instead, this permission has been replaced with more granular permissions:READ_MEDIA_IMAGES
,READ_MEDIA_VIDEO
, andREAD_MEDIA_AUDIO
. Also theWRITE_EXTERNAL_STORAGE
has stopped providing write access starting from API level 30 and above.To adapt to this change, we have introduced these three new permissions. This ensures that the existing functionality and behavior related to reading various media file are maintained for Android 13 and higher versions.
The
READ_EXTERNAL_STORAGE
andWRITE_EXTERNAL_STORAGE
permissions are still defined but has declared themaxSdkVersion
attribute with the value of32
to ensure that the are not used in API 33 of higher.Furthermore, to support the new granular permissions on Android 13 (SDK 33), we have raised the minimum requirement for
cordova-android
to version12.0.0
. This version of Cordova-Android specifically includes the necessary updates to handle Android 13 and compile your project with the new permissions successfully.
Features & Fixes
-
Added video
quality
option for iOSYou can now change the quality of the video that is being captured for iOS. By default, it will capture the highest quality.
-
Fixes for various iOS crashes
Various fixes were implemented to enhance stability and user experience on iOS. Here are some example changes:
- Implement an alert dialog to guide users to enable necessary permissions if they had previously denied them. This will occur when users attempt to use the capture feature.
- Improve the layout of the audio capture interface to fit and use the entire device screen.
- Implement safeguards to prevent application crashes in scenarios where audio data is unavailable ensuring a smoother and more reliable user experience.
- Implement measures to maintain the functionality of the capture feature even when users dismiss the capture window by swiping, ensuring consistent and uninterrupted functionality.
Please report any issues you find by following the this How to File a Bug guide!
Changes Log
Breaking Changes:
- GH-274 feat(android)!: bump file & Android requirements
- GH-262 feat(android)!: support API 33+ permissions
Features:
- GH-214 feat(ios): support capture '
quality
' param for videos - GH-256 feat(ios): improve
Localizable.strings
& addFR
Fixes:
- GH-184 fix(ios): UI issues with main thread and added alert for permission.
- GH-279 fix(ios): UI sizing of the audio capture controller according to parent view size
- GH-278 fix(ios):
CAPTURE_APPLICATION_BUSY
error when dismissing modal by swipe - GH-197 fix(ios): set type attribute for captured audio
- GH-232 fix(android): prevent app crash caused by NPE on intent data or
mediaFile
- GH-195 fix(MediaFiles): return missing '
lastModified
' and 'end
' attributes - GH-212 fix: use single version in
cordovaDependencies
- GH-269 fix(ios): set category before creating
AVAudioRecorder
Other Changes:
- GH-276 dep: bump
@cordova/eslint-config@^5.0.0
w/ lint fix &package-lock
rebuild - GH-270 chore: Update
SUPPORT_QUESTION.md
template - GH-252 chore(npm): rebuilt
package-lock
- GH-273 ci: sync github action workflow w/ paramedic base configs
- GH-254 ci: sync workflow with paramedic
- GH-251 ci(android): update java requirement for
cordova-android@11