Release Notes

June 19, 2023 · Control Room, Workforce Agent

Second generation of Robocorp-hosted Cloud Workers

CLOUD WORKERS - ACTION REQUIRED

We are announcing three significant changes to the Robocorp-hosted Cloud Workers:

  1. Modernization of the Linux distribution from Ubuntu 18.04 to Debian 12.0 "bookworm".

  2. Predictable performance via specified resource quotas.

  3. Update process that enables testing upcoming container versions beforehand and reverting to a previous version in case of problems.

These changes do not affect any previously deployed robots (yet), but we recommend migrating to the new Debian-based container to stay up to date with security updates.

If no action is taken, step configurations will be migrated automatically starting January 1, 2024.

OK, WHAT SHOULD I DO?

👉 Update your step configurations to use "Cloud Worker" instead of "Cloud Worker (Ubuntu 18.04 legacy)"

👉 Test that the robot still runs as expected.

We expect the overwhelming majority of robots to just work without any modifications.

BACKGROUND & DETAILS

Since their launch in 2019, the Robocorp-hosted Cloud Workers have been powered by Ubuntu 18.04 as the underlying distribution. It has proven to be a stable foundation for many popular use cases such as Browser and API automation. However, as of June 2023, Ubuntu 18.04 has reached the end of the standard maintenance window and it is time to move on. Unfortunately starting with Ubuntu 20.04, Chromium is distributed as a Snap package, which does not play nice with containers. Therefore we decided to upgrade to Debian instead.

Unpredictable performance was a common pain point with the first generation of Robocorp-hosted containers. The containers were historically run with a relatively small amount of guaranteed resources (1/4 vCPU, 256 MB RAM, 20 GB disk), but any excess capacity on the underlying cluster was made available to the containers. This resulted in great performance most of the time, but in the case of load spikes, the performance could drop significantly. The Debian-based containers are run with hard resource quotas of 1 vCPU, 3.5 GB RAM and 20 GB disk. In practical terms, the performance is always the same, regardless of total resource utilization.

Finally, we used to have just one version of the Cloud Worker available. It was not possible to 1) test upcoming versions in advance or 2) selectively revert back to a previous version in case of issues. For the 2nd generation of Cloud Workers we are offering three variants. The "early access" version is the bleeding edge, which can change anytime. Once deemed stable, some versions will be selectively promoted to the default version after a 2-week notice period. Customers interested in ensuring maximum stability have two weeks to test the upcoming release. Finally, the "previous" version points to the version that was previously the default, meaning it is possible to effectively roll back in case something breaks.

To summarize, the following changes are live as of today:

  1. The Ubuntu-based Cloud Worker has been renamed as "Cloud Worker (Ubuntu 18.04 legacy)" to indicate the EOL status.

  2. Three new Cloud Worker options have been added. See the docs page for a description: https://robocorp.com/docs/control-room/unattended/worker-setups/robocorp-container#different-cloud-worker-versions

  3. New steps are assigned to the Debian-based, current container version by default.

  4. The legacy Ubuntu-based container continues to run with a soft resource quota. The new Debian container runs with a (significantly increased) hard quota.

KNOWN ISSUES

Currently, if a step run gets terminated due to exceeding the memory or disk quota, the run fails with a "Connection loss" error. We are working on adding better error reporting.

June 16, 2023 · Control Room, Developer Tools, Setup Utility, Workforce Agent

Setup Utility: Managing your Desktop Workers just got easier 🎉

👉 You can now manage your Windows Workers just by logging in as the server's admin and using Setup Utility.

Setup Utility lets you see which ones are busy, CPU loads, versions, jump to the correct Worker in Control Room, etc. Setup Utility also now handles the permission setting so that you can directly create Workers on user accounts without admin permissions.

Navigating Setup Utility from the home menu into Windows Workers list, then into a worker's real-time diagnostic details page

The service-helper CLI tool is still there, and Setup Utility is using it, so the CLI support needed by IT departments using fleet management systems is going nowhere.

