Patch Changes
- [Android] Fix a crash when a function returns the same
ArrayBufferto JavaScript many times. Each return held a new JNI global reference until garbage collection, which overflowed the global reference table. (#52278 by @github-actions) - [Android] Avoid Kotlin reflection when sorting task service providers. (
571588fby @matthew-gizmo) - [iOS] Reduce the overhead of emitting events by reaching the JSI runtime, the emitter object and the payload in one call. (#52178 by @tsapeta)
- [iOS] Reduce the overhead of emitting events with a
JavaScriptEncodablepayload, including from@Eventproperties, by specializingemit(event:payload:)for the payload type in the caller's module. (#52179 by @tsapeta) - [iOS] Build the JavaScript classes of
@SharedObjectclasses registered with@ExpoModule(classes:)from their type, without aClassDefinition. (#52137 by @tsapeta) - [iOS] Update
expo-modules-macrosto 0.24.0. A sync closure argument of a@JSfunction now encodes its arguments with code specialized for their types. (#52232 by @tsapeta) - [iOS] Update
expo-modules-macrosto 0.23.1.@JSnow supports alazy var, which is read-only from JavaScript and stores its value on the JavaScript object at the first read.@SharedObjectnow supports subclasses ofSharedRef<T>. Macros in a generic type no longer fail to build when a generic parameter of the type has the same name as one in the generated code. (#52200 by @tsapeta) - [iOS] Fix
MenuViewtriggers that fill their parent, so text in them wraps and they resize on rotation. (#52278 by @github-actions) - Updated dependencies. (#52232, #52164, #52178)
- expo-modules-jsi@58.0.20