Skip to main content

1.0.1 to 1.0.2

This document describes the upgrade instructions from 1.0.1 to 1.0.2.

Sequence Argument Passing

To support repeat arguments in commands (#617) all existing sequence EDSLs (authored sequences and expansion rules) will need to be updated to use the pass-by-name argument style for commands. Pass-by-position is no longer supported because it does not allow for use of repeat arguments without major changes. For example old expansion rules could use the following pass-by-position command argument format:

/**
* This pass-by-position style is no longer supported.
*/
export default function ({ activityInstance: ActivityType }): ExpansionReturn {
return [A('2024-001T00:00:00').FSW_CMD_0('ON', true, 1.0)];
}

Needs to be updated to:

/**
* This pass-by-name style is the only supported way to pass command arguments now.
*/
export default function ({ activityInstance: ActivityType }): ExpansionReturn {
return [A('2024-001T00:00:00').FSW_CMD_0({ enum_arg_0: 'ON', boolean_arg_0: true, float_arg_0: 1.0 })];
}

Where enum_arg_0, boolean_arg_0, and float_arg_0 are the names of the arguments for the FSW_CMD_0 command specified in the command dictionary.

UI View Validate Endpoint

The UI view /view/validate endpoint was moved from the gateway to the UI server. Any downstream code must now POST to /view/validate on the UI server. The UI server has the same API so no other changes are needed other than changing the target server. So if you are running Aerie locally with the default ports and configuration you would change http://localhost:9000/view/validate to http://localhost/view/validate.

UI View Schema Change

The UI view schema has replaced regex filters with lists specifying the given type. To show activities in a timeline layer you now need to specify the list of activity types you want to show. For example to show activities with type BakeBananaBread, BananaNap, and BiteBanana you can do:

{
"filter": {
"activity": {
"types": ["BakeBananaBread", "BananaNap", "BiteBanana"]
}
}
}

Similarly for resources you now need to specify a resource name you want to show. For example to show the /peel resource you can do:

{
"filter": {
"resource": {
"names": ["/peel"]
}
}
}

These replace the type and name field from the activity and resource filters respectively. Any downstream code needs to be updated to account for this.