将 expo-media-library 从 57.x 升级到 58.x
根据 TypeScript 类型自动比较 expo-media-library 57.0.5 与 58.0.9 的公开 API。签名变化表示可能存在不兼容变更,并非确定结论。
概要
| 已删除的导入路径 | 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))把这些数据交给你的 AI 智能体
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" } } }常见问题
将 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