Skip to content

Releases: mrousavy/nitro

Release 0.35.7

19 May 14:15

Choose a tag to compare

0.35.7 (2026-05-19)

🐛 Bug Fixes

📚 Documentation

  • Add Camera & Vision to Awesome Nitro Modules (c116e41)
  • Add more awesome nitro modules (#1325) (c870f9d)

Release 0.35.6

28 Apr 15:22

Choose a tag to compare

0.35.6 (2026-04-28)

🐛 Bug Fixes

  • Fix indentation for nitrogen invoke_cxx (#1308) (ca6e003)
  • Fix nested arrays auto __element = __element assignment (#1307) (c136f5f)

📚 Documentation

  • Tell people that they can also just add reproduction PRs, not only fixes (4500ba0)
  • Update contributing.md (45db616)

Release 0.35.5

23 Apr 12:07

Choose a tag to compare

0.35.5 (2026-04-23)

🐛 Bug Fixes

  • Override equals(...) and hashCode() to make all Kotlin structs equatable (#1288) (8c75b2d)
  • Use JRunnable for runOnUIThread(..) (#1302) (580216a)

📚 Documentation

Release 0.35.4

08 Apr 10:27

Choose a tag to compare

0.35.4 (2026-04-08)

✨ Features

  • Add .asType<T>() and .isType<T>() to Swift and Kotlin Variants (#1283) (7b7ef99)

🐛 Bug Fixes

  • Fix Xcode 26.4. build with static linkage (#1282) (b4c302f)

Release 0.35.3

02 Apr 16:35

Choose a tag to compare

0.35.3 (2026-04-02)

✨ Features

🐛 Bug Fixes

  • Some code cleanups (atomic<bool>, move assignment, const) (#1269) (ab2a050)

📚 Documentation

  • Update Nitro banners with new website (ea7511f)
  • Use new algolia index name (1573fe7)

Release 0.35.2

15 Mar 20:14

Choose a tag to compare

0.35.2 (2026-03-15)

🐛 Bug Fixes

  • Fix [super invalidate] being broken in react-native 0.82 or below (#1267) (7e553ec)

📚 Documentation

Release 0.35.1

13 Mar 13:47

Choose a tag to compare

0.35.1 (2026-03-13)

✨ Features

  • Add onDropView() to Hybrid Views (#1266) (dc233c5)
  • Add new autolinking syntax to nitro.json - allow mixed C++ and Swift/Kotlin autolinked objects per platform (#1255) (2a2fc26)

🐛 Bug Fixes

  • Always fail lint-typescript/tsc job when typecheck fails (#1253) (60c35df)
  • Detect duplicate nitro JS installs before install (#1256) (bda45a5)
  • Fix stackoverflow in nitrogen (#1247) (857a456)

📚 Documentation

  • Add guide about Android Context (NitroModules.applicationContext) (#1263) (16f24c3)
  • Remove unused Tabs imports (b0ebb5f)
  • Update docs to use new nitro.json schema (#1264) (038e68b)

Release 0.35.1-beta.2

11 Mar 15:03

Choose a tag to compare

Release 0.35.1-beta.2 Pre-release
Pre-release

What's Changed

Full Changelog: v0.35.1-beta.0...v0.35.1-beta.2

Release 0.35.1-beta.0

11 Mar 12:11

Choose a tag to compare

Release 0.35.1-beta.0 Pre-release
Pre-release

0.35.1-beta.0 (2026-03-11)

✨ Features

  • Add new autolinking syntax to nitro.json - allow mixed C++ and Swift/Kotlin autolinked objects per platform (#1255) (2a2fc26)

🐛 Bug Fixes

  • Always fail lint-typescript/tsc job when typecheck fails (#1253) (60c35df)
  • Detect duplicate nitro JS installs before install (#1256) (bda45a5)
  • Fix stackoverflow in nitrogen (#1247) (857a456)

Release 0.35.0

04 Mar 13:10

Choose a tag to compare

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, or AnyMapHolder, 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:
    1. Re-generating specs will automatically make your library compatible and implements the JHybridObject change.
    2. If you use bigint in your specs, replace it with either Int64 or UInt64:
       interface Math extends HybridObject<...> {
      -  calculateFibonacci(n: bigint): bigint
      +  calculateFibonacci(n: UInt64): UInt64
       }
      See #1212 for more information.
    3. Replace your JNI initialization (cpp-adapter.cpp or JNIOnLoad.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();
      +  });
       }
    As an example, take a look at react-native-nitro-image: PR #103 for a guideline on how to upgrade.

🐛 Bug Fixes

  • Remove a bunch of deprecated APIs (#1245) (0cd8eea)
  • Don't strip HybridSomeExternalObject (f9da753)
  • Fix Kotlin HybridObject jni::global_ref memory leak by separating CxxPart with weak_ptr (#1238) (32a4c86), closes #1239