Migration Guide v2.8

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

Early Access Alpha Release

Welcome to the early access release of Forge platform v2.8.

This guide is a work in progress and will be continuously updated as we move closer to the final v2.8 release in Q4 2019.

Please join us on the Forge 2.8 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.7.x of the Forge platform it is important that you migrate to v2.8.x so that your application will continue to run on the latest Android "Q" and iOS 13 releases.

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

The major changes you need to be aware of are:

  1. UIWebView is no longer supported and has been replaced by WKWebview.
  2. iOS adjust_content_insets has been deprecated in favor of viewport-fit=auto | cover
  3. Android adjust_content_insets has also been deprecated
  4. The httpd module has been integrated directly into ForgeCore.
  5. Modules that need to be updated to the latest versions are:
    • bolts 1.9.0
    • parse 3.1
    • file 2.24
    • capture 2.24
    • media 2.7
    • urlhandler 2.2
    • oauth 1.0

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

Step 0: Install Xcode 11

Step 1: update to v2.8

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

platform_version: "v2.8.1alpha-x"

Step 2: update modules

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

bolts

  • update to "version": "1.9.0"

parse

  • update to "version": "3.1"

file

  • update to "version": "2.24"

capture

  • update to "version": "2.24"

media

  • update to "version": "2.7"

urlhandler

  • update to "version": "2.2"

oauth

  • update to "version": "1.0"

httpd

  • remove the module configuration (the httpd module is now built into the Forge runtime by default)
  • (optional) overriding the default port (44300) can now be performed by setting core.general.httpd.port
  • (optional) remove any https://localhost/* or http://localhost/* patterns from core.general.trusted_urls

Step 3: remove deprecated flags, config fields and methods:

flags

  • ios_force_wkwebview
  • ios_disable_iphone_xr_running_ios12_1_2_tabbar_bug_workaround

config fields

  • adjust_content_insets
    • iOS now supports viewport-fit = auto | cover and env(safe-area-insets-*)
    • Android however does not:
      • Use var(--safe-area-insets-*) instead
      • Use android.viewport_fit = auto | cover instead of html

methods

  • forge.layout.setContentInsetAdjustmentBehavior