👉 The update path is to update your existing Workers to v6.31.1 using the service-helper so that Setup Utility can see them. After that, you can do everything in Setup Utility. You can find the documentation on Setup Utility in our docs

There is also support for Demo Worker, which is designed to replace the Robocorp Workforce Agent UI application. So if you need to demonstrate robot runs on your machine, this is the place for you.

This was one of the “this should be simple” features that turned out to be a bit bigger thing 😉, so big props to Kosmo & Matti from my team!

I'd also want to thank a few enterprise customers and their IT departments, but I do not know if I can ping their names, so I'll just give an anonymous thank you here. 🙏

June 14, 2023 · Control Room

Process run termination updates

We are excited to announce a few updates to the process run termination in the Control Room, which will give you more control over how process runs are stopped and what happens to the work items in them.

Previously, when "Terminate ongoing step runs instantly" was selected, it also marked all work items as "Done", which prevented retrying the items after the underlying issue was solved. This was inconvenient in many use cases, so we are now introducing new toggles which you can use to define the logic in a more granular level. Also, many users were not aware of the different ways we provide to end ongoing runs, so we have clarified the options in the UI.

Confirmation dialog with toggle to terminate step runs instantly and dropdown to mark pending items as Failed, before Stop Run

When you click "Stop Run" button in the process run table or inside the process run view, you will get a confirmation dialog with two options.

The first one lets you control the way the step runs are stopped:

  • By selecting "Terminate ongoing step runs instantly," all the step runs are given a terminate signal which will instantly end all processing
  • By not selecting, all the step runs will finish the work item they are processing and shut down gracefully afterward

The second one controls the behavior of the "Pending" work items which are still to be processed:

  • By selecting "Failed" the work items are marked as "Failed" with an exception and can be retried, and the process run will be marked as "Unresolved"
  • By selecting "Done" the work items are marked as "Done", and the process run will be marked as "Complete"

For more information about the feature, please see the updated documentation page.

As always, we are excited to hear what you think about the update, so please feel free to contact us in Slack if you have any feedback!

June 12, 2023 · Control Room, Workforce Agent

Worker v6.31.1

Workforce Agent Core v6.31.1

Changes to the Workforce Agent Core:

  • Cleanup temporary video files once they have been processed to save diskspace

  • Fixed video streaming issues

  • Fix an issue where on terminate command failure the desktop video streamer would keep running when worker is in error state

  • Fix logging issue with video streamer when delete file event is handled

  • Added a status files for agent-core instances to common location for Robocorp Setup Utility tool

  • Status file for agent containing all relevant information from device and Control Room

  • Added the status command that reads from the Status file and prints information to the user

  • Added new handlers for exit situations

  • A new way to handle a graceful shutdown with listeners for standard I/O

  • Update dependencies

You can find the detailed changelog for Workforce Agent Core here.

June 9, 2023 · RPA Framework

🎉 RPA Framework 23.3.0

