# AMP Release 6.3.0 * [Introduction](#introduction) * [Major New Features](#major-new-features) * [Other Enhancements](#other-enhancements) * [Bug And Vulnerability Fixes](#bug-and-vulnerability-fixes) * [Deprecation Announcements](#deprecation-announcements) * [Known Issues](#known-issues) * [Backwards Compatibility](#backwards-compatibility) * [Installation and Upgrade Instructions](#installation-and-upgrade-instructions) ## Introduction Thank you to our community who have contributed a lot of improvements and feedback! Thanks also go to Apache Brooklyn's commercial users who have funded this development and made some major contributions. For more information, please visit https://cloudsoft.io/amp, https://docs.cloudsoft.io and https://brooklyn.apache.org This is a major upgrade from AMP version 6.2.0 and includes a number of extra improvements on the top of version 6.2.0. ## Major New Features * Workflow * Introduction of a powerful workflow engine, designed to enhance describing behaviour of entities, sensors, effectors and policies in blueprints. * Workflows enabled to define a set of steps which delegate to other systems such as SSH or HTTP endpoints. * Steps can be defined in a shorthand syntax (e.g `ssh echo Hello World`) or longhand syntax, allowing for introduction of conditions, jumping to next steps, inputs/outputs or error handling. * Steps introduced a wide variety of possible actions, including workflow control (e.g. defining variables, retrying on failures), external actions (such as ssh or winrm), application models (e.g. setting sensors or invoking effectors) and general purpose steps (such as log and sleep). * Support added for defining variables and interpolation expression syntax for accessing them. * Capability to introduce nested workflows. * Implementation of REST API and Replay/Retry/Error handling for workflows. * Implementation of Workflow UI that allows for ad hoc invocation of a workflow on an existing entity, as well as showing workflow steps, retrying manually, extensive support for retrying automatically, configuring retries, and configuring error handling. * For more information, please refer to the documentation: https://docs.cloudsoft.io/blueprints/workflow/ ## Other Enhancements * Improvements around feeds: * Enabled common feeds, including containers, to be triggered rather than only periodic. * Improved display names of fields, unique tags, container task transience, and task GC. * Added jsonpath and key/index accessors for predicates. * Introduced support for conditions for most feeds. * Support for new OPENSSH PRIVATE KEY format keys. * Improvements during process of object sanitization. * Added support for `item: URL` in catalog.bom, so a blueprint can be pulled in by reference. * Improved consistency for preferring local bundles to libraries when resolving entity references in a definition. * Skipping property validation against the constraint if property is null. * Lifecycle and container tweaks, such as: * Deleting jobs when they are done. * More control for callers to tidy up. * Looking at container status rather than jobs status (improved performance). * More entity hooks for creating and destroying. * The predicate DSL can be used for workflow step conditions, dynamic group filters, and in other places where DslPredicates are needed. * Improvements in checking for thread interruption with sshj connections. * Configurable bash curl and certificates. * Suppression logic introduced to REST API for fields in maps (especially config keys). * SSH and SCP executables can get params via environmental variables. * Minor UI improvements. * Documentation updates: * Documentation updated to include information about Workflows. * The tutorials have been updated and expanded, including 3-tier and a new EFS/Terraform based item. * Updated instructions regarding SSH and SCP executables. * Added documentation for certificate configuration. * Fixed url to cli-ps-findimage in Azure locations ## Bug and Vulnerability Fixes * Entities in bundles now default to using versions of items defined in the same bundle or libraries, rather than the global highest version of items with the given name. * Introduced further support for beans and specs being instantiated in a variety of ways. * In a few cases `type: sample` for beans may not work, where type is a field in the bean and `sample` is the registered type rather than the value of that field. The key `(type): sample` can be used now in this case. * Fix for order of tags added to entity, causing some tags to be taken from parent entity rather than child entity. * Fix to avoid extracting zip files outside of the provided path (zip slip). * Misc bug fixes around lifecycle and containers. * Updated snakeyaml and jackson to patch CVE-2022-25857 and CVE-2022-38749. * UI fixes: * Fix for non-unique properties not being included. * Fix for default values when saving to catalog from blueprint composer. * Fix for error not showing when using DSL for a parameter with a regex constraint. ## Known Issues * For new OPENSSH PRIVATE KEY format keys, passphrases are not supported due to limitations of the java cryptography libraries. ## Backwards Compatibility * In most cases the syntax `type: sample` in blueprints is still permitted but there may be a few cases which are especially ambiguous and the new `(type): sample` syntax, noted above, might be required. ## Installation and Upgrade Instructions To install see https://docs.cloudsoft.io/operations/production-installation.html To upgrade existing installations see https://docs.cloudsoft.io/operations/upgrades/