@capacitor/android 4.7.3 → 5.0.0-alpha.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.
@@ -1,13 +1,13 @@
1
1
  ext {
2
- androidxActivityVersion = project.hasProperty('androidxActivityVersion') ? rootProject.ext.androidxActivityVersion : '1.4.0'
3
- androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.4.2'
2
+ androidxActivityVersion = project.hasProperty('androidxActivityVersion') ? rootProject.ext.androidxActivityVersion : '1.6.1'
3
+ androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.6.1'
4
4
  androidxCoordinatorLayoutVersion = project.hasProperty('androidxCoordinatorLayoutVersion') ? rootProject.ext.androidxCoordinatorLayoutVersion : '1.2.0'
5
- androidxCoreVersion = project.hasProperty('androidxCoreVersion') ? rootProject.ext.androidxCoreVersion : '1.8.0'
6
- androidxFragmentVersion = project.hasProperty('androidxFragmentVersion') ? rootProject.ext.androidxFragmentVersion : '1.4.1'
7
- androidxWebkitVersion = project.hasProperty('androidxWebkitVersion') ? rootProject.ext.androidxWebkitVersion : '1.4.0'
5
+ androidxCoreVersion = project.hasProperty('androidxCoreVersion') ? rootProject.ext.androidxCoreVersion : '1.9.0'
6
+ androidxFragmentVersion = project.hasProperty('androidxFragmentVersion') ? rootProject.ext.androidxFragmentVersion : '1.5.5'
7
+ androidxWebkitVersion = project.hasProperty('androidxWebkitVersion') ? rootProject.ext.androidxWebkitVersion : '1.6.0'
8
8
  junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.13.2'
9
- androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.1.3'
10
- androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.4.0'
9
+ androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.1.5'
10
+ androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.5.1'
11
11
  cordovaAndroidVersion = project.hasProperty('cordovaAndroidVersion') ? rootProject.ext.cordovaAndroidVersion : '10.1.1'
12
12
  }
13
13
 
@@ -21,7 +21,7 @@ buildscript {
21
21
  }
22
22
  }
