Release Notes
Robocorp 3.1.3 and robocorp-log 3.1.4
Python 3.14 support
robocorp-log crashed on Python 3.14 before any task code executed (#485, fixed in #486):
ast.Str was deprecated in Python 3.8, began emitting a DeprecationWarning in 3.12, and was removed entirely in 3.14. robocorp-log still used it in the AST rewriter that adds the automatic logging callbacks, so the crash happened while the import hook was rewriting an ordinary standard-library import during logger setup — before your tasks were even collected. There was no way to work around it from automation code; the only option was to stay on Python 3.13 or earlier.
The rewriter now uses ast.Constant, which has been the correct representation for a literal since Python 3.8. This also clears the related deprecation warnings on Python 3.12 and 3.13.
If you pinned your environment to an older Python because of this, you can now move to 3.14:
Upgrading
robocorp 3.1.3 pulls in the fixed robocorp-log automatically, so installing the meta package is enough:
If you depend on robocorp-log directly, upgrade it to 3.1.4.
Released packages
- package
robocorp3.1.3 (meta package) - package
robocorp-log3.1.4
Robocorp 3.1.2 and robocorp-log 3.1.3
Control Room API request timeout
robocorp-vault, robocorp-workitems and robocorp-storage now apply a default 60-second request timeout to Control Room API calls (#484).
Previously these calls were made without an explicit timeout, so requests would wait indefinitely for a response. A stalled connection — one dropped by a proxy or load balancer, for instance — hung the run forever instead of raising and letting the existing retry logic take over. With a timeout in place the request fails, retries, and the task can make progress.
The value is configurable through the RC_API_REQUEST_TIMEOUT environment variable. Set it in your run environment (the env section of robot.yaml, or a Control Room environment variable) — that is the normal place for it.
It is read once when the module is imported, so if you do set it from Python it has to happen before the import:
Robocorp Log
robocorp-log 3.1.3 fixes 13 npm security vulnerabilities in the React application that renders the log output (#473), affecting dompurify, vite, lodash, flatted, picomatch, postcss, brace-expansion and tmp.
dompurifybumped to ^3.4.0 andviteto ^6.4.2- npm overrides added to pull in fixed versions of transitive dependencies
- The embedded React output view was rebuilt, so
log.htmlfiles produced by this version carry the fixed bundle
Robocorp Windows
robocorp-windows 1.1.2 fixes wait_for_condition() ignoring the caller-supplied timeout and always waiting 8 seconds (#480). This release shipped slightly ahead of the rest of the batch, on 24 July 2026.
Released packages
- package
robocorp3.1.2 (meta package) - package
robocorp-log3.1.3 - package
robocorp-workitems1.5.1 - package
robocorp-vault1.4.1 - package
robocorp-storage1.1.1 - package
robocorp-windows1.1.2
Robocorp Log 2.7.0
The following improvements are now available in Robocorp Log 2.7.0:
-
ifstatements now create a scope inlog.html(when the function is not a generator). -
If an exception has a cause or context the context/cause is now shown in the log (i.e.: when an exception is raised from another exception or is raised while handling another exception all exceptions are shown).
-
continueandbreakinside a loop are properly handled. -
continueandbreakare now shown in the logs. -
It's now possible to expand / collapse recursively in
log.html. -
log.html: When navigating using left arrow, if the element is already collapsed the parent is focused. -
Spec version changed from
0.0.3to0.0.4. -
re.Patternis now accepted atadd_sensitive_variable_name_pattern.
Updates on Robocorp Code and robocorp-log
Updates on Robocorp Code
- The logging from
robocorp.tasks/robocorp.logis now integrated directly into VSCode (ROBO TASKS OUTPUTview). - Note: Requires
robocorp.tasks 2.1.2,robocorp.log 2.3.0andRobocorp Code 1.7.0. - Elements which have a location can now be clicked to open the related file directly inside of VSCode.
- The terminal view can now also show entries logged from
robocorp.log debug|warn|info|criticaland not just stdout/stderr.
Other noteworthy changes in Robocorp Code:
-
Fixed issues in
Run Task/Debug Taskcode lenses (launchingrobocorp.tasks): -
Robot environment properly used when robot is available.
-
The input work item is properly selected when available.
-
If multiple entry points in the same file were available the selected one will be run.
-
If a
robot.yamlhaspreRunScriptsthey'll be run prior to launching.
Noteworthy changes in robocorp.log:
-
Added
robocorp.log.debug(so, there's one more level available to log messages). -
It's possible to filter log levels by using
setup_log(log_level='debug|info|warn|critical')(so that log levels filtered out won't even be added to thelog.html). -
It's possible to also redirect to
sys.stdoutorsys.stderrthe messages added with log.debug, log.info, log.warn and log.critical by usingsetup_log(output_log_level='debug|info|warn|critical')along withsetup_log(output_stream={'debug': 'stderr'})(note that the current default is just redirectingcriticalcalls tostderr).
Introducing the new era of Python automations
We're excited to announce our new automation framework for Python automations – simply called robocorp. The release brings the experience of developing Python automations on par with Robot Framework on our platform.
The project templates in our VS Code extension have been updated to use the new framework and leverage its capabilities.
Check out our blog post for in-depth story about the new features, or view and read the summary below.
Features
- New
@taskDecorator: Any method decorated with@taskbecomes runnable, and can thus be scheduled or otherwise managed as a part of a Process or Assistant in Control Room. - Visual and Autogenerated Logs: We've brought the loved logging features from Robot Framework to Python, all without you having to write a single line of code. Furthermore, you can now control the logging with ease, suspending logs for sections dealing with sensitive data in several different ways.
- New Robocorp Automation Libraries: While our rpaframework libraries are based on Python, we wanted to enhance the developer experience for those choosing to work on Python exclusively. The new robocorp automation libraries roll out focusing on common automation tasks (Excel, browser, APIs) and interacting with Robocorp Control Room (such as Vault, Asset Storage, Work Items).
- New Python Templates in VS Code and Portal: Easiest way to start using these new capabilities is through the new Python templates in VS Code. They are already available, for example have a look at Playwright Browser automation template.