Enhancements
[2387](https://github.com/cylc/cylc-flow/pull/2387),
[2330](https://github.com/cylc/cylc-flow/pull/2330): New suite.rc `[meta]` sections
for suite and task metadata. These hold the existing `title`, `description`,
and `URL` items, plus arbitrary user-defined items. Metadata items can be passed
to event handlers (e.g. a site-specific task "priority" or "importance" rating
could inform an event-handler's decision on whether or not to escalate task
failures).
[2298](https://github.com/cylc/cylc-flow/pull/2298),
[2401](https://github.com/cylc/cylc-flow/pull/2401): New shell function
`cylc__job_abort <message>` to abort task job scripts with a custom message
that can be passed to task failed event handlers.
[2204](https://github.com/cylc/cylc-flow/pull/2204): Remove auto-fallback to HTTP
communications, if HTTPS is not available. Now HTTP is only used if explicitly
configured.
[2332](https://github.com/cylc/cylc-flow/pull/2332),
[2325](https://github.com/cylc/cylc-flow/pull/2325),
[2321](https://github.com/cylc/cylc-flow/pull/2321),
[2312](https://github.com/cylc/cylc-flow/pull/2312): Validation efficiency
improvements.
[2291](https://github.com/cylc/cylc-flow/pull/2291),
[2303](https://github.com/cylc/cylc-flow/pull/2303),
[2322](https://github.com/cylc/cylc-flow/pull/2322): Runtime efficiency
improvements.
[2286](https://github.com/cylc/cylc-flow/pull/2286): New command `cylc
report-timings` to generate reports of task runtime statistics.
[2304](https://github.com/cylc/cylc-flow/pull/2304): New event handlers for general
CRITICAL events.
[2244](https://github.com/cylc/cylc-flow/pull/2244),
[2258](https://github.com/cylc/cylc-flow/pull/2258): Advanced syntax for excluding
multiple points from cycling sequences.
[2407](https://github.com/cylc/cylc-flow/pull/2407): Documented exactly how Cylc
uses ssh, scp, and rsync to interact with remote job hosts.
[2346](https://github.com/cylc/cylc-flow/pull/2346),
[2386](https://github.com/cylc/cylc-flow/pull/2386): `cylc graph` now plots
implicit dependences as grayed-out ghost nodes.
[2343](https://github.com/cylc/cylc-flow/pull/2343): Improved the "Running
Suites" section of the User Guide, including documentation of suite remote
control.
[2344](https://github.com/cylc/cylc-flow/pull/2344): Attempt to access suite
service files via the filesystem first, before ssh, for other accounts on the
suite host.
[2360](https://github.com/cylc/cylc-flow/pull/2360): Better validation of suite
parameter configuration.
[2314](https://github.com/cylc/cylc-flow/pull/2314): In debug mode, send bash job
script xtrace output (from `set -x`) to a separate log file.
Fixes
[2409](https://github.com/cylc/cylc-flow/pull/2409): Fixed the `cylc spawn` command
(it was killing tasks, since cylc-7).
[2378](https://github.com/cylc/cylc-flow/pull/2378): Fixed use of negative offsets
by the `cylc suite-state` command.
[2364](https://github.com/cylc/cylc-flow/pull/2364): Correctly load completed custom
task outputs on restart.
[2350](https://github.com/cylc/cylc-flow/pull/2350): Handle bad event handler
command line templates gracefully.
[2308](https://github.com/cylc/cylc-flow/pull/2308): The parameterized task
environment variable `$CYLC_TASK_PARAM_<param>` is now guaranteed to be defined
before any use of it in the user-defined task environment section.
[2296](https://github.com/cylc/cylc-flow/pull/2296): Prevent suites stalling after
a restart that closely follows a warm-start (now the restart, like the warm
start, ignores dependence on tasks from before the warm start point).
[2295](https://github.com/cylc/cylc-flow/pull/2295): Fixed `cylc cat-log` "open in
editor" functionality for remote job logs.
[2412](https://github.com/cylc/cylc-flow/pull/2412): Fixed duplication of log
messages to the old log after restart.
-------------------------------------------------------------------------------