# 7.6.3 (date: 06.02.2023)

- Better error handling when fetching CA certificates from system store

# 7.6.2 (date: 10.01.2023)

- When the "use desktop" option is enabled from Control Room, create a proxy executor only when the worker is running with "--service" CLI argument
  - By default a service created with Service Helper "setup-desktop" command will set the worker to run with this argument

# 7.6.1 (date: 05.01.2023)

- Ignore native-certs module load failure in Windows evaluation versions
  - If the module is not loaded the support for loading CA certificates from system store is disabled

# 7.6.0 (date: 14.12.2023)

- Download RDCMan client config from assets if the option to use desktop is configured and asset with name: RDCMAN_CLIENT_CONFIG is found

# 7.5.4 (date: 13.12.2023)

- Close the FreeRDP client gracefully to make sure the full logs are received

# 7.5.3 (date: 12.12.2023)

- Improve RDP connection error messages

# 7.5.2 (date: 08.12.2023)

- Upgrade dependencies

# 7.5.1 (date: 08.12.2023)

- Upgrade dependencies

# 7.5.0 (date: 04.12.2023)

- Use RDCMan as RDP client automatically if config file is found from path: %LOCALAPPDATA%\robocorp\workforce-agent-core-service\rdcman-config.rdg
- Remove the RC_WORKER_RDP_CLIENT environment variable requirement
  - The config is the only requirement, either from default location or from the path set to environment variable: RC_WORKER_RDCMAN_CONFIG_PATH

# 7.4.1 (date: 30.11.2023)

- Upgrade RCC to v17.12.0

# 7.4.0 (date: 30.11.2023)

- Added an option to use RDCMan as the RDP client
  - Set environment variable "RC_WORKER_RDP_CLIENT" to value "RDCMAN"
  - Set environment variable "RC_WORKER_RDCMAN_CONFIG_PATH" to point to the RDCMan config file path
  - If config file path is not set the worker will try to use server with name: 127.0.0.2 by default

# 7.3.1 (date: 24.11.2023)

- Fix an issue where a slow environment resulted to a backlog of desktop stream files to be sent long after execution had finished

# 7.3.0 (date: 21.11.2023)

- Websocket https agent to get CA certificates from the system certificate store

# 7.2.3 (date: 21.11.2023)

- Upgrade RCC to v17.10.0

# 7.2.2 (date: 21.11.2023)

- Update dependencies

# 7.2.1 (date: 17.11.2023)

- Update dependencies

# 7.2.0 (date: 17.11.2023)

- When doing requests get CA certificates from the system certificate store

# 7.1.7 (date: 02.11.2023)

- Pin chromium version in container and add lsb-release package

# 7.1.6 (date: 17.10.2023)

- Upgrade RCC to 17.3.0

# 7.1.5 (date: 29.09.2023)

- Add unique ID field to state update message and the optional error object inside the message

# 7.1.4 (date: 22.09.2023)

- Add timezone offset to the state message error timestamp

# 7.1.3 (date: 22.09.2023)

- Upgrade RCC to v16.5.0

# 7.1.2 (date: 22.09.2023)

- Update dependencies

# 7.1.1 (date: 21.09.2023)

- Upgrade dependencies

# 7.1.0 (date: 21.09.2023)

- Use Node v18 (latest LTS) to build executable

# 7.0.4 (date: 15.09.2023)

- Upgrade RCC to v16.2.2

# 7.0.3 (date: 15.09.2023)

- Add better error message when user requests video streaming but worker configuration has video streaming disabled

# 7.0.2 (date: 15.09.2023)

- Add local timezone offset to the ISO8601 time string in the log event messages detectedAt field

# 7.0.1 (date: 15.09.2023)

- Make sure all messages are flushed when the proxy executor is finished

# 7.0.0 (date: 14.09.2023)

- Always send the console messages via the proxy connector instead directly from the executor
- Simplify the interface between proxy and the executor
- Make the console.txt a DEBUG level log

