Releases: mrousavy/nitro
Releases · mrousavy/nitro
Release 0.32.0
0.32.0 (2025-12-23)
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. (#1086) (78e17ba)
✨ 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
- Cache
jsi::PropNameIDs (makes Nitro 30% faster) (#1114) (c942637) - Cache calls to common JS functions (like
Promise,Date, ...) (#1112) (50322d9) - Add bulk converter for
AnyMap.toHashMap()for Kotlin (~50% faster) (#1109) (4c7eb73) - Add bulk converter for
AnyMap.fromMap(...)for Kotlin (~29% faster) (#1118) (5e5312a) - Inline static JNI enum fields (#1123) (9565faa)
🐛 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)
📚 Documentation
Release 0.32.0-beta.0
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)
📚 Documentation
Release 0.31.10
Release 0.31.9
Release 0.31.8
Release 0.31.7
Release 0.31.6
0.31.6 (2025-11-12)
✨ Features
🐛 Bug Fixes
- Fix
Promise<T?>failing to resolve when passingnullin Kotlin (#1034) (f12343c) - Fix arrays of
HybridObjects generating wrong fbjni/Kotlin code (#1039) (b17a556) - Fix cases where Arrays of functions,
AnyMap,ArrayBufferorPromise<...>generates wrong Kotlin code (#1042) (60c71fc) - Make
JNullhold aglobal_refinstead of analias_reffor static fieldNULL(#1040) (1a65bda)
Release 0.31.5
Release 0.31.4
Release 0.31.3
0.31.3 (2025-10-28)
✨ Features
🐛 Bug Fixes
- Allow overriding base methods in Kotlin HybridObjects (#988) (7b542e0)
- Also use
defineProperty(...)for Prototype Methods (#987) (3f1f072) - Make
Platformsinextends HybridObject<P>required (#1003) (69a760f) - Make Kotlin struct hold native types again (#989) (f32425c)
- Throw if no generic args are passed (#1001) (d87385e)
- Throw in nitrogen if user wants to override a base member (like
hashCode()inKotlin.Any) (#991) (287dfe9)