expo-modules-core 55.0.12 → 55.0.13
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 +6 -0
- package/android/build.gradle +2 -2
- package/android/src/main/java/expo/modules/interfaces/filesystem/Permission.kt +6 -0
- package/android/src/main/java/expo/modules/kotlin/services/FilePermissionService.kt +5 -1
- package/ios/Core/Views/SwiftUI/SwiftUIHostingView.swift +4 -4
- package/ios/Core/Views/SwiftUI/SwiftUIViewDefinition.swift +2 -2
- package/package.json +2 -2
- package/android/src/main/java/expo/modules/interfaces/filesystem/Permission.java +0 -5
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 55.0.13 — 2026-02-26
|
|
14
|
+
|
|
15
|
+
### 🐛 Bug fixes
|
|
16
|
+
|
|
17
|
+
- [iOS] Fix memory leak due to retain cycle in SwiftUI views. ([#43468](https://github.com/expo/expo/pull/43468) by [@nishan](https://github.com/intergalacticspacehighway))
|
|
18
|
+
|
|
13
19
|
## 55.0.12 — 2026-02-25
|
|
14
20
|
|
|
15
21
|
_This version does not introduce any user-facing changes._
|
package/android/build.gradle
CHANGED
|
@@ -29,7 +29,7 @@ if (shouldIncludeCompose) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
group = 'host.exp.exponent'
|
|
32
|
-
version = '55.0.
|
|
32
|
+
version = '55.0.13'
|
|
33
33
|
|
|
34
34
|
def isExpoModulesCoreTests = {
|
|
35
35
|
Gradle gradle = getGradle()
|
|
@@ -96,7 +96,7 @@ android {
|
|
|
96
96
|
defaultConfig {
|
|
97
97
|
consumerProguardFiles 'proguard-rules.pro'
|
|
98
98
|
versionCode 1
|
|
99
|
-
versionName "55.0.
|
|
99
|
+
versionName "55.0.13"
|
|
100
100
|
buildConfigField "String", "EXPO_MODULES_CORE_VERSION", "\"${versionName}\""
|
|
101
101
|
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", "true"
|
|
102
102
|
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
package expo.modules.interfaces.filesystem
|
|
2
|
+
|
|
3
|
+
import expo.modules.kotlin.services.FilePermissionService
|
|
4
|
+
|
|
5
|
+
@Deprecated("Use FilePermissionService.Permission instead", ReplaceWith("FilePermissionService.Permission"))
|
|
6
|
+
typealias Permission = FilePermissionService.Permission
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
package expo.modules.kotlin.services
|
|
2
2
|
|
|
3
3
|
import android.content.Context
|
|
4
|
-
import expo.modules.interfaces.filesystem.Permission
|
|
5
4
|
import java.io.File
|
|
6
5
|
import java.io.IOException
|
|
7
6
|
import java.util.EnumSet
|
|
8
7
|
|
|
9
8
|
// The class needs to be 'open', because it's inherited in expoview
|
|
10
9
|
open class FilePermissionService : Service {
|
|
10
|
+
enum class Permission {
|
|
11
|
+
READ,
|
|
12
|
+
WRITE
|
|
13
|
+
}
|
|
14
|
+
|
|
11
15
|
open fun getPathPermissions(context: Context, path: String): EnumSet<Permission> =
|
|
12
16
|
getInternalPathPermissions(path, context) ?: getExternalPathPermissions(path)
|
|
13
17
|
|
|
@@ -81,12 +81,12 @@ extension ExpoSwiftUI {
|
|
|
81
81
|
|
|
82
82
|
super.init(appContext: appContext)
|
|
83
83
|
|
|
84
|
-
shadowNodeProxy.setViewSize = { size in
|
|
85
|
-
self
|
|
84
|
+
shadowNodeProxy.setViewSize = { [weak self] size in
|
|
85
|
+
self?.setViewSize(size)
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
shadowNodeProxy.setStyleSize = { width, height in
|
|
89
|
-
self
|
|
88
|
+
shadowNodeProxy.setStyleSize = { [weak self] width, height in
|
|
89
|
+
self?.setStyleSize(width, height: height)
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
shadowNodeProxy.objectWillChange.send()
|
|
@@ -100,14 +100,14 @@ extension ExpoSwiftUI {
|
|
|
100
100
|
let view = HostingView(viewType: ViewType.self, props: props, appContext: appContext)
|
|
101
101
|
// Set up events to call view's `dispatchEvent` method.
|
|
102
102
|
// This is supported only on the new architecture, `dispatchEvent` exists only there.
|
|
103
|
-
props.setUpEvents
|
|
103
|
+
props.setUpEvents { [weak view] eventName, payload in view?.dispatchEvent(eventName, payload: payload) }
|
|
104
104
|
return AppleView.from(view)
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
let view = SwiftUIVirtualView(viewType: ViewType.self, props: props, viewDefinition: self, appContext: appContext)
|
|
108
108
|
// Set up events to call view's `dispatchEvent` method.
|
|
109
109
|
// This is supported only on the new architecture, `dispatchEvent` exists only there.
|
|
110
|
-
props.setUpEvents
|
|
110
|
+
props.setUpEvents { [weak view] eventName, payload in view?.dispatchEvent(eventName, payload: payload) }
|
|
111
111
|
return AppleView.from(view)
|
|
112
112
|
}
|
|
113
113
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-modules-core",
|
|
3
|
-
"version": "55.0.
|
|
3
|
+
"version": "55.0.13",
|
|
4
4
|
"description": "The core of Expo Modules architecture",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"@testing-library/react-native": "^13.3.0",
|
|
67
67
|
"expo-module-scripts": "^55.0.2"
|
|
68
68
|
},
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "413b0450434d3e456eb391eca792ee9ac1e1efec"
|
|
70
70
|
}
|