NOTE: The major version upgrade was done due to the changes to the interface between the proxy and the executor. This should not require any actions from the user as both the service and executor uses the same executable when setup is done via Robocorp Service Helper or Robocorp Setup Utility.

# 6.35.4 (date: 12.09.2023)

- Run quick RCC diagnostics when starting worker

# 6.35.3 (date: 12.09.2023)

- Upgrade RCC to v16.2.1

# 6.35.2 (date: 12.09.2023)

- Fix issue where too large first artifact blocks sending the rest of the artifacts

# 6.35.1 (date: 06.09.2023)

- Upgrade RCC to v16.1.2

# 6.35.0 (date: 31.08.2023)

- Support RCC environmentConfigs setting when sending environment configuration file to the Control Room

# 6.34.7 (date: 18.08.2023)

- Fix issue where extracted RCC executable was sometimes locked for the next call

# 6.34.6 (date: 17.08.2023)

- Upgrade RCC to v14.15.4

# 6.34.5 (date: 17.08.2023)

- Log improvements

# 6.34.4 (date: 15.08.2023)

- Upgrade RCC to v14.15.3

# 6.34.3 (date: 10.08.2023)

- Upgrade RCC to v14.15.2

# 6.34.2 (date: 10.08.2023)

- Upgrade RCC to v14.15.1

# 6.34.1 (date: 08.08.2023)

- Upgrade RCC to v14.15.0

# 6.34.0 (date: 08.08.2023)

- Bundle RCC into the Worker executable and extract it during runtime

# 6.33.2 (date: 03.08.2023)

- Update dependencies

# 6.33.1 (date: 03.08.2023)

- Update dependencies

# 6.33.0 (date: 03.08.2023)

- Add more information to the artifact upload end event

# 6.32.2 (date: 03.07.2023)

- Fix an issue where keyboard interrupt or SIGING would exit the application with exit code zero

# 6.32.1 (date: 30.06.2023)

- Close the executor worker when connection to the proxy executor is lost

# 6.32.0 (date: 27.06.2023)

- Send stop command to remote executor when no signout config is enabled

# 6.31.1 (date: 09.06.2023)

- Upgrade dependencies

# 6.31.0 (date: 07.06.2023)

- Added 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
- Added a new way to handle a graceful shutdown with listeners for standard I/O

# 6.30.0 (date: 04.05.2023)

- Create index file of linked workers

# 6.29.2 (date: 04.05.2023)

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

# 6.29.1 (date: 04.05.2023)

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

# 6.29.0 (date: 27.04.2023)

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

# 6.28.1 (date: 25.04.2023)

- Fix an issue where worker was not sending the run IDs in the state update message to Control Room

# 6.28.0 (date: 24.04.2023)

- Send worker configuration to Control Room when connection is established

# 6.27.0 (date: 18.04.2023)

- Add support for streaming the desktop video to local path

# 6.26.16 (date: 18.04.2023)

- Upgrade RCC to v13.12.0

# 6.26.15 (date: 18.04.2023)

- Update dependencies

# 6.26.14 (date: 14.04.2023)

- Remove excessive logging from video streamer

# 6.26.13 (date: 13.04.2023)

- Add better error handling for closing video streamer

# 6.26.12 (date: 03.04.2023)

- Validate API call response handling

# 6.26.11 (date: 30.3.2023)

- Validate link post data response from Control Room

# 6.26.10 (date: 28.3.2023)

- Revert move to node 18 LTS as ubuntu 18.04 LTS does not support it

# 6.26.9 (date: 27.3.2023)

- Fix an issue where artifact upload failure raised an incorrect error message

# 6.26.8 (date: 20.3.2023)

- Move to node 18 LTS

# 6.26.7 (date: 17.3.2023)

- Refactor alias handling

# 6.26.6 (date: 16.3.2023)

- Upgrade RCC to v13.9.2

