Migration Guide v2.10

This article provides information to assist users in migrating Trigger.IO Forge apps from v2.9.x of the platform to v2.10.x.

Please join us on the Forge 2.10 Community Forum Topic if you have any questions around the update process or run into any difficulties!

Introduction

If your application is currently built against v2.9.x of the Forge platform it is important that you migrate to v2.10.x so that your application will continue to run on the latest Android "S" and iOS 15 releases.

The full changelog for this release can be found in the Beta Release Notes.

Let's take a detailed look at the steps needed to update your app for Forge Platform v2.10:

Step 0: Install Xcode 13

Only required if you're on a Mac and want to develop for iOS.

Step 1: update to v2.10

Edit your app's src/config.json file and set:

platform_version: "v2.10"

Step 2: update modules

Step 3: (Android) Build and sign AAB (Android App Bundle) files

As of August 2021 new Android apps must be published as Android App Bundles on Google Play.

Forge v2.10 will automatically build Android App Bundles for your app in the releases/ directory as part of the existing packaging process.

If you are using an older Android keystore for your app signature you may run into the following error:

[   INFO] Creating Android .aab file for target: android
[   INFO] Using java: /usr/bin/java
[   INFO] Using Android SDK: /Users/antoine/.forge/darwin/Android/sdk
[   INFO] Using jarsigner: /usr/bin/jarsigner
[   INFO] Creating android app bundle file
[   INFO] Signing android app bundle file
[  ERROR] Failed when running /usr/bin/jarsigner: jarsigner error: java.lang.IllegalArgumentException: key algorithm not compatible with signature algorithm

In this case, you may need to edit your local_config.json file and add the following entries:

...
"android": {
    "dontsign": false,
    "profiles": {
        "DEFAULT": {
            "keystore": "/path/to/your//android.keystore",
            "keypass": "<your key password>",
            "storepass": "<your keystore password>",
            "keyalias": "<your key alias>",
            "sigalg": "SHA1withDSA",               <== add this
            "digestalg": "SHA-1"                   <== and add this
        }
    },
...