3.7.1 to 3.8.0
This document describes the upgrade instructions from 3.7.1 to 3.8.0.
Sequence Adaptation interface changes
This release contains breaking changes to our Sequence Adaptation interface. Most significantly, compiled adaptations are now expected to be CommonJS modules, which start with external require(...) statements for any CodeMirror dependencies, and end with exports.adaptation = ....
Users can either create these modules directly or compile them using rollup or similar. We recommend using our sequence adaptation template repo as a starting point, which demonstrates a Typescript adaptation which is compiled with rollup to a CommonJS module.
Actions API changes
A new version of the aerie-actions library, 1.1.0 has been released & published to NPM as a part of this release. These changes are non-breaking, but users writing custom actions should upgrade their aerie-actions dependency to take advantage of the latest features, which include:
- Descriptions on actions parameters and settings. These can be hardcoded into the action eg.
seqList: {type: "sequenceList", description: "a list of sequences"}and appear as a tooltip in the run action modal & action settings page - New action parameter/setting
'file'and'fileList' types, which accept a single file path or list of file paths respectively. These are like the existingsequenceandsequenceListtypes except that they can accept any types of files rather than just sequences. They also allow an optionalpatternfield which may specify a specific extension to match eg.*.json. - Ability to access the running user's JWT tokens in actions, accomplished by sending a
secretsrequest with every action run request with the user's auth headers. Exposed to action code viaactions.config.SECRETS.authorization(encoded) andactions.config.SECRETS.user(decoded). This allows users to send authenticated requests back to Hasura or to other services in their JWT auth ecosystem. - Accessing username and run ID in the action - in
actions.config.USERNAMEandactions.config.ACTION_RUN_ID - Support for "primary" flag on action parameters, & better default logic. When an action is "run on a file" (or list of files), via the editor dropdown menu or multi-select/right-click, we decide which action parameter is "primary" and pass the file path(s) to that param. Users can now set primary: true on file/fileList/sequence/sequenceList type parameters to specify which one to use. If this flag is not set, we do our best to determine which of the parameters for each action can be fulfilled by the selected file(s) and use that.
File multi-select in workspaces
This release adds the ability to multi-select (shift-click or ctrl-click) files in the SeqDev sequencing workspace, right click them, and run actions on the selected files.
This comes with some caveats: currently this is available on the workspace table view only, not the default hierarchy view. Also, bulk file operations, like moving/copying multiple files at once, are disabled. Both of these will be delivered in a future release.