# 6.26.5 (date: 15.3.2023)

- Update dependencies

# 6.26.4 (date: 14.3.2023)

- Make sure the stream file upload is using RCC profile network options

# 6.26.3 (date: 13.3.2023)

- Update the packager to latest version

# 6.26.2 (date: 10.3.2023)

- Move from axios to node-fetch

# 6.26.1 (date: 2.3.2023)

- Fix issue where large artifact upload failed with maxBodyLength error

# 6.26.0 (date: 28.2.2023)

- Add extended image packages into the base image (libreoffice, wkhtmltopdf, unoconv)

# 6.25.18 (date: 24.2.2023)

- Upgrade RCC to v13.6.3

# 6.25.17 (date: 23.2.2023)

- For new websocket major version force the message type to be a string as all downstream handlers expect it

# 6.25.16 (date: 22.2.2023)

- Refactor the websocket connector

# 6.25.15 (date: 22.2.2023)

- Fix an issue when whole metrics value was not set correctly when sending metrics

# 6.25.14 (date: 21.2.2023)

- Use decoded credentials for the websocket and axios https agent authentication

# 6.25.13 (date: 20.2.2023)

- Use RCC profile proxy authentication in https agent for websocket and REST API

# 6.25.12 (date: 17.2.2023)

- Catch package download failure correctly

# 6.25.11 (date: 17.2.2023)

- Fix an application packaging issue

# 6.25.10 (date: 16.2.2023)

- Fix an issue where artifact uploader was not using RCC profile network settings

# 6.25.9 (date: 16.2.2023)

- Update dependencies

# 6.25.8 (date: 14.2.2023)

- Build pipeline refactoring

# 6.25.7 (date: 17.1.2023)

- Update RCC to v13.0.0

# 6.25.6 (date: 16.1.2023)

- Update RCC to v12.3.1

# 6.25.5 (date: 16.1.2023)

- Update RCC to v12.3.0

# 6.25.4 (date: 16.1.2023)

- Update dependencies

# 6.25.3 (date: 16.1.2023)

- Use RCC to unwrap the downloaded bundle from Control Room

# 6.25.2 (date: 13.1.2023)

- File downloads use network settings from RCC profile

# 6.25.1 (date: 9.1.2023)

- Update dependencies

# 6.25.0 (date: 3.1.2023)

- Drop the Microsoft RDP client as a backup, use the FreeRDP client only

# 6.24.1 (date: 3.1.2023)

- Update dependencies

# 6.24.0 (date: 12.12.2022)

- Send runtime log events to Control Room

# 6.23.5 (date: 2.12.2022)

- Update dependencies

# 6.23.4 (date: 2.12.2022)

- Upgrade RCC to v11.33.2

# 6.23.3 (date: 21.11.2022)

- Make sure all desktop stream file events are handled before the desktop streamer is closed

# 6.23.2 (date: 21.11.2022)

- Update disk space info at run start and run end

# 6.23.1 (date: 18.11.2022)

- Fix an issue where reject run command message was not sent to Control Room when invalid command was received

# 6.23.0 (date: 17.11.2022)

- Update dependencies

# 6.22.7 (date: 16.11.2022)

- Do not log the run command payload when run command is rejected

# 6.22.6 (date: 16.11.2022)

- Fix RDP user name parsing from command line when user name contains hyphen

# 6.22.5 (date: 15.11.2022)

- Make a copy of the video files before uploading them to Control Room to make sure files aren't modified after upload starts

# 6.22.4 (date: 15.11.2022)

- Performance improvements when querying runtime metrics

# 6.22.3 (date: 15.11.2022)

- Update run command info field name ignoreExecutorLogoff to noSignOutAfterRun

# 6.22.2 (date: 9.11.2022)

- Make sure the whole message is streamed when reading message events from named pipe connection

# 6.22.1 (date: 8.11.2022)

- Update dependencies

