Upgrading expo-video from 57.x to 58.x
Comparison of the public API of expo-video 57.0.5 and 58.0.11, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.
Summary
| Removed import paths | 0 |
|---|---|
| Removed exports | 0 |
| Changed signatures | 1 |
| Removed class or interface members | 0 |
| Changed class or interface members | 0 |
| Newly deprecated | 0 |
| Requirement changes (engines, peer dependencies) | 0 |
| New exports | 1 |
Removed exports
None detected.
Changed signatures
| export | Before | After |
|---|---|---|
expo-video · PlayerBuilderOptions | { seekBackwardIncrement?: number | undefined; seekForwardIncrement?: number | undefined; } | { seekBackwardIncrement?: number | undefined; seekForwardIncrement?: number | undefined; videoChangeFrameRateStrategy?: VideoChangeFrameRateStrategy | undefined; } |
Removed class or interface members
None detected.
Changed class or interface members
None detected.
Newly deprecated
None detected.
Requirement changes (engines, peer dependencies)
None detected.
New exports (1)
| import | export | kind |
|---|---|---|
expo-video | VideoChangeFrameRateStrategy | type |
Changelog between these versions
Text published by the package authors, shown as-is.
58.0.11
### Patch Changes
- Use `AssetRegistry` from public API instead of Metro entry point. ([#51302](https://github.com/expo/expo/pull/51302) by [@byCedric](https://github.com/byCedric))58.0.10
### 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))
- [iOS] Don't change the audio session category if compatible with the current intention - for example changing from `playAndRecord` to `playback`. Improves inter-package compatibility. ([#51408](https://github.com/expo/expo/pull/51408) by [@behenate](https://github.com/behenate))58.0.9
### Patch Changes
- [iOS] Fix native controls never appearing on iOS 27 when a `VideoView` enters the window during a screen transition. ([#50486](https://github.com/expo/expo/pull/50486) by [@wwisheess](https://github.com/wwisheess))
- [Android] Fall back to another HLS rendition when a request can't reach the network while `useCaching` is enabled, so cached videos play offline. ([#50480](https://github.com/expo/expo/pull/50480) by [@Glenn444](https://github.com/Glenn444))58.0.8
### Patch Changes
- [Internal] Use `Image.resolveAssetSource` from `react-native` instead of the `Libraries/Image/resolveAssetSource` deep import. ([#51092](https://github.com/expo/expo/pull/51092) by [@huntie](https://github.com/huntie))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
- 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.5
### 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.4
_This version does not introduce any user-facing changes._58.0.3
### 🐛 Bug fixes
- Wait for pending source replacements before releasing players created by `useVideoPlayer`. ([#49981](https://github.com/expo/expo/pull/49981) by [@behenate](https://github.com/behenate))58.0.2
_This version does not introduce any user-facing changes._58.0.1
_This version does not introduce any user-facing changes._58.0.0
### 🎉 New features
- [Android] Added the `controllerAutoShow` prop to `VideoView` to control whether the native controls auto-show on play. ([#46665](https://github.com/expo/expo/pull/46665) by [@stevesouth](https://github.com/stevesouth))
- [Android][iOS] Add `maxResolution` player option to cap adaptive video track selection. ([#46992](https://github.com/expo/expo/pull/46992) by [@vargajacint](https://github.com/vargajacint))
- [Android] Added the `videoChangeFrameRateStrategy` player builder option to control whether ExoPlayer may change the display refresh rate to match the video frame rate. On adaptive refresh rate displays (Pixel 9/10) the default matching can cap the entire app UI at 30Hz while a 30 fps video is visible. ([#47873](https://github.com/expo/expo/pull/47873) by [@invivek26](https://github.com/invivek26))
### 🐛 Bug fixes
- [Android] Fixed pipHelperFragment memory leak in PictureInPictureManager ([#49222](https://github.com/expo/expo/pull/49222) by [@minhuwv](https://github.com/minhuwv))
- [Android] Fix `VideoPlayer` constructor throwing `MissingActivity` when the player is created while the `Activity` is briefly unavailable. ([#48914](https://github.com/expo/expo/pull/48914) by [@huextrat](https://github.com/huextrat))
- [iOS] Fixed a data race on the video cache's open-file registry, which could crash the app while the cache was being trimmed. ([#49286](https://github.com/expo/expo/pull/49286) by [@huextrat](https://github.com/huextrat))
- [iOS] Fixed a crash when the device runs out of storage while writing to the video cache. `FileHandle.writeData:` raises an uncatchable Objective-C `NSFileHandleOperationException` on `ENOSPC`; the throwing Swift APIs are now used so the error is caught and logged instead. ([#49284](https://github.com/expo/expo/pull/49284) by [@huextrat](https://github.com/huextrat))
- [Android] Guard `PictureInPictureParams.Builder.setAutoEnterEnabled` against `NoSuchMethodError` on stock OEM firmwares that report API 31+ without shipping the method, which crashed the app from `VideoView.onLayout` even when Picture in Picture was disabled. ([#48957](https://github.com/expo/expo/pull/48957) by [@onlyshyun](https://github.com/onlyshyun))
- Fix `TypeError: Cannot read properties of undefined (reading 'prototype')` when a Jest test imports `expo-video` under the `jest-expo` preset, by adding a hand-written mock for the `ExpoVideo` native module. ([#48880](https://github.com/expo/expo/pull/48880) by [@giaBaoJS](https://github.com/giaBaoJS))
- [iOS] Fix races between overlapping source loads and player release. ([#47967](https://github.com/expo/expo/pull/47967) by [@behenate](https://github.com/behenate))
- [iOS] Set the default `audioMixingMode` to `auto`, [as documented](https://docs.expo.dev/versions/latest/sdk/video/#audiomixingmode); was `doNotMix`. ([#47363](https://github.com/expo/expo/issues/47363) by [@andymatuschak](https://github.com/andymatuschak))
- When caching take into account Authorization /Give your AI agent these facts
Vigia is a free MCP server: your coding agent checks versions, breaking changes and vulnerabilities before it writes code. No signup, no API key.
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Add to CursorAdd to VS Code★ Star on GitHub
Any other MCP client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }Agent skill (SKILL.md): tells the agent when to use Vigia · GitHub Action for pull requests
Frequently asked questions
What are the breaking changes when upgrading expo-video from 57 to 58?
Between expo-video 57.0.5 and 58.0.11, Vigia found 0 removed exports, 1 changed signatures and 0 removed or changed class or interface members.
What became deprecated in expo-video 58?
0 exports or members are newly marked as deprecated in expo-video 58.0.11.
For agents
GET https://vigia.coredls.cloud/v1/packages/npm/expo-video/upgrade?from=57.0.5&to=58.0.11