Оновлення expo-file-system з 57.x до 58.x
Порівняння публічного API expo-file-system 57.0.7 і 58.0.9, обчислене автоматично за їхніми типами TypeScript. Змінена сигнатура — можлива несумісна зміна, а не гарантія.
Підсумок
| Видалені шляхи імпорту | 1 |
|---|---|
| Видалені експорти | 0 |
| Змінені сигнатури | 1 |
| Видалені члени класів або інтерфейсів | 0 |
| Змінені члени класів або інтерфейсів | 3 |
| Нові застарівання | 2 |
| Зміни вимог (engines, peer-залежності) | 0 |
| Нові експорти | 4 |
Видалені шляхи імпорту
| Видалені шляхи імпорту |
|---|
expo-file-system/legacy |
Видалені експорти
Не виявлено.
Змінені сигнатури
| export | Було | Стало |
|---|---|---|
expo-file-system · DownloadTaskOptions | { headers?: Record<string, string> | undefined; sessionType?: NetworkTaskSessionType | undefined; onProgress?: ((data: DownloadProgress) => void) | undefined; signal?: AbortSignal | undefined; } | { headers?: Record<string, string> | undefined; deferBackgroundSessionCompletion?: boolean | undefined; sessionType?: NetworkTaskSessionType | undefined; onProgress?: ((data: DownloadProgress) => void) | undefined; signal?: AbortSignal | undefined; } |
Видалені члени класів або інтерфейсів
Не виявлено.
Змінені члени класів або інтерфейсів
| member | Було | Стало |
|---|---|---|
File.write | (content: string | Uint8Array<ArrayBufferLike>, options?: FileWriteOptions | undefined): void | (content: string | ArrayBuffer | Uint8Array<ArrayBufferLike>, options?: FileWriteOptions | undefined): Promise<void> |
FileHandle.readBytes | (length: number): Uint8Array<ArrayBuffer> | (length: number): Promise<Uint8Array<ArrayBuffer>> |
FileHandle.writeBytes | (bytes: Uint8Array<ArrayBufferLike>): void | (bytes: Uint8Array<ArrayBufferLike>): Promise<void> |
Нові застарівання
| export | @deprecated |
|---|---|
expo-file-system · File.md5 | Use `await file.digest('MD5')` instead. |
expo-file-system · InfoOptions | Use `await file.digest('MD5')` to calculate an MD5 digest. |
Зміни вимог (engines, peer-залежності)
Не виявлено.
Нові експорти (4)
| import | export | kind |
|---|---|---|
expo-file-system | FilePreviewOptions | type |
expo-file-system | FileDigestAlgorithm | type |
expo-file-system | FileCanPreviewOptions | type |
expo-file-system | FilePreviewCollectionOptions | type |
Changelog між цими версіями
Текст, опублікований авторами пакета, показано без змін.
58.0.9
### Patch Changes
- [Internal] Bump precompiled artifacts due to ABI breakage in expo-modules-jsi, which makes `JavaScriptValue` a non-copyable struct. ([#51368](https://github.com/expo/expo/pull/51368) by [@tsapeta](https://github.com/tsapeta))58.0.8
### Patch Changes
- [iOS] Reject abandoned file preview presentations and allow subsequent previews to open. ([#51169](https://github.com/expo/expo/pull/51169) by [@eliotgevers](https://github.com/eliotgevers))58.0.7
### Patch Changes
- [iOS] Add opt-in control over background download completion with `DownloadTask.acknowledgeBackgroundCompletionAsync()`, so apps can finish processing downloads before returning control to iOS. ([#50543](https://github.com/expo/expo/pull/50543) by [@savv](https://github.com/savv))
- Added static `File.preview()` and `File.canPreview()` methods for a file or array of files, with multi-file previews and initial selection on iOS. ([#50696](https://github.com/expo/expo/pull/50696) by [@eliotgevers](https://github.com/eliotgevers))58.0.6
### Patch Changes
- Bump precompiled artifacts due to ABI breakage in expo-modules-core@58.0.13. ([#51138](https://github.com/expo/expo/pull/51138) by [@alanjhughes](https://github.com/alanjhughes))58.0.5
### Patch Changes
- Bump precompiled artifacts due to ABI breakage in expo-modules-jsi@58.0.6. ([#50881](https://github.com/expo/expo/pull/50881) by [@kitten](https://github.com/kitten))58.0.4
### Patch Changes
- Force-bump all packages, due to migration to changesets. ([#50762](https://github.com/expo/expo/pull/50762) by [@kitten](https://github.com/kitten))58.0.3
### 🐛 Bug fixes
- [Android] Added missing permission checks to upload tasks and to file watchers. ([#50582](https://github.com/expo/expo/pull/50582) by [@barthap](https://github.com/barthap))
- [iOS] Added a missing permission check when opening a file handle. ([#50583](https://github.com/expo/expo/pull/50583) by [@barthap](https://github.com/barthap))
- [Android] Check permissions for `content://` URIs served by the app's own file providers. ([#50584](https://github.com/expo/expo/pull/50584) by [@barthap](https://github.com/barthap))58.0.2
### 🐛 Bug fixes
- [iOS] Include the privacy manifest in prebuilt frameworks. ([#50503](https://github.com/expo/expo/pull/50503) by [@chrfalch](https://github.com/chrfalch))58.0.1
### 🐛 Bug fixes
- [iOS] Anchored the file picker popover on every regular-width display, not only iPad, so it presents correctly on iPhone Duo. ([#50434](https://github.com/expo/expo/pull/50434) by [@alanjhughes](https://github.com/alanjhughes))58.0.0
### 🛠 Breaking changes
- `File.write()` is now asynchronous and returns a Promise. Use `File.writeSync()` for synchronous behavior. ([#45992](https://github.com/expo/expo/pull/45992) by [@wh201906](https://github.com/wh201906))
- `FileHandle.readBytes()` and `FileHandle.writeBytes()` are now asynchronous and return a Promise. Use `FileHandle.readBytesSync()` and `FileHandle.writeBytesSync()` for synchronous behavior. ([#46280](https://github.com/expo/expo/pull/46280) by [@wh201906](https://github.com/wh201906))
### 🎉 New features
- Add `File.preview()` and `File.canPreview()` methods for opening files with platform-native preview flows. (by [@eliotgevers](https://github.com/eliotgevers))
- Added `File.digest()` for asynchronously calculating MD5, SHA-1, SHA-256, SHA-384 and SHA-512 file digests. ([#48089](https://github.com/expo/expo/pull/48089) by [@wh201906](https://github.com/wh201906))
### 🐛 Bug fixes
- Fixed `File.downloadFileAsync()` returning a runtime-specific error message when canceled with an `AbortSignal`. ([#49856](https://github.com/expo/expo/pull/49856) by [@Ubax](https://github.com/Ubax))
- Fix `File.readableStream()` returning zeroed bytes and writing past the requested region when a BYOB read targets a view that starts at a non-zero offset. ([#49234](https://github.com/expo/expo/pull/49234) by [@dennytosp](https://github.com/dennytosp))
- [Android][iOS] Fix `File.size` returning `null` for a missing or unreadable file. ([#49086](https://github.com/expo/expo/pull/49086)) by [@ACHP](https://github.com/ACHP))
- [iOS] Fix wrong permissions for text() and bytes(). ([#42422](https://github.com/expo/expo/pull/42422)) by [@simoneldevig](https://github.com/simoneldevig))
- Fixed `copyAsync` on iOS copying the unedited original when a `ph://` asset has edits applied in Photos. ([#48248](https://github.com/expo/expo/pull/48248) by [@CoffeeFlux](https://github.com/CoffeeFlux))
- Fixed iOS file previews rejecting a new preview while the previous Quick Look dismissal animation is still finishing. ([#47947](https://github.com/expo/expo/pull/47947) by [@eliotgevers](https://github.com/eliotgevers))
- Added `./next` subpath to package `exports` field to resolve Metro bundler warning. ([#44793](https://github.com/expo/expo/pull/44793) by [@chang-in](https://github.com/chang-in))
- Fixed `FileHandle` security-scoped access, and non-SAF `content://` URI support. ([#47176](https://github.com/expo/expo/pull/47176) by [@barthap](https://github.com/barthap))
- Fixed potential file offset races when asynchronous and synchronous `FileHandle` operations overlap on Android and iOS. ([#47945](https://github.com/expo/expo/pull/47945) by [@wh201906](https://github.com/wh201906))
- Fixed `readAsStringAsync` to respect `position` and `length` when reading UTF-8 strings. ([#20291](https://github.com/expo/expo/issues/20291) by [@mvincentong](https://github.com/mvincentong)) ([#45714](https://github.com/expo/expo/pull/45714) by [@mvincentong](https://githuПередайте ці дані своєму ШІ-агенту
Vigia — безкоштовний MCP-сервер: ваш агент для програмування перевіряє версії, несумісні зміни та вразливості, перш ніж писати код. Без реєстрації та API-ключа.
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Додати в CursorДодати в VS Code★ Зірка на GitHub
Будь-який інший MCP-клієнт
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }Навичка для агентів (SKILL.md): підказує агенту, коли використовувати Vigia · GitHub Action для pull request
Поширені запитання
Які несумісні зміни під час оновлення expo-file-system з 57 до 58?
Між expo-file-system 57.0.7 і 58.0.9 Vigia знайшла видалених експортів: 0, змінених сигнатур: 1, видалених або змінених членів класів та інтерфейсів: 3.
Що застаріло в expo-file-system 58?
У expo-file-system 58.0.9 новими застарілими позначено експортів або членів: 2.
Для агентів
GET https://vigia.coredls.cloud/v1/packages/npm/expo-file-system/upgrade?from=57.0.7&to=58.0.9