From 2d1e0a86fdda1fd6a86c17dc239bbfdcb2e9159f Mon Sep 17 00:00:00 2001 From: Pau Aliagas Date: Sun, 18 Oct 2026 23:51:25 +0200 Subject: [PATCH] plugin-hostd 0.5.0 plugin-hostd-probe measures LV2 plugins through lv2_measure, a pin whose verdict is refused refuses the add with PIN_REFUSED (-516), a plugin the LV2 adapter refused under auto gets a worker of its own, and a worker whose feedback the relay cannot follow is not started. No dependency changes. --- debian/changelog | 21 +++++++++++++++++++++ doc/plugin-hostd-probe.1 | 2 +- doc/plugin-hostd.1 | 2 +- packaging/plugin-hostd.spec | 20 +++++++++++++++++++- src/main.c | 2 +- 5 files changed, 43 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index 41cb426..b9e26db 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,24 @@ +plugin-hostd (0.5.0) unstable; urgency=medium + + * plugin-hostd-probe runs LV2 plugins too: `run lv2:` measures a + plugin through plugin-qualify's lv2_measure, the pin pass and then the + measurement, each a child under the same limits and wall clock. The + bundle's files become the document's binary. A plugin of which nothing + can be pinned exits 2 with no document, and stderr starts with its + outcome code (probe.unpinnable). + * A pin whose verdict is refused refuses the add with the new code + PIN_REFUSED (-516), after the files are checked against the pin; an + instance whose pin turns refused is refused at its next replay. + * Under lv2_worker auto, a plugin the LV2 adapter refused gets a worker of + its own unless the add names a placement, so a plugin that aborts on + mod-host no longer takes a pool's other instances with it. An add whose + worker dies on it also sends instance_verb_dropped, which names it. + * A worker whose feedback the relay cannot follow is not started: the add + answers -503. With no memory the relay closes a worker's socket instead + of leaving it unread, and its poll set no longer crashes the daemon. + + -- Pau Aliagas Sun, 18 Oct 2026 20:00:00 +0000 + plugin-hostd (0.4.0) unstable; urgency=medium * New tool plugin-hostd-probe: it starts a program that loads a plugin diff --git a/doc/plugin-hostd-probe.1 b/doc/plugin-hostd-probe.1 index 32184eb..c0b9076 100644 --- a/doc/plugin-hostd-probe.1 +++ b/doc/plugin-hostd-probe.1 @@ -1,4 +1,4 @@ -.TH PLUGIN\-HOSTD\-PROBE 1 "October 2026" "plugin-hostd 0.4.0" "User Commands" +.TH PLUGIN\-HOSTD\-PROBE 1 "October 2026" "plugin-hostd 0.5.0" "User Commands" .SH NAME plugin\-hostd\-probe \- run a plugin prober under limits and write what happened .SH SYNOPSIS diff --git a/doc/plugin-hostd.1 b/doc/plugin-hostd.1 index 51818b9..5eb159d 100644 --- a/doc/plugin-hostd.1 +++ b/doc/plugin-hostd.1 @@ -1,4 +1,4 @@ -.TH PLUGIN\-HOSTD 1 "October 2026" "plugin-hostd 0.4.0" "User Commands" +.TH PLUGIN\-HOSTD 1 "October 2026" "plugin-hostd 0.5.0" "User Commands" .SH NAME plugin\-hostd \- supervisor of plugin host processes behind one mod\-host protocol socket .SH SYNOPSIS diff --git a/packaging/plugin-hostd.spec b/packaging/plugin-hostd.spec index 08a51a0..c5cbdb9 100644 --- a/packaging/plugin-hostd.spec +++ b/packaging/plugin-hostd.spec @@ -1,7 +1,7 @@ %bcond_without check Name: plugin-hostd -Version: 0.4.0 +Version: 0.5.0 Release: 1%{?dist} License: GPL-3.0-or-later Summary: Run LV2 and CLAP plugins in a live rig without one crash taking down the show @@ -104,6 +104,24 @@ make test-daemon check-generated %{_datadir}/plugin-hostd/probe-output.schema.json %changelog +* Sun Oct 18 2026 Pau Aliagas - 0.5.0-1 +- plugin-hostd-probe runs LV2 plugins too: `run lv2:` measures a + plugin through plugin-qualify's lv2_measure, the pin pass and then the + measurement, each a child under the same limits and wall clock. The + bundle's files become the document's binary. A plugin of which nothing + can be pinned exits 2 with no document, and stderr starts with its + outcome code (probe.unpinnable). +- A pin whose verdict is refused refuses the add with the new code + PIN_REFUSED (-516), after the files are checked against the pin; an + instance whose pin turns refused is refused at its next replay. +- Under lv2_worker auto, a plugin the LV2 adapter refused gets a worker of + its own unless the add names a placement, so a plugin that aborts on + mod-host no longer takes a pool's other instances with it. An add whose + worker dies on it also sends instance_verb_dropped, which names it. +- A worker whose feedback the relay cannot follow is not started: the add + answers -503. With no memory the relay closes a worker's socket instead + of leaving it unread, and its poll set no longer crashes the daemon. + * Sun Oct 18 2026 Pau Aliagas - 0.4.0-1 - New tool plugin-hostd-probe: it starts a program that loads a plugin (clap-qualify by default) under limits of CPU time, memory, open files, diff --git a/src/main.c b/src/main.c index e2c3e1c..59145df 100644 --- a/src/main.c +++ b/src/main.c @@ -34,7 +34,7 @@ #include "verbs.h" #ifndef VERSION -#define VERSION "0.4.0" +#define VERSION "0.5.0" #endif #define SOCKET_DEFAULT_PORT PHD_DEFAULT_COMMAND_PORT