Version 3.6.0
Bugs Fixed
When printing workshop instructions only the first page would be printed. This has only been fixed for Hugo renderer and not the deprecated classic renderer.
When using the
terminal:execute-allclickable action, ifclearwas set totrue, the terminals were not being cleared.
New Features
It is now possible to restrict permissions given to the session manager so that it does not have full cluster admin access. Workshops which only need access to the session namespace will still work, but workshops will not be able to be setup to use cluster wide resources such as custom resources for operators. For more details see Restricting session manager permissions.
Examiner test scripts can now be provided as part of an extension package. These should be placed under the
examiner/testsdirectory of the package.New editor clickable actions have been added:
editor:create-filefor creating a new file or overwriting an existing file,editor:insert-lines-after-linefor inserting lines after a specified line number, andeditor:replace-matching-textfor finding and replacing text in a single step without needing to first select the text and then replace it separately.New editor clickable actions have been added:
editor:delete-lines-in-rangefor deleting a range of lines based on line number,editor:delete-matching-linesfor delete a range of lines around matched text, andeditor:replace-lines-in-rangefor replace a range of lines with new content.A new editor clickable action
editor:select-lines-in-rangehas been added for selecting a range of lines by line number. This can be used witheditor:replace-text-selectionto replace specific lines.New editor clickable actions have been added for file management:
editor:copy-filefor copying a file to a new location,editor:rename-filefor renaming or moving a file,editor:close-filefor closing a file tab in the editor, andeditor:delete-filefor deleting a file from the file system.A new editor clickable action
editor:create-directoryhas been added for creating a directory on the file system.When using editor clickable actions which accept
startorstopparams, you can now supply negative values. These will be interpreted as offset from the end of the file.When using editor clickable actions which accept
beforeorafter, if you supply-1, it will be interpreted as all lines before or after.You can now set
toggle: falseonsection:endclickable action. In this case if have prior clickable action which cascades tosection:end, the section will not be closed. If also havecascadeset onsection:endthen, clickable action followingsection:endwill still be triggered. Thus can automatically trigger clickable action after a section without closing the section.You can now set
open: trueonsection:beginand the section will start in the expanded state.New YAML editing clickable actions have been added for structured manipulation of YAML files with comment preservation:
editor:set-yaml-valuefor setting or updating a value at a YAML path,editor:add-yaml-itemfor appending an item to a sequence,editor:insert-yaml-itemfor inserting an item at a specific position in a sequence,editor:replace-yaml-itemfor replacing a sequence item by index or attribute match,editor:delete-yaml-valuefor deleting a key or sequence item, andeditor:merge-yaml-valuesfor merging key-value pairs into an existing mapping. These use the YAML library’s document API for round-trip editing, correctly handling all YAML styles including flow/inline syntax.New YAML clickable action
editor:select-yaml-pathfor selecting part of a YAML definition based on the path to the object.New editor clickable actions have been added for managing terminals within the VS Code editor:
editor:open-terminalfor opening or creating a named terminal,editor:close-terminalfor closing a terminal,editor:send-to-terminalfor sending text or commands to a terminal with optional newline control via theendlproperty,editor:interrupt-terminalfor sending an interrupt signal, andeditor:clear-terminalfor clearing the terminal buffer. These are distinct from the dashboardterminal:*actions which manage terminals on the terminals tab.
Features Changed
When using the test examiner feature, test scripts can now be put in a sub directory of the
/opt/workshop/examiner/testsdirectory. The name of the sub directory path should then prefix the test name when using the clickable action for the test. Checks when running test examiner scripts have also been beefed up to ensure that directory traversal cannot be used to execute a program which resides outside of the tests directories.Enhanced session and terminal reconnection logic to prevent rapid reconnection attempts. The system now implements increasing delays between retry attempts using exponential backoff, eventually ceasing reconnection efforts entirely after a specified duration. This prevents excessive browser activity when session connectivity is disrupted.
When using
cooldownvalue for any clickable action, you can now use-1to indicate an infinite period of time, ie., block triggering clickable action again.When using
retriesvalue withexaminer:execute-testclickable action, you can now use-1to indicate an infinite number of retries.The
editor:select-matching-textclickable action now handles multi line matches for exact text match and regex.
Features Deprecated
The
editor:insert-value-into-yamlclickable action is now deprecated and will be removed in a future version. This clickable function never functioned properly and provided limit use. Use the neweditor:yamlset of clickable actions instead.