23
23
  dependencies {
24
- classpath 'com.android.tools.build:gradle:7.2.1'
24
+ classpath 'com.android.tools.build:gradle:7.4.1'
25
25
 
26
26
  if (System.getenv("CAP_PUBLISH") == "true") {
27
27
  classpath 'io.github.gradle-nexus:publish-plugin:1.1.0'
@@ -40,10 +40,11 @@ if (System.getenv("CAP_PUBLISH") == "true") {
40
40
  }
41
41
 
42
42
  android {
43
- compileSdkVersion project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 32
43
+ namespace "com.getcapacitor.android"
44
+ compileSdkVersion project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 33
44
45
  defaultConfig {
45
46
  minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 22
46
- targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 32
47
+ targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 33
47
48
  versionCode 1
48
49
  versionName "1.0"
49
50
  consumerProguardFiles 'proguard-rules.pro'
@@ -59,6 +60,7 @@ android {
59
60
  baseline file("lint-baseline.xml")
60
61
  abortOnError true
61
62
  warningsAsErrors true
63
+ lintConfig file('lint.xml')
62
64
  }
63
65
  compileOptions {
64
66
  sourceCompatibility JavaVersion.VERSION_11
@@ -83,7 +85,7 @@ dependencies {
83
85
  androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
84
86
  androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
85
87
  implementation "org.apache.cordova:framework:$cordovaAndroidVersion"
86
- testImplementation 'org.json:json:20140107'
87
- testImplementation 'org.mockito:mockito-inline:3.6.28'
88
+ testImplementation 'org.json:json:20230227'
89
+ testImplementation 'org.mockito:mockito-inline:5.2.0'
88
90
  }
89
91
 
@@ -2,4 +2,8 @@
2
2
  <lint>
3
3
  <issue id="GradleDependency" severity="ignore" />
4
4
  <issue id="AndroidGradlePluginVersion" severity="ignore" />
5
+ <issue id="DiscouragedApi">
6
+ <ignore path="src/main/java/com/getcapacitor/plugin/util/AssetUtil.java" />
7
+ </issue>
8
+ <issue id="ObsoleteSdkInt" severity="informational" />
5
9
  </lint>
@@ -1,4 +1,3 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
- package="com.getcapacitor.android">
2
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android">
4
3
  </manifest>
@@ -384,9 +384,13 @@ var nativeBridge = (function (exports) {
384
384
  data: (options === null || options === void 0 ? void 0 : options.body) ? options.body : undefined,
385
385
  headers: headers,
386
386
  });
387
- const data = typeof nativeResponse.data === 'string'
387
+ let data = !nativeResponse.headers['Content-Type'].startsWith('application/json')
388
388
  ? nativeResponse.data
389
389
  : JSON.stringify(nativeResponse.data);
390
+ // use null data for 204 No Content HTTP response
391
+ if (nativeResponse.status === 204) {
392
+ data = null;
393
+ }
390
394
  // intercept & parse response before returning
391
395
  const response = new Response(data, {
392
396
  headers: nativeResponse.headers,
@@ -522,7 +526,7 @@ var nativeBridge = (function (exports) {
522
526
  this.status = nativeResponse.status;
523
527
  this.response = nativeResponse.data;
524
528
  this.responseText =
525
- typeof nativeResponse.data === 'string'
529
+ !nativeResponse.headers['Content-Type'].startsWith('application/json')
526
530
  ? nativeResponse.data
527
531
  : JSON.stringify(nativeResponse.data);
528
532
  this.responseURL = nativeResponse.url;
@@ -32,6 +32,7 @@ import com.getcapacitor.annotation.Permission;
32
32
  import com.getcapacitor.cordova.MockCordovaInterfaceImpl;
33
33
  import com.getcapacitor.cordova.MockCordovaWebViewImpl;
34
34
  import com.getcapacitor.util.HostMask;
35
+ import com.getcapacitor.util.InternalUtils;
35
36
  import com.getcapacitor.util.PermissionHelper;
36
37
  import com.getcapacitor.util.WebColor;
37
38
  import java.io.File;
@@ -87,6 +88,8 @@ public class Bridge {
87
88
  public static final String CAPACITOR_CONTENT_START = "/_capacitor_content_";
88
89
  public static final int DEFAULT_ANDROID_WEBVIEW_VERSION = 60;
89
90
  public static final int MINIMUM_ANDROID_WEBVIEW_VERSION = 55;
91
+ public static final int DEFAULT_HUAWEI_WEBVIEW_VERSION = 10;
92
+ public static final int MINIMUM_HUAWEI_WEBVIEW_VERSION = 10;
90
93
 
91
94
  // Loaded Capacitor config
92
95
  private CapConfig config;
@@ -323,6 +326,11 @@ public class Bridge {
323
326
  // Check getCurrentWebViewPackage() directly if above Android 8
324
327
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
325
328
  PackageInfo info = WebView.getCurrentWebViewPackage();
329
+ if (info.packageName.equals("com.huawei.webview")) {
330
+ String majorVersionStr = info.versionName.split("\\.")[0];
331
+ int majorVersion = Integer.parseInt(majorVersionStr);
332
+ return majorVersion >= config.getMinHuaweiWebViewVersion();
333
+ }
326
334
  String majorVersionStr = info.versionName.split("\\.")[0];
327
335
  int majorVersion = Integer.parseInt(majorVersionStr);
328
336
  return majorVersion >= config.getMinWebViewVersion();
@@ -334,7 +342,7 @@ public class Bridge {
334
342
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
335
343
  webViewPackage = "com.android.chrome";
336
344
  }
337
- PackageInfo info = pm.getPackageInfo(webViewPackage, 0);
345
+ PackageInfo info = InternalUtils.getPackageInfo(pm, webViewPackage);
338
346
  String majorVersionStr = info.versionName.split("\\.")[0];
339
347
  int majorVersion = Integer.parseInt(majorVersionStr);
340
348
  return majorVersion >= config.getMinWebViewVersion();
@@ -343,7 +351,7 @@ public class Bridge {
343
351
  }
344
352
 
345
353
  try {
346
- PackageInfo info = pm.getPackageInfo("com.android.webview", 0);
354
+ PackageInfo info = InternalUtils.getPackageInfo(pm, "com.android.webview");
347
355
  String majorVersionStr = info.versionName.split("\\.")[0];
348
356
  int majorVersion = Integer.parseInt(majorVersionStr);
349
357
  return majorVersion >= config.getMinWebViewVersion();
@@ -369,6 +377,10 @@ public class Bridge {
369
377
  }
370
378
  }
371
379
 
380
+ if (url.getScheme().equals("data")) {
381
+ return false;
382
+ }
383
+
372
384
  Uri appUri = Uri.parse(appUrl);
373
385
  if (
374
386
  !(url.getHost().equals(appUri.getHost()) && url.getScheme().equals(appUri.getScheme())) &&
@@ -394,7 +406,8 @@ public class Bridge {
394
406
  String lastVersionName = prefs.getString(LAST_BINARY_VERSION_NAME, null);
395
407
 
396
408
  try {
397
- PackageInfo pInfo = getContext().getPackageManager().getPackageInfo(getContext().getPackageName(), 0);
409
+ PackageManager pm = getContext().getPackageManager();
410
+ PackageInfo pInfo = InternalUtils.getPackageInfo(pm, getContext().getPackageName());
398
411
  versionCode = Integer.toString((int) PackageInfoCompat.getLongVersionCode(pInfo));
399
412
  versionName = pInfo.versionName;
400
413
  } catch (Exception ex) {
@@ -22,8 +22,7 @@ public class BridgeActivity extends AppCompatActivity {
22
22
  protected void onCreate(Bundle savedInstanceState) {
23
23
  super.onCreate(savedInstanceState);
24
24
  bridgeBuilder.setInstanceState(savedInstanceState);
25
- getApplication().setTheme(getResources().getIdentifier("AppTheme_NoActionBar", "style", getPackageName()));
26
- setTheme(getResources().getIdentifier("AppTheme_NoActionBar", "style", getPackageName()));
25
+ getApplication().setTheme(R.style.AppTheme_NoActionBar);
27
26
  setTheme(R.style.AppTheme_NoActionBar);
28
27
  setContentView(R.layout.bridge_layout_main);
29
28
  PluginManager loader = new PluginManager(getAssets());
@@ -2,7 +2,9 @@ package com.getcapacitor;
2
2
 
3
3
  import static com.getcapacitor.Bridge.CAPACITOR_HTTP_SCHEME;
4
4
  import static com.getcapacitor.Bridge.DEFAULT_ANDROID_WEBVIEW_VERSION;
5
+ import static com.getcapacitor.Bridge.DEFAULT_HUAWEI_WEBVIEW_VERSION;
5
6
  import static com.getcapacitor.Bridge.MINIMUM_ANDROID_WEBVIEW_VERSION;
7
+ import static com.getcapacitor.Bridge.MINIMUM_HUAWEI_WEBVIEW_VERSION;
6
8
  import static com.getcapacitor.FileUtils.readFileFromAssets;
7
9
 
8
10
  import android.content.Context;
@@ -48,6 +50,7 @@ public class CapConfig {
48
50
  private boolean initialFocus = true;
49
51
  private boolean useLegacyBridge = false;
50
52
  private int minWebViewVersion = DEFAULT_ANDROID_WEBVIEW_VERSION;
53
+ private int minHuaweiWebViewVersion = DEFAULT_HUAWEI_WEBVIEW_VERSION;
51
54
  private String errorPath;
52
55
 
53
56
  // Embedded
@@ -172,6 +175,7 @@ public class CapConfig {
172
175
  this.initialFocus = builder.initialFocus;
173
176
  this.useLegacyBridge = builder.useLegacyBridge;
174
177
  this.minWebViewVersion = builder.minWebViewVersion;
178
+ this.minHuaweiWebViewVersion = builder.minHuaweiWebViewVersion;
175
179
  this.errorPath = builder.errorPath;
176
180
 
177
181
  // Embedded
@@ -263,6 +267,7 @@ public class CapConfig {
263
267
  JSONUtils.getBoolean(configJSON, "allowMixedContent", allowMixedContent)
264
268
  );
265
269
  minWebViewVersion = JSONUtils.getInt(configJSON, "android.minWebViewVersion", DEFAULT_ANDROID_WEBVIEW_VERSION);
270
+ minHuaweiWebViewVersion = JSONUtils.getInt(configJSON, "android.minHuaweiWebViewVersion", DEFAULT_HUAWEI_WEBVIEW_VERSION);
266
271
  captureInput = JSONUtils.getBoolean(configJSON, "android.captureInput", captureInput);
267
272
  useLegacyBridge = JSONUtils.getBoolean(configJSON, "android.useLegacyBridge", useLegacyBridge);
268
273
  webContentsDebuggingEnabled = JSONUtils.getBoolean(configJSON, "android.webContentsDebuggingEnabled", isDebug);
@@ -376,6 +381,15 @@ public class CapConfig {
376
381
  return minWebViewVersion;
377
382
  }
378
383
 
384
+ public int getMinHuaweiWebViewVersion() {
385
+ if (minHuaweiWebViewVersion < MINIMUM_HUAWEI_WEBVIEW_VERSION) {
386
+ Logger.warn("Specified minimum Huawei webview version is too low, defaulting to " + MINIMUM_HUAWEI_WEBVIEW_VERSION);
387
+ return MINIMUM_HUAWEI_WEBVIEW_VERSION;
388
+ }
389
+
390
+ return minHuaweiWebViewVersion;
391
+ }
392
+
379
393
  public PluginConfig getPluginConfiguration(String pluginId) {
380
394
  PluginConfig pluginConfig = pluginsConfiguration.get(pluginId);
381
395
  if (pluginConfig == null) {
@@ -535,6 +549,7 @@ public class CapConfig {
535
549
  private boolean initialFocus = false;
536
550
  private boolean useLegacyBridge = false;
537
551
  private int minWebViewVersion = DEFAULT_ANDROID_WEBVIEW_VERSION;
552
+ private int minHuaweiWebViewVersion = DEFAULT_HUAWEI_WEBVIEW_VERSION;
538
553
 
539
554
  // Embedded
540
555
  private String startPath = null;
@@ -82,7 +82,7 @@ public class Plugin {
82
82
 
83
83
  // Stored results of an event if an event was fired and
84
84
  // no listeners were attached yet. Only stores the last value.
85
- private final Map<String, JSObject> retainedEventArguments;
85
+ private final Map<String, List<JSObject>> retainedEventArguments;
86
86
 
87
87
  public Plugin() {
88
88
  eventListeners = new HashMap<>();
@@ -664,7 +664,14 @@ public class Plugin {
664
664
  if (listeners == null || listeners.isEmpty()) {
665
665
  Logger.debug(getLogTag(), "No listeners found for event " + eventName);
666
666
  if (retainUntilConsumed) {
667
- retainedEventArguments.put(eventName, data);
667
+ List<JSObject> argList = retainedEventArguments.get(eventName);
668
+
669
+ if (argList == null) {
670
+ argList = new ArrayList<JSObject>();
671
+ }
672
+
673
+ argList.add(data);
674
+ retainedEventArguments.put(eventName, argList);
668
675
  }
669
676
  return;
670
677
  }
@@ -703,13 +710,17 @@ public class Plugin {
703
710
  * @param eventName
704
711
  */
705
712
  private void sendRetainedArgumentsForEvent(String eventName) {
706
- JSObject retained = retainedEventArguments.get(eventName);
707
- if (retained == null) {
713
+ // copy retained args and null source to prevent potential race conditions
714
+ List<JSObject> retainedArgs = retainedEventArguments.get(eventName);
715
+ if (retainedArgs == null) {
708
716
  return;
709
717
  }
710
718
 
711
- notifyListeners(eventName, retained);
712
719
  retainedEventArguments.remove(eventName);
720
+
721
+ for (JSObject retained : retainedArgs) {
722
+ notifyListeners(eventName, retained);
723
+ }
713
724
  }
714
725
 
715
726
  /**
@@ -800,10 +811,12 @@ public class Plugin {
800
811
  JSArray providedPerms = call.getArray("permissions");
801
812
  List<String> providedPermsList = null;
802
813
 
803
- try {
804
- providedPermsList = providedPerms.toList();
805
- } catch (JSONException ignore) {
806
- // do nothing
814
+ if (providedPerms != null) {
815
+ try {
816
+ providedPermsList = providedPerms.toList();
817
+ } catch (JSONException ignore) {
818
+ // do nothing
819
+ }
807
820
  }
808
821
 
809
822
  // If call was made without any custom permissions, request all from plugin annotation
@@ -318,11 +318,7 @@ public class PluginCall {
318
318
  }
319
319
 
320
320
  public JSObject getObject(String name) {
321
- Logger.warn(
322
- Logger.tags("Plugin"),
323
- "getObject calls without a default value will return null in Capacitor 5 instead of an empty object to match iOS behavior"
324
- );
325
- return this.getObject(name, new JSObject());
321
+ return this.getObject(name, null);
326
322
  }
327
323
 
328
324
  @Nullable
@@ -343,11 +339,7 @@ public class PluginCall {
343
339
  }
344
340
 
345
341
  public JSArray getArray(String name) {
346
- Logger.warn(
347
- Logger.tags("Plugin"),
348
- "getArray calls without a default value will return null in Capacitor 5 instead of an empty array to match iOS behavior"
349
- );
350
- return this.getArray(name, new JSArray());
342
+ return this.getArray(name, null);
351
343
  }
352
344
 
353
345
  /**
@@ -306,6 +306,9 @@ public class HttpRequestHandler {
306
306
  return new JSONObject().put("flag", "false");
307
307
  } else if (input.trim().length() <= 0) {
308
308
  return "";
309
+ } else if (input.trim().matches("^\".*\"$")) {
310
+ // a string enclosed in " " is a json value, return the string without the quotes
311
+ return input.trim().substring(1, input.trim().length() - 1);
309
312
  } else {
310
313
  try {
311
314
  return new JSObject(input);
@@ -368,8 +371,8 @@ public class HttpRequestHandler {
368
371
  public static JSObject request(PluginCall call, String httpMethod, Bridge bridge)
369
372
  throws IOException, URISyntaxException, JSONException {
370
373
  String urlString = call.getString("url", "");
371
- JSObject headers = call.getObject("headers");
372
- JSObject params = call.getObject("params");
374
+ JSObject headers = call.getObject("headers", new JSObject());
375
+ JSObject params = call.getObject("params", new JSObject());
373
376
  Integer connectTimeout = call.getInt("connectTimeout");
374
377
  Integer readTimeout = call.getInt("readTimeout");
375
378
  Boolean disableRedirects = call.getBoolean("disableRedirects");
@@ -0,0 +1,27 @@
1
+ package com.getcapacitor.util;
2
+
3
+ import android.content.pm.PackageInfo;
4
+ import android.content.pm.PackageManager;
5
+ import android.os.Build;
6
+
7
+ public class InternalUtils {
8
+
9
+ public static PackageInfo getPackageInfo(PackageManager pm, String packageName) throws PackageManager.NameNotFoundException {
10
+ return InternalUtils.getPackageInfo(pm, packageName, 0);
11
+ }
12
+
13
+ public static PackageInfo getPackageInfo(PackageManager pm, String packageName, long flags)
14
+ throws PackageManager.NameNotFoundException {
15
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
16
+ return pm.getPackageInfo(packageName, PackageManager.PackageInfoFlags.of(flags));
17
+ } else {
18
+ return getPackageInfoLegacy(pm, packageName, (int) flags);
19
+ }
20
+ }
21
+
22
+ @SuppressWarnings("deprecation")
23
+ private static PackageInfo getPackageInfoLegacy(PackageManager pm, String packageName, long flags)
24
+ throws PackageManager.NameNotFoundException {
25
+ return pm.getPackageInfo(packageName, (int) flags);
26
+ }
27
+ }
@@ -77,7 +77,7 @@ public class PermissionHelper {
77
77
  String[] requestedPermissions = null;
78
78
  try {
79
79
  PackageManager pm = context.getPackageManager();
80
- PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS);
80
+ PackageInfo packageInfo = InternalUtils.getPackageInfo(pm, context.getPackageName(), PackageManager.GET_PERMISSIONS);
81
81
 
82
82
  if (packageInfo != null) {
83
83
  requestedPermissions = packageInfo.requestedPermissions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capacitor/android",
3
- "version": "4.7.3",
3
+ "version": "5.0.0-alpha.2",
4
4
  "description": "Capacitor: Cross-platform apps with JavaScript and the web",
5
5
  "homepage": "https://capacitorjs.com",
6
6
  "author": "Ionic Team <hi@ionic.io> (https://ionic.io)",
@@ -23,10 +23,10 @@
23
23
  "verify": "./gradlew clean lint build test -b capacitor/build.gradle"
24
24
  },
25
25
  "peerDependencies": {
26
- "@capacitor/core": "^4.7.0"
26
+ "@capacitor/core": "^5.0.0-alpha.1"
27
27
  },
28
28
  "publishConfig": {
29
29
  "access": "public"
30
30
  },
31
- "gitHead": "aa522964a8521f65b95e4233993019e3fe2531a4"
31
+ "gitHead": "4e4134c2c9c8c52f40d9251924a419a87eca2924"
32
32
  }
package/CHANGELOG.md DELETED
@@ -1,788 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [4.7.3](https://github.com/ionic-team/capacitor/compare/4.7.2...4.7.3) (2023-03-31)
7
-
8
-
9
- ### Bug Fixes
10
-
11
- * **android:** remove stored references to bridge that holds it in memory ([#6448](https://github.com/ionic-team/capacitor/issues/6448)) ([#6455](https://github.com/ionic-team/capacitor/issues/6455)) ([8fa2d1c](https://github.com/ionic-team/capacitor/commit/8fa2d1c560321d9eb91edb1c81bf64f802289604))
12
-
13
-
14
-
15
-
16
-
17
- ## [4.7.2](https://github.com/ionic-team/capacitor/compare/4.7.1...4.7.2) (2023-03-31)
18
-
19
-
20
- ### Bug Fixes
21
-
22
- * **android:** proper app url check for launching intents ([#6451](https://github.com/ionic-team/capacitor/issues/6451)) ([6f8d1ad](https://github.com/ionic-team/capacitor/commit/6f8d1adb6514fe3cd64674215d87ae55d5f12f35))
23
-
24
-
25
-
26
-
27
-
28
- ## [4.7.1](https://github.com/ionic-team/capacitor/compare/4.7.0...4.7.1) (2023-03-16)
29
-
30
- **Note:** Version bump only for package @capacitor/android
31
-
32
-
33
-
34
-
35
-
36
- # [4.7.0](https://github.com/ionic-team/capacitor/compare/4.6.3...4.7.0) (2023-02-22)
37
-
38
-
39
- ### Bug Fixes
40
-
41
- * handle fetch headers that are Headers objects ([#6320](https://github.com/ionic-team/capacitor/issues/6320)) ([cb00e49](https://github.com/ionic-team/capacitor/commit/cb00e4952acca8e877555f30b2190f6685d25934))
42
- * **ios:** Correctly Attach Headers to Request ([#6303](https://github.com/ionic-team/capacitor/issues/6303)) ([a3f875c](https://github.com/ionic-team/capacitor/commit/a3f875cf42e111fde07d6e87643264b19ed77573))
43
-
44
-
45
- ### Features
46
-
47
- * **android:** add ability to create config from a custom file path ([#6264](https://github.com/ionic-team/capacitor/issues/6264)) ([42b4f0f](https://github.com/ionic-team/capacitor/commit/42b4f0f416c8038ae368860007910bb09c8ec84e))
48
- * **android:** Add SSL Pinning logic ([#6314](https://github.com/ionic-team/capacitor/issues/6314)) ([07f113e](https://github.com/ionic-team/capacitor/commit/07f113e6933e15c45d772f69f7128cbb3706f7b9))
49
- * **android:** enable loading of assets outside of the content web asset directory ([#6301](https://github.com/ionic-team/capacitor/issues/6301)) ([364497d](https://github.com/ionic-team/capacitor/commit/364497d4aca93fc716a0673ef9103479aed791ec))
50
-
51
-
52
-
53
-
54
-
55
- ## [4.6.3](https://github.com/ionic-team/capacitor/compare/4.6.2...4.6.3) (2023-02-03)
56
-
57
-
58
- ### Bug Fixes
59
-
60
- * **ios:** crash when http headers contain numbers ([#6251](https://github.com/ionic-team/capacitor/issues/6251)) ([028c556](https://github.com/ionic-team/capacitor/commit/028c556a50b41ee99fe8f4f1aa2f42d3fd57f92d))
61
-
62
-
63
-
64
-
65
-
66
- ## [4.6.2](https://github.com/ionic-team/capacitor/compare/4.6.1...4.6.2) (2023-01-17)
67
-
68
-
69
- ### Bug Fixes
70
-
71
- * **android:** get application/x-www-form-urlencoded as string ([#6165](https://github.com/ionic-team/capacitor/issues/6165)) ([0735e89](https://github.com/ionic-team/capacitor/commit/0735e89d48e77a1ddca97a48e3851f4a0a3ea2c1))
72
- * **ios/android:** better http error handling ([#6208](https://github.com/ionic-team/capacitor/issues/6208)) ([7d4d70a](https://github.com/ionic-team/capacitor/commit/7d4d70a0500b7996c710c0762907f44bdf27c92b))
73
-
74
-
75
-
76
-
77
-
78
- ## [4.6.1](https://github.com/ionic-team/capacitor/compare/4.6.0...4.6.1) (2022-12-05)
79
-
80
- **Note:** Version bump only for package @capacitor/android
81
-
82
-
83
-
84
-
85
-
86
- # [4.6.0](https://github.com/ionic-team/capacitor/compare/4.5.0...4.6.0) (2022-12-01)
87
-
88
-
89
- ### Bug Fixes
90
-
91
- * **android:** Don't run Cordova plugins on ui thread ([#6108](https://github.com/ionic-team/capacitor/issues/6108)) ([592ee86](https://github.com/ionic-team/capacitor/commit/592ee862a58f5cb0737620a0246fe8ae295d27cf))
92
- * **cookies:** Use Set-Cookie headers to persist cookies ([57f8b39](https://github.com/ionic-team/capacitor/commit/57f8b39d7f4c5ee0e5e5cb316913e9450a81d22b))
93
-
94
-
95
- ### Features
96
-
97
- * **android:** Plugin Instance Support ([#6073](https://github.com/ionic-team/capacitor/issues/6073)) ([3d5b7c2](https://github.com/ionic-team/capacitor/commit/3d5b7c2d372cf764c625f46d1e8761e05b8959da))
98
-
99
-
100
-
101
-
102
-
103
- # [4.5.0](https://github.com/ionic-team/capacitor/compare/4.4.0...4.5.0) (2022-11-16)
104
-
105
-
106
- ### Bug Fixes
107
-
108
- * **android:** Silence deprecation warning on handlePermissionResult ([#6092](https://github.com/ionic-team/capacitor/issues/6092)) ([888b13e](https://github.com/ionic-team/capacitor/commit/888b13e89c48dab949b38135a3ec443ac4fd852e))
109
-
110
-
111
- ### Features
112
-
113
- * **android/cli:** Allow to use the old addJavascriptInterface bridge ([#6043](https://github.com/ionic-team/capacitor/issues/6043)) ([a6e7c54](https://github.com/ionic-team/capacitor/commit/a6e7c5422687b703492a5fcc49369eacc376143d))
114
- * **cookies:** add get cookies plugin method ([ba1e770](https://github.com/ionic-team/capacitor/commit/ba1e7702a3338714aee24388c0afea39706c9341))
115
-
116
-
117
-
118
-
119
-
120
- # [4.4.0](https://github.com/ionic-team/capacitor/compare/4.3.0...4.4.0) (2022-10-21)
121
-
122
-
123
- ### Bug Fixes
124
-
125
- * **android:** added ServerPath object and building options for setting initial load from portals ([#6008](https://github.com/ionic-team/capacitor/issues/6008)) ([205b6e6](https://github.com/ionic-team/capacitor/commit/205b6e61806158244846608b1e6c0c7b26ee4ab7))
126
- * **cookies:** make document.cookie setter synchronous ([2272abf](https://github.com/ionic-team/capacitor/commit/2272abf3d3d9dc82d9ca0d03b17e2b78f11f61fc))
127
- * **http:** fix exception thrown on 204 responses ([1f6e8be](https://github.com/ionic-team/capacitor/commit/1f6e8be9d8813c4397e2c54ac4c06beb55f97b5f))
128
- * **http:** fix local http requests on native platforms ([c4e040a](https://github.com/ionic-team/capacitor/commit/c4e040a6f8c6b54bac6ae320e5f0f008604fe50f))
129
-
130
-
131
-
132
-
133
-
134
- # [4.3.0](https://github.com/ionic-team/capacitor/compare/4.2.0...4.3.0) (2022-09-21)
135
-
136
-
137
- ### Bug Fixes
138
-
139
- * **android:** open external links in browser ([#5913](https://github.com/ionic-team/capacitor/issues/5913)) ([7553ede](https://github.com/ionic-team/capacitor/commit/7553ede93170971e21ab3dec1798443d084ead2a))
140
- * **android:** set all cookies on proxied requests ([#5781](https://github.com/ionic-team/capacitor/issues/5781)) ([5ef6a38](https://github.com/ionic-team/capacitor/commit/5ef6a3889121dd39a9159ff80250df18854bc557))
141
- * **android:** set WebViewClient on the WebView ([#5919](https://github.com/ionic-team/capacitor/issues/5919)) ([020ed8e](https://github.com/ionic-team/capacitor/commit/020ed8eaeb7864399d4b93f54ab7601c607d8e0d))
142
- * **core:** Exception object was not set on Cap ([#5917](https://github.com/ionic-team/capacitor/issues/5917)) ([9ca27a4](https://github.com/ionic-team/capacitor/commit/9ca27a4f8441b368f8bf9d97dda57b1a55ac0e4e))
143
-
144
-
145
- ### Features
146
-
147
- * Capacitor Cookies & Capacitor Http core plugins ([d4047cf](https://github.com/ionic-team/capacitor/commit/d4047cfa947676777f400389a8d65defae140b45))
148
-
149
-
150
-
151
-
152
-
153
- # [4.2.0](https://github.com/ionic-team/capacitor/compare/4.1.0...4.2.0) (2022-09-08)
154
-
155
- **Note:** Version bump only for package @capacitor/android
156
-
157
-
158
-
159
-
160
-
161
- ## [4.1.0](https://github.com/ionic-team/capacitor/compare/4.0.1...4.1.0) (2022-08-18)
162
-
163
- **Note:** Version bump only for package @capacitor/android
164
-
165
-
166
-
167
-
168
-
169
- ## [4.0.1](https://github.com/ionic-team/capacitor/compare/4.0.0...4.0.1) (2022-07-28)
170
-
171
- **Note:** Version bump only for package @capacitor/android
172
-
173
-
174
-
175
-
176
-
177
- # [4.0.0](https://github.com/ionic-team/capacitor/compare/4.0.0-beta.2...4.0.0) (2022-07-27)
178
-
179
-
180
- ### Bug Fixes
181
-
182
- * **android:** Publish proguard-rules.pro on npm ([#5761](https://github.com/ionic-team/capacitor/issues/5761)) ([df77103](https://github.com/ionic-team/capacitor/commit/df77103ca411fa452239099769289eeeea2404d2))
183
-
184
-
185
- ### Features
186
-
187
- * **android:** Add android.minWebviewVersion configuration option ([#5768](https://github.com/ionic-team/capacitor/issues/5768)) ([ad83827](https://github.com/ionic-team/capacitor/commit/ad838279e9cd190ce6f1a020a0ac9e3916786324))
188
- * **android:** Add Optional Data Param for Error Object ([#5719](https://github.com/ionic-team/capacitor/issues/5719)) ([174172b](https://github.com/ionic-team/capacitor/commit/174172b6c64dc9117c48ed0e20c25e0b6c2fb625))
189
- * **android:** Use addWebMessageListener where available ([#5427](https://github.com/ionic-team/capacitor/issues/5427)) ([c2dfe80](https://github.com/ionic-team/capacitor/commit/c2dfe808446717412b35e82713d123b7a052f264))
190
- * Add option for custom error page ([#5723](https://github.com/ionic-team/capacitor/issues/5723)) ([e8bdef3](https://github.com/ionic-team/capacitor/commit/e8bdef3b4634e4ad45fa8fc34c7c0ab8dfa383f3))
191
-
192
-
193
-
194
-
195
-
196
- # [4.0.0-beta.2](https://github.com/ionic-team/capacitor/compare/4.0.0-beta.1...4.0.0-beta.2) (2022-07-08)
197
-
198
- **Note:** Version bump only for package @capacitor/android
199
-
200
-
201
-
202
-
203
-
204
- # [4.0.0-beta.1](https://github.com/ionic-team/capacitor/compare/4.0.0-beta.0...4.0.0-beta.1) (2022-06-27)
205
-
206
- **Note:** Version bump only for package @capacitor/android
207
-
208
-
209
-
210
-
211
-
212
- # [4.0.0-beta.0](https://github.com/ionic-team/capacitor/compare/3.6.0...4.0.0-beta.0) (2022-06-17)
213
-
214
-
215
- ### Bug Fixes
216
-
217
- * **android:** make removeAllListeners return a promise ([#5527](https://github.com/ionic-team/capacitor/issues/5527)) ([6f4d858](https://github.com/ionic-team/capacitor/commit/6f4d858ea879d97109c0c7da2d664d04806adc2a))
218
- * **android:** prevent app from loading if server.url is invalid ([d4a0dea](https://github.com/ionic-team/capacitor/commit/d4a0deaa37eda4476f0be030e266c2c1260fc6e8))
219
-
220
-
221
- ### Features
222
-
223
- * **android:** don't allow server.androidScheme to be set to schemes handled by WebView ([01285ba](https://github.com/ionic-team/capacitor/commit/01285ba253d602b08a41240ad2ccf370730d51a3))
224
- * **android:** set default targetSDK to 31 ([#5442](https://github.com/ionic-team/capacitor/issues/5442)) ([4442459](https://github.com/ionic-team/capacitor/commit/4442459b24cdbac25cb1e4de11583d22c21452b3))
225
- * **android:** set default targetSDK to 32 ([#5611](https://github.com/ionic-team/capacitor/issues/5611)) ([416b966](https://github.com/ionic-team/capacitor/commit/416b9662fbf6233d23216c0c0441862603c3a723))
226
- * **android:** Upgrade gradle to 7.4 ([#5445](https://github.com/ionic-team/capacitor/issues/5445)) ([28eaf18](https://github.com/ionic-team/capacitor/commit/28eaf1851fa7a912917dbb40c68fb4dd583d08ad))
227
- * **android:** Use java 11 ([#5552](https://github.com/ionic-team/capacitor/issues/5552)) ([e47959f](https://github.com/ionic-team/capacitor/commit/e47959fcbd6a89b97b1275a5814fdb4e7ce30672))
228
-
229
-
230
-
231
-
232
-
233
- # [3.6.0](https://github.com/ionic-team/capacitor/compare/3.5.1...3.6.0) (2022-06-17)
234
-
235
-
236
- ### Features
237
-
238
- * **android:** update support for Portals for Capacitor to include Live Updates ([#5660](https://github.com/ionic-team/capacitor/issues/5660)) ([62f0a5e](https://github.com/ionic-team/capacitor/commit/62f0a5eaa40776aad79dbf8f8c0900037d3cc97e))
239
- * **iOS, Android:** add AppUUID Lib for plugins ([#5690](https://github.com/ionic-team/capacitor/issues/5690)) ([05e76cf](https://github.com/ionic-team/capacitor/commit/05e76cf526a44e07fa75f9482fa2223a13918638))
240
-
241
-
242
-
243
- # [4.0.0-alpha.2](https://github.com/ionic-team/capacitor/compare/3.4.1...4.0.0-alpha.2) (2022-05-12)
244
-
245
-
246
- ### Bug Fixes
247
-
248
- * **android:** make removeAllListeners return a promise ([#5527](https://github.com/ionic-team/capacitor/issues/5527)) ([6f4d858](https://github.com/ionic-team/capacitor/commit/6f4d858ea879d97109c0c7da2d664d04806adc2a))
249
- * **android:** prevent app from loading if server.url is invalid ([d4a0dea](https://github.com/ionic-team/capacitor/commit/d4a0deaa37eda4476f0be030e266c2c1260fc6e8))
250
-
251
-
252
- ### Features
253
-
254
- * **android:** don't allow server.androidScheme to be set to schemes handled by WebView ([01285ba](https://github.com/ionic-team/capacitor/commit/01285ba253d602b08a41240ad2ccf370730d51a3))
255
- * **android:** set default targetSDK to 31 ([#5442](https://github.com/ionic-team/capacitor/issues/5442)) ([4442459](https://github.com/ionic-team/capacitor/commit/4442459b24cdbac25cb1e4de11583d22c21452b3))
256
- * **android:** Upgrade gradle to 7.4 ([#5445](https://github.com/ionic-team/capacitor/issues/5445)) ([28eaf18](https://github.com/ionic-team/capacitor/commit/28eaf1851fa7a912917dbb40c68fb4dd583d08ad))
257
- * **android:** Use java 11 ([#5552](https://github.com/ionic-team/capacitor/issues/5552)) ([e47959f](https://github.com/ionic-team/capacitor/commit/e47959fcbd6a89b97b1275a5814fdb4e7ce30672))
258
-
259
-
260
-
261
-
262
- ## [3.5.1](https://github.com/ionic-team/capacitor/compare/3.5.0...3.5.1) (2022-05-04)
263
-
264
-
265
- ### Bug Fixes
266
-
267
- * **android:** move initialFocus on webview into config ([#5579](https://github.com/ionic-team/capacitor/issues/5579)) ([8b4e861](https://github.com/ionic-team/capacitor/commit/8b4e861514b0fbe08e9296f49c280234f54742e1))
268
-
269
-
270
-
271
-
272
-
273
- # [3.5.0](https://github.com/ionic-team/capacitor/compare/3.4.3...3.5.0) (2022-04-22)
274
-
275
-
276
- ### Features
277
-
278
- * **android:** Add overridable routing for WebViewLocalServer ([#5553](https://github.com/ionic-team/capacitor/issues/5553)) ([3bb288e](https://github.com/ionic-team/capacitor/commit/3bb288e848c5c0e49c1e58c0782e0b1ffd7b1f31))
279
-
280
-
281
-
282
- # [4.0.0-alpha.1](https://github.com/ionic-team/capacitor/compare/3.4.1...4.0.0-alpha.1) (2022-03-25)
283
-
284
-
285
- ### Features
286
-
287
- * **android:** set default targetSDK to 31 ([#5442](https://github.com/ionic-team/capacitor/issues/5442)) ([4442459](https://github.com/ionic-team/capacitor/commit/4442459b24cdbac25cb1e4de11583d22c21452b3))
288
- * **android:** Upgrade gradle to 7.4 ([#5445](https://github.com/ionic-team/capacitor/issues/5445)) ([28eaf18](https://github.com/ionic-team/capacitor/commit/28eaf1851fa7a912917dbb40c68fb4dd583d08ad))
289
-
290
-
291
-
292
- ## [3.4.3](https://github.com/ionic-team/capacitor/compare/3.4.2...3.4.3) (2022-03-04)
293
-
294
- **Note:** Version bump only for package @capacitor/android
295
-
296
-
297
-
298
-
299
-
300
- ## [3.4.2](https://github.com/ionic-team/capacitor/compare/3.4.1...3.4.2) (2022-03-03)
301
-
302
- **Note:** Version bump only for package @capacitor/android
303
-
304
-
305
-
306
- ## [3.4.1](https://github.com/ionic-team/capacitor/compare/3.4.0...3.4.1) (2022-02-09)
307
-
308
- **Note:** Version bump only for package @capacitor/android
309
-
310
-
311
-
312
-
313
-
314
- # [3.4.0](https://github.com/ionic-team/capacitor/compare/3.3.4...3.4.0) (2022-01-19)
315
-
316
-
317
- ### Bug Fixes
318
-
319
- * **android:** prevent input file crash if accept has . ([#5363](https://github.com/ionic-team/capacitor/issues/5363)) ([bdacb30](https://github.com/ionic-team/capacitor/commit/bdacb300bb6391dc4b84bb2bab075df993a15cba))
320
-
321
-
322
- ### Features
323
-
324
- * **android:** Add getLong helper on PluginCall ([#5235](https://github.com/ionic-team/capacitor/issues/5235)) ([26261fb](https://github.com/ionic-team/capacitor/commit/26261fb49211330c4db72c259359565da7d7bc4b))
325
-
326
-
327
-
328
-
329
-
330
- ## [3.3.4](https://github.com/ionic-team/capacitor/compare/3.3.3...3.3.4) (2022-01-05)
331
-
332
-
333
- ### Bug Fixes
334
-
335
- * **android:** Prevent crash if activity killed on input file ([#5328](https://github.com/ionic-team/capacitor/issues/5328)) ([a206841](https://github.com/ionic-team/capacitor/commit/a20684180a9b6fd50547ae578f21531faa116da5))
336
-
337
-
338
-
339
-
340
-
341
- ## [3.3.3](https://github.com/ionic-team/capacitor/compare/3.3.2...3.3.3) (2021-12-08)
342
-
343
-
344
- ### Bug Fixes
345
-
346
- * **android:** Prevent crash in restoreInstanceState if bundleData is null ([#5289](https://github.com/ionic-team/capacitor/issues/5289)) ([622d62f](https://github.com/ionic-team/capacitor/commit/622d62fc0d7cd79558bf6f11331bd7d6690aa4f9))
347
-
348
-
349
-
350
-
351
-
352
- ## [3.3.2](https://github.com/ionic-team/capacitor/compare/3.3.1...3.3.2) (2021-11-17)
353
-
354
-
355
- ### Bug Fixes
356
-
357
- * **android:** Allow web geolocation if only COARSE_LOCATION is granted ([#5236](https://github.com/ionic-team/capacitor/issues/5236)) ([bc7b24e](https://github.com/ionic-team/capacitor/commit/bc7b24e9b58b194b32b750c5816c8d8ef180834a))
358
-
359
-
360
-
361
-
362
-
363
- ## [3.3.1](https://github.com/ionic-team/capacitor/compare/3.3.0...3.3.1) (2021-11-05)
364
-
365
- **Note:** Version bump only for package @capacitor/android
366
-
367
-
368
-
369
-
370
-
371
- # [3.3.0](https://github.com/ionic-team/capacitor/compare/3.2.5...3.3.0) (2021-11-03)
372
-
373
-
374
- ### Bug Fixes
375
-
376
- * **core:** avoid crash on logging circular objects ([#5186](https://github.com/ionic-team/capacitor/issues/5186)) ([1451ec8](https://github.com/ionic-team/capacitor/commit/1451ec850a9ef73267a032638e73f1fc440647b9))
377
-
378
-
379
- ### Features
380
-
381
- * **android:** ability to reload the webview ([#5184](https://github.com/ionic-team/capacitor/issues/5184)) ([c495bed](https://github.com/ionic-team/capacitor/commit/c495bed216ddf05450f185d2d3f09b4052b281a8))
382
-
383
-
384
-
385
-
386
-
387
- ## [3.2.5](https://github.com/ionic-team/capacitor/compare/3.2.4...3.2.5) (2021-10-13)
388
-
389
-
390
- ### Bug Fixes
391
-
392
- * **android:** Avoid ConcurrentModificationException on notifyListeners ([#5125](https://github.com/ionic-team/capacitor/issues/5125)) ([b82bfe0](https://github.com/ionic-team/capacitor/commit/b82bfe0db2e38fa286eb18391b1d5e2f86a1b35c))
393
- * **android:** Support cordova-android 10 ([#5103](https://github.com/ionic-team/capacitor/issues/5103)) ([e238233](https://github.com/ionic-team/capacitor/commit/e238233dcf34a183af4861176789d1feb1eb51fa))
394
-
395
-
396
-
397
-
398
-
399
- ## [3.2.4](https://github.com/ionic-team/capacitor/compare/3.2.3...3.2.4) (2021-09-27)
400
-
401
-
402
- ### Bug Fixes
403
-
404
- * **ios:** show correct line number on console logs ([#5073](https://github.com/ionic-team/capacitor/issues/5073)) ([ec41e74](https://github.com/ionic-team/capacitor/commit/ec41e743aa4ba81e791ad446fac461b7f43b46ed))
405
-
406
-
407
-
408
-
409
-
410
- ## [3.2.3](https://github.com/ionic-team/capacitor/compare/3.2.2...3.2.3) (2021-09-15)
411
-
412
-
413
- ### Bug Fixes
414
-
415
- * **android:** proguard rules ([#5048](https://github.com/ionic-team/capacitor/issues/5048)) ([cf15c0f](https://github.com/ionic-team/capacitor/commit/cf15c0fb3bd67315011865fedb4157d5076965fd))
416
- * **android:** save activity result launcher calls ([#5004](https://github.com/ionic-team/capacitor/issues/5004)) ([2c1eb60](https://github.com/ionic-team/capacitor/commit/2c1eb603c79b94f6fcc74f0cbef523590b656a1e))
417
-
418
-
419
-
420
-
421
-
422
- ## [3.2.2](https://github.com/ionic-team/capacitor/compare/3.2.1...3.2.2) (2021-09-02)
423
-
424
- **Note:** Version bump only for package @capacitor/android
425
-
426
-
427
-
428
-
429
-
430
- ## [3.2.1](https://github.com/ionic-team/capacitor/compare/3.2.0...3.2.1) (2021-09-01)
431
-
432
- **Note:** Version bump only for package @capacitor/android
433
-
434
-
435
-
436
-
437
-
438
- # [3.2.0](https://github.com/ionic-team/capacitor/compare/3.1.2...3.2.0) (2021-08-18)
439
-
440
-
441
- ### Bug Fixes
442
-
443
- * **android:** Don't inject map files into capacitor script ([#4893](https://github.com/ionic-team/capacitor/issues/4893)) ([992bebc](https://github.com/ionic-team/capacitor/commit/992bebce5a54128ec09b4905c4424fbe392719be))
444
-
445
-
446
-
447
-
448
-
449
- ## [3.1.2](https://github.com/ionic-team/capacitor/compare/3.1.1...3.1.2) (2021-07-21)
450
-
451
-
452
- ### Bug Fixes
453
-
454
- * **android:** add missing android webview lifecycle events ([6a7c4e3](https://github.com/ionic-team/capacitor/commit/6a7c4e3b3a250270ac5c4b0f09da2a613ef2cf17))
455
- * **android:** Set theme an content view on onCreate ([#4841](https://github.com/ionic-team/capacitor/issues/4841)) ([8950c60](https://github.com/ionic-team/capacitor/commit/8950c600bb6e3804b79c62e83fef2253c2cc2389))
456
-
457
-
458
-
459
-
460
-
461
- ## [3.1.1](https://github.com/ionic-team/capacitor/compare/3.1.0...3.1.1) (2021-07-07)
462
-
463
-
464
- ### Bug Fixes
465
-
466
- * fixing peer deps issues in android and ios libs ([310d9f4](https://github.com/ionic-team/capacitor/commit/310d9f486db976cb258fcda5ac893f019667617f))
467
-
468
-
469
-
470
-
471
-
472
- # [3.1.0](https://github.com/ionic-team/capacitor/compare/3.0.2...3.1.0) (2021-07-07)
473
-
474
- **Note:** Version bump only for package @capacitor/android
475
-
476
-
477
-
478
-
479
-
480
- ## [3.0.2](https://github.com/ionic-team/capacitor/compare/3.0.1...3.0.2) (2021-06-23)
481
-
482
-
483
- ### Bug Fixes
484
-
485
- * **android:** Set WEBVIEW_SERVER_URL before injecting native-bridge ([#4748](https://github.com/ionic-team/capacitor/issues/4748)) ([5d6b179](https://github.com/ionic-team/capacitor/commit/5d6b17994abc7ad770b95e3a9fc29aecf5d9fc05))
486
- * **core:** cordova events not firing ([#4712](https://github.com/ionic-team/capacitor/issues/4712)) ([ca4e3b6](https://github.com/ionic-team/capacitor/commit/ca4e3b62dba6a40e593a1404ba2fe2b416a4ac14))
487
-
488
-
489
-
490
-
491
-
492
- ## [3.0.1](https://github.com/ionic-team/capacitor/compare/3.0.0...3.0.1) (2021-06-09)
493
-
494
-
495
- ### Bug Fixes
496
-
497
- * **android:** Avoid crash on input file ([#4707](https://github.com/ionic-team/capacitor/issues/4707)) ([883c0fe](https://github.com/ionic-team/capacitor/commit/883c0fe4a8a33d2e14894d9b307f4d7ce6d13bad))
498
- * **android:** Make proxy handle user info in server url ([#4699](https://github.com/ionic-team/capacitor/issues/4699)) ([baeed45](https://github.com/ionic-team/capacitor/commit/baeed45038134d446aef7747e5ad5ce4ac07c438))
499
- * **android:** Reset bridge on onPageStarted only ([#4634](https://github.com/ionic-team/capacitor/issues/4634)) ([96e4830](https://github.com/ionic-team/capacitor/commit/96e483046c9128dbcaec21efb0f5d619c6b1185f))
500
- * Make isPluginAvailable available on bridge ([#4589](https://github.com/ionic-team/capacitor/issues/4589)) ([151e7a8](https://github.com/ionic-team/capacitor/commit/151e7a899d9646dbd5625a2539fd3f2297349bc5))
501
-
502
-
503
-
504
-
505
-
506
- # [3.0.0](https://github.com/ionic-team/capacitor/compare/3.0.0-rc.4...3.0.0) (2021-05-18)
507
-
508
- **Note:** Version bump only for package @capacitor/android
509
-
510
-
511
-
512
-
513
-
514
- # [3.0.0-rc.4](https://github.com/ionic-team/capacitor/compare/3.0.0-rc.3...3.0.0-rc.4) (2021-05-18)
515
-
516
- **Note:** Version bump only for package @capacitor/android
517
-
518
-
519
-
520
-
521
-
522
- # [3.0.0-rc.3](https://github.com/ionic-team/capacitor/compare/3.0.0-rc.2...3.0.0-rc.3) (2021-05-11)
523
-
524
- **Note:** Version bump only for package @capacitor/android
525
-
526
-
527
-
528
-
529
-
530
- # [3.0.0-rc.2](https://github.com/ionic-team/capacitor/compare/3.0.0-rc.1...3.0.0-rc.2) (2021-05-07)
531
-
532
- **Note:** Version bump only for package @capacitor/android
533
-
534
-
535
-
536
-
537
-
538
- # [3.0.0-rc.1](https://github.com/ionic-team/capacitor/compare/3.0.0-rc.0...3.0.0-rc.1) (2021-04-29)
539
-
540
-
541
- ### Bug Fixes
542
-
543
- * generate Capacitor.Plugins object ([#4496](https://github.com/ionic-team/capacitor/issues/4496)) ([1c71b7a](https://github.com/ionic-team/capacitor/commit/1c71b7adb2c325e34d980dbf578dc22afb2c332b))
544
- * **android:** Release the call after reject/resolve ([#4318](https://github.com/ionic-team/capacitor/issues/4318)) ([a9f30a8](https://github.com/ionic-team/capacitor/commit/a9f30a88bf3cf239a59c4e901e2a9a2a141a9044))
545
- * **android:** resolve issue with activity result API registration for fragments ([#4402](https://github.com/ionic-team/capacitor/issues/4402)) ([ac6c6bc](https://github.com/ionic-team/capacitor/commit/ac6c6bc031e0c8236004dfb9e1b04f1f849c1519))
546
-
547
-
548
- ### Features
549
-
550
- * Unify logging behavior across environments ([#4416](https://github.com/ionic-team/capacitor/issues/4416)) ([bae0f3d](https://github.com/ionic-team/capacitor/commit/bae0f3d2cee84978636d0f589bc7e2f745671baf))
551
- * **android:** ability to add listeners to the Capacitor WebView ([#4405](https://github.com/ionic-team/capacitor/issues/4405)) ([7bdcc15](https://github.com/ionic-team/capacitor/commit/7bdcc15a20248fc17b5867b215bba0c43e29b2c0))
552
-
553
-
554
-
555
-
556
-
557
- # [3.0.0-rc.0](https://github.com/ionic-team/capacitor/compare/3.0.0-beta.6...3.0.0-rc.0) (2021-03-10)
558
-
559
-
560
- ### Bug Fixes
561
-
562
- * **android:** calls re-saved during permission/activity result callbacks were being released ([502a2d1](https://github.com/ionic-team/capacitor/commit/502a2d18ddce870f4caf810b405f7363f2340067))
563
- * **android:** live reload not working when using adb reverse ([362f221](https://github.com/ionic-team/capacitor/commit/362f2219767a5f28e3ce1f6857a0e20024adc6b6))
564
-
565
-
566
- ### Features
567
-
568
- * **android:** add configurable app path for embedded capacitor ([#4264](https://github.com/ionic-team/capacitor/issues/4264)) ([e433691](https://github.com/ionic-team/capacitor/commit/e43369144f7f378edc4f5d4f8dbbafe6cff6a70d))
569
- * **android:** Unifying saving plugin calls ([#4254](https://github.com/ionic-team/capacitor/issues/4254)) ([a648c51](https://github.com/ionic-team/capacitor/commit/a648c51588627404b5ad30c35943fed18af4a546))
570
-
571
-
572
-
573
-
574
-
575
- # [3.0.0-beta.6](https://github.com/ionic-team/capacitor/compare/3.0.0-beta.5...3.0.0-beta.6) (2021-02-27)
576
-
577
- **Note:** Version bump only for package @capacitor/android
578
-
579
-
580
-
581
-
582
-
583
- # [3.0.0-beta.5](https://github.com/ionic-team/capacitor/compare/3.0.0-beta.4...3.0.0-beta.5) (2021-02-27)
584
-
585
- **Note:** Version bump only for package @capacitor/android
586
-
587
-
588
-
589
-
590
-
591
- # [3.0.0-beta.4](https://github.com/ionic-team/capacitor/compare/3.0.0-beta.3...3.0.0-beta.4) (2021-02-26)
592
-
593
- **Note:** Version bump only for package @capacitor/android
594
-
595
-
596
-
597
-
598
-
599
- # [3.0.0-beta.3](https://github.com/ionic-team/capacitor/compare/3.0.0-beta.2...3.0.0-beta.3) (2021-02-18)
600
-
601
- **Note:** Version bump only for package @capacitor/android
602
-
603
-
604
-
605
-
606
-
607
- # [3.0.0-beta.2](https://github.com/ionic-team/capacitor/compare/3.0.0-beta.1...3.0.0-beta.2) (2021-02-08)
608
-
609
-
610
- ### Bug Fixes
611
-
612
- * address bug in `isPluginAvailable()` for web and native ([#4114](https://github.com/ionic-team/capacitor/issues/4114)) ([2fbd954](https://github.com/ionic-team/capacitor/commit/2fbd95465a321b8f4c50d4daf22a63d8043cee9b))
613
- * **android:** get PermissionState enum by state value ([#4100](https://github.com/ionic-team/capacitor/issues/4100)) ([194ae86](https://github.com/ionic-team/capacitor/commit/194ae8699944bf016132fb64fe48010679a6d64e))
614
- * **android:** requestPermission call rejects if permission missing in manifest ([55ef5ff](https://github.com/ionic-team/capacitor/commit/55ef5ff38e87729412c44bfa4b2f29e53044cecc))
615
-
616
-
617
- ### Features
618
-
619
- * **android:** activity result use new API and update permission result callbacks to match ([#4127](https://github.com/ionic-team/capacitor/issues/4127)) ([002f1e5](https://github.com/ionic-team/capacitor/commit/002f1e55173a50b9fe918b4eda73b5113b713282))
620
- * **android:** androidxActivityVersion & androidxFragmentVersion gradle variables ([#4103](https://github.com/ionic-team/capacitor/issues/4103)) ([4f77b96](https://github.com/ionic-team/capacitor/commit/4f77b962be85fc6bfc555a106c5b3e6707526626))
621
-
622
-
623
-
624
-
625
-
626
- # [3.0.0-beta.1](https://github.com/ionic-team/capacitor/compare/3.0.0-beta.0...3.0.0-beta.1) (2021-01-14)
627
-
628
- **Note:** Version bump only for package @capacitor/android
629
-
630
-
631
-
632
-
633
-
634
- # [3.0.0-beta.0](https://github.com/ionic-team/capacitor/compare/3.0.0-alpha.14...3.0.0-beta.0) (2021-01-13)
635
-
636
- **Note:** Version bump only for package @capacitor/android
637
-
638
-
639
-
640
-
641
-
642
- # [3.0.0-alpha.14](https://github.com/ionic-team/capacitor/compare/3.0.0-alpha.13...3.0.0-alpha.14) (2021-01-13)
643
-
644
-
645
- ### Bug Fixes
646
-
647
- * **android:** append missing new lines on injected cordova files ([#4058](https://github.com/ionic-team/capacitor/issues/4058)) ([dbdc78d](https://github.com/ionic-team/capacitor/commit/dbdc78dc08e016dfbc2454d4f53a49f16f744b3e))
648
-
649
-
650
- ### Features
651
-
652
- * **android:** method to check permission for an alias ([#4062](https://github.com/ionic-team/capacitor/issues/4062)) ([c88c4b4](https://github.com/ionic-team/capacitor/commit/c88c4b46b949a87c1b89476b75273adef725242b))
653
-
654
-
655
-
656
-
657
-
658
- # [3.0.0-alpha.12](https://github.com/ionic-team/capacitor/compare/3.0.0-alpha.11...3.0.0-alpha.12) (2021-01-08)
659
-
660
-
661
- ### Features
662
-
663
- * **android:** switch to new callback-style permission requests ([#4033](https://github.com/ionic-team/capacitor/issues/4033)) ([cc459de](https://github.com/ionic-team/capacitor/commit/cc459de7fc070c0227e066f3e8b92062728ab45d))
664
-
665
-
666
-
667
-
668
-
669
- # [3.0.0-alpha.11](https://github.com/ionic-team/capacitor/compare/3.0.0-alpha.10...3.0.0-alpha.11) (2020-12-26)
670
-
671
-
672
- ### Features
673
-
674
- * **android:** expose CapConfig.loadDefault(), deprecate v2 constructor ([#3964](https://github.com/ionic-team/capacitor/issues/3964)) ([94ae977](https://github.com/ionic-team/capacitor/commit/94ae9774d2467fa7ba0336e7183f6d28cae45908))
675
-
676
-
677
-
678
-
679
-
680
- # [3.0.0-alpha.10](https://github.com/ionic-team/capacitor/compare/3.0.0-alpha.9...3.0.0-alpha.10) (2020-12-15)
681
-
682
-
683
- ### Bug Fixes
684
-
685
- * **android:** include lint.xml for downstream lint tasks ([efa72f3](https://github.com/ionic-team/capacitor/commit/efa72f38c5f64d3b91cc4c4c7d4d87ab38219893))
686
-
687
-
688
-
689
-
690
-
691
- # [3.0.0-alpha.9](https://github.com/ionic-team/capacitor/compare/3.0.0-alpha.8...3.0.0-alpha.9) (2020-12-15)
692
-
693
-
694
- ### Bug Fixes
695
-
696
- * **android:** include lint-baseline.xml for downstream lint tasks ([20ccaa0](https://github.com/ionic-team/capacitor/commit/20ccaa0311dcf8468019325ad976156d92ed0202))
697
-
698
-
699
-
700
-
701
-
702
- # [3.0.0-alpha.8](https://github.com/ionic-team/capacitor/compare/3.0.0-alpha.7...3.0.0-alpha.8) (2020-12-15)
703
-
704
-
705
- ### Bug Fixes
706
-
707
- * **Android:** Use plugin's getPermissionStates() to support overriding ([#3939](https://github.com/ionic-team/capacitor/issues/3939)) ([855a607](https://github.com/ionic-team/capacitor/commit/855a60711bcf6cff3215a36fac7e5314a2c4d159))
708
-
709
-
710
- ### Features
711
-
712
- * **android:** add onConfigurationChanged() activity lifecycle hook ([#3936](https://github.com/ionic-team/capacitor/issues/3936)) ([29e9e2c](https://github.com/ionic-team/capacitor/commit/29e9e2c5c30f23eb3ea2e88b1427eed0636e8125))
713
- * **android:** Add WebColor utility for parsing color ([#3947](https://github.com/ionic-team/capacitor/issues/3947)) ([3746404](https://github.com/ionic-team/capacitor/commit/3746404240459ca9ea8175f2bb241d80746e8328))
714
- * **Android:** Refactoring configuration ([#3778](https://github.com/ionic-team/capacitor/issues/3778)) ([9820a30](https://github.com/ionic-team/capacitor/commit/9820a30688f0a774eced1676f1927cacde53301f))
715
-
716
-
717
-
718
- # [3.0.0-alpha.7](https://github.com/ionic-team/capacitor/compare/3.0.0-alpha.6...3.0.0-alpha.7) (2020-12-02)
719
-
720
-
721
- ### Bug Fixes
722
-
723
- * **android:** dont release calls that are manually saved, eg listeners/watchers ([#3857](https://github.com/ionic-team/capacitor/issues/3857)) ([f1c8fe9](https://github.com/ionic-team/capacitor/commit/f1c8fe9e039d25eff2122fe915f17e84477427eb))
724
- * **android:** fixed breaking change to `handleOnActivityResult` ([#3888](https://github.com/ionic-team/capacitor/issues/3888)) ([5fd60e6](https://github.com/ionic-team/capacitor/commit/5fd60e607b79b46cec08c6af1674305b1199d0a4))
725
- * **android:** resolve undefined for both checkPermissions and requestPermissions by default ([#3855](https://github.com/ionic-team/capacitor/issues/3855)) ([383f62b](https://github.com/ionic-team/capacitor/commit/383f62b2b6531c579aac469e29b7c1c0c1f7540f))
726
-
727
-
728
- ### Features
729
-
730
- * automatically import Android plugins ([#3788](https://github.com/ionic-team/capacitor/issues/3788)) ([aa1e1c6](https://github.com/ionic-team/capacitor/commit/aa1e1c604e260cc8babb0e7f5230f692bdcf6f09))
731
- * **android:** Add handlePermissions function for plugins to call ([#3768](https://github.com/ionic-team/capacitor/issues/3768)) ([3a7e282](https://github.com/ionic-team/capacitor/commit/3a7e282a7515784dd343bbf1e3d52e0299bac887))
732
- * **android:** modified plugin annotation format for multi-permissions and empty (auto-grant) ([#3822](https://github.com/ionic-team/capacitor/issues/3822)) ([1b5a3bd](https://github.com/ionic-team/capacitor/commit/1b5a3bdeb1b35612cf04e58bdf2fca68a0832a14))
733
-
734
-
735
-
736
- # [3.0.0-alpha.6](https://github.com/ionic-team/capacitor/compare/3.0.0-alpha.5...3.0.0-alpha.6) (2020-10-30)
737
-
738
-
739
- ### Bug Fixes
740
-
741
- * **android:** avoid crash on input file capture ([#3715](https://github.com/ionic-team/capacitor/issues/3715)) ([f502a99](https://github.com/ionic-team/capacitor/commit/f502a9964e28012980d636014043e86e918031d7))
742
-
743
-
744
- ### Features
745
-
746
- * improve permissions ([eec61a6](https://github.com/ionic-team/capacitor/commit/eec61a6d8d8edfe94aea1a361787d1e6c736e20d))
747
- * unified errors and error codes ([#3673](https://github.com/ionic-team/capacitor/issues/3673)) ([f9e0803](https://github.com/ionic-team/capacitor/commit/f9e08038aa88f7453e8235f380d2767a12a7a073))
748
-
749
-
750
-
751
-
752
-
753
- # [3.0.0-alpha.5](https://github.com/ionic-team/capacitor/compare/3.0.0-alpha.4...3.0.0-alpha.5) (2020-10-06)
754
-
755
- **Note:** Version bump only for package @capacitor/android
756
-
757
-
758
-
759
- # [3.0.0-alpha.4](https://github.com/ionic-team/capacitor/compare/3.0.0-alpha.3...3.0.0-alpha.4) (2020-09-23)
760
-
761
- **Note:** Version bump only for package @capacitor/android
762
-
763
-
764
-
765
- # [3.0.0-alpha.3](https://github.com/ionic-team/capacitor/compare/3.0.0-alpha.2...3.0.0-alpha.3) (2020-09-15)
766
-
767
-
768
- **Note:** Version bump only for package @capacitor/android
769
-
770
-
771
-
772
- # [3.0.0-alpha.2](https://github.com/ionic-team/capacitor/compare/3.0.0-alpha.1...3.0.0-alpha.2) (2020-08-31)
773
-
774
- **Note:** Version bump only for package @capacitor/android
775
-
776
-
777
-
778
-
779
- # [3.0.0-alpha.1](https://github.com/ionic-team/capacitor/compare/2.4.0...3.0.0-alpha.1) (2020-08-21)
780
-
781
-
782
-
783
- # [3.0.0-alpha.0](https://github.com/ionic-team/capacitor/compare/2.3.0...3.0.0-alpha.0) (2020-07-23)
784
-
785
-
786
- ### Features
787
-
788
- * **android:** add custom plugins to BridgeFragment ([#3280](https://github.com/ionic-team/capacitor/issues/3280)) ([d131a5f](https://github.com/ionic-team/capacitor/commit/d131a5fed2b9ae29b6952397ec2f81104545b749))