Обновление expo-media-library с 57.x до 58.x
Сравнение публичного API expo-media-library 57.0.5 и 58.0.9, вычисленное автоматически по их типам TypeScript. Изменённая сигнатура — возможное несовместимое изменение, а не гарантия.
Сводка
| Удалённые пути импорта | 2 |
|---|---|
| Удалённые экспорты | 0 |
| Изменённые сигнатуры | 5 |
| Удалённые члены классов или интерфейсов | 0 |
| Изменённые члены классов или интерфейсов | 1 |
| Новые устаревания | 0 |
| Изменения требований (engines, peer-зависимости) | 0 |
| Новые экспорты | 5 |
Удалённые пути импорта
| Удалённые пути импорта |
|---|
expo-media-library/next |
expo-media-library/legacy |
Удалённые экспорты
Не обнаружено.
Изменённые сигнатуры
| export | Было | Стало |
|---|---|---|
expo-media-library · AssetInfo | { id: string; filename: string; uri: string; mediaType: MediaType; width: number; height: number; duration: number | null; creationTime: number | null; modificationTime: number | null; isFavorite: boolean; } | { id: string; filename: string; uri: string; mediaType: MediaType; width: number; height: number; duration: number | null; creationTime: number | null; modificationTime: number | null; isFavorite?: boolean | undefined; mediaSubtypes?: MediaSubtype[] | undefined; } |
expo-media-library · AssetMetadata | { id: string; filename: string | null; mediaType: MediaType; width: number | null; height: number | null; duration: number | null; creationTime: number | null; modificationTime: number | null; isFavorite: boolean; } | { id: string; filename: string | null; mediaType: MediaType; width: number | null; height: number | null; duration: number | null; creationTime: number | null; modificationTime: number | null; isFavorite: boolean; mediaSubtypes?: MediaSubtype[] | undefined; } |
expo-media-library · usePermissions | (options?: any): [any, () => Promise<any>, () => Promise<any>] | (options?: any): [any, () => Promise<PermissionResponse>, () => Promise<PermissionResponse>] |
expo-media-library · getPermissionsAsync | (writeOnly?: boolean | undefined, granularPermissions?: GranularPermission[] | undefined): Promise<any> | (writeOnly?: boolean | undefined, granularPermissions?: GranularPermission[] | undefined): Promise<PermissionResponse> |
expo-media-library · requestPermissionsAsync | (writeOnly?: boolean | undefined, granularPermissions?: GranularPermission[] | undefined): Promise<any> | (writeOnly?: boolean | undefined, granularPermissions?: GranularPermission[] | undefined): Promise<PermissionResponse> |
Удалённые члены классов или интерфейсов
Не обнаружено.
Изменённые члены классов или интерфейсов
| member | Было | Стало |
|---|---|---|
Asset.getUri | (): Promise<string> | (options?: AssetUriOptions | undefined): Promise<string> |
Новые устаревания
Не обнаружено.
Изменения требований (engines, peer-зависимости)
Не обнаружено.
Новые экспорты (5)
| import | export | kind |
|---|---|---|
expo-media-library | AlbumType | enum |
expo-media-library | Subscription | variable |
expo-media-library | AlbumMetadata | type |
expo-media-library | AssetUriOptions | type |
expo-media-library | AssetUriVersion | enum |
Changelog между этими версиями
Текст, опубликованный авторами пакета, показан без изменений.
58.0.9
### Patch Changes
- [iOS] Add `mediaSubtypes` to `AssetInfo` and `AssetMetadata`, so `Asset.getInfo()` and `Query.exeForMetadata()` return an asset's subtypes. ([#51514](https://github.com/expo/expo/pull/51514) by [@Wenszel](https://github.com/Wenszel))
- [iOS] Add the `animation` and `screenRecording` media subtypes. ([#51513](https://github.com/expo/expo/pull/51513) by [@Wenszel](https://github.com/Wenszel))58.0.8
### 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.7
### 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.6
### Patch Changes
- [Android] Fix assets moved with `Album.create` (with `moveAssets` set to `true`) or `album.add` sometimes disappearing from the media library. The file was moved, but its MediaStore entry was deleted, so it only showed up again after a rescan, with a new ID. ([#50817](https://github.com/expo/expo/pull/50817) by [@devonik](https://github.com/devonik))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))
- [iOS] Fix `Album.getAll()` not returning albums nested inside folders. ([#47822](https://github.com/expo/expo/pull/47822) by [@Wenszel](https://github.com/Wenszel))
- [iOS] Add `Album.getSmartAlbums()` and `Album.getType()`. ([#47822](https://github.com/expo/expo/pull/47822) by [@Wenszel](https://github.com/Wenszel))
- Add `Album.getAlbumsMetadata()` for cheap bulk album listing and `album.getAssetCount()`. ([#47903](https://github.com/expo/expo/pull/47903) by [@Wenszel](https://github.com/Wenszel))58.0.3
_This version does not introduce any user-facing changes._58.0.2
### 🐛 Bug fixes
- [Android] Fix `Album.create` naming copied assets (with `moveAssets` set to `false`) after the full `file://` path of the original, e.g. `file____storage_emulated_0_DCIM_Camera_IMG_1234.jpg`, instead of its file name. ([#50621](https://github.com/expo/expo/pull/50621) by [@devonik](https://github.com/devonik))58.0.1
### 🐛 Bug fixes
- [iOS] Request a single high-quality delivery for Live Photos. Under the default `.opportunistic` delivery mode `requestLivePhoto` invokes its result handler more than once, and the first, degraded pass could resolve `getAssetInfoAsync` without `pairedVideoAsset`. ([#50295](https://github.com/expo/expo/pull/50295) by [@henriquegpb](https://github.com/henriquegpb))58.0.0
### 🛠 Breaking changes
- [iOS] `Asset.getUri()` and `AssetInfo.uri` now resolve a video to the version currently shown in the Photos app instead of the originally captured file. Pass `version: AssetUriVersion.ORIGINAL` to `getUri()` to keep the previous behavior. Note that only `getUri()` accepts the option; `AssetInfo.uri` from `getInfo()` always resolves the current version. ([#48640](https://github.com/expo/expo/pull/48640) by [@barthap](https://github.com/barthap))
### 🎉 New features
- [iOS] Add a `version` option to `Asset.getUri()` for choosing between the current and the original rendition of an asset. ([#48640](https://github.com/expo/expo/pull/48640) by [@barthap](https://github.com/barthap))
- [Android] Add `PhotographicSensitivity` to returned EXIF metadata. ([#47222](https://github.com/expo/expo/pull/47222) by [@Wenszel](https://github.com/Wenszel))
### 🐛 Bug fixes
- [Android] Parallelize per-file EXIF and location reads in `getAssetsAsync` when `resolveWithFullInfo` is true, speeding up large library scans. ([#48637](https://github.com/expo/expo/pull/48637) by [@hsource](https://github.com/hsource) and [@robin-pham](https://github.com/robin-pham))
- [iOS] Include GPS `location` in `getAssetsAsync` batch results and return numeric latitude/longitude instead of strings for `Asset.location` and `Album.approximateLocation` (matching the documented `Location` type). ([#49188](https://github.com/expo/expo/pull/49188) by [@hsource](https://github.com/hsource) and [@fractalbeauty](https://github.com/fractalbeauty))
- [Android] Fix transposed `width`/`height` for rotated assets (portrait photos and videos): `Asset.getInfo()`, `getWidth()`/`getHeight()`/`getShape()` and `Query.exeForMetadata()` now honor MediaStore `ORIENTATION`, matching the legacy API. ([#48150](https://github.com/expo/expo/pull/48150) by [@oeddyo](https://github.com/oeddyo))
### 💡 Others
- Re-organize TS code ([#45953](https://github.com/expo/expo/pull/45953) by [@Wenszel](https://github.com/Wenszel))Передайте эти данные своему ИИ-агенту
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-media-library с 57 до 58?
Между expo-media-library 57.0.5 и 58.0.9 Vigia нашла удалённых экспортов: 0, изменённых сигнатур: 5, удалённых или изменённых членов классов и интерфейсов: 1.
Что устарело в expo-media-library 58?
В expo-media-library 58.0.9 новыми устаревшими помечено экспортов или членов: 0.
Для агентов
GET https://vigia.coredls.cloud/v1/packages/npm/expo-media-library/upgrade?from=57.0.5&to=58.0.9