Skip to content

Release 0.6.0

Compare
Choose a tag to compare
@mrousavy mrousavy released this 30 Aug 16:43
· 457 commits to main since this release
50a7824

0.6.0 (2024-08-30)

Finally: Android/Kotlin support!

Breaking: All C++ Hybrid Objects now need to manually call the HybridObject(TAG) constructor, since the specs only virtually inherit from HybridObject.

✨ Features

  • Add dispose() to HybridObject (and registerRawHybridMethod(...)) (#82) (661bea4)
  • Add NitroModules.hasNativeState and NitroModules.removeNativeState (#83) (3fa2fe9)
  • Add Promise.await() to Swift (ba1b59c)
  • Add Array support for Kotlin (#51) (6bd88b8)
  • Add String extensions (init and stringValue) to Swift enums (#87) (dc861b0)
  • Add support for ArrayBuffer in Kotlin Nitro Modules (#55) (3d4455e)
  • Annotate native callbacks with @FastNative (objects) or @CriticalNative (primitives) (#52) (1c5fd39)
  • AnyMap for Kotlin/Android (#60) (b459224)
  • Base for Kotlin methods (#48) (e222f98), closes #49
  • Base for Kotlin modules (#45) (065736d), closes #46
  • Create AnyMapHolder for Swift (#56) (dbadcc2)
  • Documentation base 📚 (#86) (f5b9c7d)
  • Improve callbacks for Kotlin/Android (lambdas!) (#62) (a0104e9)
  • Promises for Android/Kotlin (#59) (9b1b2c8)
  • Safely wrap a Swift closure in a C++ accessible SwiftClosure struct and allow parameters bi-directionally (#81) (992c709)
  • Support Record<K, V> as Map<K, V> in Kotlin/Android (#80) (9db7852)
  • Support arrays and objects in Kotlin AnyMap (#76) (254967a)
  • Support optionals in Kotlin (#50) (119f09f)
  • TS + Lint in CI (#77) (a0e2fea)
  • Upgrade to react-native 0.75 (#75) (64f071b)
  • Use lower-camel case for Swift (#84) (72d0e60)

💨 Performance Improvements

🐛 Bug Fixes

  • Fix example app usage on iOS (2c8bf91)
  • Fix raw JSI functions and add test to example module (f4ef4b7)
  • Replace [#if](https://github.com/mrousavy/nitro/issues/if) DEBUG with [#ifndef](https://github.com/mrousavy/nitro/issues/ifndef) NDEBUG to make it work on Android (#53) (acca5ba)
  • Rewrite Logger to use platform NSLog / __android_log_print (#54) (e7b9f41)
  • Safely guard nil unwrap for dictionary lookup in Swift (#79) (fd85cf5)

📚 Documentation

  • Add some links to issues to the table (09d04ee)