Release Notes

July 25, 2023 · RPA Framework, Portal

🎉 RPA Framework 24.1.0

  • Library RPA.Browser.Selenium (#1021; rpaframework-core 11.0.4):

  • Correctly handles and downloads a valid existing webdriver version when there’s a need for one.

  • Ability to provide a default browser binary location with the RPA_SELENIUM_BINARY_LOCATION environment variable. (useful when the webdriver isn’t able to automatically detect and start your system browser)

  • Portal example taking these into use: here

  • Library RPA.Browser.Playwright: Renders documentation for robotframework-browser==17.1.0.

July 18, 2023 · Control Room, RPA Framework

🎉 RPA Framework 24.0.0

  • Library RPA.Robocorp.Storage: Takes into use robocorp-storage 0.3.1 and replaces the limited generic keywords with the ones below. (#1016)
  • Set Bytes Asset & Get Bytes Asset
  • Set Text Asset & Get Text Asset
  • Set JSON Asset & Get JSON Asset
  • Set File Asset & Get File Asset

⚠️ Breaking changes: Old Set Asset & Get Asset keywords are gone, please replace them with one of the pairs above.

24.0.0 - 18 Jul 2023

Other noticeable past releases

23.5.2 - 29 Jun 2023

  • Library RPA.Robocorp.Storage: Add support for using Assets in VSCode

23.5.1 - 28 Jun 2023

  • Library RPA.JavaAccessBridge:
  • Update and pin java-access-bridge-wrapper to version 0.14.1

23.5.0 - 27 Jun 2023

  • Library RPA.JavaAccessBridge:
  • Update java-access-bridge-wrapper to version 0.13.0
  • Add keyword Print Locator Tree

23.4.0 - 22 Jun 2023

  • Add new library RPA.Robocorp.Storage for managing assets within Asset Storage in Control Room. (#957)
July 10, 2023 · Control Room, RPA Framework

🎉 RPA Framework 23.4.0

  • Add new library RPA.Robocorp.Storage for managing assets within Asset Storage in Control Room. (#957)
June 29, 2023 · Control Room, Developer Tools, RPA Framework

Introducing Workspace Assets

Today we are releasing Asset Storage for your bots! It’s a highly convenient way to persistently store data and configurations you might need when setting up or operating your attended or unattended automations.

The Asset Storage stores data on a workspace scope and can be used either via UI, API, or with Keywords directly from the Robots, and supports different data types, e.g., Text, JSON, and Files.

There are endless use cases in which the feature can be helpful; your imagination is the limit! Here are some examples we have heard from our users:

  • Managing configuration data across automations in a centralized way instead of multiple environment variables in process steps (e.g. e-mail lists used by the robots)

  • Sharing common input data across multiple processes (e.g. Excel sheet that multiple robots process different parts from)

  • Storing user-facing reports that are updated by multiple processes (e.g. Excel sheet that is updated by multiple different processes)

  • Storing process operational data that the work items are not suitable for due to their transactional nature

  • Storing non-process items, like development guides, documentation, and company practices

  • Storing LLM prompt templates to be used by the robots with large language models, allowing the iteration of prompts without deploying the bot

The Asset Storage is designed for non-sensitive data that needs to persist beyond a single process or assistant run, and the Vault should be used to store sensitive data like credentials instead.

How to use

Control Room UI: Asset Storage is enabled by default, and you can access it from the navigation by selecting "Assets" in the menu. In the Assets view, you can create new assets or modify the content of old assets.

API: Assets can be used with the workspace API; please see the available actions from the API documentation under "Asset Storage".

Keywords: To utilize Assets from robots, we have created simple-to-use keywords for convenient workflows. Please see the library documentation.

List All Assets @{assets} = List Assets Store And Read Asset Set Asset example_name example_data ${value} = Get Asset example_name

For the full description of the feature, please see the documentation page. As always, we at Robocorp would be most excited to hear your thoughts and feedback about the features, and if you have interesting use cases in mind, please share them with us!

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)

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 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 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 7, 2023 · RPA Framework

🎉 RPA Framework 22.5.1

  • Library RPA.Windows (rpaframework-windows 7.3.2; #913):

  • Keywords [Double|Right|Middle ]Click will raise ActionNotPossible if the element is not visible during clicking. (thus clicking wouldn’t happen at all)

  • Main library and various keywords documentation fixes.

  • Library RPA.PDF (rpaframework-pdf 7.1.5) (#914): Fix “TypeError: cannot pickle ‘dict_keys’ object” bug with the HTML To PDF keyword.

Note

This rpaframework version requires at least the following library versions (if you have such dependencies already listed in your conda.yaml), although we recommend upgrading to the latest found in PyPI:

  • rpaframework-assistant 2.2.1
  • rpaframework-aws 5.2.8
  • rpaframework-dialogs 4.0.4 (deprecated)
  • rpaframework-google 7.0.2
  • rpaframework-pdf 7.1.4
  • rpaframework-recognition 5.1.2
  • rpaframework-windows 7.3.0
April 6, 2023 · Developer Tools, RPA Framework, Portal

🎉 RPA Framework 22.5.0

  • Library RPA.Windows (rpaframework-windows 7.3.0; #912):
  • Our Windows elements recorder (windows-recorder) supports path: strategy display when run with verbosity on. (-v flag)
  • Keyword Print Tree now displays the path: strategy locator alongside printed controls and flattened-by-level returned elements.
  • Keyword Set Value supports value validation customization through the validator parameter.

Check our visually detailed Portal example in order to learn more about element paths and how to use the recorder: this Portal example

April 4, 2023 · Developer Tools, RPA Framework

RPA.Assistant 2.2.0

RPA.Assistant (rpaframework-assistant) 2.2.0:

New features:

  • Add Text Input now supports Robot Framework validation keywords
  • Add Text Input now supports minimum and maximum rows to enable multiline inputs
  • Improve how validation errors are displayed. They display beside the input field now, instead of bottom of the dialog.
  • Fix checkbox values being strings "true" and "false" instead of booleans.
March 29, 2023 · RPA Framework

🎉 rpaframework 22.4.0

  • Library RPA.Excel.Files

  • Made require_open_xlsx_workbook, a method that was accidentally exposed publicly, private again.

  • Library RPA.JavaAccessBridge (#908):

  • Fixes related to keyword Select Window

  • Update to the latest java-access-bridge-wrapper 0.9.7

  • Add additional system window verification before using jab.switch_window_by_title

  • Library RPA.Database (#899):

  • Add support for parameterised sql queries

  • Library RPA.PDF (rpaframework-pdf 7.1.3) (#909): Add documentation about PDF merge and split.

March 23, 2023 · RPA Framework

🎉 rpaframework 22.3.0

  • New library RPA.Smartsheet (#880):
  • Supports getting, creating and updating Smartsheet sheets, as well as downloading attachments.
  • Read library documentation for a full list of keywords.
March 15, 2023 · RPA Framework

🎉 rpaframework 22.2.3

  • Library RPA.PDF (rpaframework-pdf 7.1.2): Light documentation fix and preserved default behaviour with the boxes_flow parameter in the Set Convert Settings keyword. (defaults to 0.5)
March 14, 2023 · Developer Tools, RPA Framework

RPA.Assistant v2.1.2

RPA.Assistant (rpaframework-assistant ) 2.1.2:

Bugfixes:

  • Fix File picker sometimes causing AssertionError: Control must be added to the page first
  • Fix Add Next Ui Button callback getting a normal dict instead of a DotDict.
March 13, 2023 · RPA Framework

🎉 rpaframework 22.2.2

  • Library RPA.Browser.Selenium (#859):
  • Fixes Set Download Directory keyword: functionality, docs, examples.
  • Improves Browser Locators functionality. (referenced by alias:)
March 9, 2023 · RPA Framework

🎉 rpaframework 22.2.1

  • New library RPA.Calendar (#694):

  • Supports holiday and business day related calculations.

  • Read library documentation for a full list of keywords.

  • Library RPA.Database:

  • Changes how psycopg2 module handles the Call Stored Procedure keyword.

  • Sets the autocommit parameter when using the Connect To Database keyword with the psycopg2 module.

  • Removes INFO level logs from Connect To Database keyword. (privacy)

  • Library RPA.Outlook.Application (#878):

  • Adds possibility to set CC and BCC recipients with Send Email and Send Message keywords.