Skip to content

v0.12.0

Latest

Choose a tag to compare

@github-actions github-actions released this 18 Jun 11:42

v0.12.0: mpDris2 is now mpd2mpris

✨ What's new

This release renames the project from mpDris2 to mpd2mpris. After the asyncio + dbus-fast rewrite this fork no longer shares code with the original mpDris2, so, in agreement with its maintainer, it gets its own name to avoid confusion and give users and distributions a clear choice. It's a drop-in replacement for the old mpdris2 package (same project, new name), not something you run alongside the original: both expose MPD under the same MPRIS bus name, so only one can own it at a time. No feature changes, same MPRIS 2 D-Bus bridge for MPD, powering the odio streamer (b0bbywan/odios).

The MPRIS bus name org.mpris.MediaPlayer2.mpd is unchanged. playerctl, media keys and desktop applets keep working exactly as before, nothing to reconfigure on the client side.

Install:

curl -fsSL https://apt.odio.love/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/odio.gpg
echo "deb [signed-by=/usr/share/keyrings/odio.gpg] https://apt.odio.love stable main" \
    | sudo tee /etc/apt/sources.list.d/odio.list
sudo apt update
sudo apt install mpd2mpris

Enable (D-Bus activated, default):
The shipped systemd user unit is Type=dbus with a matching D-Bus service file, so mpd2mpris auto-starts on the first MPRIS call (playerctl, a media key, a desktop applet, …). No manual enable required.

Enable eagerly (optional, run before any client asks):

systemctl --user enable --now mpd2mpris.service

🔁 Renamed

  • Package (APT + PyPI): mpdris2mpd2mpris.
  • Executable: mpDris2mpd2mpris.
  • systemd user unit: mpDris2.servicempd2mpris.service.
  • Config dir: ~/.config/mpDris2/~/.config/mpd2mpris/ (and /etc/mpDris2//etc/mpd2mpris/).
  • Repository: b0bbywan/mpDris2b0bbywan/mpd2mpris (old URLs redirect).
  • Unchanged: the MPRIS bus name org.mpris.MediaPlayer2.mpd and the D-Bus service file.

⬆️ Upgrading from mpdris2

  • The .deb declares Conflicts/Replaces/Provides: mpdris2, so apt upgrade swaps the old package for the new one cleanly: the old mpdris2 is removed automatically, no manual step.
  • Config is picked up automatically: the new ~/.config/mpd2mpris/mpd2mpris.conf and /etc/mpd2mpris/... paths win, with the legacy ~/.config/mpDris2/... and /etc/mpDris2/... paths kept as a fallback, so existing configs keep working untouched. Rename them at your leisure.
  • If you had enabled the old unit (systemctl --user enable mpDris2.service), stop it before installing mpd2mpris: systemctl --user stop mpDris2.service then after install systemctl --user daemon-reload && systemctl --user enable --now mpd2mpris.service.

⚙️ Configuration

  • INI config at ~/.config/mpd2mpris/mpd2mpris.conf, falling back to /etc/mpd2mpris/mpd2mpris.conf then the legacy mpDris2 paths. Example template shipped at /usr/share/doc/mpd2mpris/mpd2mpris.conf.
  • Sections unchanged: [Connection] (host, port, password), [Library] (music_dir, cover_regex), [Cover] (sources, stream_sources, mympd_uri), [Bling] (cdprev).
  • CLI overrides config: -H/--host, -p/--port, --music-dir, --config, --use-journal, --no-reconnect, -v/--verbose.

🧹 Packaging

  • pyproject.toml now uses the SPDX license = "GPL-3.0-or-later" string (+ license-files), dropping the deprecated table form. Build requires setuptools>=77.
  • Dropped Suggests: python3-systemd, vestigial from the original mpDris2. The asyncio rewrite never imports the systemd module (--use-journal only strips the timestamp prefix from the log format).

🙏 Thanks

  • @eonpatapon and the original mpDris2 authors for the amicable rename agreement.

Full changelog: v0.11.1...v0.12.0

What's Changed

  • Rename project mpDris2 → mpd2mpris (0.12.0) by @b0bbywan in #11