Mopidy 4.0 is a major release with very few functional changes. The focus has been on modernizing the tech stack to keep Mopidy maintainable and enjoyable to work on going forward.
In Mopidy 4.0 we’ve:
- dropped support for old versions of our dependencies,
- rebuilt data models using Pydantic, so data is validated at the edges of the application rather than failing silently on use,
- removed a few long-deprecated APIs,
- rebuilt the app startup sequence,
- made many modules explicitly private,
- added type hints to most of the source code, and
- rebuilt our docs using Zensical.
These changes make the codebase less scary and more fun to work in, which matters a lot for a volunteer-maintained project. You can read more in the full changelog.
Updated extensions
All 12 extensions in the mopidy GitHub organization have been updated to require Mopidy 4.0 and have gotten new major releases.
This includes mopidy-spotify, which
finally has a non-pre-release version using gst-plugin-spotify and the Spotify
Web API 🎉
We can’t test all of them fully (we don’t have anyone with a Pandora subscription, for instance), so please report any issues you run into.
For end users
There’s not a lot here for the average end user, and that’s fine. This release is about laying a better foundation, and hopefully it’ll breathe some life back into Mopidy development.
Packages are already on PyPI. Distribution packages will follow when the packagers get around to it, including apt.mopidy.com, which now serves as a backport channel for the latest Mopidy packages from Debian unstable.
For issue reporters and PR authors
There’s a considerable backlog of open issues and PRs across the Mopidy repos. If you’ve filed an issue or opened a PR, it’d be a big help if you could check whether it’s still valid and rebase or update as needed. We now have a clean slate, making it easier to get improvements shipped.
For extension maintainers
If you maintain a Mopidy extension, now’s the time to:
- Bump your minimum Mopidy version to 4.0.
- Test against Mopidy 4.0 and cut a new release, even if nothing needed changing, so users know your extension is ready.
It’s also worth checking out the updated mopidy-ext-template, which has been heavily modernized. It now uses Copier, with much better support for keeping existing projects in sync with template improvements, not just bootstrapping new ones.
For distribution packagers
A few distributions packaged alpha versions during the long gap between releases. We appreciate the enthusiasm, and hope those will be swapped out for the release versions quickly, which will go a long way toward getting the broader Mopidy ecosystem back into shape.
Want to help?
All extensions in the mopidy org are starting from a fairly clean slate. If you’ve been thinking about getting involved, whether fixing bugs, reviewing PRs, or helping maintain an extension you use, this is a good moment to jump in. We’d love more hands on deck.