github HuskerMinion/techo5 v0.7.15

latest releases: v1.6.37, spot-v1.4.37, dot-v1.0.64...
one month ago

A follow-up to v0.7.14, from a second read-through of the same day's work.

If you use SSH, update. v0.7.14 could take SSH away from a device silently. The key file is
checked more strictly now, and one line in it that is not a usable key made the whole file read as
empty — so the server was never started, with nothing in the log to say why. Reading is forgiving
again: the lines that are keys are kept and the rest are counted in the log.

An SSH key that nothing could log in with is refused when it is set. A public key names its type
twice, once in front and once inside itself, and only the first was checked. A key pasted onto a
line that already carried its type was stored, reported as installed, and then thrown away at every
login. It is refused at the door now, with a message saying what the line claims to be and what it
actually holds.

Everything in a release is covered by the signature. The manifest names the boot image, the
kernels and the rescue bundles too, with their checksums, so one signature covers a release whole.
The unsigned checksum file is no longer read. A release published before this one names none of
them, so installing from an older tag will be refused
— use this release, or check out that tag's
own tools/ to install from it.

Wake word models are pinned and checked. They came from two mutable branches with nothing to
check them against, into the directory the daemon parses as root. They now come from pinned commits,
each file against a recorded checksum.

Privacy and safety

  • Recordings of your speech are written owner-only. Recordings made before this update keep the
    permissions they were written with.
  • An id that arrives from Home Assistant or over the network can no longer name a file outside the
    directory it belongs to.
  • /screen.png still takes a screenshot with the screen-web switch alone, but the parameters that
    change the device — station, theme, the Wi-Fi keyboard — now need the setup page's session, which
    means a press on the device. If you drive the screen from a script, it needs that cookie now.
  • A network name or passphrase carrying a newline is refused rather than written into
    wpa_supplicant.conf as two lines.
  • Revoking an SSH key through Home Assistant now actually removes it everywhere the SSH server
    looks.
  • A key file that cannot be read is retried rather than costing the device its Home Assistant
    connection until it is rebooted.

Fixes

  • The press that lets a browser into the setup page no longer also starts a voice turn. On any
    device with the action button, that was sending the room to Home Assistant to be transcribed.
  • The Bluetooth bridge asked the driver for 64 KiB a time when the driver's buffer is a fraction of
    that, so every read was refused and asked again immediately. It reads a size the driver accepts,
    waits instead of spinning, and no longer dies on the first error.
  • Camera.Acquire no longer waits forever on a stop that never finishes.
  • The diagnostics bundle no longer mangles text that only looks like an address, and no longer
    carries SSH key comments, which are usually a name and a machine.
  • A Home Assistant at an address with an explicit :80 or :443 is recognized as your own again.
  • A Dot says which device it is when you log in, instead of Alpine's own greeting.

The boot image published here is the same one as v0.4.2; it is republished so the installer has one
covered by the signature.

Verify this release was built by CI from its own tag:

gh attestation verify echod-arm --repo HuskerMinion/techo5 --source-ref refs/tags/v0.7.15

Don't miss a new techo5 release

NewReleases is sending notifications on new releases.