Releases: mrousavy/nitro
Releases · mrousavy/nitro
Release 0.9.0
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
forcreateHybridObject
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
tonitro-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
0.8.0 (2024-09-12)
✨ Features
- Add
ignorePaths
config option (#115) (854a78c) - Add
unregisterHybridObjectConstructor(...)
method for @jpudysz (9f2fd82) - Create a template for Nitro (#114) (5455709)
- Fully automatic autolinking for Nitrogen (#117) (0f04af9)
🐛 Bug Fixes
📚 Documentation
- Add
bigint
info (0d3c56b) - Add
Errors
section (b011020) - Add docs for view components (74b8cfe)
- Add info about
memorySize
(2d59fa9) - Create "Nitro Modules" docs (3aa7394)
- Create brownfield docs ("Using Nitro in your app") (86d2844)
- Create Performance Tips section (8ac9b34)
- Create sitemap (686e25d)
- Fix search index (31f7fc1)
- More docs! (#113) (dbdd7ff)
- Set up Algolia search (1278cb2)
Release 0.7.0
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
🐛 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
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()
toHybridObject
(andregisterRawHybridMethod(...)
) (#82) (661bea4) - Add
NitroModules.hasNativeState
andNitroModules.removeNativeState
(#83) (3fa2fe9) - Add
Promise.await()
to Swift (ba1b59c) - Add Array support for Kotlin (#51) (6bd88b8)
- Add String extensions (
init
andstringValue
) 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>
asMap<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
- Speed up
await
(3e6e381)
🐛 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
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
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
Release 0.3.0
0.3.0 (2024-08-09)
✨ Features
- Add
addNumbers(..)
andaddStrings(..)
tests (ideal for benchmarking) (d51766a) - Add custom path arg (aa8e900)
- Make
HybridObject
aNativeState
(#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
Release 0.1.7
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
andunordered_map<string, T>
) (882054e) - Support dynamically converting
jsi::Value
to anyT
in avariant
by addingJSIConverter<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'scanConvert
(2910180)