* feat!: Upgrade to Gradle and AGP 8
* java 17
* feat!: API 34 Support
API 34: Upgrade AGP from 8.2.0-rc01 to 8.2.0-rc02
API 34: Upgrade AGP from 8.2.0-rc02 to 8.2.0-rc03
API 34: Upgrade AGP from 8.2.0-rc03 to 8.2.0
feat: add AndroidKotlinJVMTarget preference to set the kotlin JVM target
This is in addition to the java source / target compatibility preferences.
AndroidKotlinJVMTarget is only affective if Kotlin is enabled.
chore: Upgrade Gradle from 8.4 to 8.5
AGP 8.2.0 -> 8.2.1
Gradle 8.5 -> 8.7
fix: Add --validate-url to gradle wrapper commands
AGP 8.4.0
* fix(test): ProjectBuilder using Gradle 8.3, no longer supported version
* API 34: Change Kotlin JVM Target default.
The new default value is null. When null, it will by default
to the Java Target compatibility. Updating AndroidJavaTargetCompatibility
will also influence the Kotlin JVM target, unless if AndroidKotlinJVMTarget
is also explicitly defined.
* removed leftover debug prints
* API 34: Gradle Wrapper
* API 34: ratignore generated gradle wrapper files
* fix gradle wrapper jar via git attributes
* fix(test): normalise gradle paths
* fix(windows): Gradle paths
* fix(windows): Keep CRLF endings for bat files
* chore: Updated license for Gradle Wrapper 8.7 pointer
* API 34 Support Gradle Tools project
* API 34: omit --validate-url on installing the wrapper
* revert: LICENSE notice on bundling the gradle wrapper jar
* Revert: AGP 8.4 -> 8.3
* test(ci): Added NodeJS 22 to the test matrix
---------
Co-authored-by: jcesarmobile <jcesarmobile@gmail.com>
* ci: Set up CodeQL analysis
* spec: disable allowBackup in testing
* ci: do not check cordova.js - convered in cordova-js repo
* chore: add missing @Override annotation
* Allow image file input to be from camera
* Reverting some irrellevant formatting changes
* Removing the openFileChooser functions as they are no longer necessary
* Update templates/project/res/xml/opener_paths.xml
* Code review feedback
* Adding license to provider paths xml file
* Adding a comment describing the proper use of the core cordova file provider
* Adding the ability to query the android.media.action.IMAGE_CAPTURE intent action
* Only including a cache path
* Applying code review feedback
---------
Co-authored-by: Ken Corbett <ken@truepic.com>
Co-authored-by: エリス <erisu@users.noreply.github.com>
I don't anticipate breaking changes from this change, however it is a difference
in behaviour since CoreAndroid won't be lazily loaded, therefore I've marked this
commit has a breaking change.
Now that our Min SDK is 24, testing for >= N (API 24) and >= M (API 22) is obsolete as it will always be true.
Simplify the codebase by removing the conditions and keeping only the API 24 or later codepath.
Rationale:
API 22 & API 23 both account for an insignificant part of the market share.
While API 24 - API 26 has similar market share, we felt that bumping to API 26
from API 22 is too large of a jump.
Legacy devices may be completely out of support by Google and may not be able
to receive the latest webview version. As of writing, Chromium's latest
tag shows they are using a Min SDK version of 24. (Ref: https://chromium.googlesource.com/chromium/src/+/refs/tags/113.0.5653.1/build/config/android/config.gni#46)
Based on AOSP emulators, API 24 (Android 7.0) will ship with
Chrome 52 webview, which has good support for ECMAscript 2015 (ES6) (Ref: https://caniuse.com/?search=es6)
While in most cases, app users will likely have a modern webview vesion installed, this means
you can be confident that the app user will have a chrome webview version with good ES6 support,
even if they happen to be running on a factory versioned device.
See the mailing thread for the full discussion:
https://lists.apache.org/thread/zcgof080hdzzo2j96mjz0qpj0gotmn57