cordova-khipu 2.11.0 → 2.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -24,8 +24,9 @@ Cordova plugin for Khipu
24
24
  | `cordova` (CLI) | 13.0.0 | 13.0.0 |
25
25
  | `cordova-ios` | 7.0.0 | 7.1.1 and 8.1.1 |
26
26
  | `cordova-android` | 13.0.0 | 13.0.0, 14.0.0 and 15.1.0 |
27
- | iOS | 13.0 | |
28
- | Node | `^20.17.0 \|\| >=22.9.0` | 20.19.4 |
27
+ | iOS | 13.0, or 15.0 with Xcode 27 | |
28
+ | Node | `^20.17.0 \|\| >=22.9.0` | 22.23.2, and 20.17.0 for the hooks' unit tests |
29
+ | Xcode | 26 | 26.6, and 27.0 by hand (see [Xcode 27](#xcode-27-needs-a-deployment-target-of-150)) |
29
30
 
30
31
  Of this table, only `cordova-ios` and `cordova-android` are declared in `plugin.xml`'s
31
32
  `<engines>`. Mind what that does: if the installed platform does not meet the minimum,
@@ -37,9 +38,11 @@ with exit code 0 (verified in `checkEngines()` and the `catch` around it,
37
38
  minimum sees a green install, the plugin gets listed in their `package.json`, nothing
38
39
  native gets installed, and they only discover the problem at runtime with
39
40
  `window.Khipu === undefined`. What protects the merchant is reading that warning, not an
40
- error Cordova never throws. The other three rows (`cordova` CLI, iOS, Node) are tested
41
- and recommended compatibility, not an automatic barrier — Cordova's engine check does not
42
- even recognize a `node` type, and the plugin's `package.json` does not declare `engines`.
41
+ error Cordova never throws. The other four rows (`cordova` CLI, iOS, Node, Xcode) are
42
+ tested and recommended compatibility, not an automatic barrier — Cordova's engine check
43
+ does not even recognize a `node` type, and the plugin's `package.json` does not declare
44
+ `engines`. Xcode's minimum is App Store Connect's: it has required Xcode 26 for uploads
45
+ since April 28, 2026.
43
46
 
44
47
  ## Installation
45
48
 
@@ -95,7 +98,8 @@ in `config.xml` **before** adding the platform:
95
98
  The other three cases are for `cordova-ios` 8:
96
99
 
97
100
  1. **If iOS 13 is enough for you, do not declare it.** The default is already 13.0 and
98
- the plugin stays on SPM, without touching CocoaPods.
101
+ the plugin stays on SPM, without touching CocoaPods. This holds on Xcode 26 only: on
102
+ Xcode 27, 13.0 no longer builds, see [below](#xcode-27-needs-a-deployment-target-of-150).
99
103
  2. **If you declare it with any value, including 13.0, you will need CocoaPods.** The
100
104
  plugin still ships a `<podspec>` — the `cordova-ios` 7 path needs it — so cordova
101
105
  creates an empty `Podfile` when installing the plugin regardless. When `config.xml`
@@ -106,6 +110,38 @@ The other three cases are for `cordova-ios` 8:
106
110
  avoid: it is the consequence of the plugin supporting both managers from a single
107
111
  `plugin.xml`.
108
112
 
113
+ ### Xcode 27 needs a deployment target of 15.0
114
+
115
+ Xcode 27 turns a deployment target below iOS 15.0 into a build error, not a warning:
116
+
117
+ ```
118
+ The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 13.0, but the
119
+ range of supported deployment target versions is 15.0 to 27.0.x.
120
+ ```
121
+
122
+ On Xcode 26, 13.0 still builds and nothing above changes. On Xcode 27:
123
+
124
+ - **On `cordova-ios` 8, declare 15.0**, before adding the platform:
125
+
126
+ ```xml
127
+ <platform name="ios">
128
+ <preference name="deployment-target" value="15.0" />
129
+ </platform>
130
+ ```
131
+
132
+ That is case 3 above, so you will need CocoaPods installed, but Khipu's SDK still
133
+ arrives through SPM. Nothing about the plugin needs changing: Xcode raises the SDK's
134
+ Swift packages to 15.0 on its own.
135
+ - **`cordova-ios` 7 does not build on Xcode 27, whatever you declare.** Two things stay
136
+ below 15.0 and the preference reaches neither: `CordovaLib`, which `cordova-ios` 7 ships
137
+ at 11.0, and the pods of Khipu's SDK, which declare 12.0. Keep building with Xcode 26, or
138
+ move to `cordova-ios` 8.
139
+
140
+ This was measured with Xcode 27.0 (build 27A266a) on the [example app](#example-app),
141
+ with `cordova build ios --emulator`: `cordova-ios` 8.1.1 fails at 13.0 and builds at 15.0,
142
+ and `cordova-ios` 7.1.1 still fails at 15.0 on exactly those two. CI builds with Xcode
143
+ 26.6, so it does not cover Xcode 27 yet.
144
+
109
145
  ### Swift version
110
146
 
111
147
  The plugin configures `SWIFT_VERSION` on its own when needed. If you need a different
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cordova-khipu",
3
- "version": "2.11.0",
3
+ "version": "2.11.2",
4
4
  "description": "Khipu Cordova Plugin",
5
5
  "types": "types/index.d.ts",
6
6
  "cordova": {
@@ -40,7 +40,7 @@
40
40
  "LICENSE"
41
41
  ],
42
42
  "scripts": {
43
- "test": "node --test tests/scripts/ tests/js/",
43
+ "test": "node --test tests/scripts/*.test.js tests/js/*.test.js",
44
44
  "verify": "npm test && npm run verify:versions && npm run verify:keys && npm run verify:ios && npm run verify:android",
45
45
  "verify:versions": "node scripts/check-native-versions.js",
46
46
  "verify:keys": "node scripts/check-option-keys.js",
@@ -51,11 +51,11 @@
51
51
  "prepare": "husky"
52
52
  },
53
53
  "devDependencies": {
54
- "@commitlint/config-conventional": "^19.6.0",
55
- "@release-it/conventional-changelog": "^9.0.3",
56
- "commitlint": "^19.6.1",
54
+ "@commitlint/config-conventional": "^21.2.3",
55
+ "@release-it/conventional-changelog": "^12.0.2",
56
+ "commitlint": "^21.2.3",
57
57
  "husky": "^9.1.7",
58
- "release-it": "^17.10.0"
58
+ "release-it": "^21.1.0"
59
59
  },
60
60
  "commitlint": {
61
61
  "extends": [
@@ -78,7 +78,7 @@
78
78
  },
79
79
  "plugins": {
80
80
  "@release-it/conventional-changelog": {
81
- "preset": "angular",
81
+ "preset": "conventionalcommits",
82
82
  "infile": "CHANGELOG.md"
83
83
  }
84
84
  },
package/plugin.xml CHANGED
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
- <plugin id="cordova-khipu" version="2.11.0" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
2
+ <plugin id="cordova-khipu" version="2.11.2" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
3
3
  <name>Cordova Khipu</name>
4
4
  <engines>
5
5
  <engine name="cordova-ios" version=">=7.0.0"/>
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  // Prints an xcodebuild -destination for an iOS simulator that actually exists here.
3
3
  //
4
- // `-destination 'platform=iOS Simulator,name=iPhone 16'` is what CI uses, and it works there,
5
- // but it resolves to OS:latest — so on a machine whose newest installed runtime has no iPhone 16
4
+ // `-destination 'platform=iOS Simulator,name=iPhone 17'` is what CI uses, and it works there,
5
+ // but it resolves to OS:latest — so on a machine whose newest installed runtime has no iPhone 17
6
6
  // it fails with "Unable to find a device matching the provided destination specifier", and the
7
7
  // whole verify chain stops before it reaches the Android suite. Pinning a runtime instead just
8
8
  // moves the problem to whoever does not have that one.
@@ -8,5 +8,5 @@ repositories {
8
8
  }
9
9
 
10
10
  dependencies {
11
- implementation 'com.khipu:khipu-client-android:2.28.5'
11
+ implementation 'com.khipu:khipu-client-android:2.28.6'
12
12
  }
@@ -38,7 +38,7 @@ android {
38
38
  }
39
39
 
40
40
  dependencies {
41
- implementation 'com.khipu:khipu-client-android:2.28.5'
41
+ implementation 'com.khipu:khipu-client-android:2.28.6'
42
42
 
43
43
  testImplementation 'junit:junit:4.13.2'
44
44
  // org.json inside android.jar is a set of stubs whose every method throws
@@ -19,7 +19,7 @@ import java.util.Arrays;
19
19
  * Android framework, every mapper test would fail at once with a confusing error. This
20
20
  * test fails first, with an obvious one.
21
21
  *
22
- * The second is part of the reason src/android/khipu.gradle says 2.28.5 and not 2.27.0.
22
+ * The second is part of the reason src/android/khipu.gradle says 2.28.6 and not 2.27.0.
23
23
  * Protocol 1.0.59 has fourteen FailureReasonType constants and no USER_DISCONNECTED; its
24
24
  * forValue() throws IOException on any value it does not know, and the SDK's
25
25
  * OPERATION_FAILURE listener calls the converter with no try/catch on socket.io's