@@ -52,6 +52,91 @@ shown in the information view:
5252 :align: center
5353 :width: 65%
5454
55+ Triggering Multiple Tasks
56+ ^^^^^^^^^^^^^^^^^^^^^^^^^
57+
58+ Cylc now respects the dependencies between tasks when triggering multiple
59+ tasks at the same time. This provides an easy way to re-run a group of tasks
60+ in order:
61+
62+ .. image :: ../reference/changes/group-trigger.gif
63+ :align: center
64+ :width: 65%
65+
66+ |
67+
68+ This is generally easier than :ref: `using a new flow <interventions.reflow >`.
69+
70+ Technical details:
71+
72+ * Prerequisites on any tasks that are outside of the group of tasks being
73+ triggered are automatically satisfied.
74+ * Any tasks which have already run within the group will be automatically
75+ removed (i.e. ``cylc remove ``) to allow them to be re-run without
76+ intervention.
77+ * Any preparing, submitted or running tasks within the group will also be
78+ removed if necessary to allow the tasks to re-run in order.
79+
80+
81+ .. _changes.warning_triangles :
82+
83+ Warning Triangles
84+ ^^^^^^^^^^^^^^^^^
85+
86+ The GUI now has warning triangles, these "light up" whenever warnings occur in
87+ the workflow.
88+
89+ * Cylc logs warnings for various things such as task failures, stalled
90+ workflows, and command errors. You can see these in the workflow log files.
91+ * When warnings occur, the warning triangle will illuminate for the
92+ corresponding workflow.
93+ * Hover over the icon to reveal the warning.
94+ * Click on the icon to dismiss the warning.
95+ * If workflows are installed hierarchically, (e.g. the "development" and
96+ "live" groups in this example), warnings will trickle up the hierarchy
97+ to make it easier to monitor groups of workflows.
98+ * A log of all warnings can be found on the Dashboard page (last 10 warnings
99+ for each workflow).
100+
101+ .. image :: ../reference/changes/warning-triangles.gif
102+ :align: center
103+ :width: 95%
104+
105+ |
106+
107+
108+ "Ghost" Tasks
109+ ^^^^^^^^^^^^^
110+
111+ The GUI and Tui now present some tasks in grey:
112+
113+ .. image :: ../reference/changes/ghost-tasks.png
114+ :align: center
115+ :width: 65%
116+
117+ |
118+
119+ These are "ghost" tasks, they indicate something is that isn't presently there:
120+
121+ * Waiting tasks that the scheduler hasn't moved onto yet (i.e.
122+ :term: `inactive tasks <active task> ` that are waiting).
123+ * Tasks which have been removed (i.e. ``cylc remove ``).
124+ * Tasks which have been triggered in the ``none `` flow, so don't influence
125+ the evolution of the workflow.
126+
127+ They appear in grey, if you click on these tasks, you will see the text
128+ "Flows: None".
129+
130+ This helps to identify waiting :term: `active tasks <active task> `
131+ (which aren't ghosts).
132+ These are the tasks which Cylc is currently trying to schedule, but are waiting
133+ for something, typically:
134+
135+ * A task prerequisite to be satisfied.
136+ * An xtrigger or ext-trigger to be satisfied.
137+ * Someone to :term: `resume <held task> ` them.
138+
139+
55140Compatibility Mode
56141^^^^^^^^^^^^^^^^^^
57142
@@ -63,6 +148,38 @@ Any workflows that are still using ``suite.rc`` files will need to be upgraded
63148to ``flow.cylc `` before they are able to run with 8.7.0.
64149
65150
151+ GUI Layout
152+ ^^^^^^^^^^
153+
154+ The Cylc GUI now preserves tab layout between sessions.
155+
156+ When working on a workflow, we can open multiple tabs (tree, table, graph, etc)
157+ and tile them up in a layout. If you switch to another workflow, switch back,
158+ your layout will be restored.
159+
160+ However, with Cylc 8.4, if you refreshed the browser or opened the GUI in a new
161+ tab, the layout would be lost.
162+
163+ With Cylc 8.5, the layout will always be restored.
164+
165+
166+ GUI Log View
167+ ^^^^^^^^^^^^^
168+
169+ The GUI now picks the default job log file to display based on the task state:
170+
171+ * failed -> ``job.err ``
172+ * submit-failed -> ``job-activity.log ``
173+ * otherwise -> ``job.out ``
174+
175+ This speeds up the loading of the log file because the GUI doesn't have to
176+ wait for a listing of available log files before picking one to view.
177+
178+ Additionally, the log view now has an auto scroll feature which follows the
179+ end of the file (useful for viewing the file whilst it is being written), and
180+ a scroll-to-top button.
181+
182+
66183Cylc Tui
67184^^^^^^^^
68185
@@ -72,6 +189,8 @@ Cylc Tui
72189 :align: center
73190 :width: 65%
74191
192+ |
193+
75194Configure your ``$EDITOR ``, ``$GEDITOR `` and ``$PAGER `` environment variables
76195to change which tool is used.
77196
@@ -80,6 +199,10 @@ to change which tool is used.
80199 Make sure your configured command waits for the tool to be closed before
81200 exiting, e.g. use ``GEDITOR=gvim -f `` rather than ``EDITOR=gvim ``.
82201
202+ Additionally, Tui now displays task states and :term: `flow ` numbers in
203+ context menus for improved clarity / accessibility.
204+
205+
83206Cylc Reload
84207^^^^^^^^^^^
85208
@@ -92,6 +215,63 @@ settings for an in-progress workflow.
92215 :ref: `global-configuration `
93216
94217
218+ Cylc Set
219+ ^^^^^^^^
220+
221+ The ``cylc set `` command can now be used to satisfy xtrigger prerequisites.
222+ For example if the task ``2026/get_data `` is
223+ :term: `clock triggered <clock trigger> `, you might satisfy this prerequisite
224+ like so:
225+
226+ .. code-block :: console
227+
228+ $ cylc set myworkflow//2026/get_data --pre xtrigger/wall_clock
229+
230+ The default behaviour of the ``cylc set `` command has also changed for tasks
231+ where success is :term: `optional <optional output> `, it will now set the
232+ ``succeeded `` output (and any other outputs that are required in the event of
233+ task success) which is more consistent with the behaviour for tasks where
234+ success is required.
235+
236+
237+ Cycle Share Directory
238+ ^^^^^^^^^^^^^^^^^^^^^
239+
240+ A new per-cycle share directory has been added, ``share/cycle/<cycle> ``.
241+
242+ This directory is now automatically created and provides a convenient location
243+ for tasks to share cycle-specific data. See also :ref: `Shared Task IO Paths `.
244+
245+ This largely replicates the functionality of the Rose :envvar: `ROSE_DATAC `
246+ environment variable, but does not require the use of ``rose task-env ``.
247+
248+
249+ Cylc UI Server
250+ ^^^^^^^^^^^^^^
251+
252+ The dependency stack of the Cylc UI Server (used to serve the Cylc GUI) has
253+ been overhauled.
254+
255+ This allows the UI Server to be installed with newer versions of Python then
256+ the old dependency stack allowed.
257+
258+ * Previously the UI Server worked with Python 3.8-3.9.
259+ * It now works with Python 3.9 or higher.
260+
261+ This will likely bring efficiency improvements.
262+
263+ Additionally, the Cylc UI Server has now been configured to send "heartbeat"
264+ pings down its open websocket connections. This helps to prevent web proxies
265+ from closing Cylc GUI connections when workflows are idle, preventing erroneous
266+ GUI disconnects.
267+
268+ For more information see the
269+ `Cylc configuration <https://github.com/cylc/cylc-uiserver/blob/3ab99ecec09077132fa912d0752a06b14764f05d/cylc/uiserver/jupyter_config.py#L63-L66 >`_
270+ and the docs for the ``websocket_ping_interval `` and ``websocket_ping_timeout ``
271+ configurations in
272+ `tornado <https://www.tornadoweb.org/en/stable/web.html#tornado.web.Application.settings >`_.
273+
274+
95275Cylc 8.4
96276--------
97277
0 commit comments