Music Releases
1.3 - March 13, 2026
Section titled “1.3 - March 13, 2026” Feature
GetPlaylistsAsync() on IMediaLibrary — returns all playlists from the device music library with song counts, sorted alphabetically Feature
GetPlaylistTracksAsync(playlistId) on IMediaLibrary — returns all tracks in a playlist, in playlist order Feature
PlaylistInfo record — contains playlist Id, Name, and SongCount Feature Android
Android playlist querying via
MediaStore.Audio.Playlists and MediaStore.Audio.Playlists.Members Feature iOS
iOS playlist querying via
MPMediaQuery.PlaylistsQuery and MPMediaPlaylist1.2 - March 13, 2026
Section titled “1.2 - March 13, 2026” Feature
MusicFilter class — combine Genre, Year, Decade, and SearchQuery criteria with AND logic to filter tracks Feature
GetTracksAsync(MusicFilter) on IMediaLibrary — query tracks matching any combination of filter criteria Feature
GetYearsAsync() on IMediaLibrary — returns distinct release years with track counts, with optional MusicFilter parameter Feature
GetDecadesAsync() on IMediaLibrary — returns distinct decades (e.g., 1990s) with track counts, with optional MusicFilter parameter Feature
GroupedCount<T> record — generic type pairing a grouped value with its track count, used by all grouping methods Feature
Year property on MusicMetadata — the release year of the track (nullable) Feature
GetGenresAsync now accepts an optional MusicFilter and returns GroupedCount<string> with track counts Feature
Cross-dimensional browsing — get genres by decade, decades by genre, years by genre, etc.
Feature Android
Year metadata read from
MediaStore.Audio.Media.YEAR Feature iOS
Year metadata extracted from
MPMediaItem.ReleaseDate1.1 - March 12, 2026
Section titled “1.1 - March 12, 2026” Feature
GetGenresAsync() on IMediaLibrary — returns all distinct genre names from the user’s music library, sorted alphabetically Feature Android
Android genre querying via
MediaStore.Audio.Genres Feature iOS
iOS genre querying via
MPMediaQuery.GenresQuery1.0 - March 6, 2026
Section titled “1.0 - March 6, 2026” Feature
Permission management — request and check music library access using platform-native APIs
Feature
Music metadata querying — retrieve all tracks or search by title, artist, or album
Feature
Audio playback — play, pause, resume, and stop music files with state change and completion events
Feature
File copying — copy music files to app-local storage (where DRM permits)
Feature
Dependency injection —
AddShinyMusic() extension method for IServiceCollection registration Feature
HasStreamingSubscriptionAsync() — check for active Apple Music subscription capability on iOS Feature
StoreId property on MusicMetadata — Apple Music catalog ID enabling streaming playback of subscription content Feature Android
Android implementation using
MediaStore.Audio.Media and Android.Media.MediaPlayer Feature iOS
iOS implementation using
MPMediaQuery and AVAudioPlayer Feature iOS
Streaming playback of Apple Music subscription tracks via
MPMusicPlayerController.SystemMusicPlayer using StoreId Feature iOS
DRM-aware —
ContentUri is empty for Apple Music subscription tracks that cannot be copied, but streaming playback is available via StoreId Feature iOS
IsExplicit property on MusicMetadata — reports whether a track is marked as explicit content via MPMediaItem.IsExplicitItem