# 6.22.0 (date: 8.11.2022)

- Force logoff RDP session user when using the desktop access, previously the user logoff was not forced and any unsaved work could have prevented the user logoff
- Enabling the RCC shared holotree by the installer, detects if it has be executed previously.

# 6.21.5 (date: 8.11.2022)

- Verify RDP user in active state when adding console warning for already logged in user

# 6.21.4 (date: 8.11.2022)

- Fix an issue where invalid remote runner message could crash the proxy runner

# 6.21.3 (date: 8.11.2022)

- Update dependencies

# 6.21.2 (date: 8.11.2022)

- Add ffmpeg output as a archived run artifact

# 6.21.1 (date: 7.11.2022)

- Make sure the robot run event data in optional value when sending event updates to Control Room

# 6.21.0 (date: 7.11.2022)

- Log all unhandled errors

# 6.20.9 (date: 2.11.2022)

- Update to RCC 11.30.0 that adds detection for the OpenSSL vulnerable versions

# 6.20.8 (date: 2.11.2022)

- Add Agent client side run timeout value to Control Room timeout + 30 seconds

# 6.20.7 (date: 1.11.2022)

- Fix issue where proper error code was not returned when agentRuntime init failed

# 6.20.6 (date: 25.10.2022)

- Fix issue where environment setup end event was sent before environment setup was completed

# 6.20.5 (date: 20.10.2022)

- Make sure workspace configuration is loaded correctly for executor command

# 6.20.4 (date: 20.10.2022)

- Update RCC to v11.28.3

# 6.20.3 (date: 19.10.2022)

- Add schema validations for incoming messages

# 6.20.2 (date: 19.10.2022)

- Update RCC to v11.28.1

# 6.20.1 (date: 19.10.2022)

- Fix a memory leak when reconnecting to Control Room

# 6.20.0 (date: 17.10.2022)

- Added an option to stream the desktop video of execution to Control Room, this is disabled by default from agent configuration (rtconfig.yml)

# 6.19.2 (date: 3.10.2022)

- Refactor the retry handler

# 6.19.1 (date: 3.10.2022)

- Update dependencies

# 6.19.0 (date: 3.10.2022)

- Lock the used Control Room link file to prevent using same link data for multiple Agent processes

# 6.18.0 (date: 29.9.2022)

- Add one second retry, with exponential backoff, for the post link data and download package retry handler

# 6.17.3 (date: 26.9.2022)

- Reword the exutor references in logs to desktop session

# 6.17.2

- Make sure the file permissions are set for file downloads

# 6.17.1

- Update RCC to v11.26.3

# 6.17.0

- Add unique agent session ID to the event, heartbeat and console messages
- Add PID and link file hash to the execution context field in token

# 6.16.4

- Use file downloader from commons, improve the RCC validation logic

# 6.16.3

- Fix terminate process issue where the terminate result was not always shown correctly in posix

# 6.16.2

- Update RCC to v11.25.1

# 6.16.1

- Update to RCC 11.22.1

# 6.16.0

- Try activity package download three times before failing the run, in case of network issues
- Add telemetry for activity package download failures
- Fix telemetry types to reflect the correct run mode

# 6.15.1

- Add timestamp and error code to the heartbeat info message error field
- Send run info with heartbeat error state to keep linking between environment and the last run in Control Room

# 6.15.0

- Send runtime metrics to the Control Room

# 6.14.0

- If Agent cannot terminate started execution process correctly, Agent will send an error state to the Control Room to indicate it needs manual recovery

# 6.13.0

- Send RCC ID to Control Room

# 6.12.0

- Validate logged in RDP users, if user is already logged in, show a warning in the Control Room console

# 6.11.4

- Fix exit code values

# 6.11.3

- Enable the rdp-debug.txt artifact archiving and fix the issue on archiving multiple files in same session

# 6.11.2

- Disabled the rdp-debug.txt artifact archiving

# 6.11.1

