Releases: rryam/MusadoraKit
Version 2.2.0
Version 2.2.0
This release contains a new method for marking the artist as a favorite or removing the artist from the favorite.
This is a private endpoint (but still accessible with Apple Music API and MusicKit) and not intended for 3rd party developers to use. So, you can just use it at your own risk.
Version 2.1.0
Version 2.1.0
This release contains a method for getting the station tracks. This is not even possible in the Apple Music app, but with this method, you can get the station's tracks as a collection of songs. Think of it like the radio for a song on Spotify.
Usage:
let songs = try await MRecommendation.stationSongs(for: station, limit: 30)
As you can imagine, this is a private endpoint (but still accessible with MusicKit) and not intended for 3rd party developers to use. So, use it at your own risk.
Version 2.0.1
Version 2.0
This release will break your code. Read the instructions below for migration.
This is the biggest release since I started working on MusadoraKit. There are three major structures now:
MCatalog
for Apple Music catalog-related methodsMLibrary
for User's library-related methodsMRecommendations
for the recommendations
For any methods that you used with MusadoraKit, you can find them in the above structures.
For example,
MusadoraKit.catalogSong
is now MCatalog.song(id:)
. This makes the syntax more concise and easy to read. I apologize for the time it may take you to migrate to MusadoraKit 2.0. It is worth it!
Also, I spent hundreds of hours going through Apple Music APIs that Apple Music uses and found a few that you can use with MusicKit. Unfortunately, after asking Apple's DTS, they still consider it private, and you should use it at your own risk.
I have also introduced a new MRecommendation.continuousSongs(for:limit:)
method where you can empower your apps with the same recommendations that powers "autoplaying" in the official Apple Music app. Enjoy!
Version 1.9.4
Version 1.9.4
Added more methods for adding to library (thanks to @bbauman1) + DoC documentation at https://rryam.github.io/MusadoraKit/documentation/musadorakit/
It will be the last release of 2022. Amazing year. Hoping for a greater 2023! 🎊
Version 1.9.3
Added more functionality to createPlaylist.
Usage for adding any music item, whether it is a song, library song, music video, or a library music video.
let librarySong = try await MusadoraKit.librarySong(id: "i.zpZeAOdFmZ0kMQo")
let musicVideo = try await MusadoraKit.catalogMusicVideo(id: "1444338558")
let song = try await MusadoraKit.catalogSong(id: "956135760")
let playlist = try await MusadoraKit.createPlaylist(name: "TESTING ANY ITEMS", items: [song, librarySong, musicVideo])
Usage for adding a collection of tracks as MusicItemCollection<Track>
.
var album = try await MusadoraKit.catalogAlbum(id: "1363309866").with(.tracks)
var playlist = try await MusadoraKit.createPlaylist(name: "TESTING SEQUENCE", items: album.tracks!)
Enjoy!
Version 1.9.2
Make the package type automatic
Version 1.9.1
Added option to create playlist with songs for iOS 15.
Usage:
let song = try await MusadoraKit.catalogSong(id: "1651994123")
let playlist = try await MusadoraKit.createPlaylist(name: "TESTING SONGS", items: .init(arrayLiteral: song))
Version 1.9.0
Add LibraryPlaylist
and libraryPlaylists()
method.
You can now directly fetch ALL playlists of a user in a single line:
let playlists = try await MusadoraKit.libraryPlaylists()
This method fetches the playlists from the user library. It is helpful when you are targeting iOS 15, and cannot use MusicLibraryRequest
introduced in iOS 16, yet.
Version 1.8.1
Add more support for iOS 16+ methods
Version 1.8.0
Add more methods for working with MusicKit easier and with fewer lines of code.
Full Changelog: v1.7.2...v1.8.0