New updates and improvements to Robomotion

All Announcements

Robomotion v1.18.10 is out!

We have another release for 1.18 that includes a major fix for a rare crash that leaves the robot in an unrecoverable state and OAuth2 support for Gmail and Outlook.

OAuth2 support is essential because Microsoft will be disabling Basic Authentication support effective October 1, 2022. More details about this update can be found here =>

Here is the Change log for this release:

⚡️ [Fixed] A crash that leaves the robot in an unrecoverable state. We have seen this in some of our projects and it is also reported by our users. This is not a bug introduced by the latest versions, it even existed before 1.18.8. The crash seems to be triggered by a race, so it was very hard to reproduce. We tried everything to reproduce but still could not able to. A common pattern for this crash was Flow stopping with an exception and Catch / Go to Nodes were seen before the crash. After the crash, you could not run any other flow. We fixed the problem which prevents running any other flows after a Stop, which is actually the after-effect of this crash. Thanks to @arif134 and @Mitchal for reporting this and for their feedback.

⚡️ [Fixed] Admin Console -> Flows hard coded 5 rows limit is fixed, default is now 25 and you can select other from the selection box.

⚡️ [Fixed] a bug in Flow Designer vault item property if the vault is given from a msg. object. After returning to the node property, it was seen as [Object object] in credentials.


⚡️ [Improved] Flow Designer Function node exceptions now also show the line number causing the problem.


⚡️ [Added] Mail -> Search Mail node a "Read Only" checkbox property. The default value is false. That means any mail returned for your search results will be marked as read. If you don't want this behavior, just check the "Read Only" checkbox. Marking Read was the default behavior before 1.18.9. 1.18.9 introduced a breaking change that we are now reverting back to with this better solution, leaving the default behavior the same as before and also providing an option to change.

⚡️ [Improved] 1.18.9 introduced a mustache-like option to create dynamic form JSON content with Forms -> Create Form But it was only accepting primitive types like strings or integers. Now it understands complex JSON objects. This is a mustache-like solution, not an exact one because mustache is for String interpolation and this is a JSON object we are replacing the values for. Either string, integer, or a complex JSON object you have to provide the field between double quotes as below:

Screenshot from 2022-09-11 13-16-53

⚡️ [Fixed] Mail -> Save Attachment was failing if the mail it was processing was marked as "unread". The node was throwing a "Server did not return mail body" exception. The next time you run the flow, the email was being processed without a problem. This was not discovered before because the default behavior of "Search Mail" was marking the mail as unread. When 1.18.9 changed that, this bug surfaced. Save Attachment is mostly used after Search Mail or Get Mail. It is now fixed.

⚡️ [Added] $RobotVersion$ global variable. Now you can get your robot version from your flow as below:

Screenshot from 2022-09-11 13-24-46

⚡️ [Added] Mail -> Connect and Mail -> Disconnect nodes are added to the default Mail package. Now you can connect to the mail server and use this connection for the mail nodes with msg.client_id. All the nodes were previously connecting to and disconnecting from the server before and after execution. If msg.client_id is empty the nodes behave as before and expect their own Credential property to be provided. If the node's own Credential Property is provided it also overrides msg.client_id if not empty. One exception is Send Mail, it still reconnects and disconnects for every request even msg.client_id is provided.

⚡️ [Added] Mail nodes now support OAuth2 authentication for Gmail and Outlook. You have to use the Mail -> Connect node for this. Provide the usual Email Server Credentials from your Vault, select the "OAuth2 Authentication" type instead of "Basic Authentication" and provide another Document Type Vault Credential that should hold your OAuth2 client_id and client_secret as below:

Screenshot from 2022-09-11 13-33-52

You can find documentation for Gmail and Outlook by searching OAuth2 Authentication, client_id, and client_secret.

⚡️ [Fixed] Net -> Http In node's Global Port variable input. It was not accepting the values given by the Global Variables. In order for this to work, you need to delete the old Http In node in your flow and drag and drop a new node from the left Node Palette or with the right-click context menu. The problem was old node's Port type was String which should actually be an Integer.

Screenshot from 2022-09-11 16-46-12