Skip to content

Releases: mrousavy/nitro

Release 0.9.0

16 Sep 13:32
84edca8
Compare
Choose a tag to compare

0.9.0 (2024-09-16)

✨ Features

  • Add iOS/Android native build and C++ lint CI (#120) (7f5ccf0)
  • Create "Run Nitrogen" CI (d94ed36)
  • Test all types in Example app (#131) (302b33b)

🐛 Bug Fixes

  • Fix CI paths (51c8769)
  • Fix cpp-adapter in template to properly autolink (d1acda5)
  • Fix lint C++ CI (7fc7518)
  • Fix nitrogen CI (#119) (670f35b)
  • Fix optional enums in Nitrogen (#130) (f317ea2)
  • Fix template cpp-adapter.cpp for Android (#122) (661f99f)
  • Refactor HybridObject parser in Nitrogen (allow optional) (8d3f4a1)
  • Remove date from nitrogen'd files (beee698)
  • Use findClassStatic for createHybridObject to fix crash on reload (#128) (cec6887)

📚 Documentation

  • Add some disclaimers about benchmarks (64a4ea6)
  • Create Configuration (nitro.json) docs (a640ad6)
  • Fix missing autolinking entry (9ac1375)
  • Rename nitrogen to nitro-codegen for now (e6ed5d0)
  • Update "Using Nitro in your app" docs (b7a9ffd)
  • Update benchmark wording (40da292)
  • Update benchmark wording a bit (baea303)
  • Update Nitrogen docs (7c836e4)

Release 0.8.0

12 Sep 15:24
c991a44
Compare
Choose a tag to compare

0.8.0 (2024-09-12)

✨ Features

🐛 Bug Fixes

  • Add node_modules/ to ignorePaths in nitro.json (b25552e)
  • Fix CI (589cabe)

📚 Documentation

Release 0.7.0

06 Sep 14:22
51b8a98
Compare
Choose a tag to compare

0.7.0 (2024-09-06)

✨ Features

  • Add ArrayBufferHolder.copy(of: ...) to Swift (c96a1f5)
  • Create ArrayBuffer.copyOf(...) for Kotlin/Android (#102) (8e90799)
  • Some actual docs about types 📚 (#92) (7904975)

💨 Performance Improvements

  • Make AnyMap operations faster by marking them @CriticalNative (#103) (0449981)

🐛 Bug Fixes

  • Fix ArrayBuffer.copy (d868a88)
  • Fix bridge not being used for callbacks (#106) (a1d12c6)
  • Fix callback/closure parameter types being in Swift, instead of C++ (#97) (e1d302b)
  • Fix callbacks with arguments in Swift (#105) (6138ab6)
  • Properly forward move-only types (future!) (#104) (ded7c08)
  • Rename $0 to __result/__error to fix naming collisions (#95) (11deba2)
  • Rename value to __result to fix naming collisions (#94) (f067775)
  • Side by side codeblocks (af6ec15)

📚 Documentation

Release 0.6.0

30 Aug 16:43
50a7824
Compare
Choose a tag to compare

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)

Release 0.5.0

15 Aug 17:18
ae3e4a6
Compare
Choose a tag to compare

0.5.0 (2024-08-15)

✨ Features

  • Add docs for ArrayBufferHolder.isOwner (f6de910)
  • Allow passing Swift callbacks to JS (#42) (46dc1f7)
  • Support Promise<T> in Swift (#43) (2c277fe)

🐛 Bug Fixes

  • Better error for config parsing (d4759ee)
  • Escape comments in C++ (dfdf8d0)
  • Filter duplicate Swift Cxx bridges (b39a8eb)
  • Fix getAllKnownTypes() ID/Key collisions (#44) (7a93bf8)
  • fix docs (c4f55c8)
  • Fix indentation (ab5b1f2)
  • Only apply [@escaping](https://github.com/escaping) to params (7e5d108)
  • Parse resulting type of Promise as well (1130f7d)
  • Rename wrap(wrappingDataWithoutCopy) (191ec22)

Release 0.4.1

14 Aug 18:35
ef3d920
Compare
Choose a tag to compare

0.4.1 (2024-08-14)

✨ Features

  • Properly bridge custom types (structs) to Swift (#32) (d8707cf)
  • Properly generate nested structs in Swift (#33) (3b9f6fd)
  • Support ArrayBuffer in Swift 🥳 (#37) (c319362)
  • Support parsing Variants the other way (from C++ to Swift) (#40) (d9e1406)
  • Support passing around Swift HybridObjects (#36) (474cb1e)
  • Support Variant + Tuple (with stubs for now) (#35) (9b56292)
  • Test enums in Swift (74e101c)
  • Update types table for Swift (479c985)
  • Use Swift file to nicely alias enums (b3112e4)

💨 Performance Improvements

  • Explicitly declare inline closure return type to avoid stressing the Swift compiler too much (#41) (0cf545a)

🐛 Bug Fixes

Release 0.4.0

13 Aug 23:20
e0546ca
Compare
Choose a tag to compare

0.4.0 (2024-08-13)

✨ Features

  • Add NitroModules.hasHybridObject(..) and NitroModules.getAllHybridMethodNames() (#30) (6d2338d)
  • Approach 1 of implementing Swift (#24) (f90a132)
  • Support unordered_map<K, V> (and fix arrays bidirectionally) (#28) (9eac80f)
  • Try CarSwift experiment (db05f1f)

🐛 Bug Fixes

  • Android build and usages of Codegen types in react-native-nitro-image (#29) (a68f8de)
  • dont export funcs (432bb05)
  • Fix Swift umbrella header includes (#19) (0dd6322)
  • Fix Android build/JNI setup (#27) (d57c155)
  • Fix CMake extension (afe7fd6)

Release 0.3.0

09 Aug 15:33
f69d103
Compare
Choose a tag to compare

0.3.0 (2024-08-09)

✨ Features

  • Add addNumbers(..) and addStrings(..) tests (ideal for benchmarking) (d51766a)
  • Add custom path arg (aa8e900)
  • Make HybridObject a NativeState (#11) (86c3702), closes #12
  • Speed up tests by making a timeouted Promise (e7a361e)

💨 Performance Improvements

  • Do all .is.. checks only in DEBUG (f5bd9e1)

🐛 Bug Fixes

  • Add nullptr check to HybridObjectRegistry (ec910a7)
  • Filter duplicate files (ac7a089)
  • Fix CMake target_sources being wrong (bc88e52)
  • Remove unresolved import on Android (f7646c3)
  • Rename Swift bridge to +ResultTypes (de36e17)
  • Set up log-level in middleware (bc56a7c)

📚 Documentation

  • mention required debugLevel (#15) (4181c43)
  • specify how nitrogen detect your specs (#14) (7a914cf)

Release 0.1.7

07 Aug 12:35
c249e9c
Compare
Choose a tag to compare

0.1.7 (2024-08-07)

✨ Features

  • Add JSIConverter<struct>::canConvert (f4c5581)
  • Implement JSIConverter<enum>::canConvert (for TS unions) - NOW WE COVERED ALL CASES/TESTS! 🥳 (0b0b149)
  • Support JSIConverter<AnyMap>::canConvert (+ AnyValue and unordered_map<string, T>) (882054e)
  • Support dynamically converting jsi::Value to any T in a variant by adding JSIConverter<T>::canConvert(...) 🎉 (c7b0cde)

🐛 Bug Fixes

  • Add tests and fix some (872e77c)
  • Also mark some function return types as optional (17299bd)
  • Better error messages for variant and ArrayBuffer (f383d69)
  • Fix null/undefined not being parsed as optional (ef50863)
  • Fix a whole bunch of issues. (a0b6471)
  • Fix broken tuple test, now works Float2 or Float3 (cf82da4)
  • Fix duplicate types in variant (ecbd0ad)
  • Fix enum conversions canConvert lowercase (46c2676)
  • Fix generation of enums (31f90d0)
  • Remove old TestHybridObject (97c838b)
  • Return true for empty array's canConvert (2910180)

Release 0.2.0

08 Aug 10:31
736e4fe
Compare
Choose a tag to compare

Changelog:

0.2.0 (2024-08-08)

✨ Features

  • Make HybridObject a NativeState (#11) (86c3702), closes #12
  • Cache toObject(...) using jsi::WeakObject and correctly set setExternalMemoryPressure #13

💨 Performance Improvements

  • Do all .is.. checks only in DEBUG (f5bd9e1)