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 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._
@@ -29,7 +29,7 @@ if (shouldIncludeCompose) {
29
29
  }
30
30
 
31
31
  group = 'host.exp.exponent'
32
- version = '55.0.12'
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.12"
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.setViewSize(size)
84
+ shadowNodeProxy.setViewSize = { [weak self] size in
85
+ self?.setViewSize(size)
86
86
  }
87
87
 
88
- shadowNodeProxy.setStyleSize = { width, height in
89
- self.setStyleSize(width, height: height)
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(view.dispatchEvent(_:payload:))
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(view.dispatchEvent(_:payload:))
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.12",
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": "39a7a009e215eb71a112f4a20dba2d471ab21108"
69
+ "gitHead": "413b0450434d3e456eb391eca792ee9ac1e1efec"
70
70
  }
@@ -1,5 +0,0 @@
1
- package expo.modules.interfaces.filesystem;
2
-
3
- public enum Permission {
4
- READ, WRITE,
5
- }