expo-updates 56.0.22 → 56.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -10,6 +10,18 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 56.0.24 — 2026-08-06
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - [iOS] Set `always_out_of_date` on the `Generate updates resources for expo-updates` script_phase to silence the Xcode "run script phase will run on every build" dependency-analysis warning. ([#47622](https://github.com/expo/expo/pull/47622) by [@ramonclaudio](https://github.com/ramonclaudio))
18
+
19
+ ## 56.0.23 — 2026-07-23
20
+
21
+ ### 🐛 Bug fixes
22
+
23
+ - Fix `isUpdatePending` incorrectly becoming `true` after a fetch or check that finds no new update to download. ([#47830](https://github.com/expo/expo/pull/47830) by [@kudo](https://github.com/kudo))
24
+
13
25
  ## 56.0.22 — 2026-07-15
14
26
 
15
27
  _This version does not introduce any user-facing changes._
@@ -42,7 +42,7 @@ expoModule {
42
42
  }
43
43
 
44
44
  group = 'host.exp.exponent'
45
- version = '56.0.22'
45
+ version = '56.0.24'
46
46
 
47
47
  // Utility method to derive boolean values from the environment or from Java properties,
48
48
  // and return them as strings to be used in BuildConfig fields
@@ -89,7 +89,7 @@ android {
89
89
  namespace "expo.modules.updates"
90
90
  defaultConfig {
91
91
  versionCode 31
92
- versionName '56.0.22'
92
+ versionName '56.0.24'
93
93
  consumerProguardFiles("proguard-rules.pro")
94
94
  testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
95
95
 
@@ -21,7 +21,10 @@ sealed class UpdatesStateEvent(val type: UpdatesStateEventType) {
21
21
  }
22
22
  class Download : UpdatesStateEvent(UpdatesStateEventType.Download)
23
23
  class DownloadProgress(val progress: Double) : UpdatesStateEvent(UpdatesStateEventType.DownloadProgress)
24
+
25
+ // download finished with no update available, so nothing is pending
24
26
  class DownloadComplete : UpdatesStateEvent(UpdatesStateEventType.DownloadComplete)
27
+
25
28
  class DownloadCompleteWithUpdate(val manifest: JSONObject) : UpdatesStateEvent(UpdatesStateEventType.DownloadComplete)
26
29
  class DownloadCompleteWithRollback : UpdatesStateEvent(UpdatesStateEventType.DownloadComplete)
27
30
  class DownloadError(private val errorMessage: String) : UpdatesStateEvent(UpdatesStateEventType.DownloadError) {
@@ -215,7 +215,7 @@ class UpdatesStateMachine(
215
215
  is UpdatesStateEvent.DownloadComplete -> context.copyAndIncrementSequenceNumber(
216
216
  isDownloading = false,
217
217
  downloadError = null,
218
- isUpdatePending = true,
218
+ isUpdatePending = false,
219
219
  downloadProgress = 1.0,
220
220
  downloadStartTime = null,
221
221
  downloadFinishTime = null
@@ -1 +1 @@
1
- {"root":["./src/assetsverify.ts","./src/assetsverifyasync.ts","./src/assetsverifytypes.ts","./src/cli.ts","./src/configurecodesigning.ts","./src/configurecodesigningasync.ts","./src/generatecodesigning.ts","./src/generatecodesigningasync.ts","./src/generatefingerprint.ts","./src/resolveruntimeversion.ts","./src/syncconfigurationtonative.ts","./src/syncconfigurationtonativeasync.ts","./src/utils/args.ts","./src/utils/dir.ts","./src/utils/errors.ts","./src/utils/log.ts","./src/utils/modifyconfigasync.ts","./src/utils/withconsoledisabledasync.ts"],"version":"6.0.3"}
1
+ {"root":["./src/assetsverify.ts","./src/assetsverifyasync.ts","./src/assetsverifytypes.ts","./src/cli.ts","./src/configurecodesigning.ts","./src/configurecodesigningasync.ts","./src/generatecodesigning.ts","./src/generatecodesigningasync.ts","./src/generatefingerprint.ts","./src/resolveruntimeversion.ts","./src/syncconfigurationtonative.ts","./src/syncconfigurationtonativeasync.ts","./src/utils/args.ts","./src/utils/dir.ts","./src/utils/errors.ts","./src/utils/log.ts","./src/utils/modifyconfigasync.ts","./src/utils/withconsoledisabledasync.ts"],"version":"5.9.2"}
@@ -117,7 +117,7 @@ final class FetchUpdateProcedure: StateMachineProcedure {
117
117
 
118
118
  if didRollBackToEmbedded {
119
119
  self.successBlock(FetchUpdateResult.rollBackToEmbedded)
120
- procedureContext.processStateEvent(.downloadComplete)
120
+ procedureContext.processStateEvent(.downloadCompleteWithRollback)
121
121
  procedureContext.onComplete()
122
122
  return
123
123
  }
@@ -33,7 +33,10 @@ internal enum UpdatesStateEvent {
33
33
  case checkCompleteWithRollback(rollbackCommitTime: Date)
34
34
  case checkError(errorMessage: String)
35
35
  case download
36
+
37
+ // download finished with no update available, so nothing is pending
36
38
  case downloadComplete
39
+
37
40
  case downloadCompleteWithUpdate(manifest: [String: Any])
38
41
  case downloadCompleteWithRollback
39
42
  case downloadError(errorMessage: String)
@@ -497,7 +500,7 @@ internal class UpdatesStateMachine {
497
500
  return context.copyAndIncrementSequenceNumber {
498
501
  $0.isDownloading = false
499
502
  $0.downloadError = nil
500
- $0.isUpdatePending = true
503
+ $0.isUpdatePending = false
501
504
  $0.downloadProgress = 1.0
502
505
  $0.downloadStartTime = nil
503
506
  $0.downloadFinishTime = nil
@@ -113,11 +113,17 @@ Pod::Spec.new do |s|
113
113
  if $expo_updates_create_updates_resources != false
114
114
  project_root_env_var = ENV['PROJECT_ROOT'] ? "export PROJECT_ROOT=#{ENV['PROJECT_ROOT']}\n" : ""
115
115
  force_bundling_flag = ex_updates_native_debug ? "export FORCE_BUNDLING=1\n" : ""
116
- s.script_phase = {
116
+ script_phase = {
117
117
  :name => 'Generate updates resources for expo-updates',
118
118
  :script => project_root_env_var + force_bundling_flag + 'bash -l -c "$PODS_TARGET_SRCROOT/../scripts/create-updates-resources-ios.sh"',
119
119
  :execution_position => :before_compile
120
120
  }
121
+ # :always_out_of_date is only available in CocoaPods 1.13.0 and later
122
+ if Gem::Version.new(Pod::VERSION) >= Gem::Version.new('1.13.0')
123
+ # always run the script without warning
124
+ script_phase[:always_out_of_date] = "1"
125
+ end
126
+ s.script_phase = script_phase
121
127
 
122
128
  # Generate EXUpdates.bundle without existing resources
123
129
  # `create-updates-resources-ios.sh` will generate updates resources in EXUpdates.bundle
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-updates",
3
- "version": "56.0.22",
3
+ "version": "56.0.24",
4
4
  "description": "Fetches and manages remotely-hosted assets and updates to your app's JS bundle.",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -60,10 +60,10 @@
60
60
  "picomatch": "^4.0.4",
61
61
  "ts-node": "^10.9.2",
62
62
  "xstate": "^4.37.2",
63
- "expo": "56.0.16",
64
- "@expo/metro-config": "56.0.17",
65
- "expo-module-scripts": "56.0.3",
66
- "expo-dev-client": "56.0.23"
63
+ "expo": "56.0.19",
64
+ "expo-dev-client": "56.0.24",
65
+ "@expo/metro-config": "56.0.18",
66
+ "expo-module-scripts": "56.0.3"
67
67
  },
68
68
  "peerDependencies": {
69
69
  "expo": "*",
@@ -82,7 +82,7 @@
82
82
  "./scripts/with-node.sh"
83
83
  ]
84
84
  },
85
- "gitHead": "8a480d22f04f94fd36570a319baeaa3529330794",
85
+ "gitHead": "eebecc21d8d868d97e72bd61bb8e668fb2feb704",
86
86
  "scripts": {
87
87
  "build": "expo-module build",
88
88
  "clean": "expo-module clean",
@@ -1 +1 @@
1
- {"root":["./src/index.ts","./src/withupdates.ts"],"version":"6.0.3"}
1
+ {"root":["./src/withupdates.ts"],"version":"5.9.2"}
@@ -1 +1 @@
1
- {"root":["./src/createfingerprintasync.ts","./src/createfingerprintforbuildasync.ts","./src/createmanifestforbuildasync.ts","./src/createupdatesresources.ts","./src/filterplatformassetscales.ts","./src/findupprojectroot.ts","./src/resolveruntimeversionasync.ts","./src/vcs.ts","./src/workflow.ts"],"version":"6.0.3"}
1
+ {"root":["./src/createfingerprintasync.ts","./src/createfingerprintforbuildasync.ts","./src/createmanifestforbuildasync.ts","./src/createupdatesresources.ts","./src/filterplatformassetscales.ts","./src/findupprojectroot.ts","./src/resolveruntimeversionasync.ts","./src/vcs.ts","./src/workflow.ts"],"version":"5.9.2"}