expo-updates 57.0.11 → 57.0.12
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,13 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 57.0.12 — 2026-08-04
|
|
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
|
+
- [iOS] Fix SIGABRT during log purge when the persistent log contains a truncated line: `UpdatesLogReader` guarded on UTF-8 byte length but advanced the string index by Characters, so a line holding only the multi-byte emoji log prefix trapped with "String index is out of bounds". ([#48222](https://github.com/expo/expo/pull/48222) by [@valinagacevschi](https://github.com/valinagacevschi))
|
|
19
|
+
|
|
13
20
|
## 57.0.11 — 2026-07-29
|
|
14
21
|
|
|
15
22
|
_This version does not introduce any user-facing changes._
|
package/android/build.gradle
CHANGED
|
@@ -42,7 +42,7 @@ expoModule {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
group = 'host.exp.exponent'
|
|
45
|
-
version = '57.0.
|
|
45
|
+
version = '57.0.12'
|
|
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 '57.0.
|
|
92
|
+
versionName '57.0.12'
|
|
93
93
|
consumerProguardFiles("proguard-rules.pro")
|
|
94
94
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
95
95
|
|
|
@@ -71,11 +71,14 @@ public final class UpdatesLogReader {
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
private func logStringToFilteredLogEntry(entryString: String, epoch: UInt) -> UpdatesLogEntry? {
|
|
74
|
-
|
|
74
|
+
// NOTE: the guard must count Characters, not UTF-8 bytes. Every log line is prefixed
|
|
75
|
+
// with a multi-byte emoji (see ExpoModulesCore.LogType.prefix), so a truncated line
|
|
76
|
+
// containing only the prefix passes a byte-length guard and then traps in
|
|
77
|
+
// index(_:offsetBy:) with "String index is out of bounds" -> SIGABRT.
|
|
78
|
+
if entryString.count < 2 {
|
|
75
79
|
return nil
|
|
76
80
|
}
|
|
77
|
-
let
|
|
78
|
-
let entryStringSuffix = String(entryString.suffix(from: suffixFrom))
|
|
81
|
+
let entryStringSuffix = String(entryString.dropFirst(2))
|
|
79
82
|
let entry = UpdatesLogEntry.create(from: entryStringSuffix)
|
|
80
83
|
return entry?.timestamp ?? 0 >= epoch ? entry : nil
|
|
81
84
|
}
|
package/ios/EXUpdates.podspec
CHANGED
|
@@ -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
|
-
|
|
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": "57.0.
|
|
3
|
+
"version": "57.0.12",
|
|
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",
|
|
@@ -61,8 +61,8 @@
|
|
|
61
61
|
"ts-node": "^10.9.2",
|
|
62
62
|
"xstate": "^4.37.2",
|
|
63
63
|
"@expo/metro-config": "57.0.7",
|
|
64
|
+
"expo": "57.0.10",
|
|
64
65
|
"expo-module-scripts": "56.0.3",
|
|
65
|
-
"expo": "57.0.9",
|
|
66
66
|
"expo-dev-client": "57.0.10"
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"./scripts/with-node.sh"
|
|
83
83
|
]
|
|
84
84
|
},
|
|
85
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "fb5049481ebd5cadd499c4d1f1d5e47f9ac678be",
|
|
86
86
|
"scripts": {
|
|
87
87
|
"build": "expo-module build",
|
|
88
88
|
"clean": "expo-module clean",
|