📂 Reference

# Migration Guide

Table of Contents

The following guide assumes a valid v0.9.x config.json file. All changes listed below will need to be implemented in order to migrate to Airnode v0.10.x. This document is written in a way that will preserve existing behavior with earlier Airnode versions.

The document also mentions changes to user facing services related to Airnode, such as airnode-deployer, airnode-admin, etc., and new features.

# Migration

# Summary

  1. ois[n].oisFormat updated to "1.4.0".

  2. nodeSettings.nodeVersion updated to "0.10.1".

  3. Field chains[n].authorizers.crossChainRequesterAuthorizers was added.

  4. Fields nodeSettings.httpGateway.apiKey and nodeSettings.httpSignedDataGateway.apiKey were removed.

  5. Field nodeSettings.heartbeat.id was removed.

  6. Command airnode-deployer remove-with-deployment-details no longer exists. It was replaced by a command airnode-deployer remove <deployment ID>.

# Details

  1. ois[n].oisFormat

Updated to "1.4.0"

{
-  "oisFormat": "1.2.0"
+  "oisFormat": "1.4.0"
}
1
2
3
4
  1. nodeSettings.nodeVersion

Updated to "0.10.1"

{
-  "nodeVersion": "0.9.2"
+  "nodeVersion": "0.10.1"
}
1
2
3
4
  1. A new field chains[n].authorizers.crossChainRequesterAuthorizers was added, allowing for cross-chain request authorization. Even if not used, the field needs to be in the config file and set to an empty array.
{
   "authorizers": {
-     "requesterEndpointAuthorizers": []
+     "requesterEndpointAuthorizers": [],
+     "crossChainRequesterAuthorizers": []
   },
}
1
2
3
4
5
6
7
  1. Fields nodeSettings.httpGateway.apiKey and nodeSettings.httpSignedDataGateway.apiKey were removed from the gateways configurations. Gateway URLs now contain a randomly generated UUID serving as an authentication mechanism. This change is relevant only for those using the HTTP Gateways feature.
{
   "httpGateway": {
      "enabled": true,
-     "apiKey": "${HTTP_GATEWAY_API_KEY}",
      "maxConcurrency": 20,
      "corsOrigins": []
   },
   "httpSignedDataGateway": {
      "enabled": true,
-     "apiKey": "${HTTP_SIGNED_DATA_GATEWAY_API_KEY}",
      "maxConcurrency": 20,
      "corsOrigins": []
   },
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  1. Field nodeSettings.heartbeat.id was removed from the heartbeat configuration. The ID is no longer needed to recognize which Airnode is sending the heartbeat request as the payload is signed by the Airnode and the Airnode's public key can be recovered from the signature. This change is relevant only for those using the Heartbeat feature.
{
   "heartbeat": {
      "enabled": true,
      "apiKey": "${HEARTBEAT_API_KEY}",
-     "id": "${HEARTBEAT_ID}",
      "url": "${HEARTBEAT_URL}"
   },
}
1
2
3
4
5
6
7
8
  1. The command airnode-deployer remove-with-deployment-details no longer exists and was replaced by a new command airnode-deployer remove <deployment ID>. In order to remove the Airnode deployment with this command, you need to provide a deployment ID. You can find deployment ID in the receipt.json file for a given deployment or via airnode-deployer list command. You can still remove the Airnode deployment with the airnode-deployer remove-with-receipt command as before.

# New features

  • Skipping API calls to just run pre/post processing, see the OIS documentation.
  • There are two new reserved parameters available, _gasPrice and _minConfirmations. You can read more about how and what are they used for in the documentation.
  • We now support a new type of authorizers, cross-chain authorizers. Read more about when it makes sense to use it and how in the documentation.
  • Airnode's Deployer CLI went through multiple changes, improving the user experience. There are four additional commands, list, info, rollback and fetch-files to help you interact with your deployments more easily. You can read all about the new features in the documentation.
  • In order to provide a better sense of Airnode behavior and improve the visibility of request logs within cloud provider monitoring services, the log level specified by nodeSettings.logLevel within config.json has been changed from INFO to DEBUG for airnode-examples integrations. Similarly, integration deployment commands are now run with the --debug flag.
Last Updated: 4/12/2023, 4:36:21 AM