cordova-plugin-file
Advanced tools
Comparing version 8.0.0 to 8.0.1
{ | ||
"name": "cordova-plugin-file", | ||
"version": "8.0.0", | ||
"version": "8.0.1", | ||
"description": "Cordova File Plugin", | ||
@@ -5,0 +5,0 @@ "types": "./types/index.d.ts", |
@@ -98,11 +98,11 @@ --- | ||
* `cordova.file.externalApplicationStorageDirectory` - Application space on | ||
external storage. (_Android_) | ||
external storage. (_Android_). See [Quirks](#androids-external-storage-quirks). | ||
* `cordova.file.externalDataDirectory` - Where to put app-specific data files on | ||
external storage. (_Android_) | ||
external storage. (_Android_). See [Quirks](#androids-external-storage-quirks). | ||
* `cordova.file.externalCacheDirectory` - Application cache on external storage. | ||
(_Android_) | ||
(_Android_). See [Quirks](#androids-external-storage-quirks). | ||
* `cordova.file.externalRootDirectory` - External storage (SD card) root. (_Android_, _BlackBerry 10_) | ||
* `cordova.file.externalRootDirectory` - External storage (SD card) root. (_Android_, _BlackBerry 10_). See [Quirks](#androids-external-storage-quirks). | ||
@@ -182,2 +182,22 @@ * `cordova.file.tempDirectory` - Temp directory that the OS can clear at will. Do not | ||
#### Android's External Storage Quirks | ||
With the introduction of [Scoped Storage](https://source.android.com/docs/core/storage/scoped) access to External Storage is unreliable or limited via File APIs. | ||
Scoped Storage was introduced in API 29. While existing apps may have the ability to opt out, this option is not available for new apps. On Android API 30 and later, Scoped Storage is fully enforced. | ||
Additionally, Direct File Access **is not** supported on API 29. This means this plugin **cannot** access external storage mediums on API 29 devices. | ||
API 30 introduced [FUSE](https://source.android.com/docs/core/storage/scoped) which allowed limited access to external storage using File APIs, allowing this plugin to | ||
partially work again. | ||
Limited access includes but isn't limited to: | ||
- Read only access with appropriate `READ_EXTERNAL` or [READ_MEDIA_*](https://developer.android.com/training/data-storage/shared/media#access-other-apps-files) permissions. | ||
- Read only access is limited to media files, but not documents. | ||
- Writes are limited to only files owned by your app. Modifying files owned by a third-party app (including an image file created via the camera plugin for example) is not possible via the File API. | ||
- Not all paths in external storage is writable. | ||
These limitations only applies to external filesystems (e.g. `cordova.file.external*` paths). Internal filesystems such as `cordova.file.dataDirectory` path are not imposed by these limitations. | ||
If interfacing with the external file system is a requirement for your application, consider using a [MediaStore](https://www.npmjs.com/search?q=ecosystem%3Acordova%20storage%20access%20framework) plugin instead. | ||
### OS X File System Layout | ||
@@ -184,0 +204,0 @@ |
@@ -23,2 +23,14 @@ <!-- | ||
### 8.0.1 (Oct 27, 2023) | ||
**Fixes:** | ||
* [GH-608](https://github.com/apache/cordova-plugin-file/pull/608) fix(android): `hasWritePermission` for SDK 33 | ||
**Others:** | ||
* [GH-609](https://github.com/apache/cordova-plugin-file/pull/609) chore: update asf config | ||
* [GH-607](https://github.com/apache/cordova-plugin-file/pull/607) refactor(android): various cleanup | ||
* [GH-593](https://github.com/apache/cordova-plugin-file/pull/593) doc(android): expanded on external filesystems limitations | ||
### 8.0.0 (Jul 07, 2023) | ||
@@ -25,0 +37,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
621259
883