# Migration Guide
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
ois[n].oisFormat
updated to "1.4.0".nodeSettings.nodeVersion
updated to "0.10.1".Field
chains[n].authorizers.crossChainRequesterAuthorizers
was added.Fields
nodeSettings.httpGateway.apiKey
andnodeSettings.httpSignedDataGateway.apiKey
were removed.Field
nodeSettings.heartbeat.id
was removed.Command
airnode-deployer remove-with-deployment-details
no longer exists. It was replaced by a commandairnode-deployer remove <deployment ID>
.
# Details
ois[n].oisFormat
Updated to "1.4.0"
{
- "oisFormat": "1.2.0"
+ "oisFormat": "1.4.0"
}
2
3
4
nodeSettings.nodeVersion
Updated to "0.10.1"
{
- "nodeVersion": "0.9.2"
+ "nodeVersion": "0.10.1"
}
2
3
4
- 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": []
},
}
2
3
4
5
6
7
- Fields
nodeSettings.httpGateway.apiKey
andnodeSettings.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": []
},
}
2
3
4
5
6
7
8
9
10
11
12
13
14
- 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}"
},
}
2
3
4
5
6
7
8
- The command
airnode-deployer remove-with-deployment-details
no longer exists and was replaced by a new commandairnode-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 thereceipt.json
file for a given deployment or viaairnode-deployer list
command. You can still remove the Airnode deployment with theairnode-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
andfetch-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
withinconfig.json
has been changed fromINFO
toDEBUG
forairnode-examples
integrations. Similarly, integration deployment commands are now run with the--debug
flag.