Skip to content

Release 0.17.0

Latest
Compare
Choose a tag to compare
@mrousavy mrousavy released this 19 Nov 19:08
· 12 commits to main since this release

0.17.0 (2024-11-19)

As promised, this release is all about Promises! 🪄✨

❗️ Breaking

  • For C++ Hybrid Objects: std::future<T> is now Promise<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

  • Only enable -O2 in release, use -O0 in debug (#356) (5df16ca)

🐛 Bug Fixes

  • Fix Promise calls being stuck in rare cases when scheduling a lot of promises at once (#345) (f94cfbc)
  • Make Promise catch any Throwable instead of Error subclass (#337) (d76d0c0)
  • Fix Variants being stripped in release (#352) (8c09f6d)
  • Fix "legacy" enums 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 of std::future<T> (#348) (e931834)