-
Fix problem in playlist callbacks that could cause a crash (GitHub issue #88).
-
availability
property onSPTrack
is now updated correctly (GitHub issue #83). -
SPToplist now correctly behaves when being used with
SPAsyncLoading
. -
Add
[SPSession -subscribeToPlaylist:callback:]
(GitHub issue #67). -
Add
[SPSession -objectRepresentationForSpotifyURL:linkType:]
. -
Fix race condition that could cause incorrect state for a short period of time after login (GitHub issue #62, perhaps others).
- First release under semantic versioning. Contains a few buxfixes and changes since 2.0.
-
Huge re-engineering of CocoaLibSpotify to run libspotify in its own background thread. This has brought on a large set of API changes, and you must now be aware of potential threading issues. See the project's README file for more information.
-
Added small and large cover images to
SPAlbum
, as well assmallestAvailableCover
andlargestAvailableCover
convenience methods. -
Added
fetchLoginUserName:
method toSPSession
to get the username used to log into the current session. This also fixes[SPSessionDelegate -session:didGenerateLoginCredentials:forUserName]
giving an incorrect username for users logging in with Facebook details. -
Added the ability to control scrobbling to various social services, including Last.fm and the user's connected Facebook account.
-
Added
SPAsyncLoading
andSPDelayableAsyncLoading
, a new way of working with objects that load asynchonously. If you passSPAsyncLoadingManual
to[SPSession -initWithApplicationKey:userAgent:loadingPolicy:error:]
, anything conforming toSPDelayableAsyncLoading
(such as user playlists, etc) won't be loaded until you want them to load. See the README file and sample projects for examples. -
Added a number of unit tests.
-
SPSearch can now search for playlists.
-
SPSearch can now do a "live search", appropriate for showing a "live search" menu when the user is typing. See
[SPSearch +liveSearchWithSearchQuery:inSession:]
for details. -
Added
[SPTrack -playableTrack]
. Use this to get the actual track that will be played instead of the receiver if the receiver is unplayable in the user's locale. Normally, your application does not need to worry about this but the method is here for completeness. -
Added the
topTracks
property toSPArtistBrowse
. All browse modes fill in this property, and thetracks
property has been deprecated and will be removed in a future release. -
Added
[SPSession -attemptLoginWithUserName:existingCredential:rememberCredentials:]
and[<SPSessionDelegate> -session:didGenerateLoginCredentials:forUserName:]
. Every time a user logs in you'll be given a safe credential "blob" to store as you wish (no encryption is required). This blob can be used to log the user in again. Use this if you want to save login details for multiple users. -
Added
[SPSession -flushCaches]
, appropriate for use when iOS applications go into the background. This will ensure libspotify's caches are flushed to disk so saved logins and so on will be saved. -
Added the
audioDeliveryDelegate
property toSPSession
, which conforms to the<SPSessionAudioDeliveryDelegate>
protocol, which allows you more freedom in your audio pipeline. The new protocol also uses standard Core Audio types to ease integration. -
Added SPLoginViewController to the iOS library. This view controller provides a Spotify-designed login and signup flow.