Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,38 @@ All notable changes to this project are documented in this file.

## Unreleased

## 0.0.17 — 2026-09-16

### Fixed

- **iOS startup crash on React Native 0.80+ (`folly dynamic.cpp:378 Check failed: 0`).**
`NitroPay.podspec` no longer defines `FOLLY_NO_CONFIG` on React Native ≥ 0.80
(mismatched folly config vs React Native core). Flags remain for React Native < 0.80.
The podspec now resolves React Native via `Open3` (no shell interpolation of the
installation path) and fails `pod install` with an explicit error when React Native
or its version cannot be determined, instead of silently applying the wrong flags.
- **iOS crash from a double Promise resolve on Apple Pay.** Nitro fatals when the same
Comment thread
jkasprzyk17 marked this conversation as resolved.
payment settles twice on sheet dismiss. Settling is now one-shot (matching Android),
and success/cancel resolve only from `didFinish`.
- **iOS: overlapping Apple Pay requests.** A second `startPayment` while one is in flight
no longer replaces the shared completion/delegate state and delivers the first result to
the wrong Promise. Overlapping calls are rejected with `A payment is already in progress`.
- **Android build failure on AGP 9 (`Cannot add extension with name 'kotlin'`).**
AGP 9 ships built-in Kotlin support and registers the `kotlin` extension itself, so the
Kotlin plugin is now applied only when nothing has registered that extension. This needs
no AGP version table and also covers AGP 10, where the `android.builtInKotlin` opt-out is removed.
- **Missing TypeScript declarations in the published package.** 0.0.16 shipped `lib/` without
`.d.ts` files even though `types` pointed at `lib/index.d.ts`, so importing the package raised
`TS7016` under `noImplicitAny`/`strict` and silently fell back to `any` otherwise — no
autocomplete and no type checking against the library. **Runtime was not affected:** Metro
resolves the `react-native` field to the bundled `src/`, and `main` resolves to the bundled
`lib/*.js`, so apps built and ran normally. The cause was a stale, committed
`tsconfig.tsbuildinfo` that turned the incremental `tsc` run into a no-op; the build state is
no longer committed and `prepack` now rebuilds `lib/` from scratch.

### Changed

- npm `homepage` now points to https://gmi.software/open-source.

## 0.0.16 — 2026-07-07

Expand Down
3 changes: 3 additions & 0 deletions package/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,6 @@ android/keystores/debug.keystore

# generated by bob
lib/

# TypeScript incremental build state (stale info silently skips the lib/ build)
tsconfig.tsbuildinfo
6 changes: 3 additions & 3 deletions package/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@gmisoftware/react-native-pay",
"version": "0.0.16",
"version": "0.0.17",
"author": "gmi.software",
"repository": {
"type": "git",
Expand Down Expand Up @@ -117,14 +117,14 @@
},
"react-native": "src/index",
"scripts": {
"prepack": "cp ../README.md ./README.md",
"prepack": "rm -rf lib tsconfig.tsbuildinfo && tsc && cp ../README.md ./README.md",
"postpack": "rm ./README.md",
"postinstall": "tsc || exit 0;",
"typecheck": "tsc --noEmit",
"test": "jest",
"test:watch": "jest --watch",
"test:ci": "jest --runInBand --ci",
"clean": "rm -rf android/build node_modules/**/android/build lib",
"clean": "rm -rf android/build node_modules/**/android/build lib tsconfig.tsbuildinfo",
"lint": "eslint \"**/*.{js,ts,tsx}\" --fix",
"lint-ci": "eslint \"**/*.{js,ts,tsx}\" -f @jamesacarr/github-actions",
"typescript": "tsc",
Expand Down
1 change: 0 additions & 1 deletion package/tsconfig.tsbuildinfo

This file was deleted.

Loading