.. _20230413_2_3_0_release: Release Notes (v2.3.0) ====================== `April 13, 2023` The v2.3.0 release includes a number of fixes and improvements. A number of bugs have been fixed and we added better default output formatting of task info from searches. ----- Features -------- | New default output format for task metadata ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Task info and search results now default to a more human-centric compressed formatting, instead of a full-table render that is typically not readable within 80-120 characters. For searches, YAML, JSON, CSV, and rich TABLE formatting are still available. The default output of ``task info`` and ``task search`` are now the same. | Additional logging messages ^^^^^^^^^^^^^^^^^^^^^^^^^^^ The trace-level messages have always included regular messages from routines that are in a wait cycle (e.g., waiting on task bundle to return). We have now added additional trace-level messages. Notably, task executors will emit trace-level messages every two seconds while waiting on a process to complete with the current elapsed time for that process. | New logging attributes ^^^^^^^^^^^^^^^^^^^^^^ Users have always been able to customize their configured ``logging.format`` beyond the pre-defined ``logging.style`` sets. This content of messages is limited to the pre-defined attributes available on each record, though there are many. We have added new attributes in this release to allow for the same level of detail in less horizontal space. - ``hostname_short`` is essentially the first part of the hostname. - ``relative_name`` is the module ``name`` but relative. - ``elapsed`` is the elapsed seconds (float). - ``elapsed_ms`` is the elapsed milliseconds (integer). - ``elapsed_hms`` is the elapsed time in ``dd-hh:mm:ss.sss`` format. | ----- Fixes ----- | Issue `#16 `_ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In a few places, specifically within the ``task`` subcommands, normal error modes would not be handled correctly because of the way global exception handling definitions were implemented. The code has been restructured in a way to ensure these sorts of things print a nice message instead of a nasty traceback. | Issue `#17 `_ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ We don't yet have robust enough testing of all the different sorts of scenarios that might arise when using the application. We parse users' ``~/.ssh/config`` when issuing connections and file transfers. But did not pass on gracefully when this file is not present.