Introducing our 0.4 series

Introducing our 0.4 series

August 5, 2024

We’ve just released our 0.4.2 version of AmpliPi, the software that runs on AmpliPro! We’ve spent a lot of time on fit & finish as well as features, and we’re quite proud of these releases. The full changelog is available here; in this blog post, I am going to give an overview on our bigger changes that lead to or are a part of the 0.4 release series.

Home Assistant

We’ve revisited AmpliPro’s Home Assistant integration. AmpliPro now exposes itself as a media player entity! This permits deeper integrations with the Home Assistant suite of integrations. This means any media player integrations supported by Home Assistant are now capable of being played on AmpliPro - Apple iTunes, Plex, Snapcast, Google Cast, and many many more. This also enables very deep automations based on other Home Assistant triggers and events. This integration can be installed via a HACS-compliant custom repository. This is by far what we’re most excited to release! Try it out and let us know how you like it! We’ll also have a blog article with more details on this integration soon, so hang tight 😎

Streams

We’ve souped up the File Player. This stream type now supports playing a file without having to configure a stream, through the /api/play endpoint. This is particularly nice for using the API of the AmpliPro directly - playing arbitrary media from a script on a particular zone/group is one easy request away! We’ll be creating a recipe book of simple scripts one can adapt and modify for their use cases.

We’ve also fixed a ton of bugs in different stream types and updated backing services, notably Spotify Connect, Pandora, Internet Radio, DLNA, Lyrion Music Server (formerly Logitech Media Server) and FM Radio. The cumulative polish on these streams, over the past release cycle and over the lifetime of AmpliPi, produces extremely robust experiences and we’re quite proud of these.

User interface

Our React-based frontend has seen a ton of polish and bug fixes. We’ve consolidated many components to use MUI for an experience that is seamlessly reactive and beautiful. There are a couple of visual tweaks for better call-to-actions when the AmpliPro needs input - for example, adding zones on a playing stream that currently has none. Long track titles and artist names scroll gracefully across the screen instead of scaling or truncating. There are also a ton more minor bug fixes, too many to list here.

We’ve added some details to our appliance’s display - we now show how many streams are playing, stopped, muted, etc, as well as the AmpliPro’s serial number (if it is a newer AmpliPro.)

Support

We’ve put in a ton of effort in making sure we can support our appliances when things aren’t quite as they should be. We’ve implemented Python’s logging library everywhere and made use of appropriate log levels; this has enabled us to get the correct amount of detail on each device when folks send us logs. We’ve also implemented an opt-in temporary support tunnel to permit users to securely grant us access to their appliance during support requests. We’ve set up nightly backups of system state that rotate every 30 days, which allows support or a technical user to rollback to a prior state.

What’s next

Our next big feature release, 0.5, has a very lofty target - being able to install full disk images during software upgrades, such that we can safely and securely upgrade our entire Linux distribution (Raspbian/Debian), while keeping user data intact (/home on a separate partition.) This has a lot of moving parts - rewriting our updater, moving where we store the AmpliPi software and running state, creating an upstream upgrade API that can offer compatible upgrades for AmpliPros, utilizing Raspberry Pi’s TRYBOOT functionality to safely revert failed upgrades, and much more. We’re super excited for this, as it unlocks a whole host of optimisations and modernization - 64 bit OS & userland, newer Python, newer dependencies, newer kernel to support the latest Bluetooth dongles, and more.

Conclusion

We hope you’ll give our latest update a try! You can upgrade your AmpliPro/AmpliPi by navigating to the Updater and clicking “Start Update” in the Latest tab.