Version 9 "Germknödel"
2024-04-30

The “Germknödel” is an undisputed star in the world of Austrian desserts. We are a Viennese company and love sweets – that’s why our release names are named after Viennese sweets. Discover new functions such as custom objects, a new debug mode and log levels. Also brand new is the posibility to add Cloudomation DevStack to Cloudomation Engine. If you have an active DevStack subscription, it enables you to deploy Cloud Development Environments in self-service. You can find all the details in the release notes.
Breaking Changes
- The legacy git integration was removed
Git integration using the `git_config` record type was deprecated in Cloudomation version 8 and removed with Cloudomation version 9.
Ref: #86bxcd868 - The `default role` has now non-administrator access to all projects
Previously the `default role` would only grant access to the `Default project`.
Ref: #86bxrbr9w - GET requests to the API which send a body payload are now rejected with `BadRequest`
Previously the body payload of a GET request would be silently ignored.
Ref: #86bxr1jn1 - The `is_archived` flag was deprecated in Cloudomation version 8 and removed with Cloudomation version 9
Ref: #2w9vabu - The `Dev-Mode` does not use breakpoints any more
To use breakpoints use the new `Debug-Mode`.
Ref: #86bx39wkd - The scheduler now creates orphaned child executions
In order for child executions to show up in the execution live monitor as “top level executions” they do not contain a `parent execution` reference to the scheduler any more. Because of this change, it is recommended to pause all schedules before updating a workspace to version 9. Schedules can be reactivated after the update. Schedules that are not paused during the update will fail for their next run but will recover afterwards, meaning that one scheduled run would fail.
Ref: #862ked65h - Importing a record which references a non-existent record now fails
Previously it would implicitly create an empty referenced record.
Ref: #861meqbkb - SMTP connector input `use_tls` must be specified as a boolean value
Previously the strings “true” and “false” were also accepted.
Ref: #86bxzu7yp - LDAP connector doesn’t accept unencrypted ldap:// connections anymore if the use_ssl parameter is set to ‘true’
Previously, the LDAP connector accepted unencrypted ldap:// connections even if the use_ssl parameter was set to ‘true’ (which is the default value).
Ref: #86bzh6ty2
Deprecations
Check the documentation on how to find uses of deprecated features in your workspace.
- The Flow-API method `Execution.message()` changed its purpose
Previously it would create a new message. Starting from Cloudomation version 10 it returns the message the execution is currently waiting for. To create a new message use `System.message()` instead.
Ref: #86bxmp8ez - The `timeout_sec` argument of the `retry` wrapper is deprecated and will be removed with Cloudomation version 10
Please use the `timeout` wrapper to specify a timeout.
Ref: #862kd6a6c - AWS connector inputs `service`, `waiter`, and `parameters` inputs are deprecated and will be removed with Cloudomation version 10
The inputs are replaced by `mode.service`, `mode.waiter`, and `mode.parameters` respectively. - FTP connector inputs `action`, `src`, `dst`, `path`, and `recursive` inputs are deprecated and will be removed with Cloudomation version 10
The inputs are replaced by `mode.mode_name`, `mode.src`, `mode.dst`, `mode.path`, and `mode.recursive` respectively. - GOOGLE connector input `params` is deprecated and will be removed with Cloudomation version 10
The input is replaced by `kwargs`. - IMAP connector inputs `command`, `folder`, `target_folder`, `criteria`, `message_set`, `store_attachments`, and `flags` are deprecated and will be removed with Cloudomation version 10
The inputs are replaced by `mode.mode_name`, `mode.folder`, `mode.target_folder`, `mode.criteria`, `mode.message_set`, `mode.store_attachments`, and `mode.flags` respectively. - K8S connector input `parameters` is deprecated and will be removed with Cloudomation version 10
The input is replaced by `kwargs`. - MYSQL connector input `cmd` specified as a tuple containing `cmd` and `params` is deprecated and will be removed with Cloudomation version 10
Please specify params in the dedicated `params` input. - REST connector inputs `text`, `json`, `data`, `multipart`, `urlencoded`, `authentication_method`, `username`, `password`, and `grant` are deprecated and will be removed with Cloudomation version 10
The inputs are replaced by `body.text`, `body.json`, `body.json`, `body.multipart`, `body.urlencoded`, `authentication.authentication_method_name`, `authentication.username`, `authentication.password`, and `authentication.grant` respectively. - SMTP connector input `from` is deprecated and will be removed with Cloudomation version 10
The input is replaced by `from_`. - SQLPG connector input `cmd` specified as a tuple containing `cmd` and `params` is deprecated and will be removed with Cloudomation version 10
Please specify params in the dedicated `params` input. - VAULT connector inputs `mode`, `secret_path`, `data`, `version`, and `versions` are deprecated and will be removed with Cloudomation version 10
The inputs are replaced by `mode.mode_name`, `mode.secret_path`, `mode.data`, `mode.version`, and `mode.versions` respectively. - The Flow-API methods `Identity.add_role`, `Identity.get_roles`, and `Identity.remove_role` are deprecated and will be removed with Cloudomation version 10
The methods are replaced with `Identity.add_identity_role`, `Identity.identity_role_list`, and `IdentityRole.delete` respectively. - The Flow-API methods `Record.get_identity_created_by`, `Record.get_identity_modified_by`, and `Record.get_identity_deleted_by` are deprecated and will be removed with Cloudomation version 10
The methods are replaced with `Record.created_by_identity`, `Record.modified_by_identity`, and `Record.deleted_by_identity` respectively. - The Flow-API methods `Record.add_tag`, `Record.get_tags`, and `Record.remove_tag` are deprecated and will be removed with Cloudomation version 10
The methods are replaced with `Record.add_record_tag`, `Record.record_tag_list`, and `RecordTag.delete` respectively. - The Flow-API method `Record.get_logs` is deprecated and will be removed with Cloudomation version 10
The method is replaced with `Record.record_log_list`. - The Flow-API methods `Role.add_permission`, `Role.get_permissions`, and `Role.remove_permission` are deprecated and will be removed with Cloudomation version 10
The methods are replaced with `Role.add_role_permission`, `Role.role_permission_list`, and `RolePermission.delete` respectively. - The Flow-API methods `Role.add_identity`, `Role.get_identities`, and `Role.remove_identity` are deprecated and will be removed with Cloudomation version 10
The Methods are replaced with `Role.add_identity_role`, `Role.identity_role_list`, and `IdentityRole.delete` respectively. - The Flow-API method `User.get_public_keys` is deprecated and will be removed with Cloudomation version 10
The method is replaced with `User.user_git_public_key_list`. - Uploading python files directly to the `Flow` resource or importing yaml files directly to the `Setting` resource is deprecated and will be removed with Cloudomation version 10
Please use the import functionality instead. - The API routes `/auth/webhook_is_enabled`, `/auth/webhook_key`, and `/auth/webhook_require_login` are deprecated and will be removed with Cloudomation version 10
The routes are replaced by `/auth/webhook_security`
Ref: #861n0q0t2
New Features
- Added “object template” and “custom object” record types
Object templates allow users to template custom objects. Once an object template has been defined, users can create custom objects based on that template from the create menu in the Cloudomation Engine UI. Lifecycle hooks are associated with each object template which specify what should happen when a custom object is created, updated or deleted.
For example, you can define an object template for a “server”. When a new custom object “server” is created, the “create” process is started, which can, for example, deploy a virtual machine and install software on it – i.e. create a server.
As another example, a “customer” object template can be created which defines which data are associated with a customer. When a new custom object of type “customer” is created (e.g. by calling a webhook when a new customer is created in a webshop or any other platform), the “create” process for the “customer” object is called, which can, for example, propagate the data for this customer into different other systems and trigger other processing steps required for customer onboarding.
Custom objects allow users to think about automation in an object-oriented way. Custom objects are shown in the UI with all their associated data as well as their current status, making it easier to understand and keep an overview of entities that are associated with automations that run in Cloudomation Engine.
Object templates allow the creation of interconnected data models that can become full ontologies to describe entities in your organisation that are associated with automations which run in Cloudomation Engine.
Ref: #861mt5uew
- Cloudomation DevStack can now be added to Cloudomation Engine
DevStack enables the automatic deployment of Cloud Development Environments (CDEs) in self-service. It consists of three major components:
- A command-line interface for DevStack
Ref: #862kpmzgd
- A command-line interface for DevStack
- A DevStack bundle which can be imported in Cloudomation Engine to enable the DevStack functionality for a Cloudomation Engine workspace
Learn more about Cloudomation DevStack
- Added a debug mode
Which allows you to pause at breakpoints and step through executions line-by-line. Previously, the debug mode was part of the dev mode. Now, users can choose between dev mode, debug mode and debug mode with fixed breakpoints.
Ref: #86bxderhd - Added a debug mode with fixed breakpoints
In order to reduce the performance penalty introduced by breakpoint handling. The debug mode with fixed breakpoints doesn’t allow to change breakpoints after starting an execution.
Ref: #86bxd6h30 - Step debugging of executions is now inherited to child executions too
Ref: #862kg92fk - The advanced search was extended to support arbitrary nested filter expressions
Ref: #86bx1t7aj, #26pxnu4 - Filter expressions in the execution live monitor and advanced search can be built by choosing values being displayed in the list
Right-click on any value in the list will show the option to add this value as a filter.
Ref: #26py722 - Add a hotkey CTRL+M to jump to the execution live monitor
Ref: #862kjambk - Added “pause”, “resume”, and “cancel” as bulk actions in the execution live monitor
Ref: #862kdrufa - The `notify` wrapper can be configured to react to status changes of the wrapped type
In addition to supporting notifications on each success or error, the `notify` wrapper can now also notify when the wrapped resource fails or succeeds for the first time.
Ref: #2zgxked - Bundles are marked as “changed” when they were modified after install
Ref: #862kdex5x - The Engine UI now checks for name conflicts before save
Ref: #862kha5zr - Added an “access list” to projects and bundles to show which roles grant permissions on that project or bundle
Ref: #862kfgg9d - Added a bulk action to move execution processes to the trash
Previously, only single executions could be moved to the trash from the execution live monitor.
Ref: #86bx48m6r - Added a `Move` action to all records, replacing the `Project` and `Bundle` dropdowns.
Previously records contained separate `Project` and `Bundle` drawdowns while only one of them could be set at a given time. Now there is a dedicated `Move` action which lists all projects/bundles.
Ref: #86bxpatgp - The location is now shown in the details panel for all resources
Ref: #86bxnuy9d - The Engine frontend now shows the size in bytes of files in Cloudomation.
Ref: #86bxx0xx7 - Cloudomation logs now include a log level
Each log is classified as INFO, WARNING, or ERROR and displayed colour-coded.
Ref: #862kjug0u, #862kjgkrw - Workspace logs can now be filtered by log level
Ref: #86bxcae44 - It is now possible to choose a highlight colour for the top-bar in the Cloudomation engine UI to quickly visually distinguish multiple workspaces
Ref: #862kj51wa - Improved methods to access referenced records in Flow-API
The Flow-API allows access to all referenced records natively. It is possible to access a record which is referenced by the current record as well as access a list of records which dare referencing the current record.
Ref: #2vrtugv - Improved signature of Flow-API `save` method
The `save` method signature explicitly lists all allowed fields, their types, and descriptions.
Ref: #2vrtugv - The Flow-API now features several method aliases for commonly used calls and uses intuitive method names
Ref: #862knjccd - Support for the `jinja2` templating engine was added to the Flow-API
In addition to the existing `mustache` template engine `jinja2` was also added to the Flow-API.
Ref: #86by1xna8 - The Flow-API now supports accessing all types and meta-types
Ref: #2hy36vk - The “default roles” bundle was reduced in scope to only provide an example role with minimum permissions required to use the Cloudomation Engine frontend
Ref: #86bxn8wd9 - The Engine Installer now allows to choose how many Coudomation Engine processes are deployed
This allows for horizontal scaling. Previously the value was hardcoded to 4 processes.
Ref: #86bx3jkm1 - Add a `save-logs` option to the Engine Installer
To conveniently collect and compress all logs of the workspace.
Ref: #86bx60wrq - Add an option to the Cloudomation Installer to remove a workspace configuration option from the database
Ref: #861mzmtct - The bootstrap user does not receive multiple activation emails as long as the activation code remains valid
Ref: #86bxqr3kk - Git commits created by Cloudomation are now associated with the Cloudomation user
Ref: #86bxx41cz - Added user flags to enable/disable access to the Cloudomation Engine UI and the DevStack Self-Service Portal
For each user, it can now be specified if that user should have access to the Engine UI or the DevStack Self-Service Portal. DevStack options are only available in workspaces that have DevStack enabled.
Ref: #86bwy7qfb - Added binary file upload capability to the REST connector
Ref: #86bxab2h6 - All database transactions are now constrained by a global timeout
Ref: #86bxag9uw - Added documentation for previously undocumented fields of various record types
Ref: #862knaf00 - Added configuration parameters for the maximum size of Cloudomation files which are displayed in the Engine UI
Files larger than this value can still be displayed, but the user has to choose so explicitly. This improves performance when inspecting files in the Engine UI.
Ref: #861mca3uy - Added a configuration parameter to disable the processing of all executions in a workspace
Ref: #26py8gh - More record types can now be part of a bundle
The types `bundle_repository`, `ldap_config`, `schedule`, `sync_config`, `vault_config`, and `webhook` can now also be associated with a bundle.
Ref: #86by5jgf3
Bug Fixes
- Fixed a bug where the workspace would loop when a user creates a wrapper loop
Previously it was possible to create wrapper loops, for example wrapping the wrapper with itself. The workspace now prevents such loops to be created or executed.
Ref: #86bxagb9n - Fixed a bug where no default values were applied if one required field did not have a default value
Now as many default values as possible are applied, even if it fails for some fields.
Ref: #86bxz1etf - Fixed a bug in the Cloudomation Installer where it would generate an invalid `docker-compose.yml` file
When using the `selfsigned` certificate option the Cloudomation Installer used to add the certificate to the `docker-compose.yml` file regardless if it already existed there.
Ref: #86bx2n2ph - Fixed a bug where the frontend would only display the first 50 permissions of a role
Ref: #86bxze0p0 - Fixed a bug where the frontend would not display an error if a weak password is rejected by the backend
Ref: #86bxywwec - Fixed a bug where the sandbox process might get stuck after the workspace process gets terminated ungracefully
Ref: #86bxv4w23 - Fixed a bug where a flow gets saved after it is executed when using `Run with options`
Ref: #86bxd7gwz - Fixed a bug where the Cloudomation Installer would not use non-standard ports for the websocket URL
Ref: #86bxtpgj6 - Fixed a bug where the `transaction` action of the PostgreSQL connector would fail
Ref: #86bxtrhj2 - Fixed a bug where breakpoints of a new flow are not saved with the initial save
Ref: #86bxg1p7q - Fixed a bug which made it impossible to duplicate a connector record
Ref: #86bx3zpzq - Fixed a bug where records restored from trash would not be shown in the quick access menu
Ref: #86by0pace - Fixed a bug where the link to the execution live monitor from a dashboard widget would set a wrong filter
Ref: #86by08r4b - Fixed a bug where orphaned execution records would not be cleaned up from the trash
Ref: #86bxgw3gx - Fixed a bug in the `validate` wrapper where it would create a schema record without a name
Ref: #862kjnhgc - Fixed a bug where the workspace failed to replace secrets of multiple vault configurations within one string
Ref: #862kfnc03 - Fixed a bug where the LDAP connector failed to fetch a search result when using non-paged search
Ref: #86bxhce7d - Fixed a bug where the OPENAI connector used an old version of the library with deprecated endpoints
Ref: #86bxbmny4 - Fixed a bug where the `max delay` parameter of the scheduler would not be used
Ref: #86bx92n7t - Fixed a bug where a change in a subrecord would not immediately be committed to Cloudomation git
Ref: #862kp39t2 - Fixed a bug where the default values of Flow-API calls are not displayed in the intellisense
Ref: #86bx6zyg8 - Fixed a racing condition between lock acquire and lock delete
Ref: #862kk7xgq - Fixed a bug where it would be possible to set the login token validity to 0 hours, preventing any successful login
Ref: #862kmvxyt - Fixed a bug in the SMB connector where the connector fails when using the list action without a file pattern
Ref: #86bx2nwv5 - Fixed a bug in the AWS connector where it would be impossible to upload a file to a S3 bucket when using deprecated arguments
Ref: #86bx30f5x - Fixed a bug in the LDAP connector where it would be impossible to specify additional filters for the search action
Ref: #86bx2rkb7 - Fixed a bug where it would be impossible to ignore a dependency when the execution is statically wrapped
Ref: #862kjf85f - Fixed a bug where it would be impossible to import a record which references another pre-existing record which is marked as read-only
Ref: #862kmw373 - Fixed a bug where it would be impossible to use fields of metatables in indirect filter conditions
Ref: #862kkznm8 - Fixed a bug in the scheduler where a recurring execution would not respect the max_iterations` parameter
Ref: #862kn61hz
Meet Your New Platform Engineering Tool
Streamline operations, optimize collaboration, and deliver faster. Let’s discuss how our platform can help you overcome challenges and hit your goals.