Skip to content

Releases: rryam/MusadoraKit

Version 2.7.0

11 Mar 21:58
Compare
Choose a tag to compare

New in this release

New methods on station genres and personal station

Version 2.6.0

11 Mar 16:36
Compare
Choose a tag to compare

New in this release

  • Added the allGenres method to MCatalog to get all genres from Apple Music across all Apple Music storefronts.

  • Added storefronts method to MCatalog to get all the Apple Music storefronts.

Version 2.5.1

09 Mar 21:33
Compare
Choose a tag to compare

New in this Release

Update the library methods for watchOS 9, tvOS 16 and iOS 16.

Version 2.5.0

07 Mar 22:05
Compare
Choose a tag to compare

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

02 Mar 03:28
Compare
Choose a tag to compare

New in this release

Added a method for fetching Apple stations:

MCatalog.appleStations()

Version 2.3.0

18 Feb 10:20
Compare
Choose a tag to compare

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

07 Feb 17:53
Compare
Choose a tag to compare

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

07 Feb 14:15
Compare
Choose a tag to compare

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

06 Feb 19:29
2c0e263
Compare
Choose a tag to compare

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 methods
  • MLibrary for User's library-related methods
  • MRecommendations 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

30 Dec 19:01
b6f229b
Compare
Choose a tag to compare

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! 🎊