0.32.0-beta.0 (2025-12-18)
Nitro 0.32 is a big release:
- new DX/convenience features (such as making all C++/Swift structs
Equatable/operator==, or making Kotlin structs/enums extensible viacompanion object) - huge performance improvements by caching
jsi::PropNameID(measured ~30% faster performance with structs)
❗️Breaking Changes
- Generated Swift structs' individual properties should be read-only. Their setters have been removed to make this more obvious.
✨ Features
- Add
companion objectto Kotlin enums/structs (#1084) (8cfcae6) - Make all C++ (and Swift) structs implement
operator==(Equatable) (#1019) (ac0aee6) - Use OSLog instead of NSLog (#1100) (24d60bc)
💨 Performance Improvements
- Add bulk
HashMapconversion method toAnyMapto make conversion faster (#1109) (4c7eb73) - Cache
jsi::PropNameIDs (makes Nitro 30% faster) (#1114) (c942637) - Cache calls to common JS functions (like
Promise,Date, ...) (#1112) (50322d9)
🐛 Bug Fixes
- Fix
Record<string, number>generating wrong code in Kotlin/fbjni (#1061) (85a5a0b) - Fix Android import path for
ReactNativeVersion.h(#1108) (502fd6e) - Fix missing
JUnitimport forPromise<void>on Kotlin (#1105) (19646da) - Implement
ThreadUtilsin pure C++ on iOS (#1101) (b8ca08f) - Make structs
finalto prevent accidental subclassing (#1085) (1c11b25) - Prioritize pthread over of GCD APIs for
getThreadName()(a9d5fad) - Remove
postinstallhook from individual packages (#1088) (e7eae48) - Remove Swift
structsetters, as they should be immutable (#1086) (78e17ba)