Skip to content

Releases: mrousavy/nitro

Release 0.11.0

07 Oct 13:53
Compare
Choose a tag to compare

0.11.0 (2024-10-07)

✨ Features

💨 Performance Improvements

  • Inline hybridContext and memorySize (#178) (c66f2e5)
  • Mark all protocols as AnyObject, since they're always classes (#176) (0d06c78)

🐛 Bug Fixes

  • Provide helpful error message if this is not bound (#157) (377fbd8)
  • Remove unnecessary header import (6cd1a95)

📚 Documentation

Release 0.10.0

24 Sep 12:12
97aa767
Compare
Choose a tag to compare

0.10.0 (2024-09-24)

✨ Features

  • Add NitroModules.box(...) to support using Nitro Modules from any Runtime/Worklets context (#138) (1128d6a)
  • Add array support to Swift AnyMap (#146) (3550a51)
  • Variants for Swift and Kotlin 🥳 (#148) (96d15ea)

🐛 Bug Fixes

  • Don't generate autolinking files if nothing to autolink (#155) (b173aee)
  • Explicitly check against NDEBUG on Android (89a5995)
  • fix android placeholders (#137) (1d50bd3)
  • Fix C++ AnyMap array tests (402d66b)
  • Fix optional parameters in callbacks (#143) (98d1c15)
  • Fix tests (timeout) (5646db3)
  • Remove unused args parameter in createHybridObject(..) (#145) (adeffda)

📚 Documentation

  • Add community Discord to README (85915de)
  • Add info about custom Dispatchers (45032be)
  • pass in generic types and export Specs (#136) (97f36fd)
  • Update types table (39bcdc2)
  • Update wording in Worklets docs (93242d5)
  • Update wording in Worklets docs (38b8b80)

Release 0.9.2

16 Sep 15:39
fd3fae8
Compare
Choose a tag to compare

0.9.2 (2024-09-16)

🐛 Bug Fixes

  • Make string literals throw again, and test optional enums (#135) (46c9ca0)

Release 0.9.1

16 Sep 14:57
1c3f5f3
Compare
Choose a tag to compare

0.9.1 (2024-09-16)

🐛 Bug Fixes

  • Delete unused _deleteFuncContext member (563ad61)
  • Fix NITRO_DEBUG debug/release preprocessor directive (#132) (03e1a71)
  • Forward declare HybridObjects as well in Swift headers (#134) (df47316)
  • Remove LOG_MEMORY_ALLOCATIONS test (d291f63)

📚 Documentation

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