Skip to content

Releases: brdweb/ma-tui

MA-TUI v1.1.0

Choose a tag to compare

@brdweb brdweb released this 25 Sep 18:04

Full Changelog: v1.0.0...v1.1.0

MA-TUI 1.0.0

Choose a tag to compare

@brdweb brdweb released this 24 Sep 02:58
32aba87

MA-TUI 1.0.0

The first 1.0 release. It adds desktop media controls and library editing on top of the 0.9 controller and local speaker; the README's Known limitations still apply.

  • Desktop integration: while connected, MA-TUI registers org.mpris.MediaPlayer2.ma_tui, so media keys, playerctl and compatible desktop bars can show and control the selected player. mpris = false turns it off; optional track notifications are enabled with notifications = true. The Flatpak gains two narrow session-bus permissions for this (own the MPRIS name, talk to org.freedesktop.Notifications).
  • Favourites and library: f toggles the highlighted item and F the playing item, marked with ♥. The item menu can add provider items to the library. Home gains Favorite albums, artists, playlists and radio, and listings update when the server reports changes.
  • Browsing: Recently played on Home, [ for the previous page, o to cycle the sort, and Ctrl-F to filter the current library listing on the server.
  • Radio and playlists: Start radio from a track, album, artist or playlist; add items to an editable playlist or a new one; save the queue as a playlist from the controls menu.
  • The version is shown in the header and settings title.

Validation includes 187 regular Rust tests, five terminal fixtures (the connected fixture now covers favourites, sort, radio, playlists and save queue), a session-bus MPRIS fixture against the native binary and the installed Flatpak, installed Arch/Flatpak checks with a disposable keyring round trip and silent default-output audio, and a manual run against a live Music Assistant 2.10.2 server. Media keys were exercised over D-Bus, not on a physical keyboard. Prolonged audible playback, physical disconnect recovery and multi-room synchronization remain unverified.

The application executable was built by GitHub Actions from release commit 32aba87fa0bc2070dd060875f16af82a2b1fafd7. All quality gates and the dependency advisory audit passed. Native, Arch and Flatpak packages contain that same verified executable; packaging and the Flatpak libsecret helper are built locally. BUILDINFO.json records the source and build origin. MA-TUI is also available from the Omapak Flatpak catalog once its 1.0.0 catalog update is published.

MA-TUI 0.9.3

Choose a tag to compare

@brdweb brdweb released this 18 Sep 00:14
4cd3b22

MA-TUI 0.9.3

This release improves local audio resilience and keeps controller and podcast state accurate when connections fail or listening progress changes.

  • Isolated ALSA underruns and the exact transient snd_pcm_avail_delay I/O error recover without reconnecting when new callbacks prove the stream resumed. Repeated underruns, stalled callbacks and other device failures trigger bounded output recreation, preserving volume, mute and delay and discarding stale audio.
  • Local audio status shows the backend, format, actual callback frames, largest callback gap and underrun/timing-error recovery counts. Optional output_buffer_frames requests 256–8192 frames; omitted values retain backend defaults.
  • HTTP state polling runs every two seconds until the event stream authenticates.
  • Unplayed podcasts reports failed or incomplete episode loading and refreshes on played/unplayed changes.
  • New configurations start local playback at 50% volume. Explicit saved values remain respected.
  • The Arch package declares RTKit as an optional host dependency. Native and Flatpak packages include audio troubleshooting and host scheduling guidance.

Validation includes 156 regular Rust tests, protocol/fault-injection fixtures, real ALSA-null and silent default-output tests, terminal fixtures, and installed Arch/Flatpak checks. Silent Flatpak tests reproduced and recovered the original timing error without reconnecting. Prolonged audible playback, physical disconnect recovery and multi-room synchronization remain unverified.

The application executable was built by GitHub Actions from release commit 4cd3b229a5aefa47f37404a2e5c3e672cdb3fcc3. All quality gates and the dependency advisory audit passed. Native, Arch and Flatpak packages contain that same verified executable; packaging and the Flatpak libsecret helper are built locally. BUILDINFO.json records the source and build origin. RTKit remains a separate optional host package.

MA-TUI 0.9.2

Choose a tag to compare

@brdweb brdweb released this 17 Sep 17:11
  • Add a screenshot to the README.
  • Trim the README's install steps to read the same across releases instead of
    hardcoding a version.
  • Drop the stale "(Flatpak Beta)"/"(beta)" wording from the Flatpak desktop
    entry and the Arch package description; 0.9.1 was already the first
    release that was not a beta.
  • Draw a rule between the player list and the queue instead of leaving blank
    space, matching every other section boundary in the layout.
  • Show the actual reason a local audio stream failed instead of always the
    same generic message. No logger was added: sendspin's own protocol
    logging can embed raw server payload text as low as debug/trace level,
    which this module's existing sanitize-only policy exists to avoid.

MA-TUI 0.9.1

Choose a tag to compare

@brdweb brdweb released this 16 Sep 20:20

Patch release for a security advisory that 0.9.0 shipped.

RUSTSEC-2026-0285 — rustls updated to 0.23.45

Rustls accepted TLS 1.3 handshake messages sent at the wrong encryption level.
The handshake transcript stays authenticated, so this could not be used to
alter or complete a handshake; the practical effect is that a peer could send
messages in plaintext that should have been encrypted, without rustls refusing
the connection. It matters if you reach Music Assistant over HTTPS; it is not a
break of TLS.

The advisory was published two days before 0.9.0 and the audit caught it on that
release commit.

Also

  • uuid 1.26.1.
  • The README described a visualizer with a v key, a spectrum panel and a
    full-screen view. None of those exist — the spectrum is part of the player —
    and album art was undocumented. Corrected.
  • The advisory audit runs on main, on demand and weekly rather than on every
    pull request, where an advisory published after a branch opened failed it for
    reasons unrelated to its contents.

Nothing in this release changes how Music Assistant is talked to, beyond the TLS
library.

Install

Download an asset and SHA256SUMS, then verify before installing:

sha256sum --ignore-missing -c SHA256SUMS

Checksums verify file integrity; the packages are not signed, and this is not
a reproducible-build attestation.

Local Matui v0.1.0-beta.2

Pre-release

Choose a tag to compare

@brdweb brdweb released this 08 Sep 20:05

Beta software for Omarchy/Arch Linux x86-64, targeting Music Assistant 2.10.2.
This is the first beta published as local-matui; it replaces v0.1.0-beta.1,
which was published under the former name matui and has been withdrawn.

Changes

  • Renamed to local-matui. The command, crate, Arch package, desktop entry
    and repository are local-matui, the Flatpak application ID is
    io.github.brdweb.LocalMatui, settings live in local-matui/config.toml and
    the token override is LOCAL_MATUI_TOKEN. Existing installations keep working
    without re-entering credentials: a pre-rename matui/config.toml, keyring
    entry and MATUI_TOKEN are still read while no current equivalent exists.
    Nothing is copied, moved or deleted.
  • Spectrum visualizer over Local Matui's own local playback, as a panel or a
    full-screen view, cycled with v. Analysis uses only decoded samples this
    process is scheduled to emit; a remote speaker, disabled local audio or muted
    output shows the reason rather than invented motion.
  • Reworked controls and layout. The queue stays beside the music browser,
    the header carries transport state, volume, mute and shuffle/repeat, and the
    hint lines follow the focused pane. p is play/pause with tracks on
    </>, z/l toggle shuffle and cycle repeat, s stops, and Esc
    cancels or steps back instead of switching panes.

Install

Verify downloads in the download directory first:

sha256sum --ignore-missing -c SHA256SUMS
flatpak install --user ./local-matui-v0.1.0-beta.2-linux-x86_64.flatpak
sudo pacman -U ./local-matui-0.1.0beta.2-1-x86_64.pkg.tar.zst

Checksums verify file integrity; packages are not signed. Requires glibc 2.43 or
newer; the Flatpak bundle uses Freedesktop Platform 26.08.

Validation

Formatting, strict Clippy and all test targets passed, as did five native PTY
fixtures, the disposable Arch container package check and the installed Flatpak
check (identity, sandbox isolation, keyring round trip, PTY restoration,
controller fixture and a silent real default-output test). Live audible playback
was not re-tested for this release. Prolonged playback, other hardware and
server versions, acoustic latency and multi-room synchronization remain
untested.