Released: 2020-10-26
We are happy to announce the public release of Secrets feature - a service which independently keeps access tokens up-to-date so any integration step would get a valid and working access credentials to the third party resources. The service updates tokens behind the scene using the token expiration information.
Secrets addresses the race-condition and other contention-on-shared-data problems of OAuth2 authorisation process frequently happening due to concurrent and asynchronous work of steps in different integration flows. With this service in place, components are not required to update the access tokens. The Secrets takes over this process and supplies the Components up-to-date access tokens directly.
For more details visit the dedicated Secrets feature documentation page.
Along with the public release of Secrets we are releasing two new generation components, REST API v2 and Salesforce v2, which use the Secrets Management Service.
These fully refurbished components are not strictly backwards compatible due to architectural differences between Secrets and the ordinary Credentials systems.
The old versions of these components are still available for a foreseeable future, however, they will be marked as deprecated. We will only make security updates if required, but further development of these versions will not be done.
We encourage our customers to try the new generation components and give us your feedback.
With this release we completed the authentication clients (auth-client)
visibility levels. The auth-client can now have workspace, contract, tenant
and global access levels. This means you can create auth-client for any access
level, be that only for one workspace or for the entire cluster of tenants.
Check our API documentation
for more information on auth-client creation.
From this release, all execution threads on Executions page will show the times in absolute format AM/PM or 24h depending on your local setup.

We are introducing Clear all filters enhancement for Executions and Logs pages for clearing all selected filters in one go. Here is an example of usage on Logs page:

This feature is hidden by CSS by default so that the look & feel of OEM tenants is not disrupted. Feel free to adjust the CSS to introduce this functionality in your tenant.
We continue our efforts to streamline and improve the new mapping experience based on your feedback. In this release we concentrated on loading time improvements, JSONata previews, dynamic drop-downs and manual sample creation.
When using JSONata expression for input fields, the preview is rendered with “pretty print” instead of one single line of code which ehances the mapping experience and helps to spot any errors while building an integration flows.
When using the dynamic drop-downs fields the search appears only if there are more than 7 items to choose. In addition, all dynamic drop-downs have reload buttons to refresh the list.

While designing an integration flow you can just use an automatic sample regenerated the platform and already populated based on the metadata.

Now you can choose to add Authentication credentials for the steps running on Local Agents. It works for old and new VPN Agents.

We release a latest update of Node.js Sailor version 2.6.17 which disables
message header logging at info level.
A new version 2 component is introduced. While technically it is similar to the old one, this component uses the new service to manage Secrets. We have also removed the deprecated functions from the new Salesforce v2.
v2.6.17) Node.js Sailor.A new version 2 component is introduced. While technically it is similar to the old one, this component uses the new service to manage Secrets.
Introducing a new component for working with the Oracle E-Business Suite services.
Execute Method action.emit called without await cases in the code.Following the Node.js Sailor version 2.6.17 release, we updated the following
integration components dependencies:
Released: 2020-11-19
We introduce a new possibility to obtain the debug and one-time executions logs
straight from the logs window. You can choose to Download the logs directly to your
computer and the system will give you a time-stamped *.log file or you can choose
Copy to clipboard to paste the logs where you need. The small animation below shows
these options.

