Trigger.io Forge v2.6 Migration Guide

header-image

Trigger.io Forge v2.6 Migration Guide


This year we’ve tried something different by synchronizing the next major Forge update with both the latest Android “Oreo” and iOS 11 releases.

In future we’ll continue to synchronize both our Android and iOS updates to Apple’s annual release cadence. This will see a new major version released every year in the first few weeks of September.

What this means for our customers is that, here on out, you will be able to rely on us to follow a predictable release cycle.

Being able to schedule the testing & updates for your apps well in advance and on both operating systems concurrently will reduce your costs considerably while increasing everyone’s happiness.

A reason to smile :-)

We’re also happy to announce that the latest Android and iOS releases have far less changes this year affecting Trigger.IO apps directly.

We’ll go into more detail below but the major changes you need to be aware of are:

  • iOS now requires a 1024x1024 pixel Marketing Icon.
  • A number of modules will need to be updated to the latest versions: file, icons, notification, parse, request, topbar and tribr_multi_image_select.
  • The minimum Android version supported is now: Android API Level 14.
  • The minimum iOS version supported is now: iOS 9.3
  • The proprietary facebook module has been deprecated in favour of a standards-based OAuth 2.0 solution.
  • The crosswalk build target has been updated to: 23.53.589.4 (Please note that Intel have announced they will no longer be maintaining the project so this is in all likelihood the final update the target will receive.)

The best part of the improved backwards compatibility achieved by Apple & Google this year is that we got to spend more time on new features we think you’ll love and give you even more reasons to smile!

These include:

  • Experimental support for JavaScript ES6 Promises.
  • A complete overhaul of the forge.request module with full HTTP/2 & SNI support and better compatibility with Android 4.x devices.
  • A new module, forge.fs, which provides a full device filesystem API and file picker that is no longer limited to images & videos.
  • A new module, forge.oauth, which provides an “OAuth 2.0 for Native Apps” implementation.

We’ll be releasing detailed tutorials for each of the new modules in the upcoming weeks.

For now, let’s take a detailed look at the steps needed to update your app for Forge Platform v2.6.

Step 1: update to 2.6.1

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

Step 2: update modules

Edit your app’s src/config.json file and, for the modules you use, update as follows:

file

  • Update to "version": "2.17"

icons

  • Update to "version": "2.8"
  • Add a new 1024×1024 marketing icon for ios:

launchimage

  • Update to "version": "2.13"

notification

  • Update to "version": "2.8"

parse

  • Update to "version": "2.16"

platform

  • Update to "version": "2.3"

request

  • Update to "version": "2.10"
  • While every effort has been made to ensure backwards compatibility it is possible that you may run into some subtle differences in behaviour. If you do run into any issues please get hold of us on support@trigger.io!

topbar

  • Update to "version": "2.13"

tribr_multi_image_select

  • Update to "version": "1.4"

Step 3: replace facebook module with oauth module

If you are currently using the facebook module, this will be the hardest part of the migration.

The steps involved boil down to:

  1. Remove the facebook module from your app.
  2. Add the oauth module to your app.
  3. Configure the oauth module’s providers section with your Facebook credentials.
  4. Set up a static web page to handle the OAuth redirect call from Facebook.
  5. Replace any Facebook module API calls with calls to the Facebook REST API’s and the share module.

We’ll be releasing an in-depth guide over the next few weeks but, for the very brave, we have an example on the module documentation page.

Finally, if you’re in a hurry and don’t want to wait, please reach out to us on support@trigger.io. We’ll be happy to answer your questions and provide assistance with migration.

Optional: Enable experimental support for JavaScript ES6 Promises

Open your app’s src/config.json file and add a new top-level section as follows:

Now you can finally replace this:

…with this:

Yay! 😄

We’ve bundled a Polyfill for backwards-compatibility so this should also work on older Android and iOS versions.

For more info, check out: “JavaScript Promises: an Introduction”

Problems?

New Android and iOS releases are always a little stressful. Please don’t hesitate to join us on the Forge 2.6 Community Forum Topic if you have any questions around the update process or run into any difficulties!