- Moved printing the users in the remote executor

# 6.11.0

- Add environment info logging to console.txt
- Identify the RDP users when starting remote executor start

# 6.10.0

- Add option to ignore executor user logoff, the option is parsed from run command payload

# 6.9.0

- Add option to send executor connection timeout value from Cloud with run command

# 6.8.5

- Updated dependencies

# 6.8.4

- Fix typo in ConnLossEventEmitter

# 6.8.3

- Log the FreeRDP with debug level, archive the rdp log file before uploaded as artifact

# 6.8.2

- Sort the run artifacts by priority as the artifact size limit is the combined size of the artifacts

# 6.8.1

- Make sure the rdp-trace.txt artifact is flushed after run

# 6.8.0

- RDP client output to a separate artifact called rdp-trace.txt

# 6.7.3

- Map FreeRDP client return codes to clear error messages

# 6.7.2

- Fail run fast when RDP failure is encountered while waiting for remote executor

# 6.7.1

- Added better logging when connecting with RDP clients

# 6.7.0

- Add retry mechanism for opening the RDP connection when using desktop service
- Force rebuilding of the native addons if import fails

# 6.6.6

- Remove the fullscreen option from FreeRDP client arguments as it was forcing the resolution to 1024x768, Note that also the config file option "screen mode id:i:2" will force the resolution

# 6.6.5

- Add default path for the Microsoft RDP client configuration file

# 6.6.4

- Minor test fix

# 6.6.3

- Fixing the incorrect state report of IDLE to Control Room

# 6.6.2

- Fixed using hardcoded package path in RDP mode

# 6.6.1

- Update RCC to v11.13.0

# 6.6.0

- Improve logging to console.txt artifact
- Add filters for the RCC output stream sent to cloud console (RCC pypi listing, RCC timeline)

# 6.5.1

- Update RCC to v11.12.7

# 6.5.0

- Add support for reading the CA bundle from RCC optionrcc
- Update RCC to v11.12.1

# 6.4.12

- Fix issue where remote runner was not creating a correct run command if task was defined

# 6.4.8

- Move RCC create environment flags parameter down to the caller API from commons package
gg
# 6.4.7

- Fix issue where RCC option SSL verify value was not set correctly for websocket connection
ggg
# 6.4.6

- Fix issue where RCC option SSL verify value was not read correctly

# 6.4.5

- Fix issue where RCC executable path was sometimes resolved incorrectly

# 6.4.4

- Fix Rest API settings issue to make sure SSL verification is always done if not specifically disabled

# 6.4.1

- Fix websocket connect issue when proxy settings are not available

# 6.4.0

- Use available proxy configuration when connecting via websocket

# 6.3.0

- Use available proxy configuration when connectin via REST API

# 6.2.15

- Fix an issue with custom command argument handling

# 6.2.14

- Validate the workspace configuration at start

# 6.2.13

- Fix telemetry sending when runnng as executor

# 6.2.12

- Update RCC to v11.9.10

# 6.2.11

- Fix an issue where new RDP session was not opened when desktop executor was needed

# 6.2.10

- Update dependencies

# 6.2.8

- Update RCC to v11.9.8

# 6.2.7

- Update dependencies

# 6.2.4

- Handle dynamic imports for the packager

# 6.2.3

- Update RCC to v11.6.6.

# 6.2.2

- Remove old packager dependency

# 6.2.1

- Fix an issue in linux where a dependency could not be used

# 6.2.0

- FreeRDP client to the configuration file fron instance path

# 6.1.0

- Use the FreeRDP client to connecto to localhost when desktop is needed

# 6.0.0

- Update the packaging pipeline

# 5.1.0

- Update executable compiler to latest version

# 5.0.2

- Update dependencies

# 5.0.0

- When using the RDP login service, the session logoff is done automatically once the execution is done

# 4.7.2

- Print process tree always before and after execute run termination has been run

# 4.7.1

- Make sure agent gets to IDLE state even if there is an exception during run / cleanup

# 4.7.0

- Add timeout handling when connection to control room is lost. The timeout time is defined by the run command coming from the Control Room. Once the timeout expires the run is terminated and error event is sent to Control Room once the connection is re-established.

# 4.6.0

- Artifacts are uploaded to the cloud even if the execution fails or cannot start
- The run doesn't fail if artifact upload fails
- Timeout the run locally at the specified timeout even if cloud connection has been lost

# 4.5.17

- Ensure backwards compatibility in event interface by introducing a no-op environment
  setup phase which was originally removed in v4.5.15.

# 4.5.16

- Add timeline argument to RCC task run command

# 4.5.15

- Remove environment setup phase, the environment setup is now part of the RCC task run command
- Define how many CPU cores the RCC will use by reading environment variable RC_RCC_WORKER_COUNT

## 4.5.11

- Update RCC to v11.4.3

## 4.5.10

- Fix and issue where websocket terminate sometimes manifested as connection loss failure in Control Room run

## 4.5.9

- Update RCC to v11.3.6

## 4.5.8

- Add retry for the linking process in case of Robocloud errors

## 4.5.7

- Remove conda environment cleanup option

## 4.5.6

- Update RCC to v11.1.6

## 4.5.4

- Handle invalid rtconfig file

## 4.5.2

- Add terminate command handling for the environment setup phase

## 4.5.0

- Hololib support

## 4.4.3

- Fix issue where the run cleanup was not done for correct path when intancepath run argument was set

## 4.4.2

- Update RCC to v10.4.5

## 4.4.1

- Query the environment details after websocket authentication
- Send environment details to parent process

## 4.4.0

- Use unique proxy server pipe name for each connectio to enable RDP functionality for multiple users with same PC
- Change the proxy server lifecycle to be only for single execution, the server is started once command is received and closed once client has executed the command

## 4.3.12

- Update RCC to 10.3.3

## 4.3.11

- Update RCC to 10.1.0

## 4.3.10

- Don't open the IPC server connection in posix environments
- Remove app exit in case IPC server connection fails
- Make sure correct exit code is always return when exiting application

## 4.3.6

- Fix cleanup exception that occasionally happened in cloud container

## 4.3.4

- Return correct exit code when receiving exit signal

## 4.3.3

- Update RCC to v9.16.0

## 4.3.2

- Consolidate all internal run logs into one run artifacts: console.txt

## 4.3.0

- Agent Core can now receive the information if Remote Desktop Connection is needed and run the execution as a proxy for another Agent Core running as an executor with the windows desktop session
- New Agent Core command: executor, to run the Agent as a an remote executor
- Service helper command: setup-login-service updated to do the full Remote Desktop Connection setup

## v4.2.3 (date: 5.5.2021)

- Improve console and control message sending from Agent Core to Robocloud
- Update RCC to v9.9.17
- Print process tree to log when terminate command is received from Robocloud

## v4.1.2

- Add aliases to commandline options

## v4.1.1 (date: 14.04.2021)

- Add notifications to parent process when activity is executed

## v4.0.6 (date: 08.04.2021)

- Fix an issue where init failed if user path had spaces

## v4.0.4 (date: 07.04.2021)
- Update RCC to v9.9.5

## v4.0.3 (date: 29.03.2021)

- Update RCC to v9.8.7
- Create a simple conda environment when init command is executed

## v4.0.0 (date: 25.03.2021)

- Init command to validate that the correct RCC version exists and to initialize the micromamba for RCC
- Remove assitant run command
- Improved exit handling, will exit gracefully with exit code 0 for signals (SIGINT, SIGTERM, SIGHUP, SIGQUIT)
- Added new start option --run-once, to exit the Agent Core after the first task execution

## Older versions

Versions 3.6.9 and older do not have change log entries. This changelog.md
file was started at 25.3.2021.
