HotCodePush

Supported versions

The React Native, Expo, Capacitor and Cordova versions each HotCodePush SDK supports, the minimum iOS and Android versions they set and how a version leaves support.

HotCodePush supports the two newest majors of each framework. That is React Native 0.82 and newer, Expo SDK 55 to 58, Capacitor 8 and 7, and Cordova with cordova-android 15 and 14 on cordova-ios 8. An SDK you have shipped keeps receiving updates whatever happens to this table.

Supported frameworks

FrameworkSupportedPackage and peer range
React Native0.82 and newer, 0.82 to 0.87 proven@hotcodepush/react-native-code-push, react-native >=0.82.0
ExpoSDK 55 to 58, the newest proven SDK capping the range@hotcodepush/expo-ota-updates, expo >=55.0.0 <59.0.0
Capacitor8 and 7@hotcodepush/capacitor-live-updates, @capacitor/core >=7.0.0
Cordovacordova-android 15 and 14, cordova-ios 8 only@hotcodepush/cordova-code-push, engines cordova-android >=14.0.0 and cordova-ios >=8.0.0

One package per framework spans both majors, and every row has been supported since launch. The React Native SDK supports the New Architecture only, as the React Native SDK reference states. The install steps are on the Expo, Capacitor and Cordova SDK references beside it.

The CLI reference and the Node client run on Node 22 and newer, the Node lines in LTS, and both are tested on 22 and 24. Node 22 is also Capacitor 8's own requirement. The Python client runs on Python 3.11 and newer and is tested on 3.11 to 3.14.

Minimum OS versions

The minimum Android versions come from the framework. On iOS, every package needs at least iOS 15.0, the oldest version the current Xcode builds for.

PackageMin iOSMin AndroidSet by
@hotcodepush/react-native-code-push15.17.0 (API 24)React Native 0.82 sets them.
@hotcodepush/expo-ota-updates15.1 on SDK 55, 16.4 from SDK 567.0 (API 24)The React Native package it installs sets them, and Expo's own minimum from SDK 56.
@hotcodepush/capacitor-live-updates15.06.0 (API 23)Capacitor 8 and Xcode 27 set them, and Xcode 27 builds nothing below iOS 15. A Capacitor 7 app raises its own target from 14.0.
@hotcodepush/cordova-code-push15.07.0 (API 24)Xcode 27 and cordova-android 14 set them. The plugin sets the app's deployment-target to 15.0.
the shared Swift package HotCodePushCore and the Android library com.hotcodepush:core-android15.06.0 (API 23)The lowest minimum of any package above sets them.

The Expo package's minimum versions follow the React Native version each SDK pins.

Expo SDKReact NativeMin iOSMin Android
550.8315.17.0 (API 24)
560.8516.47.0 (API 24)
570.8616.47.0 (API 24)
580.8816.47.0 (API 24)

What supported means

Supported means the demo app runs it in CI and a bug report against it is a bug. Older setups very likely work and get no promise. Every SDK version keeps receiving updates indefinitely: the wire format only ever adds fields, and HotCodePush has never retired one.

The deprecation policy

  • A framework major leaves the matrix at the first SDK major after the vendor's own support ends, never on the day it ends. Capacitor 7 is in vendor extended support until 2026-12-08.
  • Cordova is the one exception to two majors: cordova-ios 8 alone, as cordova-ios 7 would set iOS 11 as the minimum for every SDK.
  • The Expo cap widens with each release that proves the next SDK, and the peer range refuses an SDK no release build has proven yet.
  • A minimum OS version never rises on HotCodePush's initiative, only when every framework in the matrix has raised its own past it, or when the current Xcode no longer builds for it.
  • A major leaving is announced on this page, never in a service notice: the devices running it keep receiving updates.
  • What a store requires of a submission is a store policy question, and it changes nothing about which devices an update reaches.

What an old SDK can miss is a release built on something it does not understand, such as a new condition type. The compatibility fingerprint keeps an update away from a binary it was not built for. On the release command, release create --dry-run counts the devices a release reaches before you publish.

Last updated on

On this page