# Yakut v0.11 released

**URL:** <https://forum.opencyphal.org/t/yakut-v0-11-released/1658>\
**Category:** CLI tools (Cynic/Yakut)\
**Created:** [May 5, 2022, 5:49pm UTC](https://forum.opencyphal.org/t/yakut-v0-11-released/1658 "2022-05-05T17:49:49Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [May 5, 2022, 5:49pm UTC](https://forum.opencyphal.org/t/yakut-v0-11-released/1658/1 "2022-05-05T17:49:49Z")

</div>

This release fixes a regression introduced in the last one and brings much-needed tools for node configuration management.

- List registers on the specified nodes: `y rl 100-128`
- Read registers from a node or several:
  - `cat node_registers.yaml | y rb 123`
  - `y rl 100-128 | y --yaml rb > config.yaml`

- Configure node(s) from a file: `cat config.yaml | y rb`
- Read a single register from a group of nodes: `y r 122-126 m.inductance_dq`
- Write a single register on a group of nodes: `y r 122-126 m.inductance_dq 14e-6 14e-6`
- Invoke `uavcan.node.ExecuteCommand` on one or multiple nodes: `y cmd 100-128 restart`.

Data type names supplied to `y sub/pub/call` are now case-insensitive (but in many cases they are not required thanks to automatic discovery).

New shorter options were added for common use cases: `-j`/`-y`/`-t` do the same thing as `--format=json`/`--format=yaml`/`--format=tsvh`, respectively. For `y sub`, option `--sync` does the right thing automatically so the user doesn’t have to think about which synchronization policy should be chosen.

The README was extended with a practical usage example: [GitHub - OpenCyphal/yakut: Simple CLI tool for diagnostics and debugging of Cyphal networks](https://github.com/OpenCyphal/yakut#node-configuration-example).

Speaking of which, that README is getting too big and I am thinking that the Yakut docs need a new medium. Maybe it should be split into several Markdown files. Maybe we should transform that into a static website using GitHub Pages or something. Suggestions welcome.

The PyCyphal Demo chapter was updated to reflect the new capabilities: [Demo — PyCyphal 1.8.3 documentation](https://pycyphal.readthedocs.io/en/stable/pages/demo.html)

Here is a comparison of two identical invocations between v0.9 and v0.11:

**v0.9:**

```auto
# Case-sensitive, version numbers required:
y sub 2347:uavcan.si.unit.voltage.Scalar.1.0

# Each field value has to be named explicitly:
y pub 2345:uavcan.si.unit.temperature.Scalar.1.0 'kelvin: 250' \
      2346:uavcan.si.sample.temperature.Scalar.1.0 'kelvin: 240'

```

**v0.11:**

```auto
# Case-insensitive, version not required:
y sub 2347:uavcan.si.unit.voltage.scalar

# Fields and outer objects may be omitted, in this case positional initialization is used:
y pub 2345:uavcan.si.unit.temperature.scalar 250 \
      2346:uavcan.si.sample.temperature.scalar 'kelvin: 240'

```
