Vigia

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 paths0
Removed exports0
Changed signatures1
Removed class or interface members0
Changed class or interface members0
Newly deprecated0
Requirement changes (engines, peer dependencies)0
New exports1

Removed exports

None detected.

Changed signatures

exportBeforeAfter
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)
importexportkind
expo-videoVideoChangeFrameRateStrategytype

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