mhvtl-control (0.6.0-1) unstable; urgency=medium

  * Service control (#14): GET /api/v1/service reports mhvtl.target, its
    support units, each vtllibrary@ and vtltape@ unit, the configured backend
    next to the loaded modules, and the message queue; the System panel shows
    it (#89).
  * Restart, stop and start a library or the whole mhvtl.target from the API
    (POST /api/v1/service/...) and the dashboard, through the configuration
    helper and behind the same gate as configuration writes. With PERSIST off
    a library's live cartridge placement is written to library_contents first,
    so a restart keeps it; a cartridge in a drive is put back in its slot with
    a force token; a failed action is rolled back and an interrupted one
    recovered. A stop leaves units enabled (#90-#92).
  * Configuration apply: recovery no longer leaves a standalone drive down
    when the apply died before stopping it, and a rollback no longer starts a
    standalone drive that was down before the apply (#91).
  * Report each drive's encryption (aes-gcm, simulated, none) from what its
    vtltape binary and personality support, and mark cartridges that have held
    AES-GCM data (#75).
  * Find vtltape in /usr/libexec/mhvtl, where mhVTL installs its daemons since
    markh794/mhvtl 0d1a744; encryption read "unknown" on those installs (#88).
  * Releases refresh the OBS package from the tag (#68).

 -- Ciro Iriarte <ciro.iriarte@gmail.com>  Sat, 31 Oct 2026 12:00:00 -0300

mhvtl-control (0.5.0-1) unstable; urgency=medium

  * Refuse cross-site writes: a POST, PATCH, PUT or DELETE whose
    Sec-Fetch-Site or Origin names another origin gets 403, so a web page
    cannot change libraries through a token-less daemon on loopback. On
    loopback without a token, a Host other than localhost or a loopback
    address gets 421 (DNS rebinding). --cors-origin '*' now requires an API
    token.
  * Dashboard: keeps scroll positions, focus and open lists across redraws
    (#77) and refreshes itself every 10 s while the tab is visible, with an
    indicator and a pause button next to Refresh (#76).
  * Report cartridges whose media is missing, in the media list, /readyz and
    the mhvtl_media_missing_cartridges metric, including one held by a
    picker (#43, #71).
  * Warn in /api/v1/system and before an apply when the kernel ch driver is
    loaded, as it pins mhVTL drives until a reboot (#42).
  * Support LTO-8 Type M (M8) media, from upstream mhVTL ebbda22
    (markh794/mhvtl#307) (#74).
  * Edit MHVTL_BACKEND (mhvtl or tcmu) in the system settings (#3).
  * README: install from the OBS repositories (#32).

 -- Ciro Iriarte <ciro.iriarte@gmail.com>  Wed, 28 Oct 2026 17:30:00 -0300

mhvtl-control (0.4.0-1) unstable; urgency=medium

  * Configuration editor (#3): show, check and change device.conf,
    library_contents and mhvtl.conf from the API and the dashboard (#46,
    #60-#64). Changes are staged, checked by a dry run and applied by a
    privileged helper, mhvtl-control-apply, which restarts the affected
    mhVTL units, rolls back a failed apply and recovers an interrupted one,
    also at boot (#47-#49, #57-#59).
  * Configuration writes are off by default. They need an API token, TLS
    on a non-loopback listen address, and mhvtl-control-apply.socket
    enabled; the README says how.
  * Locate changers and drives by the VPD page 80h serial mhVTL reports,
    preferring the mhvtl HBA when a device is also exported elsewhere
    (#52, #56).
  * Word the 04/04/03 hint for a failed load or unload (#51).
  * Follow upstream mhVTL 852b78a in citations, personality tables and CI
    (#50).
  * Remove the helper's state, /var/lib/mhvtl-control-apply, when the
    package is purged.

 -- Ciro Iriarte <ciro.iriarte@gmail.com>  Mon, 19 Oct 2026 08:38:40 -0300

mhvtl-control (0.3.1-1) unstable; urgency=medium

  * Release workflow: install pkgconf and systemd-dev for the deb build.
    v0.3.0's release run failed there, so 0.3.0 has no GitHub release;
    0.3.1 is otherwise the same as 0.3.0.

 -- Ciro Iriarte <ciro.iriarte@gmail.com>  Fri, 16 Oct 2026 20:36:22 -0300

mhvtl-control (0.3.0-1) unstable; urgency=medium

  * Read raw-disk cartridges' superblock and MAM: capacity, usage and MAM
    in the media list (#33).
  * Serve Prometheus metrics at /metrics and readiness at /readyz (#34).
  * Debian: install the unit where the release's systemd looks for it, and
    build with golang-1.23-go from bookworm-backports when golang-go is
    too old, so the package builds on Debian 12 (#35).
  * Add a lossless model of mhVTL's configuration files and validation of
    a proposed configuration: personality table, identity generation and
    checks (#38, #39, #40). Not yet exposed in the API.
  * Move the options file to /etc/mhvtl-control/mhvtl-control.env; an
    upgrade from 0.2.0 moves an edited file (#41).
  * Confine mhvtl-control.service away from systemd, D-Bus and the
    config-apply helper (#41).

 -- Ciro Iriarte <ciro.iriarte@gmail.com>  Fri, 16 Oct 2026 20:18:44 -0300

mhvtl-control (0.2.0-1) unstable; urgency=medium

  * Initial release.

 -- Ciro Iriarte <ciro.iriarte@gmail.com>  Thu, 15 Oct 2026 22:43:22 -0300
