Releases: SubmarinerApp/Submariner
Releases · SubmarinerApp/Submariner
3.3
Changes since 3.2.1:
- Basic support for displaying related tracks. This reuses the search infrastructure. The server may call external servers if configured to do so.
- Top tracks for an artist can now be displayed
- Similar tracks for an artist (sometimes called "radio") can now be displayed
- Directories can be starred.
- Recover from situations where the cover file was deleted from the filesystem.
- Searches can be performed from the playlist view.
- Server playlists can be created from the playlist view.
- Allow multiple items to be selected in searches.
- HTTP POST is used when the server supports it, using OpenSubsonic extensions.
- Fix the inspector alternating between modes when moving between playlist tracks.
- Fix covers being deleted by the system on macOS 15.
- Fix searches being ran twice.
- Fix albums with the same ID across multiple servers being mixed.
- Fix the initial server not refreshing on application launch.
3.2.1
Changes since 3.2:
- Fix the demo server disappearing on restart.
- Fix the onboarding window not showing buttons on macOS 12.
- Fix a crash with the album list on macOS 12.
3.2
Note that this release contains larger database schema updates. It's recommended you back up your Submariner directory (in your Music directory) before updating.
Changes since 3.1.1:
- Inspector window has been improved
- You can now switch between now playing and current selection with a tab view.
- Playlist information can be viewed and edited.
- The playlist model has been corrected to handle multiple of the same track. (GH-192)
- Added a command to play the first disc from an album. (GH-211)
- Lower case artist names are properly sorted in the artist list.
- Favouriting items is available from the menu bar, or Cmd+E.
- Adding items to the tracklist now has a shortcut of Cmd+D.
- You can seek to a specific timestamp. (GH-84)
- You can now adjust the speed of playback. (GH-83)
- Fix parsing fractional dates returned by some servers.
- Fix the null cover being used for system now playing information.
- Upgrading from Submariner 1.x is no longer supported.
3.1.1
- Fix an issue with notification actions not working correctly.
- Fix an issue where a duplicate window was opened when clicking a notification.
- Fix an issue with database fetch code causing a crash when no items were returned.
3.1 for Workgroups
- Artists, albums, and tracks can be favourited ("starred" in Subsonic parlance; we use a heart to avoid being confused with ratings). (GH-113)
- Favourited albums can be recalled in the server albums view.
- Favourited status is synchronized to the server.
- Linking artists has been deprecated for now, and hidden behind an manual option.
- A directory view has been added, for users of servers that organize files by directory and prefer managing files that way. (GH-173)
- A basic AppleScript dictionary has been added as a way to inspect and control playback programatically.
- Albums can be dragged tracklist or playlist drop targets to add their containing tracks.
- Files can be dropped onto the dock icon to import them. (GH-184)
- Empty artists entries are deleted from the local library on deleting downloaded items.
- The album sort order is configurable. By default, it sorts from oldest to newest. (GH-187, GH-191)
- Move request handling into an off-thread queue.
- The album selection view has been rewritten to avoid deprecated types.
- Drag and drop handling code has been rewritten to avoid deprecated methods.
- Fix track ratings not getting updated from the remote server. (GH-198)
- Fix tracks not having a cover when imported.
- Fix imported tracks having the wrong bitrate shown in the inspector.
- Fix imported tracks not having a content type.
- Fix playlists not getting selected when navigating through history.
3.0
Changes since 2.4.2:
- macOS 12 is now the minimum version. macOS 13 or newer is recommended.
- The internal database now stores actual artist and album instead of directory IDs, alleviating many UI quirks when using Subsonic servers. (GH-73)
- Users of alternative server implementations like Navidrome won't notice anything, as they already use fake directory IDs based on artist and album IDs.
- I've tried hard to make this transition as smooth as possible. Please file an issue if anything goes wrong.
- If reloading and switching away from and back to the server doesn't help, delete recreate your server in the database.
- HTTP requests have been made more async, and shouldn't block the UI. (GH-175)
- This comes with a major internal simplification to how requests are built, to be more idiomatic Swift.
- Adds an inspector sidebar for looking at track properties, now in default toolbar items. (GH-72)
- This shows the selection, and the current playing track otherwise.
- This is now the home of album art; clicking the image will show the full resolution in Quick Look.
- The tracklist now shows the length of the tracklist and count. (GH-112)
- The tracklist toolbar button will show the tracklist if you leave the cursor over the button.
- Adds an option to purge the locally downloaded/cached files. Imported files are unaffected.
- Makes the internal tracklist model index based. Duplicate tracks no longer cause UI wonkiness.
- Reduce the frequency in which the position slider is updated, reducing CPU usage. (GH-169)
- Don't update the position slider if the window isn't visible, reducing CPU usage. (GH-171)
- Podcast episodes shouldn't duplicate when refreshing.
- Avoid downloading tracks if they're already downloaded.
- Remove some images from the app bundle to reduce application size.
- Use newer split view functionality available in modern macOS.
- Don't show 404 messages to avoid noise w/ database ID migrations.
- HTTP timeouts are now handled correctly, to better handle newer versions of Navidrome. (GH-174)
- Use remote album artist name when importing downloaded tracks.
- Fix tracks unable to be downloaded from Subsonic servers.
- Fix a crash when trying to play an album without any tracks. (GH-166)
- Fix a crash if the track's duration is nil.
- Fix attribute names in schema blocking future refactors. (GH-167)
2.4.2
Changes since 2.4.1:
- Fixes crash importing items into local library
2.4.1
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
2.4
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
2.3.1
Changes since 2.3:
- Only try precise times for FLACs which need it, and not other file types
- When enabled, only download a track before its start.
- Always scrobble, even if using a remote stream, to workaround Navidrome behaviour
- Fix not connecting to the server if a playlist is the first thing opened
- Fix crash with empty username or password
- Fix issues with empty artist or album names
- Improve error logging on the console, using structured logging
- Rewrite SBAppDelegate in Swift