expo-modules-jsi 57.0.4 → 57.0.5

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.5 — 2026-08-20
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - [iOS] Fixed `dateFromMilliseconds` failing to compile with "type of expression is ambiguous" under newer toolchains: the unqualified `abs(_:)` in the `Double` overflow guard is ambiguous once C++ interop brings the C `abs` overloads into scope, so use `Double.magnitude` instead. ([#49039](https://github.com/expo/expo/pull/49039) by [@kraenhansen](https://github.com/kraenhansen))
18
+ - [iOS] Fixed the xcframework prebuild failing under Xcode 27 due to new foreign reference ownership warnings emitted for `RuntimeScheduler` constructors. ([#49120](https://github.com/expo/expo/pull/49120) by [@tsapeta](https://github.com/tsapeta))
19
+
13
20
  ## 57.0.4 — 2026-07-22
14
21
 
15
22
  ### 💡 Others
@@ -50,7 +50,7 @@ let maxJavaScriptDateMilliseconds: Double = 8_640_000_000_000_000
50
50
  /// faithful to `new Date(number)`; the `Date`/string branches pass an already-clipped `getTime()` through.
51
51
  @usableFromInline
52
52
  func dateFromMilliseconds(_ milliseconds: Double) throws -> Date {
53
- guard milliseconds.isFinite, abs(milliseconds) <= maxJavaScriptDateMilliseconds else {
53
+ guard milliseconds.isFinite, milliseconds.magnitude <= maxJavaScriptDateMilliseconds else {
54
54
  throw InvalidDateException()
55
55
  }
56
56
  return Date(timeIntervalSince1970: milliseconds.rounded(.towardZero) / 1000.0)
@@ -50,7 +50,7 @@ public:
50
50
  `scheduleTask` dispatches through `fn`, which the host implements against
51
51
  the real react::RuntimeScheduler.
52
52
  */
53
- RuntimeScheduler(void *scheduler, ScheduleFn fn) noexcept
53
+ SWIFT_RETURNS_RETAINED RuntimeScheduler(void *scheduler, ScheduleFn fn) noexcept
54
54
  : nativeScheduler(scheduler), scheduleFn(fn) {}
55
55
 
56
56
  /**
@@ -58,7 +58,7 @@ public:
58
58
  caller's thread — intended for standalone runtimes (e.g. tests) that have
59
59
  no React scheduler.
60
60
  */
61
- RuntimeScheduler() {}
61
+ SWIFT_RETURNS_RETAINED RuntimeScheduler() {}
62
62
 
63
63
  RuntimeScheduler(const RuntimeScheduler &) = delete;
64
64
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-modules-jsi",
3
- "version": "57.0.4",
3
+ "version": "57.0.5",
4
4
  "description": "The JavaScript Interface for Expo Modules",
5
5
  "main": "index.js",
6
6
  "sideEffects": [],
@@ -41,7 +41,7 @@
41
41
  "./apple/scripts/test.sh"
42
42
  ]
43
43
  },
44
- "gitHead": "a4789f1e53353f4929b0baddcfe5a7c622b99c71",
44
+ "gitHead": "499024a441d67293aa60afcbe02051999a54f1bb",
45
45
  "scripts": {
46
46
  "build": "apple/scripts/build-xcframework.sh",
47
47
  "clean": "apple/scripts/clear-caches.sh",