App: Submariner
Developer: Calvin Buckley
Genres: Music

Submariner is an open-source client for the Subsonic media server (and other compatible implementations of the Subsonic protocol). Stream your favourite music from your own self-hosted server.

* Supports AirPlay, search, notifications, and other features you'd expect.
* Cache your music locally and play it when not connected to a network.
* Embraces modern OS design conventions; fits right in on your desktop.
* See what other users on the same server are listening to.

Release notes:
Changes since 2.4.1:

* Fixes crash importing items into local library

Changes since 2.4:

* Items in a playlist can be shown in the library
* Restore old values when cancelling editing a server
* Validate URL before saving a server's settings
* If the database is corrupted when trying to exit, don't get stuck in a loop
* Handle nil URLs without crashing
* Update item dependencies (i.e. track to album) when fetching from server
* Fix not updating indices when connecting to a server
* Fix accidental mix-up of tag and index based IDs
* Don't display artists with a nil ID


Changes since 2.3.1:

* Server library scans can be kicked off from the UI
* Multiple items can be removed from a playlist at once
* Non-existent server items are automatically removed
* Better support for servers that don't support some features (i.e. now playing)
* Server playlists can be renamed
* Fix an infinite loop when leaving search results
* Fix an infinite loop with server now playing
* Fix crash with shuffle
* Fix crashes with null hostnames
* Fix issue with column headers in server search and playlists
* Fix reordering server playlists
* Fix issue with playlist items not pointing to known items not having metadata
* Appending to or removing items from server playlists is more efficient
* Rewrite Subsonic response parsing in Swift