github mrousavy/nitro v0.32.0
Release 0.32.0

10 hours ago

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 via companion 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 object to 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 JUnit import for Promise<void> on Kotlin (#1105) (19646da)
  • Implement ThreadUtils in pure C++ on iOS (#1101) (b8ca08f)
  • Make structs final to prevent accidental subclassing (#1085) (1c11b25)
  • Prioritize pthread over of GCD APIs for getThreadName() (a9d5fad)
  • Remove postinstall hook from individual packages (#1088) (e7eae48)
  • Remove Swift struct setters, as they should be immutable (#1086) (78e17ba)

📚 Documentation

Don't miss a new nitro release

NewReleases is sending notifications on new releases.