Releases: rryam/MusadoraKit
Version 2.7.0
New in this release
New methods on station genres and personal station
Version 2.6.0
New in this release
-
Added the
allGenres
method toMCatalog
to get all genres from Apple Music across all Apple Music storefronts. -
Added
storefronts
method toMCatalog
to get all the Apple Music storefronts.
Version 2.5.1
New in this Release
Update the library methods for watchOS 9, tvOS 16 and iOS 16.
Version 2.5.0
New in this Release
- Updated library methods to be the same as catalog ones.
- Added APlayer and SPlayer for easier access to the music players.
- Update search and search suggestions with an option to just say the type as .all.
Version 2.4.0
New in this release
Added a method for fetching Apple stations:
MCatalog.appleStations()
Version 2.3.0
New in Version 2.3.0
Added the new chart and global playlists that Apple Music API added in version 1.2!
Example usage:
Fetch the charting playlists from the Apple Music catalog for the particular storefront. In the following example, the method fetches the charting playlists in India:
let playlists = try await MCatalog.chartPlaylists(storefront: "IN")
If no storefront
is provided, the method retrieves the charting playlists for the current user's storefront.
let playlists = try await MCatalog.chartPlaylists()
Fetch all the charting playlists from the Apple Music catalog for all the storefronts. In the following example, the method fetches the charting playlists globally:
let playlists = try await MCatalog.globalChartPlaylists()
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! 🎊