Releases: mrousavy/nitro
Releases · mrousavy/nitro
Release 0.18.1
Release 0.18.0
0.18.0 (2024-11-27)
✨ Features
🐛 Bug Fixes
- Add
react-native-nitro-modules
peerDependency to template (12276b8) - Catch cases where a
Promise<T>
could potentially be rseolved twice (#362) (ed24de6) - Fix moving
sharedFunction
after first callback call (d0052ec) - Fix Promise rejections not having a message by using
std::exception_ptr
to avoid C++ object slicing (#369) (b069fb6) - Fix ref counting with recursive mutex (#368) (0747e09)
- Generate a shadow
ordinal
field for Kotlin Enums (#360) (7a32224)
Release 0.17.0
0.17.0 (2024-11-19)
As promised, this release is all about Promises! 🪄✨
❗️ Breaking
- For C++ Hybrid Objects:
std::future<T>
is nowPromise<T>
!
✨ Features
- Allow
ThreadPool
to grow dynamically (#345) (f94cfbc) - Enable ProGuard for release builds in Nitro Example (#342) (9f7728a)
- Add new
Promise<T>
implementation for C++ (#343) (8832bc5) - Use new, faster, simpler
Promise<T>
in Nitrogen (#349) (110dcbf) - Allow awaiting JS
Promise
in C++ (#354) (b6277ea) - Support awaiting JS
Promise
in Kotlin and Swift (#355) (6da4f98)
💨 Performance Improvements
🐛 Bug Fixes
- Fix Promise calls being stuck in rare cases when scheduling a lot of promises at once (#345) (f94cfbc)
- Make
Promise
catch anyThrowable
instead ofError
subclass (#337) (d76d0c0) - Fix Variants being stripped in release (#352) (8c09f6d)
- Fix "legacy"
enum
s breaking Swift compiler (#346) (cb9cf99) - Don't test
bounceChild(Base)
in release because that is optimized away (#353) (3626cb3) - Fix
Promise::awaitFuture
actually locking threads (#347) (8cd7a29) - Fix
Promise<void>
generation on Android (#357) (023c1ab)
📚 Documentation
- Add "Events" info to Callbacks docs page (ce4c415)
- Add
TestObject.nitro.ts
to example playground (b824959) - Add latest release to docs (728ea5c)
- Add Vercel analytics to docs (#332) (834a2ff)
- Clean up unused images (#334) (e461b17)
- Update docs to use new
Promise<T>
type instead ofstd::future<T>
(#348) (e931834)
Release 0.16.2
Release 0.16.1
Release 0.16.0
0.16.0 (2024-11-12)
✨ Features
- Add visionOS support (#323) (328a6e1)
- Explicitly catch
ClassNotFound
andNoSuchMethod
errors (#318) (e37d261), closes #319
🐛 Bug Fixes
- Add
@DoNotStrip
/@Keep
annotations to example hybrid objects (#317) (1a313c5) - Fix
HybridObjectRegistry
not being found with JNI in release (#316) (1f3a004) - Include
nitrogen/
folder intemplate/
(#315) (3992b6f) - Perform safer checks for
toContain(..)
in example, and addNitroModules.hasNativeState(value)
(#324) (c491d39)
📚 Documentation
Release 0.15.0
Release 0.14.1
Release 0.14.0
0.14.0 (2024-10-30)
Fixes a few issues, and adds a new JS-only function getHybridObjectConstructor(...)
which allows you to use new
and instanceof
with HybridObject
s:
// uses NitroModules.createHybridObject<Image>('Image') under the hood
const HybridImage = getHybridObjectConstructor<Image>('Image')
const image1 = new HybridImage()
const image2 = new HybridImage()
const isImage = image1 instanceof HybridImage
✨ Features
🐛 Bug Fixes
- Fix
NONNULL
function pointers (#250) (7afac07) - Fix jboolean parse in Structs (#260) (5cc2337)
- Pre-allocate
defaultValue
for funcs (#255) (25b1917)