Releases: SubmarinerApp/Submariner
Releases · SubmarinerApp/Submariner
3.2.1
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
2.3
Changes since 2.2:
- The current right sidebar view is remembered for next launch
- The volume button shows the popover when scrolled on, to show current volume
- The repeat and shuffle toolbar buttons now show toggle state
- Fix repeat and shuffle options not being respected by player
- Fix server name being empty causing problems
- Fix now playing information not being set properly with nil attributes
- Fix authentication callback being called twice
- The playback notification is rescinded upon playback stopping or quitting
- Added "Show in Library" to the menu bar
- Show API endpoint that caused a non-successful HTTP response
- Clean up moving tracks in the tracklist
- Clean up playlist and track fetch code when parsing responses
- Avoid making junk cover objects for tracks
- Clean up password caching
- Rewrite SBOnboardingController in SwiftUI
- Rewrite SBPlayer in Swift
- Rewrite SBClientController in Swift, improving performance