With this release we spent considerable time to streamline and improve the platform UI pages. For example the executions page is now more responsive and the new executions show much faster than before. By our initial estimate it loads 20 to 30% faster. We also load next and previous executions pages asynchronously to improve the first page loading speed.
The mapper UI received a particular attention where we improved the usability of multiple features explained in the following subsections.
While using the dynamically selectable fields from third party sources you might encounter situations when no metadata is returned. In this cases we will show the following warning text to text:
Unfortunately the service behind the component did not provide any options for the given credentials. This is not necessarily an error. Please check whether there are data for the given credential and retrieve the options again by clicking on the Reload icon on the right side of the drop-down element.
All text-input fields now grow with the content. When the you have an input longer than 4 to 5 lines, a new vertical resize selector in the right bottom corner of the field appears. You can use it to extend the field for your viewing convenience.
You can scroll to see all the content of mapped fields in any saved flow versions. The scroll-bars show not only the input fields but besides the mapping results too.
You can now switch between Integrator and Developer modes and edit without a problem
while using any object type in your mapping.
We are constantly improving Sailor versions for Node.js and Java programming languages. In this round we addressed edge cases when trigger and action functions might output sensitive data while processing error stacks. Here are the most recent versions:
2.6.183.3.1To address certain 3rd party OAuth2 provider unique setups we introduced default
token_expires_in parameter with 1 hour interval. The background of the problem
came from the cases when the external systems (e.g. Salesforce) would not return
token_expires_in for the auth-client calls.
Now any authentication client without expieres_in parameter receives a default
token_expires_in parameter with 1 hour value. This value will propagate to the
connected secrets as well. The API documentation was updated accordingly.
You can now configure how long it would take the debug tasks to timeout
and severe the connection with the third party resource. We introduced a new variable
FORCE_DESTROY_DEBUG_TASK_TIMEOUT_SEC which can be defined in platform deployment
config.json file to control this behaviour. If this parameter is not defined the
default behaviour is the following:
If the favicon is not defined for your tenant the platform will return 404 on
/favicon.ico address. Please make sure to define it as a tenant parameter for your
tenant. To define the favicon you would need to define the parameter favicon_url
as it is explained in the API documentation.
Contact support if you require need help in setting this up.
As an OEM manager you can control which role holder can create recipes from the
flows. We introduced a new permission workspaces.flow.exportToRecipe which you
can grant to Admin, Integrator or any newly created role to manage recipe creation.
Please Note: The workspace
Ownerrole can not receive this permission since the role is restricted and any changes to the role is against the security policies defined by the law. You can, however, add an additional role to the workspaceOwnerwhich has the permission to create recipes.
In addition, the Tenant Administrator role can export a flow to a recipe if he/she has access to the flow. These changes are also applied in the API documentation.
To benefit from these changes a migration process must be done which is handled by the gendry.
We introduce new sets of permissions including /v2/permissions and all error
messages to extend the existing sets to global access for multi-tenant
installation of the platform. The following permission were replaced with their
global counterparts:
contracts.auth_clients.create, contracts.auth_clients.delete, contracts.auth_clients.edit,
contracts.auth_clients.get, workspaces.auth_clients.create, workspaces.auth_clients.delete,
workspaces.auth_clients.edit, workspaces.auth_clients.get, tenants.auth_clients.get,
tenants.auth_clients.edit, tenants.auth_clients.create and tenants.auth_clients.delete.
Replacements:
global.auth_clients.get, global.auth_clients.edit, global.auth_clients.create and global.auth_clients.delete.
Authentication failed by authSource.2.6.18.batching-library version.2.6.18.2.6.18.component.json which caused en error in drop-down.2.6.18.emitwas called without await.2.6.18.As a part of the annual component code audit for a possibility of sensitive data exposing we checked and updated the following component codes and the dependencies:
3.3.1.Released: 2020-12-17
With this release we introduce feature fields for the mapper Developer mode. You can open and examine the component input metadata and add needed objects by clicking on it. You can also add the path to property if using function or expression.
Animation above shows an example of these fields while configuring the email component.
As an integrator or component developer we need to dive into the troubleshooting and debugging sessions to identify and iron out some problems in our projects. For this purposes, the detailed logs are invaluable. On the other hand, detailed logs are sometimes unnecessary during the normal operation runs if you tend to exchange sensitive data through your integration projects.
To control the logging level for each of your flow-step we introduce a new setup called Log Level, accessible from the Advanced Setting part of flow-step Summary. With this setup you can increase or decrease the output logging level of your component from the default Info using the drop-down control shown below.
Please Note: To change the logging level of any flow-step, you must create a new draft for your flow, save it and start again.
The available logging levels are Trace, Debug, Info, Warning and Error where the Trace will output everything your component can show. On the other end of this spectrum, the Error level would output only the flow-step errors.
You can set or change the logging level directly using our REST API call. For this
purposes we extended the flow step configuration by adding the log_level parameter:
"attributes": {
"nodes_config": {
"step_1": {
"log_level":"info"
}
}
}
Please Note: You can only change the logging level for run-time executions. This setup would not work on one-time executions like retrieve sample and verify credentials.
During some exceptional circumstances, you might get too many errors in your flow execution step to retry it one-by-one. To help process these errors in one go we introduce a new option Retry All Errors which will appear if more than one error happens in this step during an execution.
When clicked, our system will ask you to confirm your action by displaying you the following popup message:
Note: the error messages will be deleted from this Runlog Record. Retry results will arrive to this Runlog record.
You can cancel and return to your screen with errors or confirm and retry all errors, in which case our system will retry all retriable errors. This feature has a limitation: you can’t edit messages before retrying while using retry all errors.
Please Note: Only messages in the single step of particular executions will be retried. It is not possible to retry errors from all steps or from all executions of the flow. For that you still need to open each step in particular execution separately and press retry all button.
With this final release of the year 2020 we announce the end-of-life for our old mapping experience which was with us for several years and served us well.
From this release the new mapping experience will be the default and it is no longer possible to switch-back and forward between them.
Please Note: If you still need to use the old mapping experience and you are one of the OEM customers get in touch with us - we can enable it for your tenant.
With this release we introduce next sets of improvements to the Node.js Sailor, the base library used to compile any Node.js based component code during the platform deployments.
Component Developers Note: Use Sailor version
2.6.21along with the Node version12.20.0or higher for these improvements. Details follow.
Starting from the Node.js Sailor version 2.6.19+, we improved the mechanism used
in the connection to and from the RabbitMQ queues and the pods running your component
code.
AMQP_RECONNECT_ATTEMPTS - number of retries on connection close.AMQP_RECONNECT_TIMEOUT - delay between connection retries.WAIT_MESSAGES_TIMEOUT - delay between next poll when queue is empty.Starting from the Node.js Sailor 2.6.21+, the rebound message headers and the rebound
message expiry time inconsistencies are fixed.
You can now configure how long it would take the one-time execution to timeout
and severe the connection with the third party resource. We introduced a new
variable FORCE_DESTROY_ONE_TIME_EXEC_SEC to control the timeout.
To use this functionality add/change force_destroy_one_time_exec_sec ksonnet
parameter in the config.json file and write your desired time.
The default is 120 seconds.
We introduced tenant setup parameter flag tenant.feature_flags.old_mapper_enabled
to control visibility of the switcher between old/new mapper. With this release
the flag is set to false by default.
As an OEM customer you can still enable and use the old mapping experience.
Use the tenant setup parameter flag tenant.feature_flags.old_mapper_enabled with true
value. Check our API documentation for /v2/tenants endpoint parameter flags.
Lookup by field configuration field depended on Object field in the component action.ETIMEDOUT, ECONNRESET etc.2.6.21.2.6.19Finalize Opportunity is added.Request Opportunity Review is added.Create Objects action. In particular Opportunity. Opportunity Item and Lead.Update Object action: Opportunity, Opportunity Item, Company amd Lead.Update Object (Company object type) and Lookup Objects (Company object type).As a part of the annual component code audit for a possibility of sensitive data exposing we checked and updated the following component codes and the dependencies: