# Version 141855

**A new release of Sherpa Orchestrator has been released: Version 141855.**

1. In the Form Designer, on the Actions screen, a new widget type has been introduced — HTML/JavaScript, which allows for the implementation of arbitrary interface elements with a unique appearance and behavior.

For example, if you fill in the settings window for the element:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcvm5QdSjtBpqcchZlpLxGLgS_2jarTDU-AAkejTCMt-Q5_vxhboycyMpo0fa-z3WtsVQLe413x0hp-nwEmD4eTf_oEdAteXVFUqy-fxkUR8MK5FYJzBCuSyL2UDYdPw4iq776ChQ?key=O1W9738DYevyQCZnmilgrw" alt=""><figcaption></figcaption></figure>

Then the following will appear on the Actions screen:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdoThFpBKmP1yJOnTGNf2AGEt3XJUkYrqCKzvw9F2r69dwPXV_1RQkqWun-L9kVr1bDu3d0iA_a67OmtiGKjS-2rgkEFVBc_AAnUwt2u2i0qbosdw57pUBvxx4ntFm0QTw2yyMFdA?key=O1W9738DYevyQCZnmilgrw" alt=""><figcaption></figcaption></figure>

Below is an example with added controls (such as radio and select) and the name attribute to choose between options and implement processing based on the selected value:

```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Select Option</title>
</head>
<body>

  <h2>Select Option</h2>
  <!-- Radio buttons with the same name attribute -->
  <label>
    <input type="radio" name="variant" value="1" checked /> Option 1
  </label>
  <label>
    <input type="radio" name="variant" value="2" /> Option 2
  </label>

  <h3>Enter your name</h3>
  <input type="text" id="userNameInput" placeholder="Your name" />

  <button id="showGreeting">Show Greeting</button>

  <div id="greetingArea" style="margin-top:20px; font-weight: bold;"></div>

  <script>
    // Template options
    const templates = {
      '1': '<p>Option 1: Hello, {{ user_name }}! This is the first option.</p>',
      '2': '<p>Option 2: Hello, {{ user_name }}! This is the second option.</p>'
    };

    document.getElementById('showGreeting').addEventListener('click', () => {
      // Get the selected option by name attribute
      const selectedRadio = document.querySelector('input[name="variant"]:checked');
      const variant = selectedRadio ? selectedRadio.value : '1';

      // Get the User's name
      const userName = document.getElementById('userNameInput').value.trim() || 'user';

      // Select template by option
      const template = templates[variant];

      // Replace placeholder
      const html = template.replace('{{ user_name }}', userName);

      // Insert result
      document.getElementById('greetingArea').innerHTML = html;
    });
  </script>

</body>
</html>
```

When executing this code, you will be able to switch between message output options:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe3zSAWBIlHIWtBbAHZVb-HwVtQ-ule-cVHY2praRDrSu2C5-KVf7DmwnELjKjQFpVe35DWOURRsmvDFDUp_QSK5ivtvxqN8WP1S17cczLU5mAeChb9qGzRNUqqqYmzJM8e5cVSjQ?key=O1W9738DYevyQCZnmilgrw" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd0O_YwRDbj7247yXqdol3FDiEMdvG7b1WGK0j8IQxh8sHJgICytb31afq3pd75psy10pijzN6_XRznQb0cb6nYktLMAU7tnPt5hszGlaZNXkgw3TtAulL2SSJDtqdnGk4N_xmXJQ?key=O1W9738DYevyQCZnmilgrw" alt=""><figcaption></figcaption></figure>

> The code you write in this field can change the appearance of the Orchestrator interface. Use this functionality with caution to avoid unwanted effects.

To specify or bind an object's property in HTML, the syntax of double curly braces with a space is used: {{ property }}. A mandatory condition for all input control elements (input, radio, checkbox, select) related to nested objects is the name attribute matching the key name.

2. A new column "Object GUID" has been added to the Audit screen, displaying the GUID of the object mentioned in the record.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcxZ9y04BufQ2Cp-PsYs1dSi9gajrmBjetYDgKPKq5CAkI4JJr9G4N8oVhSEclkHXNLJ7hIHFyJ2iVXQCXzjGC5IKWKiZGqL6nmq6tlPD9Kyb51NSjkqkMZQaxK3CuIFpZCTNXf?key=O1W9738DYevyQCZnmilgrw" alt=""><figcaption></figcaption></figure>

By clicking on this field in the desired row of the Audit table, you can navigate to the screen of the mentioned object, where it will be highlighted:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeBPfsOfForLWc_mlgdWfvqU2wK-jpQX4Afg3xGb9dxNgp2TV1k62w4IWJJaoPhAtgya86HMv0mi-6BKgvBxE1hln2BYr-x8_8YvlNTw4aJ8LeeVv24h4OwycCilHowT-etrjdv7w?key=O1W9738DYevyQCZnmilgrw" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeKZkJkwvs0mgh5o_s70oJeYoCSX9PigmUzUsGgR6tU4U_sMSmioo2aGXal4fdIAcW8k1n2msKRzf71TCJRsMRaXYVlsfodCNPLB3S9CK4cPajIcJboCbWq2_Quony8ApGyr6yzRw?key=O1W9738DYevyQCZnmilgrw" alt=""><figcaption></figcaption></figure>

3. Additionally, now all actions performed via the API are also logged in the Audit.
4. In all tables on the Orchestrator screens, the time display format has been changed to \<dd-mm-yyyy 00:00:00>, which improves the readability of the information and makes working with data simpler and clearer for the User.

For example,

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXelzlLFZiGkvSppStVmY3Ge9hvasMRxNyGnFtxXnC_YA8HAD5u7yvDntuCz8hN94FzUBgBss3NgvBa5x1XRvZoI8hYilAZ7tWCSpcYE0TFyzQ59rwB45lRfzCNPRc-db5uqHARP?key=O1W9738DYevyQCZnmilgrw" alt=""><figcaption></figcaption></figure>

5. On the Triggers screen, when creating and editing Triggers, a setting "Max monthly runs" has been added, allowing you to limit the number of Trigger activations within a month. For example, if you set the field to 1, then when applying the scheduling option "Every N-th day of the month," the Trigger will activate only once on the specified N-th day.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXetKKA2tzpcuIRImO_gmYoQYRhBkq6gA5ekNgTNbyaRS53SCp7UMEt7oD8OqKU1FXJJOQ-0UKtxGSywQCaHQnoYPo7KfdUy869o5bbxgq6gnYY2Mz_WgAwQJOP5Ojvoyd8GJe05-A?key=O1W9738DYevyQCZnmilgrw" alt=""><figcaption></figcaption></figure>

6. Optional logging of Robot status history has been added. To enable this, you need to add the parameter: `robot_status_logging=1` in the config (`backend/config/config.ini`).

The Logs table is available at: `your-orchestrator-address/main/robot-status-logs`.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd5jbe3hKF64LWh7aBq7S1U4fuxxsxLs2JZWaLF78aFG2QdtOmsCQ8Og1a0xvB8Zse62YoQBYPq2qH_YnBHqOo5IWiwm8hhCKviI1gZsuBzivcpaRZG0UuI3HNaLcH1qH6KHkGNig?key=O1W9738DYevyQCZnmilgrw" alt=""><figcaption></figcaption></figure>

7. On the Licenses screen, in the license settings, the options "Deny C#, VB, Python and PowerShell code execution within process" and "Force logging in all blocks" are now also available for Unattended mode.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXex9zs7aAsrM2cBKQZkftjUtNVjWsSRI6EKll23m7KVLeDOFA4ZtMGdtHsFj7RnzG22gj5A_gy2SBeB1izF6mOgGEXOoL8c-WKmKLpjsIW62k_OnDEQMYF1ZxxueXVVbuxV940uBA?key=O1W9738DYevyQCZnmilgrw" alt=""><figcaption></figcaption></figure>

8. On the Jobs screen, a column "Last message" has been added to the table, which displays the last message from the Robot executing the Job.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeD7mFq_k1c4ZbBGt2ur1Gtb-IqZBVWRvaUetE6O-7MR1EniRDktsRtHitJ-buvVfxLg3xSELI7ajvqS2ZBZhNGUKak4r20ToRoVQuK-ccfSVKgcWGvIzsIjYVaQOPO0ZNevDn4DA?key=O1W9738DYevyQCZnmilgrw" alt=""><figcaption></figcaption></figure>

9. Multiple improvements have been made to enhance system security.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sherparpa.ru/en/obnovleniya/obnovleniya-sherpa-orchestrator/versiya-141855.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