Jun 2023

  • Library RPA.MSGraph (#980):

  • Lock O365 dependency to a version less than 2.0.27 for compatibility with Python 3.7

  • Security update: Bumps cryptography to version 41.0.1. (#979)

  • Library RPA.JavaAccessBridge:

  • Update java-access-bridge-wrapper to version 0.12.0

Supporting repository for RPA.JavaAccessBridge is upcoming on Monday.

June 5, 2023 · AI Agents, RPA Framework

RPA.OpenAI got an Azure support (1.2.0)

Microsoft offers Open AI service from Azure, and now it's easy to use them with Robocorp, too!

This is an appealing alternative, especially for enterprise customers. Using Azure OpenAI, customers get the security capabilities of Microsoft Azure while running the same models as OpenAI. Azure OpenAI offers private networking, regional availability, and responsible AI content filtering. Please note that you must request and set up the Azure Open AI Service yourself before using it from your bots.

The new capabilities are available in the rpaframework-openai package from version 1.2.0 onwards, and by including the RPA.OpenAI library.

Usage is straightforward and follows the same pattern as previously with the Open AI API. Simply authenticate first:

Authorize To Azure Openai ... api_key=${secrets}[api_key] ... api_base=${secrets}[api_base]

Then off you go with the prompts, just like before.

${response} @{conversation}= Chat Completion Create ... user_content=What is the biggest mammal? ... conversation=${conversation} ... model=${secrets}[deployment_name]

Have fun LLMing!

Robot Framework code editor authenticating to Azure OpenAI and creating a chat completion, with a mascot holding an Azure flag

June 2, 2023 · RPA Framework, Portal

🎉 RPA Framework 23.2.0

  • Library RPA.Browser.* (#974):

  • Selenium:

  • Fix bug with detecting the right web-driver version for download on systems having Chromium installed instead of Chrome. (#949)

  • Add support for operating on shadow DOMs within the Get WebElement keyword. (#941)

  • Playwright:

  • Upgrade version and documentation to the latest robotframework-browser 16.2.0. (#942)

  • Automatic headless detection when running on systems without UI, including our Cloud Worker (Linux container). (#166)

June 1, 2023 · Control Room

Process webhooks and conditional step start

We're thrilled to add two new features to the unattended automation, helping you to integrate and control the execution flow of processes in new ways:

  • Process scoped webhooks

  • Conditional process step start

Process Scoped Webhooks

Previously all webhooks were on the Workspace level, leading to unwanted events and a need to filter them at the integration in some use cases. Solution: Process Scoped Webhooks! You can now receive webhook invocations for chosen process runs instead of polling the APIs for status updates and work item data. This feature is designed to be simple, efficient, and scalable to meet the integration needs with various systems like dashboards, other workflow automation tools and BPM tools.

API Key and Webhook management user interfaces got an overhaul in the process. These now have filtering and sorting and let you send test events to ensure the integrations are working properly.

Last but not least, we have added an event log for Webhooks, where you can see the invocations and results, including errors and error codes, to help troubleshoot any problems that might arise during use.

Please see our updated Webhooks documentation to learn more about the feature.

Conditional step start

This new feature lets you control the execution condition of process steps - a much-wanted functionality! Look at the Mark in the below picture; that's where the magic happens. He is like a gatekeeper between the steps, exactly what this feature introduces.

Robot mascot walking along Step 1, Step 2, Step 3 work item blocks toward a completed checklist icon

With the "Start Only After" feature switched on, you can choose a step execution to start only after all work items from the previous steps have been processed. This will allow you to synchronise workloads in the process steps. A typical case is when you are concurrently processing high volumes of work items in the early parts of the process but need a consolidated step at the end to, for example, generate a report of all the results of a process run. Take a look at our new Producer-Consumer-Reporter template for an example.

You can switch on the "Start Only After" in the Configuration under each step (except the first of any process). For more information about the feature, please see our updated documentation.

As always, we would love to hear your feedback about the new features, so please don't hesitate to contact us if you have anything in mind!

May 19, 2023 · RPA Framework, Portal

🎉 RPA Framework 23.1.0

  • Library RPA.Browser.Selenium (#943):
  • New keyword Click Element When Clickable which tries to overcome errors like “Other element would receive the click”. (#884)
  • New keyword Set Element Attribute which sets an attribute value to an element retrievable with Get Element Attribute. (#762)
  • Setting a custom download directory is now supported by all Chromium-based browsers and Firefox. Use Set Download Directory before opening any browser instance in order to set such a custom path. (this should be working now in both headful and headless modes; #882)
  • Custom user profiles (and common configuration) can be used with all Chromium-based browsers, like Chrome, Edge. (#865)
  • Improved main library documentation, accepting both WebElement and str as locator types under our keywords as well. (#940, #939)
May 11, 2023 · Control Room, Developer Tools, VS Code Extension, Workforce Agent

Pre-build robot environments 🏗️

👉 Need to control or scan every file your automations use in production?

👉 Want to save time / protect developers from environment building?

We now have a solution for setting up environment pre-building inside your company network so that all robot runs and developer tools can get environments much faster.

The setup enables you to build the environments on dedicated machines and, if needed, scan the results before passing them on to your users.

The client machines only download missing files to get the environment which means drastic speed improvements over time as the environments share many of the same files.

Diagram of pre-built environment distribution flowing from Builder through RCC Remote to VS Code, Assistant, Worker, and Studio

🚀 The documentation covers the feature and setup, but if there are any questions, do not hesitate to ping us.

May 10, 2023 · Developer Tools, Portal, VS Code Extension

Robot templates update 🤖

Robot Templates coming via RCC and VS Code are now "renamed" a bit, and we have a simple landing page for templates to explain a bit more and have links to their Portal pages.

The highlight item is the new template Producer-Consumer Extended, which extends the Producer-Consumer template by showcasing a third step for reporting, examples for starting your own Python library, more extensive exception handling, etc.

The template list from RCC looks like this:

Templates: 1: Python - Minimal 2: Robot Framework - Assistant 3: Robot Framework - Extended 4: Robot Framework - Playwright 5: Robot Framework - Producer-Consumer 6: Robot Framework - Producer-Consumer Extended 7: Robot Framework - Standard

👉 Reminder that Robocorp Portal is full of open-source robots that can work as a jumping off point, so check it out.

May 5, 2023 · Control Room, Developer Tools

Robocorp Assistant 2.0.11

Robocorp Assistant 2.0.11

This update contains:

  • Now all the Error pages will show a "Submit issue" button; this will specially be helpful for users to submit an issue in case of linking errors
  • RCC updated to version 14.6.0

Kind reminder that Assistant v1 will be deprecated end of June 2023, we will push the automatic update, at which point the end-users still using version 1 will get a prompt to upgrade.

May 5, 2023 · RPA Framework

🎉 RPA Framework 23.0.0

  • Library RPA.Database (#944):

  • Improvements for keyword Call Stored Procedure

  • Fix keyword not returning results of the procedure

  • Add possibility of returning result as a RPA.Tables.Table by parameter as_table=True (default is True, ie. Table is returned)

  • Add possibility of returning multiple resultsets from a Call Stored Procedure by parameter multiple=True (default is False, ie. only one resultset is returned). Multiple results are then either a list of lists or a list of Tables.

  • Remove specific support for Python 2.* in this keyword

  • Library RPA.Email.Exchange (#948):

  • Add new keyword Send Reply Message

  • Add parameter items_only for keyword List Messages which returns internal Email objects (mainly for advanced usage)

  • Library RPA.Email.ImapSmtp:

  • Add keyword Convert EML file into message which reads EML message and returns headers, attachments and body (in text and HTML) format. (#948)

  • Add parameters in_reply_to and return_path to keyword Send Message. (#948)

  • Make the recipients optional. It is still mandatory to give one of the following parameters recipients, cc or bcc. (#930)

  • Library RPA.FTP (#938): Add socket support for TLS connections.

  • Library RPA.JavaAccessBridge (#947):

  • Add new keyword List Java Windows

  • Add new keyword Select Window By PID

  • Add new keyword Select Window By Title

  • Keyword Select Window is deprecated in favor of the 2 Select.. keywords mentioned above. Direct replacement for this keyword is Select Window By Title. This keyword will be removed during next major release involving RPA.JavaAccessBridge library.

  • Update library documentation to contain information about autoexit init parameter

  • RPA.Excel.Application

  • RPA.Outlook.Application

  • Library RPA.Word.Application (#945): Add autoexit init parameter (on default True as it is for similar libraries). This is a breaking change.

May 2, 2023 · RPA Framework

🎉 RPA Framework 22.5.3

  • Security update: Bumps cryptography to version 40. (fixes the limitation of not being able to use the latest rpaframework-pdf in some scenarios; #926)
April 26, 2023 · Control Room, Workforce Agent

Worker v6.28.1

Workforce Agent Core v6.28.1 / Workforce Agent UI v1.2.88.

Changes to the Workforce Agent Core:

  • Upgrade RCC to v13.12.0
  • Add support for streaming the desktop video to local path
  • Improved desktop streamer logging and error handling
  • Fix an issue where worker was not sending the run IDs in the state update message to Control Room
  • Send worker configuration to Control Room when connection is established
  • Update dependencies

A good thing to understand about Workforce Agent is that no matter which execution option you are using; you are always running the Workforce Agent Core behind the scenes, and you can find the detailed changelog for Workforce Agent Core here.

April 25, 2023 · Control Room, Developer Tools, Setup Utility

Introducing: Robocorp Setup Utility 🎉

Robocorp Setup Utility is a new application we have developed to simplify the setup process inside companies that are using SSO, have stricter network access, or want to avoid command-line setups 😉

What is the tool for?

…and on the coming soon list are the Windows Desktop Worker Setups

Download the tool from: https://robocorp.com/download.

You can find guides and documentation on our docs site

April 20, 2023 · Control Room

Mandatory database update

We need to perform a mandatory database update on all of our production instances which can have minor impact on the system usage. This can show up as e.g. errors on UI or some API calls failing. This should not however impact any ongoing process runs which should automatically retry any failed orchestration operations etc. Runtime environments for robots runs are not directly impacted at all. Some robot operations like accessing the Vault can be interrupted.

We will be performing these operations on 3rd of May at 10:00-12:00 EEST. The actual update will be performed as a database failover which should be near instantaneous and we expect the impact of the operation to be extremely limited.

April 19, 2023 · Control Room, Developer Tools

Robocorp Assistant 2.0.8

Robocorp Assistant 2.0.8

This update contains:

  • RCC updated to version 13.12.0 now supports the ROBOCORP_HOME env variable to be a path that contains special characters like diacritics
  • Security updates for multiple 3rd party dependencies
  • Fixes that should support better the complex network proxy setups

We also released Robocorp Assistant 1.9.3 that contains important security updates as part of the maintenance for v1. This is a kind reminder that Assistant v1 is marked for deprecation.

We will publish security updates to Assistant v1 until the end of April 2023. End of June 2023, we will push the automatic update, at which point the end-users still using version 1 will get a prompt to upgrade.

April 13, 2023 · RPA Framework

🎉 RPA Framework 22.5.2

  • Library RPA.Browser.Selenium (#916):
  • Takes into use the latest Selenium (4.8.3 at the time of the release) and its logging fixes. (#883)
  • Fixes scheme ensuring bug during not provided URLs. (#586)
  • Fixes headless mode setting with newer browsers and enables more browser features when running in this mode. (#919)
  • Ensures keyword Screenshot works and logs messages as expected. (logs aren’t polluted with raw image data on levels equal or greater than INFO and it returns the final output image path; #920)
  • Takes into use the latest webdriver-manager fixes given rpaframework-core 11.0.1.
April 11, 2023 · Control Room

New UX & Process Outputs

We are excited to announce our new user experience for the Control Room, which is designed to provide users with a more natural, consistent, and efficient experience. In addition to looking modern, it will help users to stay on top of what is happening in their automated processes, simplifying common usage patterns and speeding up the troubleshooting of exceptions.

Control Room process page showing a step flow diagram, work item counts, and a run history table in light and dark themes

One of the main focus points of the redesign was the unattended automation views, which now visualize the processes giving users better visibility of the process structure and work items, including their processing status. With a few clicks, users are now able to get into the data they need and conveniently perform common actions like looking into the task log, terminating a process run, or retrying multiple failed work items.

Process Output Work Items

As a new feature, we have also introduced Process Outputs. These Output-state work items can be used to store data that is conceptually considered the output of the business process. To utilize them, all you need to do is to create work items from the robot in the last step of the process. They can be accessed via the UI and API in the same way as all other work items, and we will be adding more output-specific functionality in the future to help with e.g. integration use cases.

To go with the new user experience and added features, we have also updated our unattended automation documentation along with examples of how to conveniently use the system, which can be found on the documentation site.

As always, we at Robocorp would be excited to hear what you think of these changes, so feel free to contact us if you have anything in your mind!