Releases: mrousavy/nitro
Releases · mrousavy/nitro
Release 0.35.7
Release 0.35.6
Release 0.35.5
Release 0.35.4
Release 0.35.3
Release 0.35.2
Release 0.35.1
0.35.1 (2026-03-13)
✨ Features
- Add
onDropView()to Hybrid Views (#1266) (dc233c5) - Add new
autolinkingsyntax tonitro.json- allow mixed C++ and Swift/Kotlin autolinked objects per platform (#1255) (2a2fc26)
🐛 Bug Fixes
- Always fail
lint-typescript/tscjob when typecheck fails (#1253) (60c35df) - Detect duplicate nitro JS installs before install (#1256) (bda45a5)
- Fix stackoverflow in nitrogen (#1247) (857a456)
📚 Documentation
Release 0.35.1-beta.2
What's Changed
- chore: Rename
cpptoc++innitro.jsonautolinkingsection by @riteshshukla04 in #1260
Full Changelog: v0.35.1-beta.0...v0.35.1-beta.2
Release 0.35.1-beta.0
0.35.1-beta.0 (2026-03-11)
✨ Features
- Add new
autolinkingsyntax tonitro.json- allow mixed C++ and Swift/Kotlin autolinked objects per platform (#1255) (2a2fc26)
🐛 Bug Fixes
Release 0.35.0
0.35.0 (2026-03-04)
❗️ Breaking Change
#1238 is the first breaking change after >1 year in Nitro. Unfortunately it is necessary, as it fixes a critical memory leak in Kotlin HybridObjects.
- For app developers: Try upgrading to Nitro 0.35.x and attempt a build. If it fails due to anything looking like
super.updateNative(...),JHybridObject,HybridBase, orAnyMapHolder, the Nitro library you are using needs to update to Nitro 0.35.x as well and re-generate their specs. Swift and C++ libraries will work fine, only Kotlin HybridObjects have a breaking change. - For library authors: Upgrade to Nitro 0.35.x (and nitrogen 0.35.x), and re-generate your specs. Follow these steps to migrate your library:
- Re-generating specs will automatically make your library compatible and implements the
JHybridObjectchange. - If you use
bigintin your specs, replace it with eitherInt64orUInt64:See #1212 for more information.interface Math extends HybridObject<...> { - calculateFibonacci(n: bigint): bigint + calculateFibonacci(n: UInt64): UInt64 } - Replace your JNI initialization (
cpp-adapter.cpporJNIOnLoad.cpp) with this:JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) { - return margelo::nitro::$$androidNamespace$$::initialize(vm); + return facebook::jni::initialize(vm, []() { + margelo::nitro::$$androidNamespace$$::registerAllNatives(); + }); }
- Re-generating specs will automatically make your library compatible and implements the